Title: [163179] trunk/Source/_javascript_Core
Revision
163179
Author
rga...@webkit.org
Date
2014-01-31 10:59:59 -0800 (Fri, 31 Jan 2014)

Log Message

Fix the ARM Thumb2 build after jsCStack branch merge
https://bugs.webkit.org/show_bug.cgi?id=127903

Reviewed by Michael Saboff.

SP register cannot be used as a destination register of SUB or ADD on Thumb mode.

* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (163178 => 163179)


--- trunk/Source/_javascript_Core/ChangeLog	2014-01-31 18:49:27 UTC (rev 163178)
+++ trunk/Source/_javascript_Core/ChangeLog	2014-01-31 18:59:59 UTC (rev 163179)
@@ -1,3 +1,15 @@
+2014-01-31  Gabor Rapcsanyi  <rga...@webkit.org>
+
+        Fix the ARM Thumb2 build after jsCStack branch merge
+        https://bugs.webkit.org/show_bug.cgi?id=127903
+
+        Reviewed by Michael Saboff.
+
+        SP register cannot be used as a destination register of SUB or ADD on Thumb mode.
+
+        * llint/LowLevelInterpreter.asm:
+        * llint/LowLevelInterpreter32_64.asm:
+
 2014-01-31  Julien Brianceau  <jbria...@cisco.com>
 
         [arm] Add missing pushPair/popPair implementations in MacroAssemblerARM.h

Modified: trunk/Source/_javascript_Core/llint/LowLevelInterpreter.asm (163178 => 163179)


--- trunk/Source/_javascript_Core/llint/LowLevelInterpreter.asm	2014-01-31 18:49:27 UTC (rev 163178)
+++ trunk/Source/_javascript_Core/llint/LowLevelInterpreter.asm	2014-01-31 18:59:59 UTC (rev 163179)
@@ -339,7 +339,13 @@
 end
 
 macro callToJavaScriptEpilogue()
-    addp CallFrameHeaderSlots * 8, cfr, sp
+    if ARMv7
+        addp CallFrameHeaderSlots * 8, cfr, t4
+        move t4, sp
+    else
+        addp CallFrameHeaderSlots * 8, cfr, sp
+    end
+
     loadp CallerFrame[cfr], cfr
 
     if X86
@@ -368,7 +374,12 @@
     loadi CodeBlock::m_numCalleeRegisters[codeBlock], scratch
     lshiftp 3, scratch
     addp maxFrameExtentForSlowPathCall, scratch
-    subp cfr, scratch, sp
+    if ARMv7
+        subp cfr, scratch, scratch
+        move scratch, sp
+    else
+        subp cfr, scratch, sp
+    end
 end
 
 macro restoreStackPointerAfterCall()
@@ -398,7 +409,12 @@
         slowPath,
         macro (callee)
             btpz t1, .dontUpdateSP
-            addp CallerFrameAndPCSize, t1, sp
+            if ARMv7
+                addp CallerFrameAndPCSize, t1, t1
+                move t1, sp
+            else
+                addp CallerFrameAndPCSize, t1, sp
+            end
         .dontUpdateSP:
             if C_LOOP
                 cloopCallJSFunction callee
@@ -956,7 +972,12 @@
         move t1, sp
     else
         # The calleeFrame is not stack aligned, move down by CallerFrameAndPCSize to align
-        subp t1, CallerFrameAndPCSize, sp
+        if ARMv7
+            subp t1, CallerFrameAndPCSize, t2
+            move t2, sp
+        else
+            subp t1, CallerFrameAndPCSize, sp
+        end
     end
     slowPathForCall(_llint_slow_path_call_varargs)
 

Modified: trunk/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm (163178 => 163179)


--- trunk/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm	2014-01-31 18:49:27 UTC (rev 163178)
+++ trunk/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm	2014-01-31 18:59:59 UTC (rev 163179)
@@ -238,7 +238,12 @@
     # before we start copying the args from the protoCallFrame below.
     bpaeq temp1, VM::m_jsStackLimit[vm], .stackHeightOK
 
-    subp cfr, 8, sp
+    if ARMv7
+        subp cfr, 8, temp2
+        move temp2, sp
+    else
+        subp cfr, 8, sp
+    end
 
     if C_LOOP
         move entry, temp2
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to