--- a/hotspot/src/share/vm/gc/cms/yieldingWorkgroup.cpp Tue Sep 29 17:44:58 2015 +0200
+++ b/hotspot/src/share/vm/gc/cms/yieldingWorkgroup.cpp Wed Sep 30 09:07:21 2015 +0200
@@ -24,6 +24,7 @@
#include "precompiled.hpp"
#include "gc/cms/yieldingWorkgroup.hpp"
+#include "gc/shared/gcId.hpp"
#include "utilities/macros.hpp"
YieldingFlexibleGangWorker::YieldingFlexibleGangWorker(YieldingFlexibleWorkGang* gang, int id)
@@ -340,6 +341,7 @@
// 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