G1: Do not iterate klass metadata when splitting objArrays for every slice

XMLWordPrintable

    • gc

      Unlike all other collectors (and even G1 full gc and G1 young gc), by using `objArrayOopDesc::oop_iterate(..., MemRegion)` for objArrayOop slices, G1 concurrent marking unnecessarily iterates over the metadata (klass) for every slice.

      Use `oop_iterate_range` like other algorithms (and make sure to process metadata once when starting the iteration over the objArrayOop) like other collectors.

      Also fix the documentation of `oop_iterate_range` which currently is a copy&paste of `oop_iterate_bounded`, wrongly stating that it also iterates over metadata.

            Assignee:
            Thomas Schatzl
            Reporter:
            Thomas Schatzl
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: