Title: [229446] trunk/Source/_javascript_Core
Revision
229446
Author
msab...@apple.com
Date
2018-03-08 17:46:23 -0800 (Thu, 08 Mar 2018)

Log Message

testmasm crashes in testBranchTruncateDoubleToInt32() on ARM64
https://bugs.webkit.org/show_bug.cgi?id=183488

Reviewed by Mark Lam.

Using stackAlignmentBytes() will keep the stack properly aligned.

* assembler/testmasm.cpp:
(JSC::testBranchTruncateDoubleToInt32):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (229445 => 229446)


--- trunk/Source/_javascript_Core/ChangeLog	2018-03-09 01:41:41 UTC (rev 229445)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-03-09 01:46:23 UTC (rev 229446)
@@ -1,5 +1,17 @@
 2018-03-08  Michael Saboff  <msab...@apple.com>
 
+        testmasm crashes in testBranchTruncateDoubleToInt32() on ARM64
+        https://bugs.webkit.org/show_bug.cgi?id=183488
+
+        Reviewed by Mark Lam.
+
+        Using stackAlignmentBytes() will keep the stack properly aligned.
+
+        * assembler/testmasm.cpp:
+        (JSC::testBranchTruncateDoubleToInt32):
+
+2018-03-08  Michael Saboff  <msab...@apple.com>
+
         Emit code to zero the stack frame on function entry
         Nhttps://bugs.webkit.org/show_bug.cgi?id=183391
 

Modified: trunk/Source/_javascript_Core/assembler/testmasm.cpp (229445 => 229446)


--- trunk/Source/_javascript_Core/assembler/testmasm.cpp	2018-03-09 01:41:41 UTC (rev 229445)
+++ trunk/Source/_javascript_Core/assembler/testmasm.cpp	2018-03-09 01:46:23 UTC (rev 229446)
@@ -32,6 +32,7 @@
 #include "InitializeThreading.h"
 #include "LinkBuffer.h"
 #include "ProbeContext.h"
+#include "StackAlignment.h"
 #include <limits>
 #include <wtf/Compiler.h>
 #include <wtf/DataLog.h>
@@ -198,7 +199,7 @@
 #endif
     CHECK_EQ(compileAndRun<int>([&] (CCallHelpers& jit) {
         jit.emitFunctionPrologue();
-        jit.subPtr(CCallHelpers::TrustedImm32(8), MacroAssembler::stackPointerRegister);
+        jit.subPtr(CCallHelpers::TrustedImm32(stackAlignmentBytes()), MacroAssembler::stackPointerRegister);
         if (isBigEndian) {
             jit.store32(CCallHelpers::TrustedImm32(valAsUInt >> 32),
                 MacroAssembler::stackPointerRegister);
@@ -218,7 +219,7 @@
         jit.move(CCallHelpers::TrustedImm32(0), GPRInfo::returnValueGPR);
 
         done.link(&jit);
-        jit.addPtr(CCallHelpers::TrustedImm32(8), MacroAssembler::stackPointerRegister);
+        jit.addPtr(CCallHelpers::TrustedImm32(stackAlignmentBytes()), MacroAssembler::stackPointerRegister);
         jit.emitFunctionEpilogue();
         jit.ret();
     }), expected);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to