Title: [161326] branches/jsCStack/Source/_javascript_Core
- Revision
- 161326
- Author
- [email protected]
- Date
- 2014-01-05 17:29:24 -0800 (Sun, 05 Jan 2014)
Log Message
CStack Branch: ARM64 Fix other prologue and epilogue macros in LLInt
https://bugs.webkit.org/show_bug.cgi?id=126507
Reviewed by Mark Lam.
Fixed preserveCallerPCAndCFR() and restoreCallerPCAndCFR() for ARM64. Fixed
functionPrologue() so that the new callframe is set up from the stack pointer.
* llint/LowLevelInterpreter.asm:
Modified Paths
Diff
Modified: branches/jsCStack/Source/_javascript_Core/ChangeLog (161325 => 161326)
--- branches/jsCStack/Source/_javascript_Core/ChangeLog 2014-01-06 00:25:34 UTC (rev 161325)
+++ branches/jsCStack/Source/_javascript_Core/ChangeLog 2014-01-06 01:29:24 UTC (rev 161326)
@@ -1,3 +1,15 @@
+2014-01-05 Michael Saboff <[email protected]>
+
+ CStack Branch: ARM64 Fix other prologue and epilogue macros in LLInt
+ https://bugs.webkit.org/show_bug.cgi?id=126507
+
+ Reviewed by Mark Lam.
+
+ Fixed preserveCallerPCAndCFR() and restoreCallerPCAndCFR() for ARM64. Fixed
+ functionPrologue() so that the new callframe is set up from the stack pointer.
+
+ * llint/LowLevelInterpreter.asm:
+
2014-01-04 Michael Saboff <[email protected]>
CStack Branch: ARM64 needs push/pop pair macro assembler instructions
Modified: branches/jsCStack/Source/_javascript_Core/llint/LowLevelInterpreter.asm (161325 => 161326)
--- branches/jsCStack/Source/_javascript_Core/llint/LowLevelInterpreter.asm 2014-01-06 00:25:34 UTC (rev 161325)
+++ branches/jsCStack/Source/_javascript_Core/llint/LowLevelInterpreter.asm 2014-01-06 01:29:24 UTC (rev 161326)
@@ -229,26 +229,32 @@
end
macro preserveCallerPCAndCFR()
- if C_LOOP or ARM or ARMv7 or ARMv7_TRADITIONAL or ARM64 or MIPS or SH4
+ if C_LOOP or ARM or ARMv7 or ARMv7_TRADITIONAL or MIPS or SH4
# In C_LOOP case, we're only preserving the bytecode vPC.
# FIXME: Need to fix for other ports
# move lr, destinationRegister
elsif X86 or X86_64
push cfr
move sp, cfr
+ elsif ARM64
+ pushLRAndFP
+ move sp, cfr
else
error
end
end
macro restoreCallerPCAndCFR()
- if C_LOOP or ARM or ARMv7 or ARMv7_TRADITIONAL or ARM64 or MIPS or SH4
+ if C_LOOP or ARM or ARMv7 or ARMv7_TRADITIONAL or MIPS or SH4
# In C_LOOP case, we're only preserving the bytecode vPC.
# FIXME: Need to fix for other ports
# move lr, destinationRegister
elsif X86 or X86_64
move cfr, sp
pop cfr
+ elsif ARM64
+ move cfr, sp
+ popLRAndFP
end
end
@@ -277,13 +283,13 @@
macro functionPrologue()
if X86 or X86_64
push cfr
- move sp, cfr
elsif ARM64
pushLRAndFP
elsif ARM or ARMv7 or ARMv7_TRADITIONAL or MIPS
push cfr
push lr
end
+ move sp, cfr
end
macro functionEpilogue()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes