[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

loki at webkit.org loki at webkit.org
Wed Dec 22 15:01:14 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 5b1bd32ba61a203403fbfcf5b085b00c898cf005
Author: loki at webkit.org <loki at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Oct 27 13:48:11 2010 +0000

    2010-10-27  Gabor Loki  <loki at webkit.org>
    
            Reviewed by Csaba Osztrogonác.
    
            Add cmn to branch32(reg, imm) on ARM
            https://bugs.webkit.org/show_bug.cgi?id=48062
    
            The conditional comparison can be done with cmn if the imm value is
            negative and can fit into the cmn instruction.
    
            * assembler/MacroAssemblerARM.h:
            (JSC::MacroAssemblerARM::branch32):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70642 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index 595c0d3..6fa5aec 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,3 +1,16 @@
+2010-10-27  Gabor Loki  <loki at webkit.org>
+
+        Reviewed by Csaba Osztrogonác.
+
+        Add cmn to branch32(reg, imm) on ARM
+        https://bugs.webkit.org/show_bug.cgi?id=48062
+
+        The conditional comparison can be done with cmn if the imm value is
+        negative and can fit into the cmn instruction.
+
+        * assembler/MacroAssemblerARM.h:
+        (JSC::MacroAssemblerARM::branch32):
+
 2010-10-26  Oliver Hunt  <oliver at apple.com>
 
         Interpreter build fix.
diff --git a/JavaScriptCore/assembler/MacroAssemblerARM.h b/JavaScriptCore/assembler/MacroAssemblerARM.h
index 5de8b34..49c87c0 100644
--- a/JavaScriptCore/assembler/MacroAssemblerARM.h
+++ b/JavaScriptCore/assembler/MacroAssemblerARM.h
@@ -400,8 +400,13 @@ public:
         if (right.m_isPointer) {
             m_assembler.ldr_un_imm(ARMRegisters::S0, right.m_value);
             m_assembler.cmp_r(left, ARMRegisters::S0);
-        } else
-            m_assembler.cmp_r(left, m_assembler.getImm(right.m_value, ARMRegisters::S0));
+        } else {
+            ARMWord tmp = m_assembler.getOp2(-right.m_value);
+            if (tmp != ARMAssembler::INVALID_IMM)
+                m_assembler.cmn_r(left, tmp);
+            else
+                m_assembler.cmp_r(left, m_assembler.getImm(right.m_value, ARMRegisters::S0));
+        }
         return Jump(m_assembler.jmp(ARMCondition(cond), useConstantPool));
     }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list