src/share/vm/utilities/workgroup.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/utilities/workgroup.cpp Tue Dec 9 14:42:33 2014
--- new/src/share/vm/utilities/workgroup.cpp Tue Dec 9 14:42:33 2014
*** 44,54 ****
--- 44,55 ----
"They cannot both be STW GC and Concurrent threads" );
// Other initialization.
_monitor = new Monitor(/* priority */ Mutex::leaf,
/* name */ "WorkGroup monitor",
! /* allow_vm_block */ are_GC_task_threads);
! /* allow_vm_block */ are_GC_task_threads,
+ Monitor::_safepoint_check_sometimes);
assert(monitor() != NULL, "Failed to allocate monitor");
_terminate = false;
_task = NULL;
_sequence_number = 0;
_started_workers = 0;
*** 376,391 ****
--- 377,393 ----
// *** WorkGangBarrierSync
WorkGangBarrierSync::WorkGangBarrierSync()
- : _monitor(Mutex::safepoint, "work gang barrier sync", true),
+ Monitor::_safepoint_check_never),
_n_workers(0), _n_completed(0), _should_reset(false), _aborted(false) {
}
WorkGangBarrierSync::WorkGangBarrierSync(uint n_workers, const char* name)
! : _monitor(Mutex::safepoint, name, true, Monitor::_safepoint_check_never),
_n_workers(n_workers), _n_completed(0), _should_reset(false), _aborted(false) {
}
void WorkGangBarrierSync::set_n_workers(uint n_workers) {
_n_workers = n_workers;
src/share/vm/utilities/workgroup.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File