Title: [110044] trunk/Source/_javascript_Core
Revision
110044
Author
hausm...@webkit.org
Date
2012-03-07 03:30:29 -0800 (Wed, 07 Mar 2012)

Log Message

ARM build fix.

Reviewed by Zoltan Herczeg.

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

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

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (110043 => 110044)


--- trunk/Source/_javascript_Core/ChangeLog	2012-03-07 10:50:51 UTC (rev 110043)
+++ trunk/Source/_javascript_Core/ChangeLog	2012-03-07 11:30:29 UTC (rev 110044)
@@ -1,3 +1,18 @@
+2012-03-07  Simon Hausmann  <simon.hausm...@nokia.com>
+
+        ARM build fix.
+
+        Reviewed by Zoltan Herczeg.
+
+        Implement three-argument branch(Add,Sub)32.
+
+        * assembler/MacroAssemblerARM.h:
+        (JSC::MacroAssemblerARM::add32):
+        (MacroAssemblerARM):
+        (JSC::MacroAssemblerARM::sub32):
+        (JSC::MacroAssemblerARM::branchAdd32):
+        (JSC::MacroAssemblerARM::branchSub32):
+
 2012-03-07  Andy Wingo  <wi...@igalia.com>
 
         Parser: Inline ScopeNodeData into ScopeNode

Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerARM.h (110043 => 110044)


--- trunk/Source/_javascript_Core/assembler/MacroAssemblerARM.h	2012-03-07 10:50:51 UTC (rev 110043)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerARM.h	2012-03-07 11:30:29 UTC (rev 110044)
@@ -108,6 +108,11 @@
         add32(ARMRegisters::S1, dest);
     }
 
+    void add32(RegisterID src, TrustedImm32 imm, RegisterID dest)
+    {
+        m_assembler.adds_r(dest, src, m_assembler.getImm(imm.m_value, ARMRegisters::S0));
+    }
+
     void and32(RegisterID src, RegisterID dest)
     {
         m_assembler.ands_r(dest, dest, src);
@@ -236,6 +241,11 @@
         sub32(ARMRegisters::S1, dest);
     }
 
+    void sub32(RegisterID src, TrustedImm32 imm, RegisterID dest)
+    {
+        m_assembler.subs_r(dest, src, m_assembler.getImm(imm.m_value, ARMRegisters::S0));
+    }
+
     void xor32(RegisterID src, RegisterID dest)
     {
         m_assembler.eors_r(dest, dest, src);
@@ -554,6 +564,13 @@
         return Jump(m_assembler.jmp(ARMCondition(cond)));
     }
 
+    Jump branchAdd32(ResultCondition cond, RegisterID src, TrustedImm32 imm, RegisterID dest)
+    {
+        ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero));
+        add32(src, imm, dest);
+        return Jump(m_assembler.jmp(ARMCondition(cond)));
+    }
+
     void mull32(RegisterID src1, RegisterID src2, RegisterID dest)
     {
         if (src1 == dest) {
@@ -603,6 +620,13 @@
         return Jump(m_assembler.jmp(ARMCondition(cond)));
     }
 
+    Jump branchSub32(ResultCondition cond, RegisterID src, TrustedImm32 imm, RegisterID dest)
+    {
+        ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero));
+        sub32(src, imm, dest);
+        return Jump(m_assembler.jmp(ARMCondition(cond)));
+    }
+
     Jump branchNeg32(ResultCondition cond, RegisterID srcDest)
     {
         ASSERT((cond == Overflow) || (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