< prev index next > src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/InstanceMirrorKlass.java
Print this page
public InstanceMirrorKlass(Address addr) {
super(addr);
}
public long getObjectSize(Oop o) {
! return java_lang_Class.getOopSize(o) * VM.getVM().getAddressSize();
}
public void iterateNonStaticFields(OopVisitor visitor, Oop obj) {
super.iterateNonStaticFields(visitor, obj);
// Fetch the real klass from the mirror object
public InstanceMirrorKlass(Address addr) {
super(addr);
}
public long getObjectSize(Oop o) {
! long s = java_lang_Class.getOopSize(o) * VM.getVM().getAddressSize();
+ if (VM.getVM().isCompactObjectHeadersEnabled()) {
+ Mark mark = o.getMark();
+ if (mark.isExpanded()) {
+ // Needs extra 4 bytes for identity hash-code (and align-up to whole word).
+ s += VM.getVM().getAddressSize();
+ }
+ }
+ return s;
}
public void iterateNonStaticFields(OopVisitor visitor, Oop obj) {
super.iterateNonStaticFields(visitor, obj);
// Fetch the real klass from the mirror object
< prev index next >