RFR: 8317371: GenShen: Needs improved support for humongous allocation [v4]

Kelvin Nilsen kdnilsen at openjdk.org
Fri Oct 13 01:24:44 UTC 2023


> Several improvements:
> 1. If there is a humongous allocation failure, go immediately to Full GC rather than trying 64 degenerated GC first
> 2. Reduce likelihood of humongous allocation errors by:
>     a. Allocating regular objects from top end of memory while allocating humongous from bottom end of memory
>     b. (Especially) in the case that regular regions that are promoted in place reside within the bottom end of memory, detect that old-gen memory has become fragmented and trigger old-gen GC, which will make a special effort to move these out-of-place old-gen regions to higher addresses.

Kelvin Nilsen has updated the pull request incrementally with two additional commits since the last revision:

 - Respond to reviewer feedback
 - Experiment with 0 for default humongous reserve

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

Changes:
  - all: https://git.openjdk.org/shenandoah/pull/336/files
  - new: https://git.openjdk.org/shenandoah/pull/336/files/72ce60eb..0c471ab4

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=shenandoah&pr=336&range=03
 - incr: https://webrevs.openjdk.org/?repo=shenandoah&pr=336&range=02-03

  Stats: 57 lines in 5 files changed: 12 ins; 40 del; 5 mod
  Patch: https://git.openjdk.org/shenandoah/pull/336.diff
  Fetch: git fetch https://git.openjdk.org/shenandoah.git pull/336/head:pull/336

PR: https://git.openjdk.org/shenandoah/pull/336


More information about the shenandoah-dev mailing list