RFR: Unclutter ShConcurrentMark (multiple changes)

Aleksey Shipilev shade at redhat.com
Tue Sep 25 17:16:59 UTC 2018


http://cr.openjdk.java.net/~shade/shenandoah/unclutter-scm/webrev.01/

This cleans up ShenandoahConcurrentMark interface a bit. Before doing it, there are a few cleanup
patches that reduce its API surface.

 *) "Handle update_refs, class_unload, ref_proc in ShConcMark better": Inlines getters right at
uses, since ShHeap instance is accessible anyway. Also improves mark_loop signatures without
dragging these parameters along.

 *) "Common liveness cache in ShHeap": both ShConcurrentMark and ShTraversalGC use parts of the
cache. Moreover, Traversal instantiates the array twice: once is ShConcurrentMark that it delegates
marking to, and the second time for itself. It seems cleaner to common this caching in ShHeap.

 *) "Inline/rename confusingly named methods in ShConcurrentMark": make sure we have clear entry
points that are shared by both concurrent and Full GC cycle;

 *) "Sort ShenandoahConcurrentMark methods/fields into logical groups": the final touch that
reshuffles the methods around

Testing: tier3_gc_shenandoah {fastdebug|release}

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list