-
Type:
Enhancement
-
Resolution: Duplicate
-
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.
- duplicates
-
JDK-8341630 G1: Adopt PartialArrayState to consolidate marking stack in concurrent marking
-
- Resolved
-
- links to
-
Review(master)
openjdk/jdk/29116