[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

mjs at apple.com mjs at apple.com
Thu Apr 8 00:23:24 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 9160afb1525dceb3476067b99d18d33976503e26
Author: mjs at apple.com <mjs at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Dec 7 14:52:37 2009 +0000

    2009-12-07  Maciej Stachowiak  <mjs at apple.com>
    
            Reviewed by Oliver Hunt.
    
            op_loop_if_less JIT codegen is broken for 64-bit
            https://bugs.webkit.org/show_bug.cgi?id=32221
    
            * jit/JITOpcodes.cpp:
            (JSC::JIT::emit_op_loop_if_false): Fix codegen in this version - test was backwards.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51765 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index 5da0107..e72e88a 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,3 +1,13 @@
+2009-12-07  Maciej Stachowiak  <mjs at apple.com>
+
+        Reviewed by Oliver Hunt.
+
+        op_loop_if_less JIT codegen is broken for 64-bit
+        https://bugs.webkit.org/show_bug.cgi?id=32221
+
+        * jit/JITOpcodes.cpp:
+        (JSC::JIT::emit_op_loop_if_false): Fix codegen in this version - test was backwards.
+
 2009-12-07  Oliver Hunt  <oliver at apple.com>
 
         Reviewed by Maciej Stachowiak.
diff --git a/JavaScriptCore/jit/JITOpcodes.cpp b/JavaScriptCore/jit/JITOpcodes.cpp
index 059cdda..d7e7496 100644
--- a/JavaScriptCore/jit/JITOpcodes.cpp
+++ b/JavaScriptCore/jit/JITOpcodes.cpp
@@ -2304,16 +2304,18 @@ void JIT::emit_op_loop_if_false(Instruction* currentInstruction)
 {
     emitTimeoutCheck();
 
+
     unsigned target = currentInstruction[2].u.operand;
     emitGetVirtualRegister(currentInstruction[1].u.operand, regT0);
 
-    Jump isZero = branchPtr(Equal, regT0, ImmPtr(JSValue::encode(jsNumber(m_globalData, 0))));
-    addJump(emitJumpIfImmediateInteger(regT0), target);
+    addJump(branchPtr(Equal, regT0, ImmPtr(JSValue::encode(jsNumber(m_globalData, 0)))), target);
+    Jump isNonZero = emitJumpIfImmediateInteger(regT0);
 
-    addJump(branchPtr(Equal, regT0, ImmPtr(JSValue::encode(jsBoolean(true)))), target);
-    addSlowCase(branchPtr(NotEqual, regT0, ImmPtr(JSValue::encode(jsBoolean(false)))));
+    addJump(branchPtr(Equal, regT0, ImmPtr(JSValue::encode(jsBoolean(false)))), target);
+    addSlowCase(branchPtr(NotEqual, regT0, ImmPtr(JSValue::encode(jsBoolean(true)))));
 
-    isZero.link(this);
+    isNonZero.link(this);
+    RECORD_JUMP_TARGET(target);
 };
 
 void JIT::emit_op_resolve_base(Instruction* currentInstruction)

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list