Mercurial > hg > truffle
diff agent/src/share/classes/sun/jvm/hotspot/runtime/JavaThread.java @ 218:a5838065ab24
6620329: jstack prints double native methods on Solaris/sparc
Summary: Fixed stack walking code in sparc to start frame walk from last_java_sp.
Reviewed-by: sgoldman
author | swamyv |
---|---|
date | Tue, 24 Jun 2008 21:37:10 -0700 |
parents | a61af66fc99e |
children | b9fba36710f2 |
line wrap: on
line diff
--- a/agent/src/share/classes/sun/jvm/hotspot/runtime/JavaThread.java Sat Jun 21 10:03:31 2008 -0700 +++ b/agent/src/share/classes/sun/jvm/hotspot/runtime/JavaThread.java Tue Jun 24 21:37:10 2008 -0700 @@ -215,11 +215,11 @@ if (f == null) return null; boolean imprecise = true; if (f.isInterpretedFrame() && !f.isInterpretedFrameValid()) { - if (DEBUG) { - System.out.println("Correcting for invalid interpreter frame"); - } - f = f.sender(regMap); - imprecise = false; + if (DEBUG) { + System.out.println("Correcting for invalid interpreter frame"); + } + f = f.sender(regMap); + imprecise = false; } VFrame vf = VFrame.newVFrame(f, regMap, this, true, imprecise); if (vf == null) { @@ -228,10 +228,7 @@ } return null; } - if (vf.isJavaFrame()) { - return (JavaVFrame) vf; - } - return (JavaVFrame) vf.javaSender(); + return vf.isJavaFrame() ? (JavaVFrame)vf : vf.javaSender(); } /** In this system, a JavaThread is the top-level factory for a