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, identityEquals
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
identityEquals
private 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 AbstractValue
public boolean equals(Object o)
equals
in class AbstractValue