[master] RFR: 8346011: [Lilliput] Compact Full-GC Forwarding [v2]

Roman Kennke rkennke at openjdk.org
Thu Dec 12 14:55:23 UTC 2024


> The current forwarding scheme that is used during full-GC overrides much of the mark-word. This is a problem for current compact headers when the heap is larger than 8TB (in which case we currently disable compact headers altogether) and becomes a much worse issue with 4-byte-compact-headers, because it would override the compressed class-pointer in the upper header bits.
> 
> This implementation uses a side-table (currently 1/512th of the heap size) to store part of the target addresses, and 9 bits in the header for the rest of it. For the full description of the algorithm, see top of fullGCForwarding.hpp.
> 
> Testing:
>  - [x] hotspot_gc
>  - [ ] tier1
>  - [ ] tier1 +UseSerialGC
>  - [ ] tier1 +UseParallelGC
>  - [ ] tier1 +UseShenandoahGC

Roman Kennke has updated the pull request incrementally with one additional commit since the last revision:

  Fix preservedMarks gtest

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

Changes:
  - all: https://git.openjdk.org/lilliput/pull/191/files
  - new: https://git.openjdk.org/lilliput/pull/191/files/eb5ff170..42ca1c80

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

  Stats: 6 lines in 2 files changed: 4 ins; 2 del; 0 mod
  Patch: https://git.openjdk.org/lilliput/pull/191.diff
  Fetch: git fetch https://git.openjdk.org/lilliput.git pull/191/head:pull/191

PR: https://git.openjdk.org/lilliput/pull/191


More information about the lilliput-dev mailing list