Bug 158336

Summary: Eliminate two large sources of temporary StringImpl objects.
Product: WebKit Reporter: Andreas Kling <kling>
Component: JavaScriptCoreAssignee: Andreas Kling <kling>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, keith_miller, mark.lam, msaboff, saam
Priority: P2 Keywords: Performance
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Proposed patch none

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?