public class FinalPartialEscapePhase extends PartialEscapePhase
PartialEscapePhase
.EffectsPhase.Closure<T>
BasePhase.ApplyScope, BasePhase.BasePhaseStatistics, BasePhase.NotApplicable, BasePhase.PhaseOptions, BasePhase.SharedGlobalPhaseState
canonicalizer
ALWAYS_APPLICABLE
Constructor and Description |
---|
FinalPartialEscapePhase(boolean iterative,
CanonicalizerPhase canonicalizer,
BasePhase<CoreProviders> cleanupPhase,
OptionValues options) |
FinalPartialEscapePhase(int iterations,
CanonicalizerPhase canonicalizer,
BasePhase<CoreProviders> cleanupPhase,
OptionValues options) |
Modifier and Type | Method and Description |
---|---|
Optional<BasePhase.NotApplicable> |
canApply(GraphState graphState)
Checks if all the preconditions to
BasePhase.apply(StructuredGraph, Object, boolean) the phase
are met. |
protected void |
run(StructuredGraph graph,
CoreProviders context) |
void |
updateGraphState(GraphState graphState)
Applies all the changes on the
GraphState caused by
BasePhase.apply(StructuredGraph, Object, boolean) . |
checkContract, createEffectsClosure, postIteration
runAnalysis
apply, apply, applyScope, codeSizeIncrease, contractorName, equals, getName, hashCode, mustApply, shouldDumpAfterAtBasicLevel, shouldDumpBeforeAtBasicLevel
public FinalPartialEscapePhase(boolean iterative, CanonicalizerPhase canonicalizer, BasePhase<CoreProviders> cleanupPhase, OptionValues options)
public FinalPartialEscapePhase(int iterations, CanonicalizerPhase canonicalizer, BasePhase<CoreProviders> cleanupPhase, OptionValues options)
public Optional<BasePhase.NotApplicable> canApply(GraphState graphState)
BasePhase
BasePhase.apply(StructuredGraph, Object, boolean)
the phase
are met.canApply
in class PartialEscapePhase
graphState
- represents the state of the StructuredGraph
used for compilation
and contains the required information to determine if a phase can be applied.Optional.empty()
if all the checks pass, Optional#of(NotApplicable)
containing why this phase is not applicable on this graphState
otherwise.protected void run(StructuredGraph graph, CoreProviders context)
run
in class PartialEscapePhase
public void updateGraphState(GraphState graphState)
BasePhase
GraphState
caused by
BasePhase.apply(StructuredGraph, Object, boolean)
.updateGraphState
in class BasePhase<CoreProviders>
graphState
- represents the state of the StructuredGraph
used for compilation.