Integrated: Handle old, pinned regions
William Kemper
wkemper at openjdk.org
Tue Aug 9 18:17:31 UTC 2022
On Tue, 5 Jul 2022 16:54:43 GMT, William Kemper <wkemper at openjdk.org> wrote:
> Prior to this change, mixed collections were entirely ignoring the pinned status of old regions. Pinned old regions would not be coalesced and filled (which could lead to a crash) and their pin status was not being synchronized with the pin count (which could also lead to a crash). To address these problems, the following changes have been made:
>
> * Before adding old regions to the collection set, their pinned status is synchronized.
> * Pinned old regions will _not_ be added to a mixed collection, they will be skipped and considered for inclusion in the next mixed collection.
> * Any old regions which have not been evacuated after the last mixed collection will be made parseable (coalesced and filled) _at the start of the next old marking cycle_.
This pull request has now been integrated.
Changeset: 6acf4e56
Author: William Kemper <wkemper at openjdk.org>
URL: https://git.openjdk.org/shenandoah/commit/6acf4e56d490fe956c5bdc2f72602295af8d6dd2
Stats: 1255 lines in 29 files changed: 806 ins; 279 del; 170 mod
Handle old, pinned regions
Reviewed-by: ysr, kdnilsen
-------------
PR: https://git.openjdk.org/shenandoah/pull/149
More information about the shenandoah-dev
mailing list