Title: [197895] trunk/Source/_javascript_Core
Revision
197895
Author
[email protected]
Date
2016-03-09 15:57:30 -0800 (Wed, 09 Mar 2016)

Log Message

[JSC] Fix the ARM64 MacroAssembler after r197816
https://bugs.webkit.org/show_bug.cgi?id=155268

Patch by Benjamin Poulain <[email protected]> on 2016-03-09
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):

Modified Paths

Diff

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:
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to