Ignore:
Timestamp:
May 12, 2010, 8:12:19 PM (15 years ago)
Author:
[email protected]
Message:

2010-05-12 Oliver Hunt <[email protected]>

Reviewed by Gavin Barraclough.

<rdar://7969718> Incorrect 32-bit codegen for op_jnlesseq
https://bugs.webkit.org/show_bug.cgi?id=39038

Correct the use of incorrect comparison operators.

  • jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_op_jlesseq): (JSC::JIT::emitBinaryDoubleOp):

2010-05-12 Oliver Hunt <[email protected]>

Reviewed by Gavin Barraclough.

<rdar://7969718> Incorrect 32-bit codegen for op_jnlesseq
https://bugs.webkit.org/show_bug.cgi?id=39038

Add more tests for <=, <, >, and >=.

  • fast/js/comparison-operators-greater-expected.txt:
  • fast/js/comparison-operators-less-expected.txt:
  • fast/js/script-tests/comparison-operators-greater.js:
  • fast/js/script-tests/comparison-operators-less.js:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/jit/JITArithmetic32_64.cpp

    r58902 r59336  
    293293        emitLoad(op2, regT3, regT2);
    294294        notInt32Op2.append(branch32(NotEqual, regT3, Imm32(JSValue::Int32Tag)));
    295         addJump(branch32(invert ? LessThan : GreaterThan, regT2, Imm32(getConstantOperand(op1).asInt32())), target);
     295        addJump(branch32(invert ? LessThan : GreaterThanOrEqual, regT2, Imm32(getConstantOperand(op1).asInt32())), target);
    296296    } else if (isOperandConstantImmediateInt(op2)) {
    297297        emitLoad(op1, regT1, regT0);
     
    11361136            case op_jlesseq:
    11371137                emitLoadDouble(op2, fpRegT1);
    1138                 addJump(branchDouble(DoubleLessThanOrEqual, fpRegT1, fpRegT0), dst);
     1138                addJump(branchDouble(DoubleLessThanOrEqual, fpRegT0, fpRegT1), dst);
    11391139                break;
    11401140            default:
Note: See TracChangeset for help on using the changeset viewer.