[webkit-reviews] review requested: [Bug 132333] LLINT op_put_to_scope and op_get_from_scope should use loadpFromInstruction to get operand from instruction : [Attachment 230475] Proposed patch v2

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Apr 30 05:28:01 PDT 2014


Tomas Popela <tpopela at redhat.com> has asked  for review:
Bug 132333: LLINT op_put_to_scope and op_get_from_scope should use
loadpFromInstruction to get operand from instruction
https://bugs.webkit.org/show_bug.cgi?id=132333

Attachment 230475: Proposed patch v2
https://bugs.webkit.org/attachment.cgi?id=230475&action=review

------- Additional Comments from Tomas Popela <tpopela at redhat.com>
After investigating the crashes I found that the operand in instruction is
saved differently in CodeBlock (
http://trac.webkit.org/browser/trunk/Source/JavaScriptCore/bytecode/CodeBlock.c
pp#L1763 ) and in LLIntSlowPaths (
http://trac.webkit.org/browser/trunk/Source/JavaScriptCore/llint/LLIntSlowPaths
.cpp#L1418 ).

Namely in CodeBlock.cpp it is saved with:
     instructions[i + 6].u.pointer = reinterpret_cast<void*>(op.operand);
in LLIntSlowPaths.cpp
     pc[6].u.operand = slot.cachedOffset();

As we are using loadpFromInstruction to load the operand value I unified the
code in LLIntSlowPaths.cpp with CodeBlock.cpp. After this change the tests from
tests/stress (as well as my test scripts) are now passing on ppc64 as well as
on x86_64.


More information about the webkit-reviews mailing list