-
Enhancement
-
Resolution: Unresolved
-
P4
-
None
-
None
With JDK-8342382 G1 uses two card tables that are used alternatively as the actual card table, and the "refinement" table.
In a fairly large amount of applications, the refinement never kicks in, so the second card table is kind of wasted memory a lot of times.
Investigate whether the second card table could not be initialized if not needed.
Currently, during GC, we use the second card table to store evacuation failure results and the next cards for simplicity. I think the cards generated during gc are disjunct from the cards scanned during gc, so probably this is not a problem.
Could save the extra memory in a lot of cases.
In a fairly large amount of applications, the refinement never kicks in, so the second card table is kind of wasted memory a lot of times.
Investigate whether the second card table could not be initialized if not needed.
Currently, during GC, we use the second card table to store evacuation failure results and the next cards for simplicity. I think the cards generated during gc are disjunct from the cards scanned during gc, so probably this is not a problem.
Could save the extra memory in a lot of cases.
- relates to
-
JDK-8342382 Implement JEP 522: G1 GC: Improve Throughput by Reducing Synchronization
-
- Resolved
-