--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/ThreadReferenceImpl.java Fri Jun 05 10:25:39 2009 -0700
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/ThreadReferenceImpl.java Tue Jun 09 16:19:10 2009 -0700
@@ -301,6 +301,9 @@
List frameMonitors = frame.getMonitors(); // List<MonitorInfo>
for (Iterator miItr = frameMonitors.iterator(); miItr.hasNext(); ) {
sun.jvm.hotspot.runtime.MonitorInfo mi = (sun.jvm.hotspot.runtime.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