< prev index next >
src/share/vm/runtime/mutex.cpp
Print this page
@@ -1146,11 +1146,20 @@
set_owner(Self);
return wait_status != 0; // return true IFF timeout
}
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) {
m->_owner = NULL;
m->_snuck = false;
< prev index next >