public class ConstantContextSensitiveObject extends ContextSensitiveAnalysisObject
AnalysisObject.AnalysisObjectKind
arrayElementsTypeStore, EMPTY_ARRAY, id, instanceFieldsTypeStore, kind, merged, objectsTypeComparator, type
Constructor and Description |
---|
ConstantContextSensitiveObject(BigBang bb,
AnalysisType type)
Constructor used for the merged constant object, i.e., after the number of individual
constant objects for a type has reached the maximum number of recorded constants threshold.
|
ConstantContextSensitiveObject(BigBang bb,
AnalysisType type,
jdk.vm.ci.meta.JavaConstant constant) |
Modifier and Type | Method and Description |
---|---|
protected List<AnalysisObject> |
getAllObjectsMergedWith()
This returns all the objects this object was ever merged with.
|
jdk.vm.ci.meta.JavaConstant |
getConstant() |
boolean |
isEmptyObjectArrayConstant(BigBang bb)
Check if a constant object wraps the empty array constant, e.g.
|
boolean |
isMergedConstantObject()
Test if this is the merged constant object for its type.
|
void |
noteMerge(BigBang bb)
The object has been in contact with an context insensitive object in an union operation.
|
void |
setMergedWithUniqueConstantObject() |
String |
toString() |
getArrayElementsFlow, getInstanceFieldFilterFlow, getInstanceFieldFlow, getReferencedObjects, mergeInstanceFieldFlow, mergeInstanceFieldFlow, mergeInstanceFieldsFlows
compareTo, equals, getArrayElementsTypeStore, getId, getInstanceFieldFlow, getTypeId, getUnsafeWriteSinkFrozenFilterFlow, hashCode, isAllocationContextSensitiveObject, isConstantContextSensitiveObject, isContextInsensitiveObject, isContextSensitiveObject, isEmptyObjectArrayConstant, isObjectArray, isPrimitiveArray, prefix, type
public ConstantContextSensitiveObject(BigBang bb, AnalysisType type)
public ConstantContextSensitiveObject(BigBang bb, AnalysisType type, jdk.vm.ci.meta.JavaConstant constant)
public jdk.vm.ci.meta.JavaConstant getConstant()
public boolean isMergedConstantObject()
public void setMergedWithUniqueConstantObject()
public void noteMerge(BigBang bb)
noteMerge
in class ContextSensitiveAnalysisObject
protected List<AnalysisObject> getAllObjectsMergedWith()
ContextSensitiveAnalysisObject
getAllObjectsMergedWith
in class ContextSensitiveAnalysisObject
public boolean isEmptyObjectArrayConstant(BigBang bb)
AnalysisObject
static final Object[]
EMPTY_ELEMENTDATA = {}
for ArrayList;isEmptyObjectArrayConstant
in class AnalysisObject
public String toString()
toString
in class AnalysisObject