[webkit-changes] [WebKit/WebKit] f24813: [JSC] Adjust inlining options
Yusuke Suzuki
noreply at github.com
Mon Dec 18 03:48:00 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: f24813dedb83ca8d8fe4339fc1a97668683e20ea
https://github.com/WebKit/WebKit/commit/f24813dedb83ca8d8fe4339fc1a97668683e20ea
Author: Yusuke Suzuki <ysuzuki at apple.com>
Date: 2023-12-18 (Mon, 18 Dec 2023)
Changed paths:
M Source/JavaScriptCore/bytecode/CodeBlock.cpp
M Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
M Source/JavaScriptCore/dfg/DFGCapabilities.cpp
M Source/JavaScriptCore/dfg/DFGCapabilities.h
M Source/JavaScriptCore/heap/LocalAllocatorInlines.h
M Source/JavaScriptCore/jit/JITPlan.h
M Source/JavaScriptCore/runtime/Options.cpp
M Source/JavaScriptCore/runtime/OptionsList.h
Log Message:
-----------
[JSC] Adjust inlining options
https://bugs.webkit.org/show_bug.cgi?id=266563
rdar://119795209
Reviewed by Justin Michaud.
This patch extends JSC to have different inlining options for DFG and FTL.
This is great since DFG and FTL have different purpose and we would like
to make DFG smaller-compilation and faster and keeping FTL heavy and highly optimized.
And then, we adjust these numbers based on benchmarks.
1. DFG inlining heuristics becomes 80.
2. FTL call inlining heuristics becomes 125.
* Source/JavaScriptCore/bytecode/CodeBlock.cpp:
(JSC::CodeBlock::setupWithUnlinkedBaselineCode):
(JSC::CodeBlock::computeCapabilityLevel):
(JSC::CodeBlock::noticeIncomingCall):
* Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::inliningCost):
(JSC::DFG::ByteCodeParser::getInliningBalance):
* Source/JavaScriptCore/dfg/DFGCapabilities.cpp:
(JSC::DFG::mightInlineFunctionForCall):
(JSC::DFG::mightInlineFunctionForClosureCall):
(JSC::DFG::mightInlineFunctionForConstruct):
* Source/JavaScriptCore/dfg/DFGCapabilities.h:
(JSC::DFG::mightInlineFunctionForCall):
(JSC::DFG::mightInlineFunctionForClosureCall):
(JSC::DFG::mightInlineFunctionForConstruct):
(JSC::DFG::functionForCallCapabilityLevel):
(JSC::DFG::functionForConstructCapabilityLevel):
(JSC::DFG::inlineFunctionForCallCapabilityLevel):
(JSC::DFG::inlineFunctionForClosureCallCapabilityLevel):
(JSC::DFG::inlineFunctionForConstructCapabilityLevel):
(JSC::DFG::mightInlineFunctionFor):
(JSC::DFG::mightInlineFunction):
(JSC::DFG::inlineFunctionForCapabilityLevel):
* Source/JavaScriptCore/heap/LocalAllocatorInlines.h:
(JSC::LocalAllocator::allocate):
* Source/JavaScriptCore/jit/JITPlan.h:
(JSC::JITPlan::jitType const):
* Source/JavaScriptCore/runtime/Options.cpp:
(JSC::overrideDefaults):
* Source/JavaScriptCore/runtime/OptionsList.h:
Canonical link: https://commits.webkit.org/272208@main
More information about the webkit-changes
mailing list