RESOLVED FIXED 173573
repatchIn needs to lock the CodeBlock's lock
https://bugs.webkit.org/show_bug.cgi?id=173573
Summary repatchIn needs to lock the CodeBlock's lock
Saam Barati
Reported 2017-06-19 18:12:54 PDT
...
Attachments
patch (1.71 KB, patch)
2017-06-19 18:50 PDT, Saam Barati
no flags
Saam Barati
Comment 1 2017-06-19 18:50:29 PDT
Yusuke Suzuki
Comment 2 2017-06-19 19:03:49 PDT
Comment on attachment 313348 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=313348&action=review r=me > Source/JavaScriptCore/jit/Repatch.cpp:560 > if (tryRepatchIn(exec, base, ident, wasFound, slot, stubInfo) == GiveUpOnCache) > ftlThunkAwareRepatchCall(exec->codeBlock(), stubInfo.slowPathCallLocation(), operationIn); BTW, how about passing the lock to these repatch functions? (const AbstractLocker&). Of course, it should be done in a separate patch b/c it involves other Get/Put changes.
Saam Barati
Comment 3 2017-06-19 23:46:43 PDT
(In reply to Yusuke Suzuki from comment #2) > Comment on attachment 313348 [details] > patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=313348&action=review > > r=me > > > Source/JavaScriptCore/jit/Repatch.cpp:560 > > if (tryRepatchIn(exec, base, ident, wasFound, slot, stubInfo) == GiveUpOnCache) > > ftlThunkAwareRepatchCall(exec->codeBlock(), stubInfo.slowPathCallLocation(), operationIn); > > BTW, how about passing the lock to these repatch functions? (const > AbstractLocker&). Of course, it should be done in a separate patch b/c it > involves other Get/Put changes. Yup I’ll make a patch to do this. It took me a bit before I realized which functions were grabbing the lock. It’s not obvious that it’s held from some places.
WebKit Commit Bot
Comment 4 2017-06-20 00:15:22 PDT
Comment on attachment 313348 [details] patch Clearing flags on attachment: 313348 Committed r218552: <http://trac.webkit.org/changeset/218552>
WebKit Commit Bot
Comment 5 2017-06-20 00:15:23 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.