Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a929c7e65180305fdd0d1ae606a2e1001a717b61
      
https://github.com/WebKit/WebKit/commit/a929c7e65180305fdd0d1ae606a2e1001a717b61
  Author: Yusuke Suzuki <[email protected]>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M Source/JavaScriptCore/b3/B3SSACalculator.cpp
    M Source/JavaScriptCore/b3/B3SSACalculator.h
    M Source/JavaScriptCore/dfg/DFGBlockMap.h
    M Source/JavaScriptCore/dfg/DFGSSACalculator.cpp
    M Source/JavaScriptCore/dfg/DFGSSACalculator.h
    M Source/JavaScriptCore/dfg/DFGSSAConversionPhase.cpp

  Log Message:
  -----------
  [JSC] Compute dominance frontier of each block once in the entire graph 
instead of computing for each SSA variable
https://bugs.webkit.org/show_bug.cgi?id=317527
rdar://180197031

Reviewed by Yijia Huang.

Right now, SSACalculator is computing iterated dominance frontier for
each variable, and it is taking too long time. Given the graph, for each
block, let's compute dominance frontier via single path algorithm and
use it to compute iterated dominance frontier for each SSA variable.

We also fix B3SSACalculator's reachingDefAtTail, which didn't update defs
up to found block to compress the path finding.

Right now DFG and B3 BasicBlocks are having subtle difference, so making
both unified causes massive refactoring. I don't  do it in this change
since that's not the scope of this patch.

* Source/JavaScriptCore/b3/B3SSACalculator.cpp:
(JSC::B3::SSACalculator::ensureDominanceFrontiers):
(JSC::B3::SSACalculator::reset):
(JSC::B3::SSACalculator::reachingDefAtTail):
* Source/JavaScriptCore/b3/B3SSACalculator.h:
(JSC::B3::SSACalculator::computePhis):
* Source/JavaScriptCore/dfg/DFGBlockMap.h:
(JSC::DFG::BlockMap::clear):
* Source/JavaScriptCore/dfg/DFGSSACalculator.cpp:
(JSC::DFG::SSACalculator::ensureDominanceFrontiers):
(JSC::DFG::SSACalculator::reset):
* Source/JavaScriptCore/dfg/DFGSSACalculator.h:
(JSC::DFG::SSACalculator::computePhis):
* Source/JavaScriptCore/dfg/DFGSSAConversionPhase.cpp:

Canonical link: https://commits.webkit.org/315623@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to