RFR: Preempt old preparation [v2]
Kelvin Nilsen
kdnilsen at openjdk.java.net
Tue Oct 12 23:21:37 UTC 2021
> 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.
Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision:
Respond to reviewer feedback
-------------
Changes:
- all: https://git.openjdk.java.net/shenandoah/pull/88/files
- new: https://git.openjdk.java.net/shenandoah/pull/88/files/bdc5f8b9..280a6215
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=88&range=01
- incr: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=88&range=00-01
Stats: 22 lines in 3 files changed: 4 ins; 15 del; 3 mod
Patch: https://git.openjdk.java.net/shenandoah/pull/88.diff
Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/88/head:pull/88
PR: https://git.openjdk.java.net/shenandoah/pull/88
More information about the shenandoah-dev
mailing list