< prev index next >
src/share/vm/gc/cms/yieldingWorkgroup.cpp
Print this page
@@ -22,10 +22,11 @@
*
*/
#include "precompiled.hpp"
#include "gc/cms/yieldingWorkgroup.hpp"
+#include "gc/shared/gcId.hpp"
#include "utilities/macros.hpp"
YieldingFlexibleGangWorker::YieldingFlexibleGangWorker(YieldingFlexibleWorkGang* gang, int id)
: AbstractGangWorker(gang, id) {}
@@ -338,10 +339,11 @@
id = yf_gang()->started_workers();
yf_gang()->internal_note_start();
// Now, release the gang mutex and do the work.
{
MutexUnlockerEx mul(gang_monitor, Mutex::_no_safepoint_check_flag);
+ GCIdMark gc_id_mark(data.task()->gc_id());
data.task()->work(id); // This might include yielding
}
// Reacquire monitor and note completion of this worker
yf_gang()->internal_note_finish();
// Update status of task based on whether all workers have
< prev index next >