Title: [197558] releases/WebKitGTK/webkit-2.4/Source/_javascript_Core
- Revision
- 197558
- Author
- [email protected]
- Date
- 2016-03-04 05:01:29 -0800 (Fri, 04 Mar 2016)
Log Message
Merge r167031 - Ensure that LLINT accessing of the ProtoCallFrame is big endian friendly.
<https://webkit.org/b/131449>
Reviewed by Mark Hahnenberg.
Change ProtoCallFrame::paddedArgCount to be of type uint32_t. The argCount
that it pads is of type int anyway. It doesn't need to be 64 bit. This
also makes it work with the LLINT which is loading it with a loadi
instruction.
We should add the PayLoadOffset to ProtoCallFrame::argCountAndCodeOriginValue
when loading the argCount.
* interpreter/ProtoCallFrame.h:
(JSC::ProtoCallFrame::setPaddedArgCount):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
Modified Paths
Diff
Modified: releases/WebKitGTK/webkit-2.4/Source/_javascript_Core/ChangeLog (197557 => 197558)
--- releases/WebKitGTK/webkit-2.4/Source/_javascript_Core/ChangeLog 2016-03-04 12:57:48 UTC (rev 197557)
+++ releases/WebKitGTK/webkit-2.4/Source/_javascript_Core/ChangeLog 2016-03-04 13:01:29 UTC (rev 197558)
@@ -1,3 +1,23 @@
+2014-04-09 Mark Lam <[email protected]>
+
+ Ensure that LLINT accessing of the ProtoCallFrame is big endian friendly.
+ <https://webkit.org/b/131449>
+
+ Reviewed by Mark Hahnenberg.
+
+ Change ProtoCallFrame::paddedArgCount to be of type uint32_t. The argCount
+ that it pads is of type int anyway. It doesn't need to be 64 bit. This
+ also makes it work with the LLINT which is loading it with a loadi
+ instruction.
+
+ We should add the PayLoadOffset to ProtoCallFrame::argCountAndCodeOriginValue
+ when loading the argCount.
+
+ * interpreter/ProtoCallFrame.h:
+ (JSC::ProtoCallFrame::setPaddedArgCount):
+ * llint/LowLevelInterpreter32_64.asm:
+ * llint/LowLevelInterpreter64.asm:
+
2015-01-12 Geoffrey Garen <[email protected]>
Out of bounds read in IdentifierArena::makeIdentifier
Modified: releases/WebKitGTK/webkit-2.4/Source/_javascript_Core/interpreter/ProtoCallFrame.h (197557 => 197558)
--- releases/WebKitGTK/webkit-2.4/Source/_javascript_Core/interpreter/ProtoCallFrame.h 2016-03-04 12:57:48 UTC (rev 197557)
+++ releases/WebKitGTK/webkit-2.4/Source/_javascript_Core/interpreter/ProtoCallFrame.h 2016-03-04 13:01:29 UTC (rev 197558)
@@ -36,7 +36,7 @@
Register calleeValue;
Register argCountAndCodeOriginValue;
Register thisArg;
- size_t paddedArgCount;
+ uint32_t paddedArgCount;
JSValue *args;
void init(CodeBlock*, JSScope*, JSObject*, JSValue, int, JSValue* otherArgs = 0);
@@ -53,7 +53,7 @@
int argumentCountIncludingThis() const { return argCountAndCodeOriginValue.payload(); }
int argumentCount() const { return argumentCountIncludingThis() - 1; }
void setArgumentCountIncludingThis(int count) { argCountAndCodeOriginValue.payload() = count; }
- void setPaddedArgsCount(size_t argCount) { paddedArgCount = argCount; }
+ void setPaddedArgsCount(uint32_t argCount) { paddedArgCount = argCount; }
void clearCurrentVPC() { argCountAndCodeOriginValue.tag() = 0; }
Modified: releases/WebKitGTK/webkit-2.4/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm (197557 => 197558)
--- releases/WebKitGTK/webkit-2.4/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm 2016-03-04 12:57:48 UTC (rev 197557)
+++ releases/WebKitGTK/webkit-2.4/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm 2016-03-04 13:01:29 UTC (rev 197558)
@@ -282,7 +282,7 @@
storep temp3, CodeBlock+4[cfr, temp1, 8]
btinz temp1, .copyHeaderLoop
- loadi ProtoCallFrame::argCountAndCodeOriginValue[protoCallFrame], temp2
+ loadi PayloadOffset + ProtoCallFrame::argCountAndCodeOriginValue[protoCallFrame], temp2
subi 1, temp2
loadi ProtoCallFrame::paddedArgCount[protoCallFrame], temp3
subi 1, temp3
Modified: releases/WebKitGTK/webkit-2.4/Source/_javascript_Core/llint/LowLevelInterpreter64.asm (197557 => 197558)
--- releases/WebKitGTK/webkit-2.4/Source/_javascript_Core/llint/LowLevelInterpreter64.asm 2016-03-04 12:57:48 UTC (rev 197557)
+++ releases/WebKitGTK/webkit-2.4/Source/_javascript_Core/llint/LowLevelInterpreter64.asm 2016-03-04 13:01:29 UTC (rev 197558)
@@ -171,7 +171,7 @@
storep temp3, CodeBlock[cfr, temp1, 8]
btinz temp1, .copyHeaderLoop
- loadi ProtoCallFrame::argCountAndCodeOriginValue[protoCallFrame], temp2
+ loadi PayloadOffset + ProtoCallFrame::argCountAndCodeOriginValue[protoCallFrame], temp2
subi 1, temp2
loadi ProtoCallFrame::paddedArgCount[protoCallFrame], temp3
subi 1, temp3
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes