--- a/hotspot/src/share/vm/utilities/workgroup.cpp Mon Dec 08 00:15:55 2014 -0800
+++ b/hotspot/src/share/vm/utilities/workgroup.cpp Thu Dec 11 21:34:43 2014 -0500
@@ -46,7 +46,8 @@
// 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;
@@ -378,12 +379,13 @@
// *** WorkGangBarrierSync
WorkGangBarrierSync::WorkGangBarrierSync()
- : _monitor(Mutex::safepoint, "work gang barrier sync", true),
+ : _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(Mutex::safepoint, name, true, Monitor::_safepoint_check_never),
_n_workers(n_workers), _n_completed(0), _should_reset(false), _aborted(false) {
}