public static final class PartialEscapeClosure.Final extends PartialEscapeClosure<PartialEscapeBlockState.Final>
PartialEscapeClosure.Final, PartialEscapeClosure.MergeProcessorEffectsClosure.LoopKillCacheCOUNTER_ALLOCATION_REMOVED, COUNTER_MATERIALIZATIONS, COUNTER_MATERIALIZATIONS_LOOP_END, COUNTER_MATERIALIZATIONS_LOOP_EXIT, COUNTER_MATERIALIZATIONS_LOOP_REITERATION, COUNTER_MATERIALIZATIONS_MERGE, COUNTER_MATERIALIZATIONS_PHI, COUNTER_MATERIALIZATIONS_UNHANDLED, COUNTER_MEMORYCHECKPOINT, tool, virtualObjectsaliases, blockEffects, cfg, changed, currentMode, debug, loopLocationKillCache, loopMergeEffects, schedule| Constructor and Description |
|---|
Final(StructuredGraph.ScheduleResult schedule,
CoreProviders providers) |
| Modifier and Type | Method and Description |
|---|---|
protected PartialEscapeBlockState.Final |
cloneState(PartialEscapeBlockState.Final oldState)
Clone a state for a successor invocation of
ReentrantBlockIterator.BlockIteratorClosure.processBlock(Block, Object). |
protected PartialEscapeBlockState.Final |
getInitialState()
Create the initial state for the reverse post order iteration over the
ControlFlowGraph. |
createMergeProcessor, ensureMaterialized, getAlias, getAliasAndResolve, getObjectState, needsApplyEffects, processInitialLoopState, processLoopExit, processNode, processStateBeforeLoopOnOverflow, requiresProcessing, stripKilledLoopLocations, updateStatesForMaterialized, virtualizeaddScalarAlias, afterSplit, applyEffects, getScalarAlias, hasChanged, hasScalarReplacedInputs, merge, processBlock, processKilledLoopLocations, processLooppublic Final(StructuredGraph.ScheduleResult schedule, CoreProviders providers)
protected PartialEscapeBlockState.Final getInitialState()
ReentrantBlockIterator.BlockIteratorClosureControlFlowGraph.getInitialState in class ReentrantBlockIterator.BlockIteratorClosure<PartialEscapeBlockState.Final>protected PartialEscapeBlockState.Final cloneState(PartialEscapeBlockState.Final oldState)
ReentrantBlockIterator.BlockIteratorClosureReentrantBlockIterator.BlockIteratorClosure.processBlock(Block, Object).cloneState in class ReentrantBlockIterator.BlockIteratorClosure<PartialEscapeBlockState.Final>