public class GuardLoweringPhase extends BasePhase<CoreProviders>
GuardNodes into corresponding control-flow structure and
DeoptimizeNodes.
This allow to enter the FIXED_DEOPTS stage of the graph where
all node that may cause deoptimization are fixed.
It first makes a schedule in order to know where the control flow should be placed. Then, for
each block, it applies two passes. The first one tries to replace null-check guards with implicit
null checks performed by access to the objects that need to be null checked. The second phase
does the actual control-flow expansion of the remaining GuardNodes.
BasePhase.ApplyScope, BasePhase.BasePhaseStatistics, BasePhase.PhaseOptions, BasePhase.SharedGlobalPhaseState| Constructor and Description |
|---|
GuardLoweringPhase() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
run(StructuredGraph graph,
CoreProviders context) |
apply, apply, applyScope, codeSizeIncrease, contractorName, equals, getName, hashCode, shouldDumpAfterAtBasicLevel, shouldDumpBeforeAtBasicLevelclone, getClass, notify, notifyAll, toString, wait, wait, waitcheckContractprotected void run(StructuredGraph graph, CoreProviders context)
run in class BasePhase<CoreProviders>