8152849: share/vm/runtime/mutex.cpp:1161 assert(((uintptr_t(_owner))|(uintptr_t(_LockWord.FullWord))|(uintptr_t(_EntryList))|(uintptr_t(_WaitSet))|(uintptr_t(_OnDeck))) == 0) failed
Reviewed-by: dcubed
--- a/hotspot/src/share/vm/runtime/mutex.cpp Thu Aug 18 10:47:09 2016 -0400
+++ b/hotspot/src/share/vm/runtime/mutex.cpp Thu Aug 18 21:37:26 2016 -0400
@@ -1148,7 +1148,16 @@
}
Monitor::~Monitor() {
- assert((UNS(_owner)|UNS(_LockWord.FullWord)|UNS(_EntryList)|UNS(_WaitSet)|UNS(_OnDeck)) == 0, "");
+#ifdef ASSERT
+ uintptr_t owner = UNS(_owner);
+ uintptr_t lockword = UNS(_LockWord.FullWord);
+ uintptr_t entrylist = UNS(_EntryList);
+ uintptr_t waitset = UNS(_WaitSet);
+ uintptr_t ondeck = UNS(_OnDeck);
+ assert((owner|lockword|entrylist|waitset|ondeck) == 0,
+ "_owner(" INTPTR_FORMAT ")|_LockWord(" INTPTR_FORMAT ")|_EntryList(" INTPTR_FORMAT ")|_WaitSet("
+ INTPTR_FORMAT ")|_OnDeck(" INTPTR_FORMAT ") != 0", owner, lockword, entrylist, waitset, ondeck);
+#endif
}
void Monitor::ClearMonitor(Monitor * m, const char *name) {