< prev index next >

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

Print this page

        

@@ -584,27 +584,13 @@
         }
         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() {
+             cldGraph.classesDo(new ClassLoaderDataGraph.ClassVisitor() {
                             public void visit(Klass k) {
                                 try {
                                     writeHeapRecordPrologue();
                                     writeClassDumpRecord(k);
                                     writeHeapRecordEpilogue();

@@ -1086,30 +1072,13 @@
         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() {
+            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 >