Changeset 194711 in webkit


Ignore:
Timestamp:
Jan 7, 2016 12:21:10 PM (8 years ago)
Author:
mark.lam@apple.com
Message:

ARMv7 or32(TrustedImm32, AbsoluteAddress) may have a bug with its use of dataTempRegister.
https://bugs.webkit.org/show_bug.cgi?id=152833

Reviewed by Michael Saboff.

Follow-up patch to fix illegal use of memoryTempRegister as the src for ARM64's
store32.

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::or32):
(JSC::MacroAssemblerARM64::store):

Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r194709 r194711  
     12016-01-07  Mark Lam  <mark.lam@apple.com>
     2
     3        ARMv7 or32(TrustedImm32, AbsoluteAddress) may have a bug with its use of dataTempRegister.
     4        https://bugs.webkit.org/show_bug.cgi?id=152833
     5
     6        Reviewed by Michael Saboff.
     7
     8        Follow-up patch to fix illegal use of memoryTempRegister as the src for ARM64's
     9        store32.
     10
     11        * assembler/MacroAssemblerARM64.h:
     12        (JSC::MacroAssemblerARM64::or32):
     13        (JSC::MacroAssemblerARM64::store):
     14
    1152016-01-07  Konstantin Tokarev  <annulen@yandex.ru>
    216
  • trunk/Source/JavaScriptCore/assembler/MacroAssemblerARM64.h

    r194707 r194711  
    545545        } else {
    546546            load32(address.m_ptr, getCachedMemoryTempRegisterIDAndInvalidate());
    547             or32(imm, memoryTempRegister, memoryTempRegister);
    548             store32(memoryTempRegister, address.m_ptr);
     547            or32(imm, memoryTempRegister, getCachedDataTempRegisterIDAndInvalidate());
     548            store32(dataTempRegister, address.m_ptr);
    549549        }
    550550    }
     
    30393039    ALWAYS_INLINE void store(RegisterID src, const void* address)
    30403040    {
     3041        ASSERT(src != memoryTempRegister);
    30413042        intptr_t currentRegisterContents;
    30423043        if (m_cachedMemoryTempRegister.value(currentRegisterContents)) {
Note: See TracChangeset for help on using the changeset viewer.