Title: [110147] trunk/Source/_javascript_Core
Revision
110147
Author
commit-qu...@webkit.org
Date
2012-03-07 22:15:01 -0800 (Wed, 07 Mar 2012)

Log Message

[Qt] Fix the MIPS/SH4 build after r109834
https://bugs.webkit.org/show_bug.cgi?id=80492

Patch by Chao-yng Fu <f...@mips.com> on 2012-03-07
Reviewed by Oliver Hunt.

Implement three-argument branch(Add,Sub)32.

* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::add32):
(MacroAssemblerMIPS):
(JSC::MacroAssemblerMIPS::sub32):
(JSC::MacroAssemblerMIPS::branchAdd32):
(JSC::MacroAssemblerMIPS::branchSub32):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (110146 => 110147)


--- trunk/Source/_javascript_Core/ChangeLog	2012-03-08 06:06:16 UTC (rev 110146)
+++ trunk/Source/_javascript_Core/ChangeLog	2012-03-08 06:15:01 UTC (rev 110147)
@@ -1,3 +1,19 @@
+2012-03-07  Chao-yng Fu  <f...@mips.com>
+
+        [Qt] Fix the MIPS/SH4 build after r109834
+        https://bugs.webkit.org/show_bug.cgi?id=80492
+
+        Reviewed by Oliver Hunt.
+
+        Implement three-argument branch(Add,Sub)32.
+
+        * assembler/MacroAssemblerMIPS.h:
+        (JSC::MacroAssemblerMIPS::add32):
+        (MacroAssemblerMIPS):
+        (JSC::MacroAssemblerMIPS::sub32):
+        (JSC::MacroAssemblerMIPS::branchAdd32):
+        (JSC::MacroAssemblerMIPS::branchSub32):
+
 2012-03-07  Sheriff Bot  <webkit.review....@gmail.com>
 
         Unreviewed, rolling out r110127.

Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h (110146 => 110147)


--- trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h	2012-03-08 06:06:16 UTC (rev 110146)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h	2012-03-08 06:15:01 UTC (rev 110147)
@@ -132,6 +132,11 @@
         }
     }
 
+    void add32(RegisterID src, TrustedImm32 imm, RegisterID dest)
+    {
+        add32(imm, src, dest);
+    }
+
     void add32(TrustedImm32 imm, Address address)
     {
         if (address.offset >= -32768 && address.offset <= 32767
@@ -368,6 +373,24 @@
         }
     }
 
+    void sub32(RegisterID src, TrustedImm32 imm, RegisterID dest)
+    {
+        if (!imm.m_isPointer && imm.m_value >= -32767 && imm.m_value <= 32768
+            && !m_fixedWidth) {
+            /*
+              addiu     dest, src, imm
+            */
+            m_assembler.addiu(dest, src, -imm.m_value);
+        } else {
+            /*
+              li        immTemp, imm
+              subu      dest, src, immTemp
+            */
+            move(imm, immTempRegister);
+            m_assembler.subu(dest, src, immTempRegister);
+        }
+    }
+
     void sub32(TrustedImm32 imm, Address address)
     {
         if (address.offset >= -32768 && address.offset <= 32767
@@ -1203,6 +1226,13 @@
         return branchAdd32(cond, immTempRegister, dest);
     }
 
+    Jump branchAdd32(ResultCondition cond, RegisterID src, TrustedImm32 imm, RegisterID dest)
+    {
+        move(imm, immTempRegister);
+        move(src, dest);
+        return branchAdd32(cond, immTempRegister, dest);
+    }
+
     Jump branchMul32(ResultCondition cond, RegisterID src, RegisterID dest)
     {
         ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero));
@@ -1308,6 +1338,13 @@
         return branchSub32(cond, immTempRegister, dest);
     }
 
+    Jump branchSub32(ResultCondition cond, RegisterID src, TrustedImm32 imm, RegisterID dest)
+    {
+        move(imm, immTempRegister);
+        move(src, dest);
+        return branchSub32(cond, immTempRegister, dest);
+    }
+
     Jump branchOr32(ResultCondition cond, RegisterID src, RegisterID dest)
     {
         ASSERT((cond == Signed) || (cond == Zero) || (cond == NonZero));
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to