[Webkit-unassigned] [Bug 132333] LLINT op_put_to_scope and op_get_from_scope should use loadpFromInstruction to get operand from instruction

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


https://bugs.webkit.org/show_bug.cgi?id=132333


Tomas Popela <tpopela at redhat.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #230367|0                           |1
        is obsolete|                            |
 Attachment #230475|                            |review?, commit-queue?
               Flag|                            |




--- Comment #7 from Tomas Popela <tpopela at redhat.com>  2014-04-30 05:28:23 PST ---
Created an attachment (id=230475)
 --> (https://bugs.webkit.org/attachment.cgi?id=230475&action=review)
Proposed patch v2

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.cpp#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.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list