Ignore:
Timestamp:
Nov 16, 2009, 11:16:22 PM (16 years ago)
Author:
[email protected]
Message:

https://bugs.webkit.org/show_bug.cgi?id=31050

Patch by Zoltan Herczeg <[email protected]> on 2009-11-16
Reviewed by Gavin Barraclough.

Minor fixes for JSVALUE32_64: branchConvertDoubleToInt32
failed on a CortexA8 CPU, but not on a simulator; and
JITCall.cpp modifications was somehow not committed to mainline.

  • assembler/ARMAssembler.h:

(JSC::ARMAssembler::fmrs_r):

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::branchConvertDoubleToInt32):

  • jit/JITCall.cpp:

(JSC::JIT::compileOpCall):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/assembler/MacroAssemblerARM.h

    r50981 r51067  
    830830    void branchConvertDoubleToInt32(FPRegisterID src, RegisterID dest, JumpList& failureCases, FPRegisterID fpTemp)
    831831    {
    832         m_assembler.ftosid_r(src, ARMRegisters::SD0);
    833         m_assembler.fmrs_r(ARMRegisters::SD0, dest);
     832        m_assembler.ftosid_r(ARMRegisters::SD0, src);
     833        m_assembler.fmrs_r(dest, ARMRegisters::SD0);
    834834
    835835        // Convert the integer result back to float & compare to the original value - if not equal or unordered (NaN) then jump.
    836836        m_assembler.fsitod_r(ARMRegisters::SD0, ARMRegisters::SD0);
    837         failureCases.append(branchDouble(DoubleNotEqual, src, ARMRegisters::SD0));
     837        failureCases.append(branchDouble(DoubleNotEqualOrUnordered, src, ARMRegisters::SD0));
    838838
    839839        // If the result is zero, it might have been -0.0, and 0.0 equals to -0.0
Note: See TracChangeset for help on using the changeset viewer.