public abstract class SourceTypeFlowBase extends TypeFlow<jdk.vm.ci.code.BytecodePosition>
Modifier and Type | Field and Description |
---|---|
protected TypeState |
sourceState
The source state is a temporary buffer for this flow's type state.
|
context, declaredType, graphRef, id, inQueue, nextId, source, usedAsAParameter, usedAsAReceiver
Constructor and Description |
---|
SourceTypeFlowBase(BigBang bb,
SourceTypeFlowBase original,
MethodFlowsGraph methodFlows) |
SourceTypeFlowBase(BigBang bb,
SourceTypeFlowBase original,
MethodFlowsGraph methodFlows,
TypeState state) |
SourceTypeFlowBase(org.graalvm.compiler.nodes.ValueNode node,
AnalysisType declaredType,
TypeState state) |
SourceTypeFlowBase(org.graalvm.compiler.nodes.ValueNode node,
TypeState state) |
Modifier and Type | Method and Description |
---|---|
boolean |
addState(BigBang bb,
TypeState add) |
boolean |
canSaturate()
Can this type flow saturate? By default all type flows can saturate, with the exception of a
few ones that need to track all their types, e.g., AllInstantiated, AllSynchronized, etc.
|
void |
initClone(BigBang bb)
Initialization code for some clone corner case type flows.
|
protected void |
onInputSaturated(BigBang bb,
TypeFlow<?> input)
Notified by an input that it is saturated and it will stop sending updates.
|
void |
onObservedSaturated(BigBang bb,
TypeFlow<?> observed)
Notified by an observed flow that it is saturated.
|
void |
onObservedUpdate(BigBang bb)
Notify the observer that the observed type flow state has changed.
|
protected void |
onSaturated(BigBang bb)
Called when this type flow becomes saturated.
|
addInput, addObservee, addObserver, addOriginalObserver, addOriginalUse, addState, addUse, context, copy, declaredTypeFilter, doAddUse, equals, filter, getDeclaredType, getInputs, getObservees, getObservers, getSlot, getSource, getState, getUses, graphRef, hashCode, id, isAllInstantiated, isClone, isCloseToAllInstantiated, isSaturated, isUsedAsAParameter, isUsedAsAReceiver, method, notifyObservers, receiver, removeInput, removeObservee, removeObserver, removeUse, replacedObservedWith, replaceObservedWith, setObserved, setSaturated, setSlot, setState, setUsedAsAParameter, setUsedAsAReceiver, swapOut, toString, update
protected final TypeState sourceState
public SourceTypeFlowBase(org.graalvm.compiler.nodes.ValueNode node, TypeState state)
public SourceTypeFlowBase(org.graalvm.compiler.nodes.ValueNode node, AnalysisType declaredType, TypeState state)
public SourceTypeFlowBase(BigBang bb, SourceTypeFlowBase original, MethodFlowsGraph methodFlows)
public SourceTypeFlowBase(BigBang bb, SourceTypeFlowBase original, MethodFlowsGraph methodFlows, TypeState state)
public void initClone(BigBang bb)
TypeFlow
public void onObservedUpdate(BigBang bb)
TypeFlow
onObservedUpdate
in class TypeFlow<jdk.vm.ci.code.BytecodePosition>
public void onObservedSaturated(BigBang bb, TypeFlow<?> observed)
TypeFlow
onObservedSaturated
in class TypeFlow<jdk.vm.ci.code.BytecodePosition>
protected void onInputSaturated(BigBang bb, TypeFlow<?> input)
TypeFlow
onInputSaturated
in class TypeFlow<jdk.vm.ci.code.BytecodePosition>
protected void onSaturated(BigBang bb)
TypeFlow
onSaturated
in class TypeFlow<jdk.vm.ci.code.BytecodePosition>
public boolean canSaturate()
TypeFlow
canSaturate
in class TypeFlow<jdk.vm.ci.code.BytecodePosition>