public class NewInstanceTypeFlow extends SourceTypeFlowBase
| Modifier and Type | Field and Description |
|---|---|
protected BytecodeLocation |
allocationSite |
protected ConcurrentMap<AnalysisContext,AnalysisObject> |
heapObjectsCache
The original type flow keeps track of the heap objects created for the clones to avoid
duplication of heap object abstractions.
|
protected AnalysisType |
type
Source flow has an immutable type state.
|
sourceStatecontext, declaredType, graphRef, id, inQueue, nextId, source, usedAsAParameter, usedAsAReceiver| Modifier | Constructor and Description |
|---|---|
protected |
NewInstanceTypeFlow(PointsToAnalysis bb,
NewInstanceTypeFlow original,
MethodFlowsGraph methodFlows) |
|
NewInstanceTypeFlow(org.graalvm.compiler.nodes.ValueNode node,
AnalysisType type,
BytecodeLocation allocationLabel) |
protected |
NewInstanceTypeFlow(org.graalvm.compiler.nodes.ValueNode node,
AnalysisType type,
BytecodeLocation allocationLabel,
TypeState typeState) |
| Modifier and Type | Method and Description |
|---|---|
BytecodeLocation |
allocationSite() |
protected TypeState |
cloneSourceState(PointsToAnalysis bb,
MethodFlowsGraph methodFlows)
Create the type state for a clone.
|
TypeFlow<jdk.vm.ci.code.BytecodePosition> |
copy(PointsToAnalysis bb,
MethodFlowsGraph methodFlows)
By default a type flow is not cloneable.
|
String |
toString() |
AnalysisType |
type() |
addState, canSaturate, initClone, onInputSaturated, onObservedSaturated, onObservedUpdate, onSaturatedaddInput, addObservee, addObserver, addOriginalObserver, addOriginalUse, addState, addUse, context, declaredTypeFilter, doAddUse, equals, filter, format, formatSource, getDeclaredType, getInputs, getObservees, getObservers, getSlot, getSource, getState, getUses, graphRef, hashCode, id, isAllInstantiated, isClone, isSaturated, isUsedAsAParameter, isUsedAsAReceiver, method, notifyObserverOfSaturation, notifyObservers, notifyUseOfSaturation, receiver, removeInput, removeObservee, removeObserver, removeUse, replacedObservedWith, replaceObservedWith, setObserved, setSaturated, setSlot, setState, setUsedAsAParameter, setUsedAsAReceiver, swapAtObserver, swapAtUse, swapOut, updateprotected volatile ConcurrentMap<AnalysisContext,AnalysisObject> heapObjectsCache
protected final AnalysisType type
protected final BytecodeLocation allocationSite
public NewInstanceTypeFlow(org.graalvm.compiler.nodes.ValueNode node,
AnalysisType type,
BytecodeLocation allocationLabel)
protected NewInstanceTypeFlow(org.graalvm.compiler.nodes.ValueNode node,
AnalysisType type,
BytecodeLocation allocationLabel,
TypeState typeState)
protected NewInstanceTypeFlow(PointsToAnalysis bb, NewInstanceTypeFlow original, MethodFlowsGraph methodFlows)
public TypeFlow<jdk.vm.ci.code.BytecodePosition> copy(PointsToAnalysis bb, MethodFlowsGraph methodFlows)
TypeFlowprotected TypeState cloneSourceState(PointsToAnalysis bb, MethodFlowsGraph methodFlows)
public BytecodeLocation allocationSite()
public AnalysisType type()