Title: [161313] branches/jsCStack/Source/_javascript_Core
- Revision
- 161313
- Author
- msab...@apple.com
- Date
- 2014-01-04 10:31:57 -0800 (Sat, 04 Jan 2014)
Log Message
CStack Branch: ARM64 add of stack pointer not valid as second source operand
https://bugs.webkit.org/show_bug.cgi?id=126486
Reviewed by Mark Lam.
Swap the source operands in add64() if the second argument is the stack pointer
to work around ARM64 limitations for using the stack pointer as a second source operand.
* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::add64):
Modified Paths
Diff
Modified: branches/jsCStack/Source/_javascript_Core/ChangeLog (161312 => 161313)
--- branches/jsCStack/Source/_javascript_Core/ChangeLog 2014-01-04 18:30:32 UTC (rev 161312)
+++ branches/jsCStack/Source/_javascript_Core/ChangeLog 2014-01-04 18:31:57 UTC (rev 161313)
@@ -1,5 +1,18 @@
2014-01-04 Michael Saboff <msab...@apple.com>
+ CStack Branch: ARM64 add of stack pointer not valid as second source operand
+ https://bugs.webkit.org/show_bug.cgi?id=126486
+
+ Reviewed by Mark Lam.
+
+ Swap the source operands in add64() if the second argument is the stack pointer
+ to work around ARM64 limitations for using the stack pointer as a second source operand.
+
+ * assembler/MacroAssemblerARM64.h:
+ (JSC::MacroAssemblerARM64::add64):
+
+2014-01-04 Michael Saboff <msab...@apple.com>
+
CStack Branch: slowPathFor() should emit an epilogue instead of popping the callFrameRegister
https://bugs.webkit.org/show_bug.cgi?id=126478
Modified: branches/jsCStack/Source/_javascript_Core/assembler/MacroAssemblerARM64.h (161312 => 161313)
--- branches/jsCStack/Source/_javascript_Core/assembler/MacroAssemblerARM64.h 2014-01-04 18:30:32 UTC (rev 161312)
+++ branches/jsCStack/Source/_javascript_Core/assembler/MacroAssemblerARM64.h 2014-01-04 18:31:57 UTC (rev 161313)
@@ -201,7 +201,10 @@
void add64(RegisterID src, RegisterID dest)
{
- m_assembler.add<64>(dest, dest, src);
+ if (src == ARM64Registers::sp)
+ m_assembler.add<64>(dest, src, dest);
+ else
+ m_assembler.add<64>(dest, dest, src);
}
void add64(TrustedImm32 imm, RegisterID dest)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes