RESOLVED FIXED 179699
Fix a bit-rotted Interpreter::dumpRegisters() and make it more robust.
https://bugs.webkit.org/show_bug.cgi?id=179699
Summary Fix a bit-rotted Interpreter::dumpRegisters() and make it more robust.
Mark Lam
Reported 2017-11-14 15:42:52 PST
Attachments
proposed patch. (5.31 KB, patch)
2017-11-14 16:10 PST, Mark Lam
no flags
proposed patch. (5.29 KB, patch)
2017-11-14 16:11 PST, Mark Lam
msaboff: review+
patch for landing. (5.39 KB, patch)
2017-11-14 16:39 PST, Mark Lam
no flags
Mark Lam
Comment 1 2017-11-14 16:10:30 PST
Created attachment 326935 [details] proposed patch.
Mark Lam
Comment 2 2017-11-14 16:11:32 PST
Created attachment 326936 [details] proposed patch.
Michael Saboff
Comment 3 2017-11-14 16:23:42 PST
Comment on attachment 326936 [details] proposed patch. View in context: https://bugs.webkit.org/attachment.cgi?id=326936&action=review r=me after reversing the order of CallerFrame and ReturnPC. > Source/JavaScriptCore/interpreter/Interpreter.cpp:-441 > + dataLogF("[CallerFrame] | %10p | %p \n", it, callFrame->callerFrame()); > --it; > #if ENABLE(JIT) > AbstractPC pc = callFrame->abstractReturnPC(callFrame->vm()); > if (pc.hasJITReturnAddress()) > dataLogF("[ReturnJITPC] | %10p | %p \n", it, pc.jitReturnAddress().value()); > -#endif I think you need to flip the order of CallerFrame and ReturnJITPC as I'm pretty sure that the CallerFrame (aka previous frame pointer) is pushed on after the Return PC (or at a lower address for ARM64 as they are pushed simultaneously). Also, change ReturnJITPC to ReturnPC as it may not be a JIT'ed PC. > Source/JavaScriptCore/interpreter/Interpreter.cpp:465 > + ? "INVALID" Nit - I'd make this "Unknown" or leave it blank.
Mark Lam
Comment 4 2017-11-14 16:39:16 PST
Created attachment 326942 [details] patch for landing. Thanks for the review.
Mark Lam
Comment 5 2017-11-14 16:40:45 PST
Mark Lam
Comment 6 2017-11-14 21:22:18 PST
Landed a CLoop build fix (after r224862) in r224868: <http://trac.webkit.org/r224868>.
Note You need to log in before you can comment on or make changes to this bug.