Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3675b73e797f146ff93c1c23752260392b10800a
https://github.com/WebKit/WebKit/commit/3675b73e797f146ff93c1c23752260392b10800a
Author: Yusuke Suzuki <[email protected]>
Date: 2026-06-18 (Thu, 18 Jun 2026)
Changed paths:
M Source/JavaScriptCore/b3/B3BasicBlockUtils.h
M Source/JavaScriptCore/b3/B3Procedure.cpp
M Source/JavaScriptCore/dfg/DFGGraph.cpp
M Source/WTF/WTF.xcodeproj/project.pbxproj
M Source/WTF/wtf/CMakeLists.txt
M Source/WTF/wtf/Dominators.h
A Source/WTF/wtf/GraphOrdering.h
M Source/WTF/wtf/Liveness.h
Log Message:
-----------
[JSC] Use Reverse-Post-Order in WTF::Liveness
https://bugs.webkit.org/show_bug.cgi?id=317354
rdar://179969538
Reviewed by Dan Hecht.
Use Reverse-Post-Order (RPO) to quickly converge the WTF::Liveness
results. This is effective in particular when you have switch with
massive amount of clauses.
We introduce GraphOrdering.h in WTF, which unifies all ordering
utilities into one file. And use it in DFG and B3 too.
* Source/JavaScriptCore/b3/B3BasicBlockUtils.h:
(): Deleted.
* Source/JavaScriptCore/b3/B3Procedure.cpp:
* Source/JavaScriptCore/dfg/DFGGraph.cpp:
(JSC::DFG::Graph::blocksInPreOrder):
(JSC::DFG::Graph::blocksInPostOrder):
* Source/WTF/WTF.xcodeproj/project.pbxproj:
* Source/WTF/wtf/CMakeLists.txt:
* Source/WTF/wtf/Dominators.h:
(WTF::Dominators::IterativeDominance::computeReversePostorder):
* Source/WTF/wtf/GraphOrdering.h: Added.
(WTF::appendNodeOrderFromRoots):
(WTF::appendNodeOrder):
(WTF::appendNodeIndicesInOrder):
(WTF::appendNodesInOrder):
* Source/WTF/wtf/Liveness.h:
(WTF::Liveness::computeDense):
Canonical link: https://commits.webkit.org/315493@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications