Mercurial > hg > graal-compiler
changeset 12848:539144972c1e
8024425: VM_HeapDumper doesn't put anonymous classes in the heap dump
Summary: Switched from using SystemDictionary to using ClassLoaderDataGraph to get the anonymous classes included.
Reviewed-by: sla, sspitsyn
Contributed-by: fredrik.arvidsson@oracle.com
author | sla |
---|---|
date | Fri, 11 Oct 2013 14:08:02 +0200 |
parents | e831448418ac |
children | 301ece1880ad |
files | src/share/vm/services/heapDumper.cpp |
diffstat | 1 files changed, 5 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/services/heapDumper.cpp Wed Oct 09 22:01:59 2013 -0400 +++ b/src/share/vm/services/heapDumper.cpp Fri Oct 11 14:08:02 2013 +0200 @@ -1545,7 +1545,9 @@ // writes a HPROF_GC_CLASS_DUMP record for the given class void VM_HeapDumper::do_class_dump(Klass* k) { - DumperSupport::dump_class_and_array_classes(writer(), k); + if (k->oop_is_instance()) { + DumperSupport::dump_class_and_array_classes(writer(), k); + } } // writes a HPROF_GC_CLASS_DUMP records for a given basic type @@ -1722,7 +1724,7 @@ SymbolTable::symbols_do(&sym_dumper); // write HPROF_LOAD_CLASS records - SystemDictionary::classes_do(&do_load_class); + ClassLoaderDataGraph::classes_do(&do_load_class); Universe::basic_type_classes_do(&do_load_class); // write HPROF_FRAME and HPROF_TRACE records @@ -1733,7 +1735,7 @@ write_dump_header(); // Writes HPROF_GC_CLASS_DUMP records - SystemDictionary::classes_do(&do_class_dump); + ClassLoaderDataGraph::classes_do(&do_class_dump); Universe::basic_type_classes_do(&do_basic_type_array_class_dump); check_segment_length();