⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 235527 in webkit


Ignore:
Timestamp:
Aug 30, 2018, 3:37:34 PM (8 years ago)
Author:
sbarati@apple.com
Message:

Switch int8_t to GPRReg in StructureStubInfo because sizeof(GPRReg) == sizeof(int8_t)
https://bugs.webkit.org/show_bug.cgi?id=189166

Reviewed by Mark Lam.

  • bytecode/AccessCase.cpp:

(JSC::AccessCase::generateImpl):

  • bytecode/GetterSetterAccessCase.cpp:

(JSC::GetterSetterAccessCase::emitDOMJITGetter):

  • bytecode/InlineAccess.cpp:

(JSC::getScratchRegister):

  • bytecode/PolymorphicAccess.cpp:

(JSC::PolymorphicAccess::regenerate):

  • bytecode/StructureStubInfo.h:

(JSC::StructureStubInfo::valueRegs const):

  • jit/JITInlineCacheGenerator.cpp:

(JSC::JITByIdGenerator::JITByIdGenerator):
(JSC::JITGetByIdWithThisGenerator::JITGetByIdWithThisGenerator):
(JSC::JITInstanceOfGenerator::JITInstanceOfGenerator):

Location:
trunk/Source/JavaScriptCore
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r235517 r235527  
     12018-08-30  Saam barati  <sbarati@apple.com>
     2
     3        Switch int8_t to GPRReg in StructureStubInfo because sizeof(GPRReg) == sizeof(int8_t)
     4        https://bugs.webkit.org/show_bug.cgi?id=189166
     5
     6        Reviewed by Mark Lam.
     7
     8        * bytecode/AccessCase.cpp:
     9        (JSC::AccessCase::generateImpl):
     10        * bytecode/GetterSetterAccessCase.cpp:
     11        (JSC::GetterSetterAccessCase::emitDOMJITGetter):
     12        * bytecode/InlineAccess.cpp:
     13        (JSC::getScratchRegister):
     14        * bytecode/PolymorphicAccess.cpp:
     15        (JSC::PolymorphicAccess::regenerate):
     16        * bytecode/StructureStubInfo.h:
     17        (JSC::StructureStubInfo::valueRegs const):
     18        * jit/JITInlineCacheGenerator.cpp:
     19        (JSC::JITByIdGenerator::JITByIdGenerator):
     20        (JSC::JITGetByIdWithThisGenerator::JITGetByIdWithThisGenerator):
     21        (JSC::JITInstanceOfGenerator::JITInstanceOfGenerator):
     22
    1232018-08-30  Saam barati  <sbarati@apple.com>
    224
  • trunk/Source/JavaScriptCore/bytecode/AccessCase.cpp

    r235517 r235527  
    10671067        allocator.lock(baseGPR);
    10681068#if USE(JSVALUE32_64)
    1069         allocator.lock(static_cast<GPRReg>(stubInfo.patch.baseTagGPR));
     1069        allocator.lock(stubInfo.patch.baseTagGPR);
    10701070#endif
    10711071        allocator.lock(valueRegs);
  • trunk/Source/JavaScriptCore/bytecode/GetterSetterAccessCase.cpp

    r231250 r235527  
    142142    allocator.lock(baseGPR);
    143143#if USE(JSVALUE32_64)
    144     allocator.lock(static_cast<GPRReg>(stubInfo.patch.baseTagGPR));
     144    allocator.lock(stubInfo.patch.baseTagGPR);
    145145#endif
    146146    allocator.lock(valueRegs);
  • trunk/Source/JavaScriptCore/bytecode/InlineAccess.cpp

    r235517 r235527  
    199199    ScratchRegisterAllocator allocator(stubInfo.patch.usedRegisters);
    200200    allocator.lock(stubInfo.baseGPR());
    201     allocator.lock(static_cast<GPRReg>(stubInfo.patch.valueGPR));
     201    allocator.lock(stubInfo.patch.valueGPR);
    202202#if USE(JSVALUE32_64)
    203     allocator.lock(static_cast<GPRReg>(stubInfo.patch.baseTagGPR));
    204     allocator.lock(static_cast<GPRReg>(stubInfo.patch.valueTagGPR));
     203    allocator.lock(stubInfo.patch.baseTagGPR);
     204    allocator.lock(stubInfo.patch.valueTagGPR);
    205205#endif
    206206    GPRReg scratch = allocator.allocateScratchGPR();
  • trunk/Source/JavaScriptCore/bytecode/PolymorphicAccess.cpp

    r235517 r235527  
    383383   
    384384    state.baseGPR = stubInfo.baseGPR();
    385     state.thisGPR = static_cast<GPRReg>(stubInfo.patch.thisGPR);
     385    state.thisGPR = stubInfo.patch.thisGPR;
    386386    state.valueRegs = stubInfo.valueRegs();
    387387
     
    393393    allocator.lock(state.valueRegs);
    394394#if USE(JSVALUE32_64)
    395     allocator.lock(static_cast<GPRReg>(stubInfo.patch.baseTagGPR));
     395    allocator.lock(stubInfo.patch.baseTagGPR);
    396396#endif
    397397
  • trunk/Source/JavaScriptCore/bytecode/StructureStubInfo.h

    r235517 r235527  
    192192        int32_t deltaFromStartToSlowPathStart;
    193193
    194         int8_t baseGPR;
    195         int8_t valueGPR;
    196         int8_t thisGPR;
     194        GPRReg baseGPR;
     195        GPRReg valueGPR;
     196        GPRReg thisGPR;
    197197#if USE(JSVALUE32_64)
    198         int8_t valueTagGPR;
    199         int8_t baseTagGPR;
    200         int8_t thisTagGPR;
     198        GPRReg valueTagGPR;
     199        GPRReg baseTagGPR;
     200        GPRReg thisTagGPR;
    201201#endif
    202202    } patch;
     
    204204    GPRReg baseGPR() const
    205205    {
    206         return static_cast<GPRReg>(patch.baseGPR);
     206        return patch.baseGPR;
    207207    }
    208208
     
    220220        return JSValueRegs(
    221221#if USE(JSVALUE32_64)
    222             static_cast<GPRReg>(patch.valueTagGPR),
     222            patch.valueTagGPR,
    223223#endif
    224             static_cast<GPRReg>(patch.valueGPR));
     224            patch.valueGPR);
    225225    }
    226226
  • trunk/Source/JavaScriptCore/jit/JITInlineCacheGenerator.cpp

    r232047 r235527  
    7777    , m_value(value)
    7878{
    79     m_stubInfo->patch.baseGPR = static_cast<int8_t>(base.payloadGPR());
    80     m_stubInfo->patch.valueGPR = static_cast<int8_t>(value.payloadGPR());
    81     m_stubInfo->patch.thisGPR = static_cast<int8_t>(InvalidGPRReg);
     79    m_stubInfo->patch.baseGPR = base.payloadGPR();
     80    m_stubInfo->patch.valueGPR = value.payloadGPR();
     81    m_stubInfo->patch.thisGPR = InvalidGPRReg;
    8282#if USE(JSVALUE32_64)
    83     m_stubInfo->patch.baseTagGPR = static_cast<int8_t>(base.tagGPR());
    84     m_stubInfo->patch.valueTagGPR = static_cast<int8_t>(value.tagGPR());
    85     m_stubInfo->patch.thisTagGPR = static_cast<int8_t>(InvalidGPRReg);
     83    m_stubInfo->patch.baseTagGPR = base.tagGPR();
     84    m_stubInfo->patch.valueTagGPR = value.tagGPR();
     85    m_stubInfo->patch.thisTagGPR = InvalidGPRReg;
    8686#endif
    8787}
     
    127127    RELEASE_ASSERT(thisRegs.payloadGPR() != thisRegs.tagGPR());
    128128
    129     m_stubInfo->patch.thisGPR = static_cast<int8_t>(thisRegs.payloadGPR());
     129    m_stubInfo->patch.thisGPR = thisRegs.payloadGPR();
    130130#if USE(JSVALUE32_64)
    131     m_stubInfo->patch.thisTagGPR = static_cast<int8_t>(thisRegs.tagGPR());
     131    m_stubInfo->patch.thisTagGPR = thisRegs.tagGPR();
    132132#endif
    133133}
     
    189189        codeBlock, codeOrigin, callSiteIndex, AccessType::InstanceOf, usedRegisters)
    190190{
    191     m_stubInfo->patch.baseGPR = static_cast<int8_t>(value);
    192     m_stubInfo->patch.valueGPR = static_cast<int8_t>(result);
    193     m_stubInfo->patch.thisGPR = static_cast<int8_t>(prototype);
     191    m_stubInfo->patch.baseGPR = value;
     192    m_stubInfo->patch.valueGPR = result;
     193    m_stubInfo->patch.thisGPR = prototype;
    194194#if USE(JSVALUE32_64)
    195     m_stubInfo->patch.baseTagGPR = static_cast<int8_t>(InvalidGPRReg);
    196     m_stubInfo->patch.valueTagGPR = static_cast<int8_t>(InvalidGPRReg);
    197     m_stubInfo->patch.thisTagGPR = static_cast<int8_t>(InvalidGPRReg);
     195    m_stubInfo->patch.baseTagGPR = InvalidGPRReg;
     196    m_stubInfo->patch.valueTagGPR = InvalidGPRReg;
     197    m_stubInfo->patch.thisTagGPR = InvalidGPRReg;
    198198#endif
    199199
Note: See TracChangeset for help on using the changeset viewer.