RFR: 8310031: Parallel: Implement better work distribution for large object arrays in old gen [v24]

Thomas Schatzl tschatzl at openjdk.org
Thu Oct 19 18:49:35 UTC 2023


On Thu, 19 Oct 2023 16:24:57 GMT, Richard Reingruber <rrich at openjdk.org> wrote:

>> src/hotspot/share/gc/parallel/psCardTable.cpp line 315:
>> 
>>> 313: 
>>> 314:   // Reset cached object
>>> 315:   cached_obj = {nullptr, old_gen_bottom};
>> 
>> Suggestion:
>> 
>>   // Prepare for actual scavenge.
>>   const size_t stripe_size_in_words = num_cards_in_stripe * _card_size_in_words;
>>   const size_t slice_size_in_words = stripe_size_in_words * n_stripes;
>> 
>>   cached_obj = {nullptr, old_gen_bottom};
>> 
>> 
>> (I do not feel that "Reset cached object" adds a lot)
>
> The reset is needed because the cache requires that queries are monotonic. There was an assertion checking monotonicity. Albert thought it wouldn't be needed.

I meant the comment "Reset Cached Object". I also think that the code is required :)

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/14846#discussion_r1365959327


More information about the hotspot-gc-dev mailing list