Changeset 167599 in webkit


Ignore:
Timestamp:
Apr 21, 2014 11:10:41 AM (10 years ago)
Author:
msaboff@apple.com
Message:

REGRESSION(r167591): ARM64 and ARM traditional builds broken
https://bugs.webkit.org/show_bug.cgi?id=131935

Reviewed by Mark Hahnenberg.

Added store8(TrustedImm32, MacroAssembler::Address) to the ARM traditional and ARM64
macro assemblers. Added a new test for the original patch.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::store8):

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::store8):

  • tests/stress/dfg-create-arguments-inline-alloc.js: New test.
Location:
trunk/Source/JavaScriptCore
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r167591 r167599  
     12014-04-21  Michael Saboff  <msaboff@apple.com>
     2
     3        REGRESSION(r167591): ARM64 and ARM traditional builds broken
     4        https://bugs.webkit.org/show_bug.cgi?id=131935
     5
     6        Reviewed by Mark Hahnenberg.
     7
     8        Added store8(TrustedImm32, MacroAssembler::Address) to the ARM traditional and ARM64
     9        macro assemblers.  Added a new test for the original patch.
     10
     11        * assembler/MacroAssemblerARM.h:
     12        (JSC::MacroAssemblerARM::store8):
     13        * assembler/MacroAssemblerARM64.h:
     14        (JSC::MacroAssemblerARM64::store8):
     15        * tests/stress/dfg-create-arguments-inline-alloc.js: New test.
     16
    1172014-04-21  Mark Hahnenberg  <mhahnenberg@apple.com>
    218
  • trunk/Source/JavaScriptCore/assembler/MacroAssemblerARM.h

    r167565 r167599  
    460460    }
    461461
     462    void store8(RegisterID src, ImplicitAddress address)
     463    {
     464        m_assembler.dtrUp(ARMAssembler::StoreUint8, src, address.base, address.offset);
     465    }
     466
    462467    void store8(RegisterID src, const void* address)
    463468    {
    464469        move(TrustedImmPtr(address), ARMRegisters::S0);
    465470        m_assembler.dtrUp(ARMAssembler::StoreUint8, src, ARMRegisters::S0, 0);
     471    }
     472
     473    void store8(TrustedImm32 imm, ImplicitAddress address)
     474    {
     475        move(imm, ARMRegisters::S1);
     476        store8(ARMRegisters::S1, address);
    466477    }
    467478
  • trunk/Source/JavaScriptCore/assembler/MacroAssemblerARM64.h

    r167557 r167599  
    10941094    }
    10951095
     1096    void store8(RegisterID src, ImplicitAddress address)
     1097    {
     1098        if (tryStoreWithOffset<8>(src, address.base, address.offset))
     1099            return;
     1100
     1101        signExtend32ToPtr(TrustedImm32(address.offset), getCachedMemoryTempRegisterIDAndInvalidate());
     1102        m_assembler.str<8>(src, address.base, memoryTempRegister);
     1103    }
     1104
    10961105    void store8(TrustedImm32 imm, void* address)
    10971106    {
     
    11051114    }
    11061115
     1116    void store8(TrustedImm32 imm, ImplicitAddress address)
     1117    {
     1118        if (!imm.m_value) {
     1119            store8(ARM64Registers::zr, address);
     1120            return;
     1121        }
     1122
     1123        move(imm, getCachedDataTempRegisterIDAndInvalidate());
     1124        store8(dataTempRegister, address);
     1125    }
    11071126
    11081127    // Floating-point operations:
Note: See TracChangeset for help on using the changeset viewer.