RFR: 8317371: GenShen: Needs improved support for humongous allocation
Kelvin Nilsen
kdnilsen at openjdk.org
Mon Oct 9 17:43:01 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.
-------------
Commit messages:
- Fix whitespace
- Fix accounting of mixed evac regions added to defragment old-gen for logging
- Cleanup code for upstream
- Fix mismatched brace
- Misc improvements to make humongous allocation support more performant
- Fix signed iteration termination bug
- Add instrumentation to help debug
- Improvements to support humongous allocation
Changes: https://git.openjdk.org/shenandoah/pull/336/files
Webrev: https://webrevs.openjdk.org/?repo=shenandoah&pr=336&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8317371
Stats: 264 lines in 11 files changed: 213 ins; 6 del; 45 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