public abstract class MetaspacePointerStamp extends AbstractPointerStamp
SpeculationReasonGroup.SpeculationContextObject.Visitor| Modifier | Constructor and Description |
|---|---|
protected |
MetaspacePointerStamp(boolean nonNull,
boolean alwaysNull) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
appendString(StringBuilder str) |
Stamp |
empty()
Returns a stamp of the same kind, but with no allowed values.
|
LIRKind |
getLIRKind(LIRKindTool tool)
Gets a platform dependent
LIRKind that can be used to store a value of this stamp. |
boolean |
hasValues()
Test whether this stamp has legal values.
|
boolean |
isCompatible(Constant constant)
Check that the constant
other is compatible with this stamp. |
ResolvedJavaType |
javaType(MetaAccessProvider metaAccess)
Returns the type of the stamp, guaranteed to be non-null.
|
Stamp |
join(Stamp other)
Returns the intersection of this stamp and the given stamp.
|
accept, alwaysNull, asAlwaysNull, asConstant, asMaybeNull, asNonNull, copyWith, defaultPointerJoin, equals, getStackKind, hashCode, improveWith, isCompressed, meet, nonNull, nullConstant, pointerAlwaysNull, pointerMaybeNull, pointerNonNull, unrestrictedalwaysDistinct, constant, isEmpty, isPointerStamp, isUnrestricted, makeSymbolic, neverDistinct, readConstant, readConstant, toString, tryImproveWithprotected MetaspacePointerStamp(boolean nonNull,
boolean alwaysNull)
public LIRKind getLIRKind(LIRKindTool tool)
StampLIRKind that can be used to store a value of this stamp.getLIRKind in class Stamppublic Stamp empty()
StampStamp.empty() is the neutral element of the Stamp.meet(Stamp) operation.public boolean isCompatible(Constant constant)
Stampother is compatible with this stamp.isCompatible in class Stamppublic boolean hasValues()
Stamppublic Stamp join(Stamp other)
Stamppublic ResolvedJavaType javaType(MetaAccessProvider metaAccess)
StampMetaAccessProvider is mandatory.protected void appendString(StringBuilder str)