RFR (M) 8213753: SymbolTable is double walked during class unloading and clean up table timing in do_unloading
Aleksey Shipilev
shade at redhat.com
Wed Jan 30 10:17:44 UTC 2019
On 1/29/19 8:39 PM, coleen.phillimore at oracle.com wrote:
> Summary: remove gc timing for short runtime cleanup triggering; make symbol table cleaning triggered
> automatically on unloading
>
> Ran runThese with all Oracle GCs and got similar numbers of symbols unloaded. Also ran tier1-5.
>
> See bug for more information.
>
> open webrev at http://cr.openjdk.java.net/~coleenp/2019/8213753.01/webrev
This looks fine. I tested Shenandoah just in case (it should not be affected, because it uses
shared/parallelCleaning.* and SystemDictionary::do_unloading, like G1), it is still okay.
Minor nits:
*) Add spaces before format specifiers here?
698 log_debug(symboltable)("Concurrent work triggered, load factor:%f, items to clean:%s",
699 get_load_factor(), has_items_to_clean() ? "true" : "false");
*) In SystemDictionary::do_unloading, do we think that trigger_cleanup() are cheap? Otherwise it
makes sense to retain a single GCTraceTime block around all three trigger_cleanups?
-Aleksey
More information about the hotspot-dev
mailing list