comparison src/share/vm/services/memSnapshot.cpp @ 6232:f1f45dddb0bd

7181986: NMT ON: Assertion failure when running jdi ExpiredRequestDeletionTest Summary: Changed _query_lock to heap object from static object. Also fixed _query_lock and snapshot lock ranks, so they can participate deadlock detection. Reviewed-by: coleenp, dholmes, kvn
author zgu
date Mon, 16 Jul 2012 14:10:34 -0400
parents d2a62e0f25eb
children 4acebbe310e1
comparison
equal deleted inserted replaced
6201:ace99a6ffc83 6232:f1f45dddb0bd
171 _alloc_ptrs = new (std::nothrow) MemPointerArrayImpl<MemPointerRecord>(); 171 _alloc_ptrs = new (std::nothrow) MemPointerArrayImpl<MemPointerRecord>();
172 _vm_ptrs = new (std::nothrow)MemPointerArrayImpl<VMMemRegion>(64, true); 172 _vm_ptrs = new (std::nothrow)MemPointerArrayImpl<VMMemRegion>(64, true);
173 _staging_area = new (std::nothrow)MemPointerArrayImpl<SeqMemPointerRecord>(); 173 _staging_area = new (std::nothrow)MemPointerArrayImpl<SeqMemPointerRecord>();
174 } 174 }
175 175
176 _lock = new (std::nothrow) Mutex(Monitor::native, "memSnapshotLock"); 176 _lock = new (std::nothrow) Mutex(Monitor::max_nonleaf - 1, "memSnapshotLock");
177 NOT_PRODUCT(_untracked_count = 0;) 177 NOT_PRODUCT(_untracked_count = 0;)
178 } 178 }
179 179
180 MemSnapshot::~MemSnapshot() { 180 MemSnapshot::~MemSnapshot() {
181 assert(MemTracker::shutdown_in_progress(), "native memory tracking still on"); 181 assert(MemTracker::shutdown_in_progress(), "native memory tracking still on");