diff --git a/test/hotspot/jtreg/gc/shenandoah/generational/TestOldGrowthTriggers.java b/test/hotspot/jtreg/gc/shenandoah/generational/TestOldGrowthTriggers.java index d8471f2db2f28..840ceffc4fef9 100644 --- a/test/hotspot/jtreg/gc/shenandoah/generational/TestOldGrowthTriggers.java +++ b/test/hotspot/jtreg/gc/shenandoah/generational/TestOldGrowthTriggers.java @@ -59,22 +59,17 @@ public static void makeOldAllocations() { int deriveIndex = r.nextInt(ArraySize); switch (i & 0x3) { case 0: - // 50% chance of creating garbage - array[replaceIndex] = array[replaceIndex].max(array[deriveIndex]); - break; - case 1: - // 50% chance of creating garbage - array[replaceIndex] = array[replaceIndex].min(array[deriveIndex]); - break; - case 2: // creates new old BigInteger, releases old BigInteger, // may create ephemeral data while computing gcd array[replaceIndex] = array[replaceIndex].gcd(array[deriveIndex]); break; - case 3: + case 1: // creates new old BigInteger, releases old BigInteger array[replaceIndex] = array[replaceIndex].multiply(array[deriveIndex]); break; + case 2,3: + // do nothing, let all objects in the array age to increase pressure on old generation + break; } } } @@ -106,5 +101,17 @@ public static void main(String[] args) throws Exception { "-XX:ShenandoahGuaranteedYoungGCInterval=0", "-XX:ShenandoahGuaranteedOldGCInterval=0" ); + + testOld("-Xlog:gc", + "-Xms96m", + "-Xmx96m", + "-XX:+UnlockDiagnosticVMOptions", + "-XX:+UnlockExperimentalVMOptions", + "-XX:+UseShenandoahGC", + "-XX:ShenandoahGCMode=generational", + "-XX:ShenandoahGuaranteedYoungGCInterval=0", + "-XX:ShenandoahGuaranteedOldGCInterval=0", + "-XX:+UseCompactObjectHeaders" + ); } }