< prev index next >

src/hotspot/share/runtime/deoptimization.cpp

Print this page

        

@@ -1317,11 +1317,11 @@
 static void collect_monitors(compiledVFrame* cvf, GrowableArray<Handle>* objects_to_revoke) {
   GrowableArray<MonitorInfo*>* monitors = cvf->monitors();
   Thread* thread = Thread::current();
   for (int i = 0; i < monitors->length(); i++) {
     MonitorInfo* mon_info = monitors->at(i);
-    if (!mon_info->eliminated() && mon_info->owner() != NULL) {
+    if (!mon_info->eliminated() && mon_info->owner() != NULL && !mon_info->owner()->is_value()) {
       objects_to_revoke->append(Handle(thread, mon_info->owner()));
     }
   }
 }
 
< prev index next >