Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: f1fa4f744f36e153998175109c5c68b86c69c778
https://github.com/WebKit/WebKit/commit/f1fa4f744f36e153998175109c5c68b86c69c778
Author: Yusuke Suzuki <[email protected]>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M Source/JavaScriptCore/dfg/DFGGraph.cpp
M Source/JavaScriptCore/dfg/DFGMayExit.cpp
M Source/JavaScriptCore/dfg/DFGMovHintRemovalPhase.cpp
M Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
Log Message:
-----------
[JSC] Tweak FTL inlining non-codegen-nodes list and MakeRope MovHints
https://bugs.webkit.org/show_bug.cgi?id=293243
rdar://151634076
Reviewed by Yijia Huang.
This patch changes,
1. list of FTL non-codegen nodes. Upsilon / Phi are more control-flow
graph shape related, and ultimately it is unrelated to the function's
cost. This patch removes them from the codegen node list. We also
remove LoopHint since it is not generating a code.
2. MakeRope should say ExitsForExceptions instead of Exits since only
exception is OOM error.
3. We found that MovHint removal phase is suboptimal in some cases where
we jump to the other BasicBlock and that has ZombieHint. This happens
when FTL is inlining calls with polymorphic variants. We work-around
this issue by getting a bit more precise liveness information by
iterating the successor basic block. This is just a heuristic.
* Source/JavaScriptCore/dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dethread):
* Source/JavaScriptCore/dfg/DFGMayExit.cpp:
* Source/JavaScriptCore/dfg/DFGMovHintRemovalPhase.cpp:
* Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
Canonical link: https://commits.webkit.org/295122@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes