public class ObjectStamp extends AbstractObjectStamp
SpeculationReasonGroup.SpeculationContextObject.Visitor| Constructor and Description |
|---|
ObjectStamp(ResolvedJavaType type,
boolean exactType,
boolean nonNull,
boolean alwaysNull,
boolean alwaysArray) |
| Modifier and Type | Method and Description |
|---|---|
protected ObjectStamp |
copyWith(ResolvedJavaType type,
boolean exactType,
boolean nonNull,
boolean alwaysNull,
boolean alwaysArray) |
LIRKind |
getLIRKind(LIRKindTool tool)
Gets a platform dependent
LIRKind that can be used to store a value of this stamp. |
boolean |
isCompatible(Constant constant)
Check that the constant
other is compatible with this stamp. |
boolean |
isCompatible(Stamp other)
Check that the constant
other is compatible with this stamp. |
SymbolicJVMCIReference<ObjectStamp> |
makeSymbolic()
Convert an ObjectStamp into a representation that can be resolved symbolically into the
original stamp.
|
Constant |
readConstant(MemoryAccessProvider provider,
Constant base,
long displacement)
Read a value of this stamp from memory.
|
String |
toString() |
Stamp |
unrestricted()
Returns a stamp of the same kind, but allowing the full value range of the kind.
|
accept, appendString, asAlwaysArray, constant, copyWith, empty, equals, getStackKind, hashCode, hasValues, improveWith, isAlwaysArray, isConcreteType, isExactType, javaType, join, meet, typealwaysNull, asAlwaysNull, asConstant, asMaybeNull, asNonNull, defaultPointerJoin, isCompressed, nonNull, nullConstant, pointerAlwaysNull, pointerMaybeNull, pointerNonNullalwaysDistinct, isEmpty, isPointerStamp, isUnrestricted, neverDistinct, readConstant, tryImproveWithpublic ObjectStamp(ResolvedJavaType type,
boolean exactType,
boolean nonNull,
boolean alwaysNull,
boolean alwaysArray)
protected ObjectStamp copyWith(ResolvedJavaType type, boolean exactType, boolean nonNull, boolean alwaysNull, boolean alwaysArray)
copyWith in class AbstractObjectStamppublic Stamp unrestricted()
StampStamp.unrestricted() is the neutral element of the Stamp.join(Stamp) operation.unrestricted in class AbstractObjectStamppublic boolean isCompatible(Stamp other)
Stampother is compatible with this stamp.isCompatible in class Stamppublic boolean isCompatible(Constant constant)
Stampother is compatible with this stamp.isCompatible in class Stamppublic LIRKind getLIRKind(LIRKindTool tool)
StampLIRKind that can be used to store a value of this stamp.getLIRKind in class Stamppublic Constant readConstant(MemoryAccessProvider provider,
Constant base,
long displacement)
StampreadConstant in class Stamppublic SymbolicJVMCIReference<ObjectStamp> makeSymbolic()
makeSymbolic in class Stamp