Ignore:
Timestamp:
Apr 5, 2022, 8:41:00 PM (3 years ago)
Author:
[email protected]
Message:

[JSC] Use inlined assertion for CodeBlock type
https://bugs.webkit.org/show_bug.cgi?id=238849

Reviewed by Michael Saboff.

We introduced probeDebug-based CodeBlock assertion, but it is too slow and causing timeout on Debug JSC tests.
Instead, we use inlined assertion which is much faster to prevent these Debug build timeout.

  • assembler/AbortReason.h:
  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compileEntry):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCurrentBlock):

  • dfg/DFGThunks.cpp:

(JSC::DFG::osrEntryThunkGenerator):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::lower):

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::jitAssertCodeBlockOnCallFrameWithType):
(JSC::AssemblyHelpers::jitAssertCodeBlockOnCallFrameIsOptimizingJIT):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::jitAssertCodeBlockOnCallFrameWithType):
(JSC::AssemblyHelpers::jitAssertCodeBlockOnCallFrameIsOptimizingJIT):

  • jit/JIT.cpp:

(JSC::JIT::compileAndLinkWithoutFinalizing):

  • jit/JITCode.h:

(JSC::JITCode::offsetOfJITType):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/dfg/DFGJITCompiler.cpp

    r292445 r292447  
    112112    // both normal return code and when jumping to an exception handler).
    113113    emitFunctionPrologue();
    114 #if ASSERT_ENABLED
    115     probeDebug([=](Probe::Context& ctx) {
    116         CodeBlock* codeBlock = ctx.fp<CallFrame*>()->codeBlock();
    117         RELEASE_ASSERT(codeBlock->jitType() == JITType::DFGJIT);
    118     });
    119 #endif
     114    jitAssertCodeBlockOnCallFrameWithType(GPRInfo::regT2, JITType::DFGJIT);
    120115}
    121116
Note: See TracChangeset for help on using the changeset viewer.