RFR: Fix allocate aligned [v2]

Kelvin Nilsen kdnilsen at openjdk.org
Thu Jan 5 01:16:42 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.

Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision:

  Refinements during code review

-------------

Changes:
  - all: https://git.openjdk.org/shenandoah/pull/192/files
  - new: https://git.openjdk.org/shenandoah/pull/192/files/e9c981a9..059f3ef5

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=shenandoah&pr=192&range=01
 - incr: https://webrevs.openjdk.org/?repo=shenandoah&pr=192&range=00-01

  Stats: 2 lines in 2 files changed: 0 ins; 1 del; 1 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