src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.cpp Thu Nov 6 12:39:38 2014
--- new/src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.cpp Thu Nov 6 12:39:37 2014
*** 398,408 ****
--- 398,409 ----
tty->print_cr("GCTaskManager::initialize: workers: %u", workers());
}
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());
_noop_task = NoopGCTask::create_on_c_heap();
_idle_inactive_task = WaitForBarrierGCTask::create_on_c_heap();
*** 1123,1133 ****
--- 1124,1135 ----
if (! freelist()->is_empty()) {
result = freelist()->pop();
} 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");
// release lock().
}
src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File