8054362: gc/g1/TestEagerReclaimHumongousRegions2.java timeout
authortschatzl
Mon, 18 Aug 2014 15:41:57 +0200
changeset 26154 7a33b179d6c5
parent 26153 8bdb58c0a883
child 26156 6676e3082fe8
child 26157 70eddb655686
8054362: gc/g1/TestEagerReclaimHumongousRegions2.java timeout Summary: Give the test a time limit of approximately one minute so that it exits early on slow machines. Reviewed-by: ehelin, dfazunen, brutisso
hotspot/test/gc/g1/TestEagerReclaimHumongousRegions2.java
--- a/hotspot/test/gc/g1/TestEagerReclaimHumongousRegions2.java	Mon Aug 18 12:25:36 2014 +0000
+++ b/hotspot/test/gc/g1/TestEagerReclaimHumongousRegions2.java	Mon Aug 18 15:41:57 2014 +0200
@@ -46,6 +46,8 @@
 }
 
 class ReclaimRegionFast {
+    public static final long MAX_MILLIS_FOR_RUN = 50 * 1000; // The maximum runtime for the actual test.
+
     public static final int M = 1024*1024;
 
     public static LinkedList<Object> garbageList = new LinkedList<Object>();
@@ -83,7 +85,14 @@
 
         Object ref_from_stack = large1;
 
+        long start_millis = System.currentTimeMillis();
+
         for (int i = 0; i < 20; i++) {
+            long current_millis = System.currentTimeMillis();
+            if ((current_millis - start_millis) > MAX_MILLIS_FOR_RUN) {
+              System.out.println("Finishing test because maximum runtime exceeded");
+              break;
+            }
             // A set of large objects that will be reclaimed eagerly - and hopefully marked.
             large1 = new int[M - 20];
             large2 = new int[M - 20];