RFR (S): 8183226: Remembered set summarization accesses not fully initialized java thread DCQS
thomas.schatzl at oracle.com
Mon Jul 3 12:12:50 UTC 2017
can I get reviews for the following change that breaks some
dependency cycle in g1remset initialization to fix some (at this time
benign) bug when printing remembered set summarization information?
The problem is that G1Remset initializes its internal remembered set
summarization helper data structure in the constructor, which accesses
some DCQS members before we call the initialize methods on the various
global DCQS'es in G1CollectedHeap::initialize().
By splitting the initialization of the remembered set summarization
into an extra method, this one can be called at the very end of
G1CollectedHeap::initialize(), thus breaking the dependency.
Benign because the values accessed at that time have the same values as
the values after initialization.
This also allows for grouping together the initialization of
G1RemSet/DCQS/G1ConcurrentRefine related data structures more easily in
local testing running remembered set summarization manually, jprt
More information about the hotspot-gc-dev