[JSC] Remove CodeBlock::m_shouldAlwaysBeInlined
https://bugs.webkit.org/show_bug.cgi?id=326308 rdar://189155170 Reviewed by Yusuke Suzuki. The shouldAlwaysBeInlined mechanism used to prevent operationOptimize from tiering up Baseline functions that would be inlined into any hot callsite anyway. In 216705@main, BytecodeIndex became a c++ class and the check in operationOptimize, `if (bytecodeIndex)`, was broken since `bytecodeIndex` was changed from `unsigned` to the new class, which has a bool operator that returns true for bytecode index 0. The result is that operationOptimize always ignores the shouldAlwaysBeInlined flag since it thinks the bytecode index is always non-zero and interprets that to mean we're attempting to OSR from a loop, where we should override the flag. Remove the flag and the code that maintained it, including DFG::mightInlineFunction() and RecursionCheckFunctor. No behavior change aside from removing debug output for shouldAlwaysBeInlined. * Source/JavaScriptCore/bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpAssumingJITType const): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::setupWithUnlinkedBaselineCode): (JSC::CodeBlock::numberOfDFGCompiles): (JSC::RecursionCheckFunctor::RecursionCheckFunctor): Deleted. (JSC::RecursionCheckFunctor::operator() const): Deleted. (JSC::RecursionCheckFunctor::didRecurse const): Deleted. * Source/JavaScriptCore/bytecode/CodeBlock.h: (JSC::CodeBlock::offsetOfShouldAlwaysBeInlined): Deleted. * Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::inliningCost): * Source/JavaScriptCore/interpreter/CachedCall.h: (JSC::CachedCall::unlinkOrUpgradeImpl): * Source/JavaScriptCore/interpreter/Interpreter.cpp: (JSC::Interpreter::executeCallImpl): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::prepareForCachedCall): (JSC::Interpreter::prepareForMicrotaskCall): * Source/JavaScriptCore/interpreter/MicrotaskCall.cpp: (JSC::MicrotaskCall::unlinkOrUpgradeImpl): * Source/JavaScriptCore/jit/JITOperations.cpp: (JSC::JSC_DEFINE_JIT_OPERATION): * Source/JavaScriptCore/runtime/JSMicrotask.cpp: (JSC::callMicrotask): Canonical link: https://commits.webkit.org/322790@main
A
Andrew Fryer committed
2d92bb7ea6c0323a12f3415a0229d4ada661de9f
Parent: 1538f2b