< prev index next >
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/PStack.java
Print this page
rev 54717 : imported patch 8223306
*** 198,209 ****
private void initJFrameCache() {
// cache frames for subsequent reference
jframeCache = new HashMap();
proxyToThread = new HashMap();
! Threads threads = VM.getVM().getThreads();
! for (JavaThread cur = threads.first(); cur != null; cur = cur.next()) {
List tmp = new ArrayList(10);
try {
for (JavaVFrame vf = cur.getLastJavaVFrameDbg(); vf != null; vf = vf.javaSender()) {
tmp.add(vf);
}
--- 198,208 ----
private void initJFrameCache() {
// cache frames for subsequent reference
jframeCache = new HashMap();
proxyToThread = new HashMap();
! VM.getVM().getThreads().doJavaThreads((cur) -> {
List tmp = new ArrayList(10);
try {
for (JavaVFrame vf = cur.getLastJavaVFrameDbg(); vf != null; vf = vf.javaSender()) {
tmp.add(vf);
}
*** 214,224 ****
}
JavaVFrame[] jvframes = new JavaVFrame[tmp.size()];
System.arraycopy(tmp.toArray(), 0, jvframes, 0, jvframes.length);
jframeCache.put(cur.getThreadProxy(), jvframes);
proxyToThread.put(cur.getThreadProxy(), cur);
! }
}
private void printUnknown(PrintStream out) {
out.println("\t????????");
}
--- 213,223 ----
}
JavaVFrame[] jvframes = new JavaVFrame[tmp.size()];
System.arraycopy(tmp.toArray(), 0, jvframes, 0, jvframes.length);
jframeCache.put(cur.getThreadProxy(), jvframes);
proxyToThread.put(cur.getThreadProxy(), cur);
! });
}
private void printUnknown(PrintStream out) {
out.println("\t????????");
}
< prev index next >