Modified: trunk/Source/_javascript_Core/ChangeLog (197894 => 197895)
--- trunk/Source/_javascript_Core/ChangeLog 2016-03-09 23:47:57 UTC (rev 197894)
+++ trunk/Source/_javascript_Core/ChangeLog 2016-03-09 23:57:30 UTC (rev 197895)
@@ -1,3 +1,18 @@
+2016-03-09 Benjamin Poulain <[email protected]>
+
+ [JSC] Fix the ARM64 MacroAssembler after r197816
+ https://bugs.webkit.org/show_bug.cgi?id=155268
+
+ Reviewed by Mark Lam.
+
+ The patch tries to generate instructions that do not exist,
+ causing quite fun stuff at runtime.
+
+ * assembler/MacroAssemblerARM64.h:
+ (JSC::MacroAssemblerARM64::load8):
+ (JSC::MacroAssemblerARM64::store16):
+ (JSC::MacroAssemblerARM64::store8):
+
2016-03-09 Commit Queue <[email protected]>
Unreviewed, rolling out r197873.
Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.h (197894 => 197895)
--- trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.h 2016-03-09 23:47:57 UTC (rev 197894)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.h 2016-03-09 23:57:30 UTC (rev 197895)
@@ -1161,7 +1161,7 @@
void load8(RegisterID src, PostIndex simm, RegisterID dest)
{
- m_assembler.ldr<8>(dest, src, simm);
+ m_assembler.ldrb(dest, src, simm);
}
void load8SignedExtendTo32(ImplicitAddress address, RegisterID dest)
@@ -1364,7 +1364,7 @@
return;
signExtend32ToPtr(TrustedImm32(address.offset), getCachedMemoryTempRegisterIDAndInvalidate());
- m_assembler.str<16>(src, address.base, memoryTempRegister);
+ m_assembler.strh(src, address.base, memoryTempRegister);
}
void store16(RegisterID src, BaseIndex address)
@@ -1403,7 +1403,7 @@
return;
signExtend32ToPtr(TrustedImm32(address.offset), getCachedMemoryTempRegisterIDAndInvalidate());
- m_assembler.str<8>(src, address.base, memoryTempRegister);
+ m_assembler.strb(src, address.base, memoryTempRegister);
}
void store8(TrustedImm32 imm, void* address)
@@ -1430,7 +1430,7 @@
void store8(RegisterID src, RegisterID dest, PostIndex simm)
{
- m_assembler.str<8>(src, dest, simm);
+ m_assembler.strb(src, dest, simm);
}
// Floating-point operations: