Currently every string holds a pointer so that during destruction, if a string has been used as an identifier, it can remove itself from the table. By instead accessing the identifierTable via a thread specific tracking the table associated with the current globaldata, we can save the memory cost of this pointer.
Created attachment 45940 [details] The patch
Attachment 45940 [details] did not pass style-queue: Failed to run "WebKitTools/Scripts/check-webkit-style" exit_code: 1 JavaScriptCore/runtime/Identifier.cpp:270: g_identifierTableSpecific is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4] JavaScriptCore/runtime/Identifier.h:156: g_identifierTableSpecific is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4] JavaScriptCore/API/APIShims.h:30: Alphabetical sorting problem. [build/include_order] [4] Total errors found: 3
Comment on attachment 45940 [details] The patch > + (JSC::APICallbackShim::~APICallbackShim): > + > + - change the API shims to trck the identifierTable of the current JSGlobalData. MORE AS.
Transmitting file data .................... Committed revision 52856.