RFR: Fix allocate aligned
Kelvin Nilsen
kdnilsen at openjdk.org
Thu Jan 5 01:01:50 UTC 2023
An error was discovered in the implementation and use of allocate_aligned(), which is used to allocate PLABs that align with remembered set card boundaries. In the previous implementation, if the required alignment padding was smaller than the minimum filler object, the additional card's memory worth of padding might cause the PLAB to span beyond the end of the selected heap region. This PR addresses the error. This code successfully runs our internal pipeline of tests without any regressions.
In the current context, this code is not fully exercised due to very limited allocation of PLABs within heap regions that already hold previously allocated PLABs. This code has also been exercised in the context of code that more aggressively packs multiple PLABs into heap regions. That additional code will be integrated with a future PR.
-------------
Commit messages:
- Merge remote-tracking branch 'GitFarmBranch/fix-allocate-aligned-rebase' into fix-allocate-aligned
- Remove instrumentation
- Force min and max generation sizes to align with region boundaries
- Debug verification error in old-gen used
- Fix computation of padding requirement
- Fix allocate_aligned padding
Changes: https://git.openjdk.org/shenandoah/pull/192/files
Webrev: https://webrevs.openjdk.org/?repo=shenandoah&pr=192&range=00
Stats: 64 lines in 4 files changed: 44 ins; 7 del; 13 mod
Patch: https://git.openjdk.org/shenandoah/pull/192.diff
Fetch: git fetch https://git.openjdk.org/shenandoah pull/192/head:pull/192
PR: https://git.openjdk.org/shenandoah/pull/192
More information about the shenandoah-dev
mailing list