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 hotspot-gc-dev mailing list