-
Bug
-
Resolution: Unresolved
-
P4
-
25
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.
- links to
-
Review(master) openjdk/jdk/24915