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

  Changed paths:
    M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
    M Source/JavaScriptCore/dfg/DFGArgumentsEliminationPhase.cpp
    M Source/JavaScriptCore/dfg/DFGAtTailAbstractState.cpp
    M Source/JavaScriptCore/dfg/DFGAtTailAbstractState.h
    M Source/JavaScriptCore/dfg/DFGBackwardsPropagationPhase.cpp
    M Source/JavaScriptCore/dfg/DFGBasicBlock.cpp
    M Source/JavaScriptCore/dfg/DFGBasicBlock.h
    M Source/JavaScriptCore/dfg/DFGBlockInsertionSet.cpp
    R Source/JavaScriptCore/dfg/DFGBlockMap.h
    R Source/JavaScriptCore/dfg/DFGBlockMapInlines.h
    M Source/JavaScriptCore/dfg/DFGBlockSet.h
    M Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
    M Source/JavaScriptCore/dfg/DFGCFG.h
    M Source/JavaScriptCore/dfg/DFGCSEPhase.cpp
    M Source/JavaScriptCore/dfg/DFGCombinedLiveness.cpp
    M Source/JavaScriptCore/dfg/DFGCombinedLiveness.h
    M Source/JavaScriptCore/dfg/DFGGraph.cpp
    M Source/JavaScriptCore/dfg/DFGGraph.h
    M Source/JavaScriptCore/dfg/DFGIntegerRangeOptimizationPhase.cpp
    M Source/JavaScriptCore/dfg/DFGJITCompiler.cpp
    M Source/JavaScriptCore/dfg/DFGLivenessAnalysisPhase.cpp
    M Source/JavaScriptCore/dfg/DFGMovHintRemovalPhase.cpp
    M Source/JavaScriptCore/dfg/DFGOSRAvailabilityAnalysisPhase.cpp
    M Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp
    M Source/JavaScriptCore/dfg/DFGPutStackSinkingPhase.cpp
    M Source/JavaScriptCore/dfg/DFGSSACalculator.cpp
    M Source/JavaScriptCore/dfg/DFGSSACalculator.h
    M Source/JavaScriptCore/dfg/DFGSSAConversionPhase.cpp
    M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
    M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h
    M Source/JavaScriptCore/dfg/DFGStoreBarrierInsertionPhase.cpp
    M Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp

  Log Message:
  -----------
  [JSC] Add index() / setIndex() to DFG::BasicBlock
https://bugs.webkit.org/show_bug.cgi?id=317621
rdar://180352661

Reviewed by Dan Hecht.

Add DFG::BasicBlock::index() getter / setter and making index member to
m_index and make it private member field. This makes DFG::BasicBlock
more similar to B3::BasicBlock, which allows sharing code easily. We
would like to unify DFG::SSACalculator and B3::SSACalculator as they are
almost the same.

By doing so, now we can use IndexMap for both DFG and B3. Use IndexMap
and remove BlockMap.

* Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
* Source/JavaScriptCore/dfg/DFGArgumentsEliminationPhase.cpp:
* Source/JavaScriptCore/dfg/DFGAtTailAbstractState.cpp:
(JSC::DFG::AtTailAbstractState::AtTailAbstractState):
* Source/JavaScriptCore/dfg/DFGAtTailAbstractState.h:
* Source/JavaScriptCore/dfg/DFGBackwardsPropagationPhase.cpp:
(JSC::DFG::BackwardsPropagationPhase::BackwardsPropagationPhase):
* Source/JavaScriptCore/dfg/DFGBasicBlock.cpp:
(JSC::DFG::BasicBlock::BasicBlock):
(JSC::DFG::BasicBlock::dump const):
* Source/JavaScriptCore/dfg/DFGBasicBlock.h:
(JSC::DFG::BasicBlock::index const):
(JSC::DFG::BasicBlock::setIndex):
* Source/JavaScriptCore/dfg/DFGBlockInsertionSet.cpp:
(JSC::DFG::BlockInsertionSet::insertBefore):
(JSC::DFG::BlockInsertionSet::execute):
* Source/JavaScriptCore/dfg/DFGBlockMap.h: Removed.
* Source/JavaScriptCore/dfg/DFGBlockMapInlines.h: Removed.
* Source/JavaScriptCore/dfg/DFGBlockSet.h:
(JSC::DFG::BlockSet::add):
(JSC::DFG::BlockSet::remove):
(JSC::DFG::BlockSet::contains const):
* Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::allocateUntargetableBlock):
* Source/JavaScriptCore/dfg/DFGCFG.h:
(JSC::DFG::CFG::newMap):
(JSC::DFG::CFG::index const):
* Source/JavaScriptCore/dfg/DFGCSEPhase.cpp:
* Source/JavaScriptCore/dfg/DFGCombinedLiveness.cpp:
(JSC::DFG::CombinedLiveness::CombinedLiveness):
* Source/JavaScriptCore/dfg/DFGCombinedLiveness.h:
* Source/JavaScriptCore/dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dumpBlockHeader):
(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::appendIonGraphPass):
* Source/JavaScriptCore/dfg/DFGGraph.h:
* Source/JavaScriptCore/dfg/DFGIntegerRangeOptimizationPhase.cpp:
* Source/JavaScriptCore/dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
* Source/JavaScriptCore/dfg/DFGLivenessAnalysisPhase.cpp:
* Source/JavaScriptCore/dfg/DFGMovHintRemovalPhase.cpp:
* Source/JavaScriptCore/dfg/DFGOSRAvailabilityAnalysisPhase.cpp:
(JSC::DFG::OSRAvailabilityAnalysisPhase::run):
(JSC::DFG::OSRAvailabilityAnalysisPhase::validateNode):
(JSC::DFG::validateOSRExitAvailability):
* Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:
* Source/JavaScriptCore/dfg/DFGPutStackSinkingPhase.cpp:
* Source/JavaScriptCore/dfg/DFGSSACalculator.cpp:
(JSC::DFG::SSACalculator::SSACalculator):
(JSC::DFG::SSACalculator::ensureDominanceFrontiers):
* Source/JavaScriptCore/dfg/DFGSSACalculator.h:
(JSC::DFG::SSACalculator::computePhis):
* Source/JavaScriptCore/dfg/DFGSSAConversionPhase.cpp:
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::nextBlock):
* Source/JavaScriptCore/dfg/DFGStoreBarrierInsertionPhase.cpp:
* Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileBlock):
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):

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



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

Reply via email to