public final class KlassPointerStamp extends MetaspacePointerStamp
SpeculationReasonGroup.SpeculationContextObject.Visitor| Modifier and Type | Method and Description |
|---|---|
void |
accept(SpeculationReasonGroup.SpeculationContextObject.Visitor v) |
KlassPointerStamp |
compressed(CompressEncoding newEncoding) |
Stamp |
constant(Constant c,
MetaAccessProvider meta)
If it is possible to represent single value stamps of this kind, this method returns the
stamp representing the single value c.
|
protected AbstractPointerStamp |
copyWith(boolean newNonNull,
boolean newAlwaysNull) |
boolean |
equals(Object obj) |
CompressEncoding |
getEncoding() |
LIRKind |
getLIRKind(LIRKindTool tool)
Gets a platform dependent
LIRKind that can be used to store a value of this stamp. |
int |
hashCode() |
boolean |
isCompatible(Constant constant)
Check that the constant
other is compatible with this stamp. |
boolean |
isCompatible(Stamp otherStamp)
Check that the constant
other is compatible with this stamp. |
boolean |
isCompressed() |
static KlassPointerStamp |
klass() |
static KlassPointerStamp |
klassAlwaysNull() |
static KlassPointerStamp |
klassNonNull() |
JavaConstant |
nullConstant() |
Constant |
readConstant(MemoryAccessProvider provider,
Constant base,
long displacement)
Read a value of this stamp from memory.
|
String |
toString() |
KlassPointerStamp |
uncompressed() |
appendString, empty, hasValues, javaType, joinalwaysNull, asAlwaysNull, asConstant, asMaybeNull, asNonNull, defaultPointerJoin, getStackKind, improveWith, meet, nonNull, pointerAlwaysNull, pointerMaybeNull, pointerNonNull, unrestrictedalwaysDistinct, isEmpty, isPointerStamp, isUnrestricted, makeSymbolic, neverDistinct, readConstant, tryImproveWithpublic static KlassPointerStamp klass()
public static KlassPointerStamp klassNonNull()
public static KlassPointerStamp klassAlwaysNull()
public void accept(SpeculationReasonGroup.SpeculationContextObject.Visitor v)
accept in interface SpeculationReasonGroup.SpeculationContextObjectaccept in class AbstractPointerStampprotected AbstractPointerStamp copyWith(boolean newNonNull, boolean newAlwaysNull)
copyWith in class AbstractPointerStamppublic boolean isCompatible(Stamp otherStamp)
Stampother is compatible with this stamp.isCompatible in class MetaspacePointerStamppublic boolean isCompatible(Constant constant)
Stampother is compatible with this stamp.isCompatible in class MetaspacePointerStamppublic Stamp constant(Constant c, MetaAccessProvider meta)
StampIf it is not possible to represent single value stamps, this method returns a stamp that includes c, and is otherwise as narrow as possible.
public JavaConstant nullConstant()
nullConstant in class AbstractPointerStamppublic LIRKind getLIRKind(LIRKindTool tool)
StampLIRKind that can be used to store a value of this stamp.getLIRKind in class MetaspacePointerStamppublic boolean isCompressed()
isCompressed in class AbstractPointerStamppublic CompressEncoding getEncoding()
public KlassPointerStamp compressed(CompressEncoding newEncoding)
public KlassPointerStamp uncompressed()
public Constant readConstant(MemoryAccessProvider provider,
Constant base,
long displacement)
StampreadConstant in class Stamppublic int hashCode()
hashCode in class AbstractPointerStamppublic boolean equals(Object obj)
equals in class AbstractPointerStamp