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