Changeset 167782 in webkit


Ignore:
Timestamp:
Apr 24, 2014 5:14:14 PM (10 years ago)
Author:
msaboff@apple.com
Message:

REGRESSION: Apparent hang of PCE.js Mac OS System 7.0.1 on ARM64 devices
https://bugs.webkit.org/show_bug.cgi?id=132147

Reviewed by Mark Lam.

Fixed or64(), eor32( ) and eor64() to use "src" register when we have a valid logicalImm.

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::or64):
(JSC::MacroAssemblerARM64::xor32):
(JSC::MacroAssemblerARM64::xor64):

  • tests/stress/regress-132147.js: Added test.
Location:
trunk/Source/JavaScriptCore
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r167772 r167782  
     12014-04-24  Michael Saboff  <msaboff@apple.com>
     2
     3        REGRESSION: Apparent hang of PCE.js Mac OS System 7.0.1 on ARM64 devices
     4        https://bugs.webkit.org/show_bug.cgi?id=132147
     5
     6        Reviewed by Mark Lam.
     7
     8        Fixed or64(), eor32( ) and eor64() to use "src" register when we have a valid logicalImm.
     9
     10        * assembler/MacroAssemblerARM64.h:
     11        (JSC::MacroAssemblerARM64::or64):
     12        (JSC::MacroAssemblerARM64::xor32):
     13        (JSC::MacroAssemblerARM64::xor64):
     14        * tests/stress/regress-132147.js: Added test.
     15
    1162014-04-24  Mark Lam  <mark.lam@apple.com>
    217
  • trunk/Source/JavaScriptCore/assembler/MacroAssemblerARM64.h

    r167599 r167782  
    505505
    506506        if (logicalImm.isValid()) {
    507             m_assembler.orr<64>(dest, dest, logicalImm);
     507            m_assembler.orr<64>(dest, src, logicalImm);
    508508            return;
    509509        }
     
    714714
    715715            if (logicalImm.isValid()) {
    716                 m_assembler.eor<32>(dest, dest, logicalImm);
     716                m_assembler.eor<32>(dest, src, logicalImm);
    717717                return;
    718718            }
     
    753753
    754754            if (logicalImm.isValid()) {
    755                 m_assembler.eor<64>(dest, dest, logicalImm);
     755                m_assembler.eor<64>(dest, src, logicalImm);
    756756                return;
    757757            }
Note: See TracChangeset for help on using the changeset viewer.