src/share/vm/services/heapDumper.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/services/heapDumper.cpp	Mon Sep 29 18:47:23 2014
--- new/src/share/vm/services/heapDumper.cpp	Mon Sep 29 18:47:23 2014

*** 812,821 **** --- 812,827 ---- u2 field_count = 0; for (FieldStream fldc(ikh, true, true); !fldc.eos(); fldc.next()) { if (fldc.access_flags().is_static()) field_count++; } + oop resolved_references = ((InstanceKlass*)k)->constants()->resolved_references(); + + if (resolved_references != NULL) { + ++field_count; + } + writer->write_u2(field_count); // pass 2 - dump the field descriptors and raw values for (FieldStream fld(ikh, true, true); !fld.eos(); fld.next()) { if (fld.access_flags().is_static()) {
*** 829,838 **** --- 835,850 ---- address addr = (address)ikh->java_mirror() + offset; dump_field_value(writer, sig->byte_at(0), addr); } } + + if (resolved_references != NULL) { + writer->write_symbolID(vmSymbols::resolved_references_name()); + writer->write_u1(HPROF_NORMAL_OBJECT); + writer->write_objectID(resolved_references); + } } // dump the raw values of the instance fields of the given object void DumperSupport::dump_instance_fields(DumpWriter* writer, oop o) { HandleMark hm;

src/share/vm/services/heapDumper.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File