Changeset 167037 in webkit
- Timestamp:
- Apr 9, 2014 2:52:14 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r167036 r167037 30 30 We should add the PayLoadOffset to ProtoCallFrame::argCountAndCodeOriginValue 31 31 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. 32 48 33 49 * interpreter/ProtoCallFrame.h:
Note: See TracChangeset
for help on using the changeset viewer.