Changeset 51067 in webkit


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):

Location:
trunk/JavaScriptCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r51032 r51067  
     12009-11-16  Zoltan Herczeg  <[email protected]>
     2
     3        Reviewed by Gavin Barraclough.
     4
     5        https://bugs.webkit.org/show_bug.cgi?id=31050
     6
     7        Minor fixes for JSVALUE32_64: branchConvertDoubleToInt32
     8        failed on a CortexA8 CPU, but not on a simulator; and
     9        JITCall.cpp modifications was somehow not committed to mainline.
     10
     11        * assembler/ARMAssembler.h:
     12        (JSC::ARMAssembler::fmrs_r):
     13        * assembler/MacroAssemblerARM.h:
     14        (JSC::MacroAssemblerARM::branchConvertDoubleToInt32):
     15        * jit/JITCall.cpp:
     16        (JSC::JIT::compileOpCall):
     17
    1182009-11-16  Joerg Bornemann  <[email protected]>
    219
  • trunk/JavaScriptCore/assembler/ARMAssembler.h

    r50981 r51067  
    511511        }
    512512
    513         void fmrs_r(int dd, int rn, Condition cc = AL)
    514         {
    515             emitInst(static_cast<ARMWord>(cc) | FMRS, rn, dd, 0);
     513        void fmrs_r(int rd, int dn, Condition cc = AL)
     514        {
     515            emitInst(static_cast<ARMWord>(cc) | FMRS, rd, dn, 0);
    516516        }
    517517
  • 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
  • trunk/JavaScriptCore/jit/JITCall.cpp

    r50201 r51067  
    316316
    317317    DataLabelPtr addressOfLinkedFunctionCheck;
     318
     319    BEGIN_UNINTERRUPTED_SEQUENCE(sequenceOpCall);
     320
    318321    Jump jumpToSlow = branchPtrWithPatch(NotEqual, regT0, addressOfLinkedFunctionCheck, ImmPtr(0));
     322
     323    END_UNINTERRUPTED_SEQUENCE(sequenceOpCall);
     324
    319325    addSlowCase(jumpToSlow);
    320326    ASSERT(differenceBetween(addressOfLinkedFunctionCheck, jumpToSlow) == patchOffsetOpCallCompareToJump);
Note: See TracChangeset for help on using the changeset viewer.