Bug 130494

Summary: EmptyUnique strings are Identifiers/Atomic
Product: WebKit Reporter: Gavin Barraclough <barraclough>
Component: Web Template FrameworkAssignee: Gavin Barraclough <barraclough>
Status: RESOLVED FIXED    
Severity: Normal CC: benjamin, cmarcelo, commit-queue
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Fix ggaren: review+

Description Gavin Barraclough 2014-03-19 19:54:04 PDT
EmptyUnique strings should set the Identifier/Atomic flag.
Comment 1 Gavin Barraclough 2014-03-19 20:11:44 PDT
Created attachment 227249 [details]
Fix
Comment 2 Geoffrey Garen 2014-03-19 20:33:27 PDT
Comment on attachment 227249 [details]
Fix

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

r=me

> Source/JavaScriptCore/ChangeLog:10
> +        This fixes a unreproducible bug we believe exists in Identifier handling.

"an"

> Source/JavaScriptCore/ChangeLog:13
> +        through the main Identifier constructor, the Identifier flags is not set

"flag"

> Source/JavaScriptCore/ChangeLog:20
> +        by-id (cachable) accesses to PrivateNames the we can end up passing an

s/the we/we/

> Source/WTF/wtf/text/StringStatics.cpp:63
> +    } while (!(s_nextHashAndFlagsForEmptyUnique >> s_flagCount));

You could do away with this loop by just OR'ing a 1 into the top bit. Top bits never get used, anyway.
Comment 3 Gavin Barraclough 2014-03-19 23:22:21 PDT
Transmitting file data ........
Committed revision 165946.