< prev index next > src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java
Print this page
case JVM_SIGNATURE_DOUBLE:
out.writeDouble(((DoubleField)field).getValue(oop));
break;
case JVM_SIGNATURE_CLASS:
case JVM_SIGNATURE_ARRAY: {
! if (VM.getVM().isCompressedOopsEnabled()) {
OopHandle handle = ((NarrowOopField)field).getValueAsOopHandle(oop);
writeObjectID(getAddressValue(handle));
} else {
OopHandle handle = ((OopField)field).getValueAsOopHandle(oop);
writeObjectID(getAddressValue(handle));
case JVM_SIGNATURE_DOUBLE:
out.writeDouble(((DoubleField)field).getValue(oop));
break;
case JVM_SIGNATURE_CLASS:
case JVM_SIGNATURE_ARRAY: {
! if (field.isFlat()) {
+ // FIXME - we don't handle flattened fields yet. Just treat them
+ // as a null reference. See JDK-8381370.
+ writeObjectID(null);
+ } else if (VM.getVM().isCompressedOopsEnabled()) {
OopHandle handle = ((NarrowOopField)field).getValueAsOopHandle(oop);
writeObjectID(getAddressValue(handle));
} else {
OopHandle handle = ((OopField)field).getValueAsOopHandle(oop);
writeObjectID(getAddressValue(handle));
< prev index next >