RFR: Defer cleaning of system dictionary and friends to parallel cleaning phase
Aleksey Shipilev
shade at redhat.com
Tue Jan 16 18:09:50 UTC 2018
On 01/16/2018 06:59 PM, Roman Kennke wrote:
> Found this during traversal GC work: when cleaning the system dictionary and friends, we do clean it
> in the first pass, *single threaded* and then do the cleaning stuff again, but multi-threaded. We
> shall defer cleaning to the parallel phase to begin with. That's what G1 does too.
>
> http://cr.openjdk.java.net/~rkennke/defer_cleaning/webrev.00/
>
Awwwwwwww.
Note that in G1, there are two calls to do_unloading: one from weak_refs_work with "false", and
another from mark_sweep_phase1 with default "true".
Are you saying that doing this once with "false" is enough? It looks that ParallelCleaning stuff
purges ResolvedMethodTable, but does it do ClassLoaderDataGraph::do_unloading with
clean_previous_versions? Maybe we should cautiously say "full_gc", not "false" in the patch, so
last-ditch can still do it?
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list