RFR: 8314972: GenShen: promote_in_place needs to prepare remembered set before it enables old allocations within region

Kelvin Nilsen kdnilsen at openjdk.org
Fri Aug 25 16:28:10 UTC 2023


On Thu, 24 Aug 2023 21:44:29 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:

> An error in the original implementation left us vulnerable to a race between a worker thread which is promoting a region in place and another worker or mutator thread who is allocating memory for old objects within the same region.
> 
> This PR prevents this race by requiring the worker thread that promotes a region in place to finish the preparation of the region's remembered set before it makes the region available to other threads for allocation of old-gen memory.

I've got some debugging to complete on this PR.

Failed pre-submit tests are due to:

1. riscv64 not currently supported by GenShen
2. https://bugs.openjdk.org/browse/JDK-8311843

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

PR Comment: https://git.openjdk.org/shenandoah/pull/310#issuecomment-1692503254
PR Comment: https://git.openjdk.org/shenandoah/pull/310#issuecomment-1693492334


More information about the shenandoah-dev mailing list