RESOLVED FIXED 126026
CStack Branch: Fix call operationStackCheck to check the proper stack
https://bugs.webkit.org/show_bug.cgi?id=126026
Summary CStack Branch: Fix call operationStackCheck to check the proper stack
Michael Saboff
Reported 2013-12-19 16:10:54 PST
JITOperations::operationStackCheck() always checks the JSStack. It should check the correct stack based on the state of ENABLE(LLINT_CLOOP).
Attachments
Patch (1.57 KB, patch)
2013-12-19 16:14 PST, Michael Saboff
mark.lam: review+
Michael Saboff
Comment 1 2013-12-19 16:14:52 PST
Mark Lam
Comment 2 2013-12-19 16:18:16 PST
Comment on attachment 219698 [details] Patch r=me. This is actually more conservative than it needs to be, it’s good enough for now until JSStack can be refactored to handle the check for both cases (coming soon).
Michael Saboff
Comment 3 2013-12-19 16:19:07 PST
Geoffrey Garen
Comment 4 2013-12-19 16:27:34 PST
Comment on attachment 219698 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=219698&action=review > Source/JavaScriptCore/jit/JITOperations.cpp:89 > + if (!exec->vm().isSafeToRecurse(-codeBlock->stackPointerOffset() * sizeof(Register))) Since you're counting registers, you should use frameRegisterCount(), instead of manually converting based on SP.
Michael Saboff
Comment 5 2013-12-19 16:30:55 PST
(In reply to comment #4) > (From update of attachment 219698 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=219698&action=review > > > Source/JavaScriptCore/jit/JITOperations.cpp:89 > > + if (!exec->vm().isSafeToRecurse(-codeBlock->stackPointerOffset() * sizeof(Register))) > > Since you're counting registers, you should use frameRegisterCount(), instead of manually converting based on SP. I change it.
Michael Saboff
Comment 6 2013-12-19 16:36:49 PST
(In reply to comment #4) > (From update of attachment 219698 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=219698&action=review > > > Source/JavaScriptCore/jit/JITOperations.cpp:89 > > + if (!exec->vm().isSafeToRecurse(-codeBlock->stackPointerOffset() * sizeof(Register))) > > Since you're counting registers, you should use frameRegisterCount(), instead of manually converting based on SP. Landed this update in change set r160874: <http://trac.webkit.org/changeset/160874>
Note You need to log in before you can comment on or make changes to this bug.