-
Bug
-
Resolution: Fixed
-
P4
-
25
-
b22
The early return in G1HeapRegionManager::find_contiguous_allow_expand that checks whether we have enough regions to satisfy an allocation does not consider free regions:
// Check if we can actually satisfy the allocation.
if (num_regions > available()) {
return G1_NO_HRM_INDEX;
}
Therefore, a `expand_and_allocate_humongous` call may fail, even though a subsequent `expand_and_allocate` call succeeds. This can lead to unexpected allocation behavior.
// Check if we can actually satisfy the allocation.
if (num_regions > available()) {
return G1_NO_HRM_INDEX;
}
Therefore, a `expand_and_allocate_humongous` call may fail, even though a subsequent `expand_and_allocate` call succeeds. This can lead to unexpected allocation behavior.
- relates to
-
JDK-8355976 G1: Rename G1HeapRegionManager::available()
-
- Open
-
- links to
-
Commit(master) openjdk/jdk/995d5416
-
Review(master) openjdk/jdk/24915