public class UseTrappingNullChecksPhase extends BasePhase<LowTierContext>
Modifier and Type | Field and Description |
---|---|
private static DebugMetric |
metricTrappingNullCheck |
private static DebugMetric |
metricTrappingNullCheckDynamicDeoptimize |
private static DebugMetric |
metricTrappingNullCheckUnreached |
BEFORE_PHASE_DUMP_LEVEL, PHASE_DUMP_LEVEL
Constructor and Description |
---|
UseTrappingNullChecksPhase() |
Modifier and Type | Method and Description |
---|---|
private static void |
checkPredecessor(AbstractDeoptimizeNode deopt,
Node predecessor,
jdk.internal.jvmci.meta.DeoptimizationReason deoptimizationReason) |
private static void |
replaceWithTrappingNullCheck(AbstractDeoptimizeNode deopt,
IfNode ifNode,
LogicNode condition,
jdk.internal.jvmci.meta.DeoptimizationReason deoptimizationReason) |
protected void |
run(StructuredGraph graph,
LowTierContext context) |
private static void |
tryUseTrappingNullCheck(AbstractDeoptimizeNode deopt,
Node predecessor,
jdk.internal.jvmci.meta.DeoptimizationReason deoptimizationReason,
jdk.internal.jvmci.meta.JavaConstant speculation) |
private static void |
tryUseTrappingNullCheck(jdk.internal.jvmci.meta.MetaAccessProvider metaAccessProvider,
DynamicDeoptimizeNode deopt) |
apply, apply, createName, getName
private static final DebugMetric metricTrappingNullCheck
private static final DebugMetric metricTrappingNullCheckUnreached
private static final DebugMetric metricTrappingNullCheckDynamicDeoptimize
public UseTrappingNullChecksPhase()
protected void run(StructuredGraph graph, LowTierContext context)
run
in class BasePhase<LowTierContext>
private static void tryUseTrappingNullCheck(jdk.internal.jvmci.meta.MetaAccessProvider metaAccessProvider, DynamicDeoptimizeNode deopt)
private static void tryUseTrappingNullCheck(AbstractDeoptimizeNode deopt, Node predecessor, jdk.internal.jvmci.meta.DeoptimizationReason deoptimizationReason, jdk.internal.jvmci.meta.JavaConstant speculation)
private static void checkPredecessor(AbstractDeoptimizeNode deopt, Node predecessor, jdk.internal.jvmci.meta.DeoptimizationReason deoptimizationReason)
private static void replaceWithTrappingNullCheck(AbstractDeoptimizeNode deopt, IfNode ifNode, LogicNode condition, jdk.internal.jvmci.meta.DeoptimizationReason deoptimizationReason)