Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: bdb72467372c43614a9d6207ee7b789cdc9561d6
https://github.com/WebKit/WebKit/commit/bdb72467372c43614a9d6207ee7b789cdc9561d6
Author: Kai Tamkun <[email protected]>
Date: 2026-08-17 (Mon, 17 Aug 2026)
Changed paths:
M Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
M Source/JavaScriptCore/runtime/OptionsList.h
Log Message:
-----------
[JSC] Add global priority queue inliner
https://bugs.webkit.org/show_bug.cgi?id=321720
rdar://184856840
Reviewed by Yijia Huang.
This patch adds an option for JS inlining to globally rank all
inlining candidates prior to DFG bytecode parsing. Currently this
doesn't do much to change which candidates are inlined because the
budget remains fairly high, but with some followup work to tune
the budget, it can be used to skip inlining of less profitable
candidates.
No new tests because the new behavior isn't observable.
* Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:
(JSC::DFG::InliningPlan::siteFor const):
(JSC::DFG::InliningPlan::isBuilt const):
(JSC::DFG::InliningPlan::surveyedCount const):
(JSC::DFG::InliningPlan::admittedCount const):
(JSC::DFG::InliningPlan::admittedCost const):
(JSC::DFG::InliningPlan::budget const):
(JSC::DFG::InliningPlan::root const):
(JSC::DFG::InliningPlan::priceCandidate const):
(JSC::DFG::calleeTierBonus):
(JSC::DFG::InliningPlan::addSite):
(JSC::DFG::InliningPlan::surveyCallSites):
(JSC::DFG::isHigherPriorityInliningCandidate):
(JSC::DFG::InliningPlan::build):
(JSC::DFG::ByteCodeParser::inlineCall):
(JSC::DFG::ByteCodeParser::handleCallVariant):
(JSC::DFG::ByteCodeParser::handleVarargsInlining):
(JSC::DFG::ByteCodeParser::planPermitsInlining const):
(JSC::DFG::ByteCodeParser::planInlining):
(JSC::DFG::ByteCodeParser::parse):
* Source/JavaScriptCore/runtime/OptionsList.h:
Canonical link: https://commits.webkit.org/319343@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications