public final class VirtualObject extends AbstractValue implements JavaValue
VirtualObject is used during deoptimization to recreate the
object.Value.IllegalValue| Modifier and Type | Field and Description |
|---|---|
private int |
id |
private ResolvedJavaType |
type |
private Value[] |
values |
ILLEGAL| Modifier | Constructor and Description |
|---|---|
private |
VirtualObject(ResolvedJavaType type,
Value[] values,
int id) |
| Modifier and Type | Method and Description |
|---|---|
private static StringBuilder |
appendValue(StringBuilder buf,
Value value,
Set<VirtualObject> visited) |
private static boolean |
checkValues(ResolvedJavaType type,
Value[] values) |
boolean |
equals(Object o) |
static VirtualObject |
get(ResolvedJavaType type,
Value[] values,
int id)
Creates a new
VirtualObject for the given type, with the given fields. |
int |
getId()
Returns the unique id that identifies the object within the debug information for one
position in the compiled code.
|
ResolvedJavaType |
getType()
Returns the type of the object whose allocation was removed during compilation.
|
Value[] |
getValues()
Returns an array containing all the values to be stored into the object when it is recreated.
|
int |
hashCode() |
private static boolean |
same(Object o1,
Object o2) |
void |
setValues(Value[] values)
Overwrites the current set of values with a new one.
|
String |
toString() |
getKind, getKindSuffix, getLIRKind, getPlatformKind, identityEqualsclone, finalize, getClass, notify, notifyAll, wait, wait, waitidentityEqualsprivate final ResolvedJavaType type
private final int id
private VirtualObject(ResolvedJavaType type, Value[] values, int id)
public static VirtualObject get(ResolvedJavaType type, Value[] values, int id)
VirtualObject for the given type, with the given fields. If
type is an instance class then values provides the values for the fields
returned by getInstanceFields(true). If
type is an array then the length of the values array determines the reallocated array
length.type - the type of the object whose allocation was removed during compilation. This can
be either an instance of an array type.values - an array containing all the values to be stored into the object when it is
recreatedid - a unique id that identifies the object within the debug information for one
position in the compiled code.VirtualObject instance.private static StringBuilder appendValue(StringBuilder buf, Value value, Set<VirtualObject> visited)
public ResolvedJavaType getType()
public Value[] getValues()
public int getId()
private static boolean checkValues(ResolvedJavaType type, Value[] values)
public void setValues(Value[] values)
values - an array containing all the values to be stored into the object when it is
recreated.public int hashCode()
hashCode in class AbstractValuepublic boolean equals(Object o)
equals in class AbstractValue