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