RFR: 8242038: G1: Lazily initialize RSHashTables
Claes Redestad
claes.redestad at oracle.com
Thu Apr 2 16:07:54 UTC 2020
Hi,
make RSHashTable initialization lazy by replacing the initial table for
each region with a shared empty sentinel. Using an empty_table might be
a bit tricky/"clever", but it ensures logic and lookups behave properly
before we add a card to a regions RS.
Initialization to a unique table then piggy-backs on the test that
checks whether we need to expand the RSHashTable, so GC overhead should
be neutral (or even an improvement in cases where most PRTs stay empty).
Webrev: http://cr.openjdk.java.net/~redestad/8242038/open.00/
Bug: https://bugs.openjdk.java.net/browse/JDK-8242038
Testing: tier1-3, verified a small improvement to startup
Thanks!
/Claes
More information about the hotspot-gc-dev
mailing list