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 <[email protected]>
+
+ 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 <[email protected]>
[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)