mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 02:54:35 +02:00
8255019: Shenandoah: Split STW and concurrent mark into separate classes
Reviewed-by: rkennke, shade
This commit is contained in:
parent
aba3431c4e
commit
da6bcf966a
20 changed files with 943 additions and 631 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2013, 2020, Red Hat, Inc. All rights reserved.
|
||||
* Copyright (c) 2013, 2021, Red Hat, Inc. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -24,12 +24,13 @@
|
|||
|
||||
#include "precompiled.hpp"
|
||||
|
||||
#include "gc/shenandoah/shenandoahConcurrentMark.inline.hpp"
|
||||
#include "gc/shenandoah/shenandoahConcurrentMark.hpp"
|
||||
#include "gc/shenandoah/shenandoahCollectorPolicy.hpp"
|
||||
#include "gc/shenandoah/shenandoahControlThread.hpp"
|
||||
#include "gc/shenandoah/shenandoahFreeSet.hpp"
|
||||
#include "gc/shenandoah/shenandoahPhaseTimings.hpp"
|
||||
#include "gc/shenandoah/shenandoahHeap.inline.hpp"
|
||||
#include "gc/shenandoah/shenandoahMark.inline.hpp"
|
||||
#include "gc/shenandoah/shenandoahMonitoringSupport.hpp"
|
||||
#include "gc/shenandoah/shenandoahRootProcessor.inline.hpp"
|
||||
#include "gc/shenandoah/shenandoahUtils.hpp"
|
||||
|
@ -397,6 +398,10 @@ void ShenandoahControlThread::service_concurrent_normal_cycle(GCCause::Cause cau
|
|||
// Start initial mark under STW
|
||||
heap->vmop_entry_init_mark();
|
||||
|
||||
// Concurrent mark roots
|
||||
heap->entry_mark_roots();
|
||||
if (check_cancellation_or_degen(ShenandoahHeap::_degenerated_outside_cycle)) return;
|
||||
|
||||
// Continue concurrent mark
|
||||
heap->entry_mark();
|
||||
if (check_cancellation_or_degen(ShenandoahHeap::_degenerated_mark)) return;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue