< 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 >