Bug 158336 - Eliminate two large sources of temporary StringImpl objects.
Summary: Eliminate two large sources of temporary StringImpl objects.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Andreas Kling
URL:
Keywords: Performance
Depends on:
Blocks:
 
Reported: 2016-06-02 19:36 PDT by Andreas Kling
Modified: 2016-06-03 19:43 PDT (History)
5 users (show)

See Also:


Attachments
Proposed patch (2.47 KB, patch)
2016-06-02 19:37 PDT, Andreas Kling
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Kling 2016-06-02 19:36:35 PDT
We're allocating over 1 million StringImpls on PLUM that we throw away immediately after using them to key into the AtomicString table.
Comment 1 Andreas Kling 2016-06-02 19:37:57 PDT
Created attachment 280408 [details]
Proposed patch
Comment 2 WebKit Commit Bot 2016-06-03 09:41:49 PDT
Comment on attachment 280408 [details]
Proposed patch

Clearing flags on attachment: 280408

Committed r201645: <http://trac.webkit.org/changeset/201645>
Comment 3 WebKit Commit Bot 2016-06-03 09:41:53 PDT
All reviewed patches have been landed.  Closing bug.
Comment 4 Darin Adler 2016-06-03 19:43:52 PDT
Comment on attachment 280408 [details]
Proposed patch

View in context: https://bugs.webkit.org/attachment.cgi?id=280408&action=review

> Source/JavaScriptCore/ChangeLog:15
> +        (JSC::makeIdentifier): Add an overload for string literals so we can stop creating a temporary
> +        String just for passing to Identifier::fromString().

Why does the const char* version have to create a temporary String?