Changeset 167037 in webkit


Ignore:
Timestamp:
Apr 9, 2014 2:52:14 PM (10 years ago)
Author:
mark.lam@apple.com
Message:

Unreviewed. Updated ChangeLog comment for r167031: <http://trac.webkit.org/r167031>.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r167036 r167037  
    3030        We should add the PayLoadOffset to ProtoCallFrame::argCountAndCodeOriginValue
    3131        when loading the argCount.
     32
     33        The paddedArgCount issue was causing failures when running the JSC tests on a
     34        64-bit big endian machine.  In this case, the paddedArgCount in the
     35        ProtoCallFrame has the value 2.  However, because the paddedArgCount was stored
     36        as a 64-bit size_t and the LLINT was loading only the low address 32-bits of
     37        that field, the LLINT got a value of 0 instead of the expected 2.  With this
     38        patch, we now have a matching store and load of a 32-bit value, and endianness
     39        no longer comes into play.
     40
     41        As for ProtoCallFrame::argCountAndCodeOriginValue, the argCount is stored in
     42        the payload field of the Register.  In the definition of EncodedValueDescriptor,
     43        We already ensure that that the payload is in the least significant 32-bits for
     44        little endian machines, and in the most significant 32-bits for big endian
     45        machines.  This means that there is no endianness bug when loading this value
     46        using loadi.  However, adding the PayLoadOffset clarifies the intent of the
     47        code to load the payload part of the Register value.
    3248
    3349        * interpreter/ProtoCallFrame.h:
Note: See TracChangeset for help on using the changeset viewer.