8185746: Remove Mutex destructor assertion

Remove unneeded ~Mutex(), improve assertion msg in ~Monitor.

Reviewed-by: dholmes, coleenp, tschatzl
This commit is contained in:
Kim Barrett 2017-08-07 18:50:14 -04:00
parent e012a77fba
commit a41ebc645a
2 changed files with 6 additions and 7 deletions

View File

@ -1159,9 +1159,12 @@ Monitor::~Monitor() {
uintptr_t entrylist = UNS(_EntryList);
uintptr_t waitset = UNS(_WaitSet);
uintptr_t ondeck = UNS(_OnDeck);
// Print _name with precision limit, in case failure is due to memory
// corruption that also trashed _name.
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);
"%.*s: _owner(" INTPTR_FORMAT ")|_LockWord(" INTPTR_FORMAT ")|_EntryList(" INTPTR_FORMAT ")|_WaitSet("
INTPTR_FORMAT ")|_OnDeck(" INTPTR_FORMAT ") != 0",
MONITOR_NAME_LEN, _name, owner, lockword, entrylist, waitset, ondeck);
#endif
}
@ -1193,10 +1196,6 @@ Monitor::Monitor(int Rank, const char * name, bool allow_vm_block,
#endif
}
Mutex::~Mutex() {
assert((UNS(_owner)|UNS(_LockWord.FullWord)|UNS(_EntryList)|UNS(_WaitSet)|UNS(_OnDeck)) == 0, "");
}
Mutex::Mutex(int Rank, const char * name, bool allow_vm_block,
SafepointCheckRequired safepoint_check_required) {
ClearMonitor((Monitor *) this, name);

View File

@ -303,7 +303,7 @@ class Mutex : public Monitor { // degenerate Monitor
public:
Mutex(int rank, const char *name, bool allow_vm_block = false,
SafepointCheckRequired safepoint_check_required = _safepoint_check_always);
~Mutex () ;
// default destructor
private:
bool notify () { ShouldNotReachHere(); return false; }
bool notify_all() { ShouldNotReachHere(); return false; }