Constructor and Description |
---|
StampTool() |
Modifier and Type | Method and Description |
---|---|
static boolean |
isExactType(Stamp stamp)
|
static boolean |
isExactType(ValueNode node)
|
static boolean |
isPointerAlwaysNull(Stamp stamp)
|
static boolean |
isPointerAlwaysNull(ValueNode node)
|
static boolean |
isPointerNonNull(Stamp stamp)
|
static boolean |
isPointerNonNull(ValueNode node)
|
static Stamp |
meet(Collection<? extends ValueNode> values) |
static ResolvedJavaType |
typeOrNull(Stamp stamp)
|
static ResolvedJavaType |
typeOrNull(ValueNode node)
|
static Stamp |
unsignedCompare(Stamp stamp,
Stamp stamp2)
Compute the stamp resulting from the unsigned comparison being true.
|
public StampTool()
public static Stamp meet(Collection<? extends ValueNode> values)
public static Stamp unsignedCompare(Stamp stamp, Stamp stamp2)
public static boolean isPointerAlwaysNull(ValueNode node)
node
- the node to checkpublic static boolean isPointerAlwaysNull(Stamp stamp)
Stamp
represents a legal pointer
stamp whose values are known to be always null.stamp
- the stamp to checkpublic static boolean isPointerNonNull(ValueNode node)
node
- the node to checkpublic static boolean isPointerNonNull(Stamp stamp)
stamp
- the stamp to checkpublic static ResolvedJavaType typeOrNull(ValueNode node)
node
- the node to checkpublic static ResolvedJavaType typeOrNull(Stamp stamp)
stamp
- the stamp to checkpublic static boolean isExactType(ValueNode node)
ValueNode
represents a legal
Object value whose Java type is known exactly. If this method returns true then the
Java type returned by typeOrNull(ValueNode)
is the
concrete dynamic/runtime Java type of this value.node
- the node to checkpublic static boolean isExactType(Stamp stamp)
Stamp
represents a legal Object
stamp whose Java type is known exactly. If this method returns
true then the Java type returned by typeOrNull(Stamp)
is the only concrete
dynamic/runtime Java type possible for values of this stamp.stamp
- the stamp to check