Ignore:
Timestamp:
Jun 17, 2009, 7:37:05 PM (16 years ago)
Author:
[email protected]
Message:

JavaScriptCore:

2009-06-17 Gavin Barraclough <[email protected]>

Reviewed by Mark Rowe.

<rdar://problem/6947426> sunspider math-cordic.js exhibits different intermediate results running 32-bit vs. 64-bit

On 64-bit, NaN-encoded values must be detagged before they can be used in rshift.

No performance impact.

  • jit/JITArithmetic.cpp: (JSC::JIT::emit_op_rshift):

LayoutTests:

2009-06-17 Gavin Barraclough <[email protected]>

Reviewed by Mark Rowe.

Add tests to check shifts by non-constant amounts.

  • fast/js/kde/operators-expected.txt:
  • fast/js/kde/resources/operators.js:
File:
1 edited

Legend:

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

    r44526 r44795  
    122122            // supportsFloatingPoint() && USE(ALTERNATE_JSIMMEDIATE) => 3 SlowCases
    123123            addSlowCase(emitJumpIfNotImmediateNumber(regT0));
     124            addPtr(tagTypeNumberRegister, regT0);
    124125            movePtrToDouble(regT0, fpRegT0);
    125126            addSlowCase(branchTruncateDoubleToInt32(fpRegT0, regT0));
Note: See TracChangeset for help on using the changeset viewer.