--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaThread.java Fri Jun 05 10:25:39 2009 -0700
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaThread.java Tue Jun 09 16:19:10 2009 -0700
@@ -135,6 +135,10 @@
List frameMonitors = frame.getMonitors(); // List<MonitorInfo>
for (Iterator miItr = frameMonitors.iterator(); miItr.hasNext(); ) {
MonitorInfo mi = (MonitorInfo) miItr.next();
+
+ if (mi.eliminated() && frame.isCompiledFrame()) {
+ continue; // skip eliminated monitor
+ }
OopHandle obj = mi.owner();
if (obj == null) {
// this monitor doesn't have an owning object so skip it