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