[lilliput-jdk17u:lilliput] RFR: 8310944: [Lilliput/JDK17] Streamline and cleanup GC code [v3]

Roman Kennke rkennke at openjdk.org
Thu Jun 29 14:25:26 UTC 2023


> We have a bunch of ugly hacks in GC code paths where we do stuff like:
> if (UseCompactObjectHeaders) {
>  // fetch object Klass* or size in a safe way...
> } else {
>   // fetch object Klass* or size in the traditional way
> }
> 
> This happens in various places in similar ways. I propose to add relevant methods to oopDesc, and make all GC code use those new methods instead.
> 
> This helps streamline and clean up a bunch of GC code, and bring it closer to the JDK22 upstreaming PR.
> 
> Testing:
>  - [x] hotspot_gc
>  - [x] hotspot_gc (+UCOH)
>  - [x] tier1
>  - [x] tier1 (+ShenandoahGC)
>  - [x] tier1 (+ParallelGC)
>  - [x] tier1 (+SerialGC)
>  - [x] tier1 (+UCOH)
>  - [x] tier1 (+UCOH +ShenandoahGC)
>  - [x] tier1 (+UCOH +ParallelGC)
>  - [x] tier1 (+UCOH +SerialGC)
>  - [ ] tier2
>  - [ ] tier2 (+UCOH)

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

  Fix oopDesc::init_mark() and use it where appropriate

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

Changes:
  - all: https://git.openjdk.org/lilliput-jdk17u/pull/50/files
  - new: https://git.openjdk.org/lilliput-jdk17u/pull/50/files/f1783391..6cfa8a95

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

  Stats: 10 lines in 2 files changed: 0 ins; 7 del; 3 mod
  Patch: https://git.openjdk.org/lilliput-jdk17u/pull/50.diff
  Fetch: git fetch https://git.openjdk.org/lilliput-jdk17u.git pull/50/head:pull/50

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


More information about the lilliput-dev mailing list