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
This commit is contained in:
David Holmes 2016-08-18 21:37:26 -04:00
parent 663f12c18e
commit bc0d3d976b

View file

@ -1148,7 +1148,16 @@ bool Monitor::wait(bool no_safepoint_check, long 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) {