RFR: 8257701: Shenandoah: objArrayKlass metadata is not marked during chunked array processing
Zhengyu Gu
zgu at openjdk.java.net
Thu Dec 3 17:56:06 UTC 2020
Usually, marking code calls Klass::oop_oop_iterate(), where it marks object klass metadata.
Shenandoah introduced chunked array processing a while ago to breakup marking a large array into chunks, then call oop_iterate_range() to mark individual chunk. Unfortunately, oop_iterate_range() does not iterate over object klass metadata, so we end up missing the mark of object array klass metadata.
Thanks for @lmao reporting the bug.
- [x] hotspot_gc_shenandoah
-------------
Commit messages:
- JDK-8257701
Changes: https://git.openjdk.java.net/jdk/pull/1602/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1602&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8257701
Stats: 5 lines in 1 file changed: 5 ins; 0 del; 0 mod
Patch: https://git.openjdk.java.net/jdk/pull/1602.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/1602/head:pull/1602
PR: https://git.openjdk.java.net/jdk/pull/1602
More information about the shenandoah-dev
mailing list