Changeset 51765 in webkit


Ignore:
Timestamp:
Dec 7, 2009 6:52:37 AM (14 years ago)
Author:
mjs@apple.com
Message:

2009-12-07 Maciej Stachowiak <mjs@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.
Location:
trunk/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r51760 r51765  
     12009-12-07  Maciej Stachowiak  <mjs@apple.com>
     2
     3        Reviewed by Oliver Hunt.
     4
     5        op_loop_if_less JIT codegen is broken for 64-bit
     6        https://bugs.webkit.org/show_bug.cgi?id=32221
     7
     8        * jit/JITOpcodes.cpp:
     9        (JSC::JIT::emit_op_loop_if_false): Fix codegen in this version - test was backwards.
     10
    1112009-12-07  Oliver Hunt  <oliver@apple.com>
    212
  • trunk/JavaScriptCore/jit/JITOpcodes.cpp

    r51739 r51765  
    23052305    emitTimeoutCheck();
    23062306
     2307
    23072308    unsigned target = currentInstruction[2].u.operand;
    23082309    emitGetVirtualRegister(currentInstruction[1].u.operand, regT0);
    23092310
    2310     Jump isZero = branchPtr(Equal, regT0, ImmPtr(JSValue::encode(jsNumber(m_globalData, 0))));
    2311     addJump(emitJumpIfImmediateInteger(regT0), target);
    2312 
    2313     addJump(branchPtr(Equal, regT0, ImmPtr(JSValue::encode(jsBoolean(true)))), target);
    2314     addSlowCase(branchPtr(NotEqual, regT0, ImmPtr(JSValue::encode(jsBoolean(false)))));
    2315 
    2316     isZero.link(this);
     2311    addJump(branchPtr(Equal, regT0, ImmPtr(JSValue::encode(jsNumber(m_globalData, 0)))), target);
     2312    Jump isNonZero = emitJumpIfImmediateInteger(regT0);
     2313
     2314    addJump(branchPtr(Equal, regT0, ImmPtr(JSValue::encode(jsBoolean(false)))), target);
     2315    addSlowCase(branchPtr(NotEqual, regT0, ImmPtr(JSValue::encode(jsBoolean(true)))));
     2316
     2317    isNonZero.link(this);
     2318    RECORD_JUMP_TARGET(target);
    23172319};
    23182320
Note: See TracChangeset for help on using the changeset viewer.