Title: [159629] trunk/Source/_javascript_Core
Revision
159629
Author
[email protected]
Date
2013-11-21 09:11:35 -0800 (Thu, 21 Nov 2013)

Log Message

Fix sh4 build after r159545.
https://bugs.webkit.org/show_bug.cgi?id=124713

Patch by Julien Brianceau <[email protected]> on 2013-11-21
Reviewed by Michael Saboff.

Add missing implementations in macro assembler and LLINT for sh4.

* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::load8):
(JSC::MacroAssemblerSH4::store8):
(JSC::MacroAssemblerSH4::memoryFence):
* assembler/SH4Assembler.h:
(JSC::SH4Assembler::synco):
* offlineasm/sh4.rb: Handle "memfence" opcode.

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (159628 => 159629)


--- trunk/Source/_javascript_Core/ChangeLog	2013-11-21 16:50:50 UTC (rev 159628)
+++ trunk/Source/_javascript_Core/ChangeLog	2013-11-21 17:11:35 UTC (rev 159629)
@@ -1,3 +1,20 @@
+2013-11-21  Julien Brianceau  <[email protected]>
+
+        Fix sh4 build after r159545.
+        https://bugs.webkit.org/show_bug.cgi?id=124713
+
+        Reviewed by Michael Saboff.
+
+        Add missing implementations in macro assembler and LLINT for sh4.
+
+        * assembler/MacroAssemblerSH4.h:
+        (JSC::MacroAssemblerSH4::load8):
+        (JSC::MacroAssemblerSH4::store8):
+        (JSC::MacroAssemblerSH4::memoryFence):
+        * assembler/SH4Assembler.h:
+        (JSC::SH4Assembler::synco):
+        * offlineasm/sh4.rb: Handle "memfence" opcode.
+
 2013-11-20  Mark Lam  <[email protected]>
 
         Introducing VMEntryScope to update the VM stack limit.

Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerSH4.h (159628 => 159629)


--- trunk/Source/_javascript_Core/assembler/MacroAssemblerSH4.h	2013-11-21 16:50:50 UTC (rev 159628)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerSH4.h	2013-11-21 17:11:35 UTC (rev 159629)
@@ -707,6 +707,11 @@
         m_assembler.extub(dest, dest);
     }
 
+    void load8(const void* address, RegisterID dest)
+    {
+        load8(AbsoluteAddress(address), dest);
+    }
+
     void load8PostInc(RegisterID base, RegisterID dest)
     {
         m_assembler.movbMemRegIn(base, dest);
@@ -906,6 +911,14 @@
         releaseScratch(scr);
     }
 
+    void store8(RegisterID src, void* address)
+    {
+        RegisterID destptr = claimScratch();
+        move(TrustedImmPtr(address), destptr);
+        m_assembler.movbRegMem(src, destptr);
+        releaseScratch(destptr);
+    }
+
     void store8(TrustedImm32 imm, void* address)
     {
         ASSERT((imm.m_value >= -128) && (imm.m_value <= 127));
@@ -2439,6 +2452,11 @@
         m_assembler.nop();
     }
 
+    void memoryFence()
+    {
+        m_assembler.synco();
+    }
+
     static FunctionPtr readCallTarget(CodeLocationCall call)
     {
         return FunctionPtr(reinterpret_cast<void(*)()>(SH4Assembler::readCallTarget(call.dataLocation())));

Modified: trunk/Source/_javascript_Core/assembler/SH4Assembler.h (159628 => 159629)


--- trunk/Source/_javascript_Core/assembler/SH4Assembler.h	2013-11-21 16:50:50 UTC (rev 159628)
+++ trunk/Source/_javascript_Core/assembler/SH4Assembler.h	2013-11-21 17:11:35 UTC (rev 159629)
@@ -182,6 +182,7 @@
     FSQRT_OPCODE = 0xf06d,
     FSCHG_OPCODE = 0xf3fd,
     CLRT_OPCODE = 8,
+    SYNCO_OPCODE = 0x00ab,
 };
 
 namespace SH4Registers {
@@ -720,6 +721,11 @@
         oneShortOp(NOP_OPCODE, false);
     }
 
+    void synco()
+    {
+        oneShortOp(SYNCO_OPCODE);
+    }
+
     void sett()
     {
         oneShortOp(SETT_OPCODE);

Modified: trunk/Source/_javascript_Core/offlineasm/sh4.rb (159628 => 159629)


--- trunk/Source/_javascript_Core/offlineasm/sh4.rb	2013-11-21 16:50:50 UTC (rev 159628)
+++ trunk/Source/_javascript_Core/offlineasm/sh4.rb	2013-11-21 17:11:35 UTC (rev 159629)
@@ -1037,6 +1037,8 @@
             $asm.puts "lds #{sh4Operands(operands)}, pr"
         when "stspr"
             $asm.puts "sts pr, #{sh4Operands(operands)}"
+        when "memfence"
+            $asm.puts "synco"
         when "popCalleeSaves"
             $asm.puts "mov.l @r15+, r8"
             $asm.puts "mov.l @r15+, r9"
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to