public class UseTrappingNullChecksPhase extends UseTrappingOperationPhase
| Modifier and Type | Class and Description |
|---|---|
static class |
UseTrappingNullChecksPhase.Options |
BasePhase.ApplyScope, BasePhase.BasePhaseStatistics, BasePhase.PhaseOptions, BasePhase.SharedGlobalPhaseState| Constructor and Description |
|---|
UseTrappingNullChecksPhase() |
| Modifier and Type | Method and Description |
|---|---|
void |
actionBeforeGuardRewrite(DeoptimizingFixedWithNextNode trappingVersionNode) |
boolean |
canReplaceCondition(LogicNode condition,
IfNode ifNode) |
float |
codeSizeIncrease()
Returns a factor
>=1 that determines what the final code size in terms of the sum of
the node code sizes NodeSize of all nodes is. |
DeoptimizingFixedWithNextNode |
createImplicitNode(StructuredGraph graph,
LogicNode condition,
JavaConstant deoptReasonAndAction,
JavaConstant deoptSpeculation) |
void |
finalAction(DeoptimizingFixedWithNextNode trappingVersionNode,
LogicNode condition) |
boolean |
isSupportedReason(DeoptimizationReason reason) |
protected void |
run(StructuredGraph graph,
LowTierContext context) |
boolean |
trueSuccessorIsDeopt() |
DeoptimizingFixedWithNextNode |
tryReplaceExisting(StructuredGraph graph,
AbstractBeginNode nonTrappingContinuation,
AbstractBeginNode trappingContinuation,
LogicNode condition,
IfNode ifNode,
AbstractDeoptimizeNode deopt,
JavaConstant deoptReasonAndAction,
JavaConstant deoptSpeculation,
LowTierContext context) |
boolean |
useAddressOptimization(AddressNode adr,
LowTierContext context) |
checkPredecessor, replaceWithTrappingVersion, tryUseTrappingVersion, tryUseTrappingVersionapply, apply, applyScope, contractorName, equals, getName, hashCode, shouldDumpAfterAtBasicLevel, shouldDumpBeforeAtBasicLevelclone, getClass, notify, notifyAll, toString, wait, wait, waitcheckContractprotected void run(StructuredGraph graph, LowTierContext context)
run in class BasePhase<LowTierContext>public boolean canReplaceCondition(LogicNode condition, IfNode ifNode)
canReplaceCondition in class UseTrappingOperationPhasepublic boolean useAddressOptimization(AddressNode adr, LowTierContext context)
useAddressOptimization in class UseTrappingOperationPhasepublic boolean isSupportedReason(DeoptimizationReason reason)
isSupportedReason in class UseTrappingOperationPhasepublic DeoptimizingFixedWithNextNode tryReplaceExisting(StructuredGraph graph, AbstractBeginNode nonTrappingContinuation, AbstractBeginNode trappingContinuation, LogicNode condition, IfNode ifNode, AbstractDeoptimizeNode deopt, JavaConstant deoptReasonAndAction, JavaConstant deoptSpeculation, LowTierContext context)
tryReplaceExisting in class UseTrappingOperationPhasepublic DeoptimizingFixedWithNextNode createImplicitNode(StructuredGraph graph, LogicNode condition, JavaConstant deoptReasonAndAction, JavaConstant deoptSpeculation)
createImplicitNode in class UseTrappingOperationPhasepublic boolean trueSuccessorIsDeopt()
trueSuccessorIsDeopt in class UseTrappingOperationPhasepublic void finalAction(DeoptimizingFixedWithNextNode trappingVersionNode, LogicNode condition)
finalAction in class UseTrappingOperationPhasepublic void actionBeforeGuardRewrite(DeoptimizingFixedWithNextNode trappingVersionNode)
actionBeforeGuardRewrite in class UseTrappingOperationPhasepublic float codeSizeIncrease()
PhaseSizeContract>=1 that determines what the final code size in terms of the sum of
the node code sizes NodeSize of all nodes is.codeSizeIncrease in interface PhaseSizeContractcodeSizeIncrease in class BasePhase<LowTierContext>