RFR: Fold Partial GC into Traversal GC
Aleksey Shipilev
shade at redhat.com
Wed Apr 25 16:12:11 UTC 2018
On 04/25/2018 05:07 PM, Roman Kennke wrote:
> Re-based on latest merged repo:
> http://cr.openjdk.java.net/~rkennke/partial-traversal/webrev.03/
*) Does this build on aarch64? Because I think the relevant changes are missing from
c1_Runtime1_aarch64.cpp, shenandoahBarrierSetAssembler_aarch64.cpp, macroAssembler_aarch64.cpp,
stubGenerator_aarch64.cpp
*) In should_start_traversal_gc(), why periodic GC is ShenandoahHeap::MINOR? I thought it should
trigger the full cycle to kick out all garbage.
*) I think accesses to _gc_cycle_mode are racy: it is now used by ShConcThread and heuristics, but
we can accidentally use is_{minor|major} some time in the future. There's ShenandoahSharedEnumFlag
you can use to turn it thread-safe.
*) Still not very happy with ShenandoahRecycleClearsBitmap in ShHeapRegion::recycle() -- but we can
redo this later.
*) Is the move of ShenandoahHeapRegionSetIterator::ShenandoahHeapRegionSetIterator from .inline.hpp
to .cpp sensible? This desyncs backports...
*) shenandoahMarkCompact.cpp: stray newline
871
Otherwise we seem to be very close to where we want to be!
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list