< prev index next >
src/hotspot/share/gc/shenandoah/shenandoahWorkerPolicy.cpp
Print this page
rev 59271 : 8240870: Shenandoah: merge evac and update phases
Reviewed-by: XXX
@@ -28,11 +28,11 @@
#include "gc/shenandoah/shenandoahWorkerPolicy.hpp"
#include "runtime/thread.hpp"
uint ShenandoahWorkerPolicy::_prev_par_marking = 0;
uint ShenandoahWorkerPolicy::_prev_conc_marking = 0;
-uint ShenandoahWorkerPolicy::_prev_conc_evac = 0;
+uint ShenandoahWorkerPolicy::_prev_conc_evac_update= 0;
uint ShenandoahWorkerPolicy::_prev_conc_root_proc = 0;
uint ShenandoahWorkerPolicy::_prev_fullgc = 0;
uint ShenandoahWorkerPolicy::_prev_degengc = 0;
uint ShenandoahWorkerPolicy::_prev_conc_update_ref = 0;
uint ShenandoahWorkerPolicy::_prev_par_update_ref = 0;
@@ -71,18 +71,18 @@
active_workers,
Threads::number_of_non_daemon_threads());
return _prev_conc_root_proc;
}
-// Calculate workers for concurrent evacuation (concurrent GC)
-uint ShenandoahWorkerPolicy::calc_workers_for_conc_evac() {
- uint active_workers = (_prev_conc_evac == 0) ? ConcGCThreads : _prev_conc_evac;
- _prev_conc_evac =
+// Calculate workers for concurrent evac-update (concurrent GC)
+uint ShenandoahWorkerPolicy::calc_workers_for_conc_evac_update() {
+ uint active_workers = (_prev_conc_evac_update == 0) ? ConcGCThreads : _prev_conc_evac_update;
+ _prev_conc_evac_update =
WorkerPolicy::calc_active_conc_workers(ConcGCThreads,
active_workers,
Threads::number_of_non_daemon_threads());
- return _prev_conc_evac;
+ return _prev_conc_evac_update;
}
// Calculate workers for parallel fullgc
uint ShenandoahWorkerPolicy::calc_workers_for_fullgc() {
uint active_workers = (_prev_fullgc == 0) ? ParallelGCThreads : _prev_fullgc;
@@ -101,20 +101,10 @@
active_workers,
Threads::number_of_non_daemon_threads());
return _prev_degengc;
}
-// Calculate workers for concurrent reference update
-uint ShenandoahWorkerPolicy::calc_workers_for_conc_update_ref() {
- uint active_workers = (_prev_conc_update_ref == 0) ? ConcGCThreads : _prev_conc_update_ref;
- _prev_conc_update_ref =
- WorkerPolicy::calc_active_conc_workers(ConcGCThreads,
- active_workers,
- Threads::number_of_non_daemon_threads());
- return _prev_conc_update_ref;
-}
-
// Calculate workers for parallel reference update
uint ShenandoahWorkerPolicy::calc_workers_for_final_update_ref() {
uint active_workers = (_prev_par_update_ref == 0) ? ParallelGCThreads : _prev_par_update_ref;
_prev_par_update_ref =
WorkerPolicy::calc_active_workers(ParallelGCThreads,
< prev index next >