< prev index next >
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaHeap.java
Print this page
*** 25,34 ****
--- 25,35 ----
package sun.jvm.hotspot.utilities.soql;
import java.util.*;
import javax.script.ScriptException;
import sun.jvm.hotspot.debugger.*;
+ import sun.jvm.hotspot.classfile.*;
import sun.jvm.hotspot.memory.*;
import sun.jvm.hotspot.oops.*;
import sun.jvm.hotspot.runtime.*;
import sun.jvm.hotspot.utilities.*;
import java.lang.reflect.Method;
*** 164,178 ****
default:
return;
}
final Callable finalFunc = func;
! SystemDictionary sysDict = VM.getVM().getSystemDictionary();
if (withLoader) {
! sysDict.classesDo(new SystemDictionary.ClassAndLoaderVisitor() {
! public void visit(Klass kls, Oop loader) {
JSJavaKlass jk = factory.newJSJavaKlass(kls);
if (jk == null) {
return;
}
JSJavaObject k = jk.getJSJavaClass();
JSJavaObject l = factory.newJSJavaObject(loader);
--- 165,180 ----
default:
return;
}
final Callable finalFunc = func;
! ClassLoaderDataGraph cldg = VM.getVM().getClassLoaderDataGraph();
if (withLoader) {
! cldg.classesDo(new ClassLoaderDataGraph.ClassVisitor() {
! public void visit(Klass kls) {
JSJavaKlass jk = factory.newJSJavaKlass(kls);
+ Oop loader = kls.getClassLoader();
if (jk == null) {
return;
}
JSJavaObject k = jk.getJSJavaClass();
JSJavaObject l = factory.newJSJavaObject(loader);
*** 187,197 ****
}
}
});
} else {
! sysDict.classesDo(new SystemDictionary.ClassVisitor() {
public void visit(Klass kls) {
JSJavaKlass jk = factory.newJSJavaKlass(kls);
if (jk == null) {
return;
}
--- 189,199 ----
}
}
});
} else {
! cldg.classesDo(new ClassLoaderDataGraph.ClassVisitor() {
public void visit(Klass kls) {
JSJavaKlass jk = factory.newJSJavaKlass(kls);
if (jk == null) {
return;
}
< prev index next >