public abstract class OffsetLoadTypeFlow extends TypeFlow<jdk.vm.ci.code.BytecodePosition>
| Modifier and Type | Class and Description |
|---|---|
static class |
OffsetLoadTypeFlow.AbstractUnsafeLoadTypeFlow |
static class |
OffsetLoadTypeFlow.AtomicReadTypeFlow |
static class |
OffsetLoadTypeFlow.JavaReadTypeFlow |
static class |
OffsetLoadTypeFlow.LoadIndexedTypeFlow
Implements the type flow of an indexed load operation.
|
static class |
OffsetLoadTypeFlow.UnsafeLoadTypeFlow |
static class |
OffsetLoadTypeFlow.UnsafePartitionLoadTypeFlow |
| Modifier and Type | Field and Description |
|---|---|
protected TypeFlow<?> |
objectFlow
The type flow of the receiver object of the load operation.
|
context, declaredType, graphRef, id, inQueue, nextId, source, usedAsAParameter, usedAsAReceiver| Constructor and Description |
|---|
OffsetLoadTypeFlow(PointsToAnalysis bb,
MethodFlowsGraph methodFlows,
OffsetLoadTypeFlow original) |
OffsetLoadTypeFlow(org.graalvm.compiler.nodes.ValueNode node,
AnalysisType objectType,
AnalysisType componentType,
TypeFlow<?> objectFlow,
MethodTypeFlow methodFlow) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
addState(PointsToAnalysis bb,
TypeState add) |
TypeState |
getObjectState() |
void |
onObservedSaturated(PointsToAnalysis bb,
TypeFlow<?> observed)
Notified by an observed flow that it is saturated.
|
abstract void |
onObservedUpdate(PointsToAnalysis bb)
Notify the observer that the observed type flow state has changed.
|
TypeFlow<?> |
receiver()
Some flows have a receiver (e.g., loads, store and invokes).
|
void |
setObserved(TypeFlow<?> newObjectFlow)
Set the type flow that this flow is observing.
|
addInput, addObservee, addObserver, addOriginalObserver, addOriginalUse, addState, addUse, canSaturate, context, copy, declaredTypeFilter, doAddUse, equals, filter, format, formatSource, getDeclaredType, getInputs, getObservees, getObservers, getSlot, getSource, getState, getUses, graphRef, hashCode, id, initClone, isAllInstantiated, isClone, isSaturated, isUsedAsAParameter, isUsedAsAReceiver, method, notifyObserverOfSaturation, notifyObservers, notifyUseOfSaturation, onInputSaturated, onSaturated, removeInput, removeObservee, removeObserver, removeUse, replacedObservedWith, replaceObservedWith, setSaturated, setSlot, setState, setUsedAsAParameter, setUsedAsAReceiver, swapAtObserver, swapAtUse, swapOut, toString, updateprotected TypeFlow<?> objectFlow
public OffsetLoadTypeFlow(org.graalvm.compiler.nodes.ValueNode node,
AnalysisType objectType,
AnalysisType componentType,
TypeFlow<?> objectFlow,
MethodTypeFlow methodFlow)
public OffsetLoadTypeFlow(PointsToAnalysis bb, MethodFlowsGraph methodFlows, OffsetLoadTypeFlow original)
public boolean addState(PointsToAnalysis bb, TypeState add)
public void setObserved(TypeFlow<?> newObjectFlow)
TypeFlowsetObserved in class TypeFlow<jdk.vm.ci.code.BytecodePosition>public abstract void onObservedUpdate(PointsToAnalysis bb)
TypeFlowonObservedUpdate in class TypeFlow<jdk.vm.ci.code.BytecodePosition>public void onObservedSaturated(PointsToAnalysis bb, TypeFlow<?> observed)
TypeFlowonObservedSaturated in class TypeFlow<jdk.vm.ci.code.BytecodePosition>public TypeFlow<?> receiver()
TypeFlowpublic TypeState getObjectState()