RESOLVED FIXED 133661
Global HashTables contain references to atomic StringImpls
https://bugs.webkit.org/show_bug.cgi?id=133661
Summary Global HashTables contain references to atomic StringImpls
Mark Hahnenberg
Reported 2014-06-09 15:38:34 PDT
This was a long-standing bug revealed by bug 133558. The issue is that the global static HashTables cache their set of keys as StringImpls that are associated with a particular VM. This is obviously incompatible with using multiple VMs on multiple threads (e.g. when using workers). The fix is to change the "keys" field of the static HashTables to be char** instead of StringImpl**.
Attachments
Patch (4.10 KB, patch)
2014-06-09 16:03 PDT, Mark Hahnenberg
no flags
Patch for landing (4.09 KB, patch)
2014-06-09 19:00 PDT, Ryosuke Niwa
no flags
Mark Hahnenberg
Comment 1 2014-06-09 16:03:26 PDT
Geoffrey Garen
Comment 2 2014-06-09 16:07:53 PDT
Comment on attachment 232743 [details] Patch r=me
Ryosuke Niwa
Comment 3 2014-06-09 19:00:26 PDT
Created attachment 232760 [details] Patch for landing
WebKit Commit Bot
Comment 4 2014-06-09 20:02:17 PDT
Comment on attachment 232760 [details] Patch for landing Clearing flags on attachment: 232760 Committed r169740: <http://trac.webkit.org/changeset/169740>
WebKit Commit Bot
Comment 5 2014-06-09 20:02:19 PDT
All reviewed patches have been landed. Closing bug.
Alexey Proskuryakov
Comment 6 2014-06-10 09:52:57 PDT
> This is obviously incompatible with using multiple VMs on multiple threads (e.g. when using workers) Wasn't this the case that "NoStaticTables" attribute handled? And if so, do we still need it after this patch, or can we remove it from everywhere?
Daniel Bates
Comment 7 2014-06-10 10:07:34 PDT
Alexey Proskuryakov
Comment 8 2014-06-10 11:33:38 PDT
Mark filed bug 133687 to look into whether we still need NoStaticTables.
Note You need to log in before you can comment on or make changes to this bug.