RESOLVED FIXED 196359
CodeBlock::jettison() should disallow repatching its own calls
https://bugs.webkit.org/show_bug.cgi?id=196359
Summary CodeBlock::jettison() should disallow repatching its own calls
Tadeu Zagallo
Reported 2019-03-28 11:45:23 PDT
Attachments
Patch (8.53 KB, patch)
2019-03-28 12:05 PDT, Tadeu Zagallo
no flags
Patch for landing (8.68 KB, patch)
2019-03-28 14:25 PDT, Tadeu Zagallo
no flags
Tadeu Zagallo
Comment 1 2019-03-28 12:05:07 PDT
Saam Barati
Comment 2 2019-03-28 13:29:35 PDT
Comment on attachment 366192 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=366192&action=review > Source/JavaScriptCore/ChangeLog:12 > + OSR exit address while unlinking all the incoming CallLinkInfos latter in latter => later
Saam Barati
Comment 3 2019-03-28 13:33:58 PDT
Comment on attachment 366192 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=366192&action=review > Source/JavaScriptCore/ChangeLog:17 > + Change it so that we set a flag, `clearedByJettison`, in all the CallLinkInfos > + owned by the CodeBlock being jettisoned. If the flag is set, we will avoid > + repatching the call during unlinking. It took me a few minutes to agree that this is safe, but maybe it's worth expanding on in a sentence or two. The beginning of this call should never be reachable again after the CodeBlock is jettisoned.
Saam Barati
Comment 4 2019-03-28 13:34:24 PDT
Comment on attachment 366192 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=366192&action=review > JSTests/stress/call-link-info-osrexit-repatch.js:3 > +function foo(a, b) { style nit: use 4 space indent
Tadeu Zagallo
Comment 5 2019-03-28 14:25:57 PDT
Created attachment 366203 [details] Patch for landing
WebKit Commit Bot
Comment 6 2019-03-28 15:05:40 PDT
Comment on attachment 366203 [details] Patch for landing Clearing flags on attachment: 366203 Committed r243626: <https://trac.webkit.org/changeset/243626>
WebKit Commit Bot
Comment 7 2019-03-28 15:05:42 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.