SIGN IN SIGN UP

[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