public final class TruffleLoopSafepointEliminationPhase extends LoopSafepointEliminationPhase
LoopEndNode.canGuestSafepointBasePhase.ApplyScope, BasePhase.BasePhaseStatistics, BasePhase.PhaseOptions, BasePhase.SharedGlobalPhaseState| Constructor and Description |
|---|
TruffleLoopSafepointEliminationPhase(Providers providers) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
allowGuestSafepoints()
Determines whether guest safepoints should be allowed at all.
|
protected boolean |
onCallInLoop(LoopEndNode loopEnd,
FixedNode currentCallNode)
To be implemented by subclasses to perform additional checks.
|
protected void |
onSafepointDisabledLoopBegin(LoopEx loop)
To be implemented by subclasses to compute additional fields.
|
canDisableSafepoint, loopIsIn32BitRange, runapply, apply, applyScope, codeSizeIncrease, contractorName, equals, getName, hashCode, shouldDumpAfterAtBasicLevel, shouldDumpBeforeAtBasicLevelclone, getClass, notify, notifyAll, toString, wait, wait, waitcheckContractpublic TruffleLoopSafepointEliminationPhase(Providers providers)
protected void onSafepointDisabledLoopBegin(LoopEx loop)
LoopSafepointEliminationPhaseonSafepointDisabledLoopBegin in class LoopSafepointEliminationPhaseprotected boolean onCallInLoop(LoopEndNode loopEnd, FixedNode currentCallNode)
LoopSafepointEliminationPhasetrue if
the safepoint was also disabled in subclasses and we therefore don't need to continue
traversing.onCallInLoop in class LoopSafepointEliminationPhaseprotected boolean allowGuestSafepoints()
LoopSafepointEliminationPhasefalse, leading to guest
safepoints being disabled for all loops in the graph.allowGuestSafepoints in class LoopSafepointEliminationPhase