src/hotspot/share/runtime/objectMonitor.hpp
changeset 55345 492b644bb9c2
parent 54807 33fe50b6d707
child 57734 18f4d3d46d54
--- a/src/hotspot/share/runtime/objectMonitor.hpp	Wed Jun 12 14:24:11 2019 +0200
+++ b/src/hotspot/share/runtime/objectMonitor.hpp	Wed Jun 12 10:52:45 2019 -0400
@@ -235,6 +235,7 @@
     // TODO-FIXME: assert _owner == null implies _recursions = 0
     return _contentions|_waiters|intptr_t(_owner)|intptr_t(_cxq)|intptr_t(_EntryList);
   }
+  const char* is_busy_to_string(stringStream* ss);
 
   intptr_t  is_entered(Thread* current) const;
 
@@ -268,7 +269,9 @@
     // _cxq == 0 _succ == NULL _owner == NULL _waiters == 0
     // _contentions == 0 EntryList  == NULL
     // _recursions == 0 _WaitSet == NULL
-    assert(((is_busy()|_recursions) == 0), "freeing inuse monitor");
+    DEBUG_ONLY(stringStream ss;)
+    assert((is_busy() | _recursions) == 0, "freeing in-use monitor: %s, "
+           "recursions=" INTPTR_FORMAT, is_busy_to_string(&ss), _recursions);
     _succ          = NULL;
     _EntryList     = NULL;
     _cxq           = NULL;