< prev index next > src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/ObjectValue.java
Print this page
/*
! * Copyright (c) 2009, 2024, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
/*
! * Copyright (c) 2009, 2026, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
public class ObjectValue extends ScopeValue {
protected final int id;
private boolean isRoot;
private ScopeValue klass;
+ private ScopeValue properties;
private List<ScopeValue> fieldsValue;
// Field "boolean visited" is not implemented here since
// it is used only a during debug info creation.
public ObjectValue(int id) {
this.id = id;
klass = null;
+ properties = null;
fieldsValue = new ArrayList<>();
}
public boolean isObject() { return true; }
public int id() { return id; }
public ScopeValue getKlass() { return klass; }
+ public ScopeValue getProperties() { return properties; }
public List<ScopeValue> getFieldsValue() { return fieldsValue; }
public ScopeValue getFieldAt(int i) { return fieldsValue.get(i); }
public int fieldsSize() { return fieldsValue.size(); }
// Field "value" is always NULL here since it is used
void readObject(DebugInfoReadStream stream) {
isRoot = stream.readBoolean();
klass = readFrom(stream);
Assert.that(klass.isConstantOop(), "should be constant klass oop: " + klass);
+ properties = readFrom(stream);
int length = stream.readInt();
for (int i = 0; i < length; i++) {
ScopeValue val = readFrom(stream);
fieldsValue.add(val);
}
< prev index next >