-
Enhancement
-
Resolution: Fixed
-
P4
-
12
-
b06
Previously we thought that iterating over the heap was too expensive to do, so g1 uses two bitmaps, the "prev" bitmap that contains current data, the "next" bitmap containing data for after completion of the marking, which are swapped at some point.
However, due to rebuild remset during concurrent cycle we already walk the heap.
So it might be useful to try this out: it would probably improve gc pause times (and refinement) too as then we would not need to ask the bitmap for liveness..
Implement and evaluate performance impact.
Advantages:
1.5% of Java heap memory saved
potential speedups during scanning cards (refinement, during GC)
Disadvantages:
additional concurrent BOT update
lengthens concurrent cycle
- blocks
-
JDK-8289822 G1: Make concurrent mark code owner of TAMSes
- Resolved
-
JDK-8288199 Improve HeapRegion::note_self_forwarding_removal_start
- Closed
- duplicates
-
JDK-7098512 G1: Do not clear the next marking bitmap at the start of a Full GC
- Closed
-
JDK-8213984 Investigate dropping prev mark bitmap in G1
- Closed
-
JDK-8288199 Improve HeapRegion::note_self_forwarding_removal_start
- Closed
- is blocked by
-
JDK-8287215 Add method to scan bitmap backwards
- Closed
- relates to
-
JDK-8284435 Add dedicated filler objects for known dead Java heap areas
- Resolved
-
JDK-8291725 Leftover marks when VM shutdown aborts bitmap clearing make mixed gc fail
- Resolved