< prev index next >
src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp
Print this page
rev 59188 : 8244243: Shenandoah: Cleanup Shenandoah phase timing tracking and JFR event supporting
*** 346,355 ****
--- 346,356 ----
// 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,734 ****
--- 726,736 ----
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,756 ****
--- 749,759 ----
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,821 ****
--- 815,825 ----
_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,967 ****
--- 962,972 ----
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 >