RFR: 8310031: Parallel: Implement better work distribution for large object arrays in old gen [v17]
Richard Reingruber
rrich at openjdk.org
Thu Oct 12 10:38:19 UTC 2023
On Thu, 12 Oct 2023 09:12:47 GMT, Richard Reingruber <rrich at openjdk.org> wrote:
>>> No, I mean L212 to L228. "Comment on lines +212 to +228"
>>
>> I looked at this at first but thought it is obviously wrong if `obj` is precisely marked after a previous young collection. But if it is precisely marked it is of course correct scan from the beginning of the dirty chunk (addr_l) to the obj/stripe end.
>
> I get `assert(should_scavenge(p, true)) failed: revisiting object?` with test/jdk/java/lang/Thread/virtual/stress/Skynet.java when the change is applied.
>
> It reproduces well but not 100%. Need to look into it.
`obj` can be scanned twice if it reaches into the stripe because `obj.addr > start` will still false upon the 2nd time. Fix is to check `i_addr > start`.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14846#discussion_r1356624126
More information about the hotspot-gc-dev
mailing list