< prev index next >

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

Print this page

        

*** 584,610 **** } return (int) length; } private void writeClassDumpRecords() throws IOException { - SystemDictionary sysDict = VM.getVM().getSystemDictionary(); ClassLoaderDataGraph cldGraph = VM.getVM().getClassLoaderDataGraph(); try { ! sysDict.allClassesDo(new SystemDictionary.ClassVisitor() { ! public void visit(Klass k) { ! try { ! writeHeapRecordPrologue(); ! writeClassDumpRecord(k); ! writeHeapRecordEpilogue(); ! } catch (IOException e) { ! throw new RuntimeException(e); ! } ! } ! }); ! // Add the anonymous classes also which are not present in the ! // System Dictionary ! cldGraph.allAnonymousKlassesDo(new ClassLoaderDataGraph.KlassVisitor() { public void visit(Klass k) { try { writeHeapRecordPrologue(); writeClassDumpRecord(k); writeHeapRecordEpilogue(); --- 584,596 ---- } return (int) length; } private void writeClassDumpRecords() throws IOException { ClassLoaderDataGraph cldGraph = VM.getVM().getClassLoaderDataGraph(); try { ! cldGraph.classesDo(new ClassLoaderDataGraph.ClassVisitor() { public void visit(Klass k) { try { writeHeapRecordPrologue(); writeClassDumpRecord(k); writeHeapRecordEpilogue();
*** 1086,1115 **** out.write(buf); } private void writeClasses() throws IOException { // write class list (id, name) association - SystemDictionary sysDict = VM.getVM().getSystemDictionary(); ClassLoaderDataGraph cldGraph = VM.getVM().getClassLoaderDataGraph(); try { ! sysDict.allClassesDo(new SystemDictionary.ClassVisitor() { ! public void visit(Klass k) { ! try { ! Instance clazz = k.getJavaMirror(); ! writeHeader(HPROF_LOAD_CLASS, 2 * (OBJ_ID_SIZE + 4)); ! out.writeInt(serialNum); ! writeObjectID(clazz); ! KlassMap.add(serialNum - 1, k); ! out.writeInt(DUMMY_STACK_TRACE_ID); ! writeSymbolID(k.getName()); ! serialNum++; ! } catch (IOException exp) { ! throw new RuntimeException(exp); ! } ! } ! }); ! cldGraph.allAnonymousKlassesDo(new ClassLoaderDataGraph.KlassVisitor() { public void visit(Klass k) { try { Instance clazz = k.getJavaMirror(); writeHeader(HPROF_LOAD_CLASS, 2 * (OBJ_ID_SIZE + 4)); out.writeInt(serialNum); --- 1072,1084 ---- out.write(buf); } private void writeClasses() throws IOException { // write class list (id, name) association ClassLoaderDataGraph cldGraph = VM.getVM().getClassLoaderDataGraph(); try { ! cldGraph.classesDo(new ClassLoaderDataGraph.ClassVisitor() { public void visit(Klass k) { try { Instance clazz = k.getJavaMirror(); writeHeader(HPROF_LOAD_CLASS, 2 * (OBJ_ID_SIZE + 4)); out.writeInt(serialNum);
< prev index next >