--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.cpp Mon Dec 08 00:15:55 2014 -0800
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.cpp Thu Dec 11 21:34:43 2014 -0500
@@ -400,7 +400,8 @@
assert(workers() != 0, "no workers");
_monitor = new Monitor(Mutex::barrier, // rank
"GCTaskManager monitor", // name
- Mutex::_allow_vm_block_flag); // allow_vm_block
+ Mutex::_allow_vm_block_flag, // allow_vm_block
+ Monitor::_safepoint_check_never);
// The queue for the GCTaskManager must be a CHeapObj.
GCTaskQueue* unsynchronized_queue = GCTaskQueue::create_on_c_heap();
_queue = SynchronizedGCTaskQueue::create(unsynchronized_queue, lock());
@@ -1125,7 +1126,8 @@
} else {
result = new Monitor(Mutex::barrier, // rank
"MonitorSupply monitor", // name
- Mutex::_allow_vm_block_flag); // allow_vm_block
+ Mutex::_allow_vm_block_flag, // allow_vm_block
+ Monitor::_safepoint_check_never);
}
guarantee(result != NULL, "shouldn't return NULL");
assert(!result->is_locked(), "shouldn't be locked");