-
Type:
Enhancement
-
Resolution: Fixed
-
Priority:
P4
-
Affects Version/s: 23
-
Component/s: hotspot
-
b13
In the compaction phase of a full-GC, we perform bitmap-iteration for two purposes:
1. Inside the dense-prefix, adjust pointers in live ranges and fill dead ranges with fillers.
2. Outside the dense-prefix, to relocate objects and adjust pointers in live ranges.
For work partitioning, such bitmap-iteration is done on a region granularity. If the final object on a region extends to the next region, the iteration logic will end with an "incomplete" status. The caller is then responsible for invoking the live-closure itself.
To reduce the number of possible return statuses, the iteration logic can directly invoke the live-closure on the final object in a region.
1. Inside the dense-prefix, adjust pointers in live ranges and fill dead ranges with fillers.
2. Outside the dense-prefix, to relocate objects and adjust pointers in live ranges.
For work partitioning, such bitmap-iteration is done on a region granularity. If the final object on a region extends to the next region, the iteration logic will end with an "incomplete" status. The caller is then responsible for invoking the live-closure itself.
To reduce the number of possible return statuses, the iteration logic can directly invoke the live-closure on the final object in a region.