--- old/src/hotspot/share/gc/parallel/psParallelCompact.hpp 2019-11-15 10:16:14.242379373 +0100 +++ new/src/hotspot/share/gc/parallel/psParallelCompact.hpp 2019-11-15 10:16:13.858377469 +0100 @@ -643,7 +643,8 @@ } void ParallelCompactData::RegionData::mark_normal() { - _shadow_state = FINISH; + int old = Atomic::cmpxchg(FINISH, &_shadow_state, SHADOW); + assert(old == SHADOW, "Fail to mark the region as finish"); } inline ParallelCompactData::RegionData*