changeset 20382:b1266b08b994

8056043: Heap does not shrink within the heap after JDK-8038423 Summary: Enable shrinking within the heap by removing some code added for JDK-8054818. Enable the test case that checks that again too. Reviewed-by: jwilhelm, jmasa
author tschatzl
date Wed, 03 Sep 2014 09:24:07 +0200
parents 09e9e5240710
children 14b8221771dc
files src/share/vm/gc_implementation/g1/heapRegionManager.cpp test/gc/g1/TestHumongousShrinkHeap.java
diffstat 2 files changed, 1 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/gc_implementation/g1/heapRegionManager.cpp	Wed Sep 03 09:23:58 2014 +0200
+++ b/src/share/vm/gc_implementation/g1/heapRegionManager.cpp	Wed Sep 03 09:24:07 2014 +0200
@@ -351,10 +351,6 @@
 
   while ((removed < num_regions_to_remove) &&
       (num_last_found = find_empty_from_idx_reverse(cur, &idx_last_found)) > 0) {
-    // Only allow uncommit from the end of the heap.
-    if ((idx_last_found + num_last_found) != _allocated_heapregions_length) {
-      return 0;
-    }
     uint to_remove = MIN2(num_regions_to_remove - removed, num_last_found);
 
     uncommit_regions(idx_last_found + num_last_found - to_remove, to_remove);
--- a/test/gc/g1/TestHumongousShrinkHeap.java	Wed Sep 03 09:23:58 2014 +0200
+++ b/test/gc/g1/TestHumongousShrinkHeap.java	Wed Sep 03 09:24:07 2014 +0200
@@ -23,7 +23,7 @@
 
 /**
  * @test TestHumongousShrinkHeap
- * @bug 8036025
+ * @bug 8036025 8056043
  * @summary Verify that heap shrinks after GC in the presence of fragmentation due to humongous objects
  * @library /testlibrary
  * @run main/othervm -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=50 -XX:+UseG1GC -XX:G1HeapRegionSize=1M -verbose:gc TestHumongousShrinkHeap