Title: [229186] trunk/Source/_javascript_Core
Revision
229186
Author
mark....@apple.com
Date
2018-03-02 12:19:17 -0800 (Fri, 02 Mar 2018)

Log Message

Make the LLInt probe work for ARM64.
https://bugs.webkit.org/show_bug.cgi?id=183298
<rdar://problem/38077413>

Reviewed by Filip Pizlo.

* llint/LowLevelInterpreter.asm:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (229185 => 229186)


--- trunk/Source/_javascript_Core/ChangeLog	2018-03-02 19:55:09 UTC (rev 229185)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-03-02 20:19:17 UTC (rev 229186)
@@ -1,3 +1,13 @@
+2018-03-02  Mark Lam  <mark....@apple.com>
+
+        Make the LLInt probe work for ARM64.
+        https://bugs.webkit.org/show_bug.cgi?id=183298
+        <rdar://problem/38077413>
+
+        Reviewed by Filip Pizlo.
+
+        * llint/LowLevelInterpreter.asm:
+
 2018-03-02  Yusuke Suzuki  <utatane....@gmail.com>
 
         [JSC] Annotate more classes with WTF_MAKE_FAST_ALLOCATED

Modified: trunk/Source/_javascript_Core/llint/LowLevelInterpreter.asm (229185 => 229186)


--- trunk/Source/_javascript_Core/llint/LowLevelInterpreter.asm	2018-03-02 19:55:09 UTC (rev 229185)
+++ trunk/Source/_javascript_Core/llint/LowLevelInterpreter.asm	2018-03-02 20:19:17 UTC (rev 229186)
@@ -492,24 +492,47 @@
 #         end
 #     )
 #
-if X86_64
+if X86_64 or ARM64
     macro probe(action)
         # save all the registers that the LLInt may use.
+        if ARM64
+            push cfr, lr
+        end
         push a0, a1
         push a2, a3
         push t0, t1
         push t2, t3
         push t4, t5
+        if ARM64
+            push csr0, csr1
+            push csr2, csr3
+            push csr4, csr5
+            push csr6, csr7
+            push csr8, csr9
+        end
 
         action()
 
         # restore all the registers we saved previously.
+        if ARM64
+            pop csr9, csr8
+            pop csr7, csr6
+            pop csr5, csr4
+            pop csr3, csr2
+            pop csr1, csr0
+        end
         pop t5, t4
         pop t3, t2
         pop t1, t0
         pop a3, a2
         pop a1, a0
+        if ARM64
+            pop lr, cfr
+        end
     end
+else
+    macro probe(action)
+    end
 end
 
 macro checkStackPointerAlignment(tempReg, location)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to