openjdk-1.8.0/fix_g1uncommit_ygc_expand_crash.patch

16 lines
785 B
Diff
Raw Permalink Normal View History

diff --git a/hotspot/src/share/vm/gc_implementation/g1/heapRegionManager.cpp b/hotspot/src/share/vm/gc_implementation/g1/heapRegionManager.cpp
index 6ad85596..818f6681 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/heapRegionManager.cpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegionManager.cpp
@@ -241,8 +241,8 @@ uint HeapRegionManager::expand_at(uint start, uint num_regions) {
uint HeapRegionManager::expand_on_preferred_node(uint preferred_index) {
uint expand_candidate = UINT_MAX;
for (uint i = 0; i < max_length(); i++) {
- if (is_available(i)) {
- // Already in use continue
+ if (!can_expand(i)) {
+ // Already in use or in uncommit list continue
continue;
}
// Always save the candidate so we can expand later on.