From 9e26b9facba09c4d6f516e8032b876c6d9e95e9e Mon Sep 17 00:00:00 2001 From: William Kemper Date: Thu, 1 May 2025 17:40:57 +0000 Subject: [PATCH] 8355372: GenShen: Test gc/shenandoah/generational/TestOldGrowthTriggers.java fails with UseCompactObjectHeaders enabled Reviewed-by: ysr, kdnilsen --- .../generational/TestOldGrowthTriggers.java | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/test/hotspot/jtreg/gc/shenandoah/generational/TestOldGrowthTriggers.java b/test/hotspot/jtreg/gc/shenandoah/generational/TestOldGrowthTriggers.java index d8471f2db2f..840ceffc4fe 100644 --- a/test/hotspot/jtreg/gc/shenandoah/generational/TestOldGrowthTriggers.java +++ b/test/hotspot/jtreg/gc/shenandoah/generational/TestOldGrowthTriggers.java @@ -59,22 +59,17 @@ public class TestOldGrowthTriggers { 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 class TestOldGrowthTriggers { "-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" + ); } }