-
Type:
Enhancement
-
Resolution: Unresolved
-
Priority:
P4
-
Affects Version/s: None
-
Component/s: hotspot
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.
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.
- links to
-
Review(master)
openjdk/jdk/29116