8355372: GenShen: Test gc/shenandoah/generational/TestOldGrowthTriggers.java fails with UseCompactObjectHeaders enabled

Reviewed-by: ysr, kdnilsen
This commit is contained in:
William Kemper 2025-05-01 17:40:57 +00:00
parent 394961c8fe
commit 9e26b9facb

View File

@ -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"
);
}
}