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

Richard Reingruber rrich at openjdk.org
Wed Oct 11 15:02:32 UTC 2023


On Wed, 11 Oct 2023 11:09:48 GMT, Albert Mingkun Yang <ayang at openjdk.org> wrote:

>> Richard Reingruber has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Shadow table per stripe
>
> src/hotspot/share/gc/parallel/psCardTable.cpp line 228:
> 
>> 226:             scan_obj_with_limit(pm, obj.obj, addr_l, end);
>> 227:           }
>> 228:         }
> 
> I wonder if the else branch can be replaced by:
> 
> 
>   if (obj.addr < i_addr && obj.addr > start) {
>     // already-scanned
>   } else {
>     scan_obj_with_limit(pm, obj.obj, addr_l, end);
>   }

You mean to replace L220-L227, right? There we know `obj.addr >= addr_l`. `obj.addr < i_addr` cannot be true then IMO. It would overlap with an objArray if `i_addr` was set there. If `i_addr` was set at the end of a non-objArray then objects starting before `i_addr` cannot start in or after `addr_l`.

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

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


More information about the hotspot-gc-dev mailing list