RFR (S) JDK-8241068: Shenandoah: improve ShenandoahTraversalGC constructor arguments
Nilsen, Kelvin
kdnilsen at amazon.com
Sat Mar 21 18:33:06 UTC 2020
This starter issue is described here: https://bugs.openjdk.java.net/browse/JDK-8241068?filter=38634
The following patch addresses this issue. I have compiled and run jtreg tests tier1, tier2, and hotspot_gc_shenandoah without regressions.
I am not authorized to directly apply this patch so will need a sponsor to apply this patch when it is judged ready to be merged.
--- old/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp 2020-03-20 17:40:08.000000000 -0700
+++ new/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp 2020-03-20 17:40:07.000000000 -0700
@@ -368,7 +368,7 @@
}
_traversal_gc = strcmp(ShenandoahGCMode, "traversal") == 0 ?
- new ShenandoahTraversalGC(this, _num_regions) :
+ new ShenandoahTraversalGC(this) :
NULL;
_control_thread = new ShenandoahControlThread();
--- old/src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp 2020-03-20 17:40:13.000000000 -0700
+++ new/src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp 2020-03-20 17:40:12.000000000 -0700
@@ -291,7 +291,7 @@
}
};
-ShenandoahTraversalGC::ShenandoahTraversalGC(ShenandoahHeap* heap, size_t num_regions) :
+ShenandoahTraversalGC::ShenandoahTraversalGC(ShenandoahHeap* heap) :
_heap(heap),
_task_queues(new ShenandoahObjToScanQueueSet(heap->max_workers())),
_traversal_set(ShenandoahHeapRegionSet()) {
--- old/src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.hpp 2020-03-20 17:40:15.000000000 -0700
+++ new/src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.hpp 2020-03-20 17:40:15.000000000 -0700
@@ -39,7 +39,7 @@
ShenandoahHeapRegionSet _traversal_set;
public:
- ShenandoahTraversalGC(ShenandoahHeap* heap, size_t num_regions);
+ ShenandoahTraversalGC(ShenandoahHeap* heap);
~ShenandoahTraversalGC();
ShenandoahHeapRegionSet* traversal_set() { return &_traversal_set; }
More information about the shenandoah-dev
mailing list