< prev index next >
src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp
Print this page
rev 59104 : 8244243: Shenandoah: Cleanup Shenandoah phase timing tracking and JFR event supporting
@@ -346,10 +346,11 @@
// moves are special cased here, because their moves are handled separately.
return r->is_stw_move_allowed() && !r->is_humongous();
}
void work(uint worker_id) {
+ ShenandoahParallelWorkerSession worker_session(worker_id);
ShenandoahHeapRegionSet* slice = _worker_slices[worker_id];
ShenandoahHeapRegionSetIterator it(slice);
ShenandoahHeapRegion* from_region = it.next();
// No work?
if (from_region == NULL) {
@@ -725,10 +726,11 @@
AbstractGangTask("Shenandoah Adjust Pointers Task"),
_heap(ShenandoahHeap::heap()) {
}
void work(uint worker_id) {
+ ShenandoahParallelWorkerSession worker_session(worker_id);
ShenandoahAdjustPointersObjectClosure obj_cl;
ShenandoahHeapRegion* r = _regions.next();
while (r != NULL) {
if (!r->is_humongous_continuation() && r->has_live()) {
_heap->marked_object_iterate(r, &obj_cl);
@@ -747,10 +749,11 @@
AbstractGangTask("Shenandoah Adjust Root Pointers Task"),
_rp(rp),
_preserved_marks(preserved_marks) {}
void work(uint worker_id) {
+ ShenandoahParallelWorkerSession worker_session(worker_id);
ShenandoahAdjustPointersClosure cl;
_rp->roots_do(worker_id, &cl);
_preserved_marks->get(worker_id)->adjust_during_full_gc();
}
};
@@ -812,10 +815,11 @@
_heap(ShenandoahHeap::heap()),
_worker_slices(worker_slices) {
}
void work(uint worker_id) {
+ ShenandoahParallelWorkerSession worker_session(worker_id);
ShenandoahHeapRegionSetIterator slice(_worker_slices[worker_id]);
ShenandoahCompactObjectsClosure cl(worker_id);
ShenandoahHeapRegion* r = slice.next();
while (r != NULL) {
@@ -958,10 +962,11 @@
ShenandoahMCResetCompleteBitmapTask() :
AbstractGangTask("Parallel Reset Bitmap Task") {
}
void work(uint worker_id) {
+ ShenandoahParallelWorkerSession worker_session(worker_id);
ShenandoahHeapRegion* region = _regions.next();
ShenandoahHeap* heap = ShenandoahHeap::heap();
ShenandoahMarkingContext* const ctx = heap->complete_marking_context();
while (region != NULL) {
if (heap->is_bitmap_slice_committed(region) && !region->is_pinned() && region->has_live()) {
< prev index next >