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