RFR: 8286829: Shenandoah: fix Shenandoah Loom support

Zhengyu Gu zgu at openjdk.java.net
Fri May 27 23:21:57 UTC 2022


Please review the patch that fixes Loom support in Shenandoah GC.

- stackChunkOop is a special oop that contains stack metadata, we need to utilize nmethod entry barrier to mark, evacuate and update stack metadata.
- During evacuation and reference updating phase, we can not guarantee all metadata in stackChunkOop is deeply good, so I force it to take slow path for the correctness, will try to optimize it later in separate CR.
- Shenandoah uses similar way to arm and disarm nmethod as the new mechanism introduced in JDK-8284161. We may want to migrate to it in followup CR.

Test:  
- [x] tier1 with ShenandoahGC  (Linux x86_64 and Windows x64)
- [x] tier2 with Shenandoah GC (Linux x86_64 and Windows x64) 
- [x] hotspot_gc_shenandoah  on Linux x86_32
- [x] tier1 with ShenandoahGC + Loom (Linux x86_64 and Windows x64)
- [x] tier2 with ShenandoahGC + Loom (Linux x86_64 and Windows x64)

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

Commit messages:
 - Fix comment
 - Fix comment
 - Cleanup
 - Fix
 - Simplify
 - Fix requires_barriers
 - fix
 - Fix stw mark
 - cleanup and update copyright years
 - cleanup
 - ... and 14 more: https://git.openjdk.java.net/jdk/compare/6cc4bb11...7db9c0b8

Changes: https://git.openjdk.java.net/jdk/pull/8924/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=8924&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8286829
  Stats: 110 lines in 14 files changed: 75 ins; 7 del; 28 mod
  Patch: https://git.openjdk.java.net/jdk/pull/8924.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/8924/head:pull/8924

PR: https://git.openjdk.java.net/jdk/pull/8924


More information about the shenandoah-dev mailing list