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

Richard Reingruber rrich at openjdk.org
Thu Oct 19 16:34:55 UTC 2023


On Thu, 19 Oct 2023 14:41:37 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:

>> Richard Reingruber has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   preprocess_card_table_parallel should be private
>
> 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.

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

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


More information about the hotspot-gc-dev mailing list