< prev index next >

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java

Print this page
@@ -1201,11 +1201,15 @@
          case JVM_SIGNATURE_DOUBLE:
              out.writeDouble(((DoubleField)field).getValue(oop));
              break;
          case JVM_SIGNATURE_CLASS:
          case JVM_SIGNATURE_ARRAY: {
-             if (VM.getVM().isCompressedOopsEnabled()) {
+             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 >