mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 14:24:46 +02:00
8204947: Port ShenandoahTaskTerminator to mainline and make it default
Reviewed-by: tschatzl, rkennke
This commit is contained in:
parent
df4b7015bf
commit
b9769c732e
17 changed files with 418 additions and 52 deletions
|
@ -2100,7 +2100,7 @@ void PSParallelCompact::marking_phase(ParCompactionManager* cm,
|
|||
uint parallel_gc_threads = heap->gc_task_manager()->workers();
|
||||
uint active_gc_threads = heap->gc_task_manager()->active_workers();
|
||||
TaskQueueSetSuper* qset = ParCompactionManager::stack_array();
|
||||
ParallelTaskTerminator terminator(active_gc_threads, qset);
|
||||
TaskTerminator terminator(active_gc_threads, qset);
|
||||
|
||||
PCMarkAndPushClosure mark_and_push_closure(cm);
|
||||
ParCompactionManager::FollowStackClosure follow_stack_closure(cm);
|
||||
|
@ -2129,7 +2129,7 @@ void PSParallelCompact::marking_phase(ParCompactionManager* cm,
|
|||
|
||||
if (active_gc_threads > 1) {
|
||||
for (uint j = 0; j < active_gc_threads; j++) {
|
||||
q->enqueue(new StealMarkingTask(&terminator));
|
||||
q->enqueue(new StealMarkingTask(terminator.terminator()));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2459,12 +2459,12 @@ void PSParallelCompact::compact() {
|
|||
uint parallel_gc_threads = heap->gc_task_manager()->workers();
|
||||
uint active_gc_threads = heap->gc_task_manager()->active_workers();
|
||||
TaskQueueSetSuper* qset = ParCompactionManager::region_array();
|
||||
ParallelTaskTerminator terminator(active_gc_threads, qset);
|
||||
TaskTerminator terminator(active_gc_threads, qset);
|
||||
|
||||
GCTaskQueue* q = GCTaskQueue::create();
|
||||
prepare_region_draining_tasks(q, active_gc_threads);
|
||||
enqueue_dense_prefix_tasks(q, active_gc_threads);
|
||||
enqueue_region_stealing_tasks(q, &terminator, active_gc_threads);
|
||||
enqueue_region_stealing_tasks(q, terminator.terminator(), active_gc_threads);
|
||||
|
||||
{
|
||||
GCTraceTime(Trace, gc, phases) tm("Par Compact", &_gc_timer);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue