[lilliput-jdk17u:lilliput] RFR: 8310156: [Lilliput/JDK17] Specialize full-GC loops [v4]

Roman Kennke rkennke at openjdk.org
Tue Jun 20 10:35:58 UTC 2023


> We already ported most of [JDK-8305896](https://bugs.openjdk.org/browse/JDK-8305896) to Lilliput/JDK17. What's missing is the specialization of the full-GC loops so that performance on the legacy path is not impacted and performance on the alt-GC-forwarding path is minimized.
> 
> This corresponds to: https://github.com/openjdk/jdk/pull/13582/commits/6bbd29525b2864be37d96750ddc78f73d8eb0b65
> 
> However, the changes differ significantly:
> - G1 serial compaction is different
> - There is no humongous compaction in JDK17 G1
> - Serial GC has seen some refactors of the relevant loops between JDK17 and JDK22
> 
> I see failing tests with Shenandoah, but they are pre-existing and should be investigated separately.
> 
> Testing:
>  - [x] hotspot_gc
>  - [x] hotspot_gc -UCOH
>  - [x] tier1 -XX:+UseG1GC
>  - [x] tier1 -XX:+UseSerialGC
>  - [x] tier1 -XX:+UseShenandoahGC (not clean, but no regressions, either)
>  - [x] tier1 -XX:+UseG1GC -UCOH
>  - [x] tier1 -XX:+UseSerialGC -UCOH
>  - [x] tier1 -XX:+UseShenandoahGC -UCOH (not clean, but no regressions, either)

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

  One more

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

Changes:
  - all: https://git.openjdk.org/lilliput-jdk17u/pull/32/files
  - new: https://git.openjdk.org/lilliput-jdk17u/pull/32/files/3749387a..e2bf1029

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=lilliput-jdk17u&pr=32&range=03
 - incr: https://webrevs.openjdk.org/?repo=lilliput-jdk17u&pr=32&range=02-03

  Stats: 13 lines in 1 file changed: 8 ins; 5 del; 0 mod
  Patch: https://git.openjdk.org/lilliput-jdk17u/pull/32.diff
  Fetch: git fetch https://git.openjdk.org/lilliput-jdk17u.git pull/32/head:pull/32

PR: https://git.openjdk.org/lilliput-jdk17u/pull/32


More information about the lilliput-dev mailing list