Integrated: Preempt old preparation
Kelvin Nilsen
kdnilsen at openjdk.java.net
Wed Oct 13 19:06:26 UTC 2021
On Tue, 12 Oct 2021 21:15:01 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:
> Previously, all old-gen regions not selected as collection set candidates were "made parseable" during the final-mark safepoint. Making each of these regions parseable involves coalescing consecutive unmarked objects into contiguous larger objects that contain no pointers. The process of identifying each span of consecutive unmarked objects within a large number of large heap regions was found to require hundreds of ms in some cases. This patch changes the behavior so that preparation of heap regions for subsequent evacuation is performed during a concurrent phase of operation. This concurrent phase must complete before any of the old heap regions placed in the candidate collection set can be evacuated.
This pull request has now been integrated.
Changeset: aa775e99
Author: Kelvin Nilsen <kdnilsen at openjdk.org>
URL: https://git.openjdk.java.net/shenandoah/commit/aa775e9971207c4325ef447767940dcdfc11e135
Stats: 192 lines in 12 files changed: 117 ins; 11 del; 64 mod
Preempt old preparation
Reviewed-by: wkemper
-------------
PR: https://git.openjdk.java.net/shenandoah/pull/88
More information about the shenandoah-dev
mailing list