RFR: JDK-8151336: Root region scanning should be cancelled and disabled when the ConcurrentMarkThread::run_service() exits
thomas.schatzl at oracle.com
Wed Mar 16 11:46:16 UTC 2016
On Tue, 2016-03-15 at 16:11 +0100, Bengt Rutisson wrote:
> Hi again everyone,
> Here's an updated webrev:
> I removed the extra _has_terminated state and am instead using the
> ConcurrentMarkThread::should_terminate() state to make sure we don't
> start a new initial mark if the concurrent mark thread is about to
> terminate or has already terminated.
> The _should_terminate state is set in ConcurrentGCThread::stop()
> we first take the Terminator_lock with a safepoint check. So, we
> be able to rely on this value inside of
I would prefer if the _cmThread->should_terminate() condition should
be inside decide_on_conc_mark_initiation(). It seems to be a quite
generic condition that should apply anywhere.
Although decide_on_conc_mark_initiation() has only this caller, this
may cause bugs in the future if keeping it there.
More information about the hotspot-gc-dev