Ignore:
Timestamp:
Oct 24, 2019, 2:06:58 AM (6 years ago)
Author:
[email protected]
Message:

[JSC] Get 32-bit ports back into building order
https://bugs.webkit.org/show_bug.cgi?id=203358

Reviewed by Carlos Garcia Campos.

Get JSC building again on 32-bit architectures after changes in r251468.
Some 32-bit code in LLint and JIT is brought back, and additional casts
around BytecodeIndex construction are added as necessary.

  • dfg/DFGOSRExit.cpp:

(JSC::DFG::reifyInlinedCallFrames):

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::reifyInlinedCallFrames):

  • interpreter/CallFrame.cpp:

(JSC::CallFrame::setCurrentVPC):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileCallEvalSlowCase):
(JSC::JIT::compileOpCall):

  • jit/JITInlines.h:

(JSC::JIT::updateTopCallFrame):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_log_shadow_chicken_tail):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitGetByValWithCachedId):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitPutByValWithCachedId):
(JSC::JIT::emit_op_try_get_by_id):
(JSC::JIT::emit_op_get_by_id_direct):
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_get_by_id_with_this):
(JSC::JIT::emit_op_put_by_id):
(JSC::JIT::emit_op_in_by_id):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/jit/JITInlines.h

    r251468 r251534  
    126126ALWAYS_INLINE void JIT::updateTopCallFrame()
    127127{
     128#if USE(JSVALUE32_64)
     129    const Instruction* instruction = m_codeBlock->instructions().at(m_bytecodeIndex.offset()).ptr();
     130    uint32_t locationBits = CallSiteIndex(BytecodeIndex(bitwise_cast<uint32_t>(instruction))).bits();
     131#else
    128132    uint32_t locationBits = CallSiteIndex(m_bytecodeIndex).bits();
     133#endif
    129134    store32(TrustedImm32(locationBits), tagFor(CallFrameSlot::argumentCount));
    130135   
Note: See TracChangeset for help on using the changeset viewer.