RFR: 8257701: Shenandoah: objArrayKlass metadata is not marked with chunked arrays

Aleksey Shipilev shade at openjdk.java.net
Thu Dec 3 18:17:59 UTC 2020


On Thu, 3 Dec 2020 17:51:05 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:

> 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 (Liang Mao) reporting the bug.
> 
> - [x] hotspot_gc_shenandoah

Shenandoah change looks good. I wonder if G1 has the same bug! I think it does... Please submit a "potential bug" for it?

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

Marked as reviewed by shade (Reviewer).

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



More information about the hotspot-gc-dev mailing list