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

Reply via email to