public abstract class UseTrappingOperationPhase extends BasePhase<LowTierContext>
IfNode) into
fixed DeoptimizingFixedWithNextNode that use implicit expections.BasePhase.ApplyScope, BasePhase.BasePhaseStatistics, BasePhase.PhaseOptions, BasePhase.SharedGlobalPhaseState| Constructor and Description |
|---|
UseTrappingOperationPhase() |
| Modifier and Type | Method and Description |
|---|---|
abstract void |
actionBeforeGuardRewrite(DeoptimizingFixedWithNextNode trappingVersionNode) |
abstract boolean |
canReplaceCondition(LogicNode condition,
IfNode ifNode) |
protected void |
checkPredecessor(AbstractDeoptimizeNode deopt,
Node predecessor,
JavaConstant deoptReasonAndAction,
JavaConstant deoptSpeculation,
LowTierContext context) |
abstract DeoptimizingFixedWithNextNode |
createImplicitNode(StructuredGraph graph,
LogicNode condition,
JavaConstant deoptReasonAndAction,
JavaConstant deoptSpeculation) |
abstract void |
finalAction(DeoptimizingFixedWithNextNode trappingVersionNode,
LogicNode condition) |
abstract boolean |
isSupportedReason(DeoptimizationReason reason) |
protected void |
replaceWithTrappingVersion(AbstractDeoptimizeNode deopt,
IfNode ifNode,
LogicNode condition,
JavaConstant deoptReasonAndAction,
JavaConstant deoptSpeculation,
LowTierContext context) |
abstract boolean |
trueSuccessorIsDeopt() |
abstract DeoptimizingFixedWithNextNode |
tryReplaceExisting(StructuredGraph graph,
AbstractBeginNode nonTrappingContinuation,
AbstractBeginNode trappingContinuation,
LogicNode condition,
IfNode ifNode,
AbstractDeoptimizeNode deopt,
JavaConstant deoptReasonAndAction,
JavaConstant deoptSpeculation,
LowTierContext context) |
protected void |
tryUseTrappingVersion(AbstractDeoptimizeNode deopt,
Node predecessor,
DeoptimizationReason deoptimizationReason,
Speculation speculation,
JavaConstant deoptReasonAndAction,
JavaConstant deoptSpeculation,
LowTierContext context) |
protected void |
tryUseTrappingVersion(MetaAccessProvider metaAccessProvider,
DynamicDeoptimizeNode deopt,
LowTierContext context) |
abstract boolean |
useAddressOptimization(AddressNode adr,
LowTierContext context) |
apply, apply, applyScope, codeSizeIncrease, contractorName, equals, getName, hashCode, run, shouldDumpAfterAtBasicLevel, shouldDumpBeforeAtBasicLevelclone, getClass, notify, notifyAll, toString, wait, wait, waitcheckContractpublic abstract boolean isSupportedReason(DeoptimizationReason reason)
public abstract boolean useAddressOptimization(AddressNode adr, LowTierContext context)
public abstract DeoptimizingFixedWithNextNode tryReplaceExisting(StructuredGraph graph, AbstractBeginNode nonTrappingContinuation, AbstractBeginNode trappingContinuation, LogicNode condition, IfNode ifNode, AbstractDeoptimizeNode deopt, JavaConstant deoptReasonAndAction, JavaConstant deoptSpeculation, LowTierContext context)
public abstract DeoptimizingFixedWithNextNode createImplicitNode(StructuredGraph graph, LogicNode condition, JavaConstant deoptReasonAndAction, JavaConstant deoptSpeculation)
public abstract boolean trueSuccessorIsDeopt()
public abstract void finalAction(DeoptimizingFixedWithNextNode trappingVersionNode, LogicNode condition)
public abstract void actionBeforeGuardRewrite(DeoptimizingFixedWithNextNode trappingVersionNode)
protected void tryUseTrappingVersion(MetaAccessProvider metaAccessProvider,
DynamicDeoptimizeNode deopt,
LowTierContext context)
protected void tryUseTrappingVersion(AbstractDeoptimizeNode deopt, Node predecessor, DeoptimizationReason deoptimizationReason, Speculation speculation, JavaConstant deoptReasonAndAction, JavaConstant deoptSpeculation, LowTierContext context)
protected void checkPredecessor(AbstractDeoptimizeNode deopt, Node predecessor, JavaConstant deoptReasonAndAction, JavaConstant deoptSpeculation, LowTierContext context)
protected void replaceWithTrappingVersion(AbstractDeoptimizeNode deopt, IfNode ifNode, LogicNode condition, JavaConstant deoptReasonAndAction, JavaConstant deoptSpeculation, LowTierContext context)