From 5e8afefcf2bc07b196d6e472ec361052d3cde4de Mon Sep 17 00:00:00 2001 From: tstuefe Date: Mon, 17 Nov 2025 16:55:57 +0100 Subject: [PATCH] Remove UseCCP from jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithG1ConcurrentMark.java --- .../gc/objectcount/ObjectCountEventVerifier.java | 11 ++++++----- ...stObjectCountAfterGCEventWithG1ConcurrentMark.java | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/test/jdk/jdk/jfr/event/gc/objectcount/ObjectCountEventVerifier.java b/test/jdk/jdk/jfr/event/gc/objectcount/ObjectCountEventVerifier.java index 0ab663f130a..4fbb3d733de 100644 --- a/test/jdk/jdk/jfr/event/gc/objectcount/ObjectCountEventVerifier.java +++ b/test/jdk/jdk/jfr/event/gc/objectcount/ObjectCountEventVerifier.java @@ -57,7 +57,7 @@ public class ObjectCountEventVerifier { String className = Events.assertField(event, "objectClass.name").notEmpty().getValue(); long count = Events.assertField(event, "count").atLeast(0L).getValue(); long totalSize = Events.assertField(event, "totalSize").atLeast(1L).getValue(); - System.out.println(className); + System.out.printf("%s: count %d totalSize %d%n", className, count, totalSize); numInstancesOfClass.put(className, count); sizeOfInstances.put(className, totalSize); } @@ -69,10 +69,11 @@ public class ObjectCountEventVerifier { private static long expectedFooArraySize(long count) { boolean runsOn32Bit = System.getProperty("sun.arch.data.model").equals("32"); - int bytesPerWord = runsOn32Bit ? 4 : 8; - int objectHeaderSize = bytesPerWord * 3; // length will be aligned on 64 bits - int alignmentInOopArray = runsOn32Bit ? 4 : 0; + // Compressed Class Pointers, +COH + final int bytesPerWord = runsOn32Bit ? 4 : 8; + final int objectHeaderSize = runsOn32Bit ? 12 : 16; + final int alignmentGap = runsOn32Bit ? 4 : 0; int ptrSize = bytesPerWord; - return objectHeaderSize + alignmentInOopArray + count * ptrSize; + return objectHeaderSize + alignmentGap + count * ptrSize; } } diff --git a/test/jdk/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithG1ConcurrentMark.java b/test/jdk/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithG1ConcurrentMark.java index 4ce62856907..3129669177d 100644 --- a/test/jdk/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithG1ConcurrentMark.java +++ b/test/jdk/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithG1ConcurrentMark.java @@ -31,7 +31,7 @@ import jdk.test.lib.jfr.GCHelper; * @requires (vm.gc == "G1" | vm.gc == null) * & vm.opt.ExplicitGCInvokesConcurrent != false * @library /test/lib /test/jdk - * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:+ExplicitGCInvokesConcurrent -XX:MarkSweepDeadRatio=0 -XX:-UseCompressedOops -XX:-USE_COMPRESSED_CLASS_POINTERS_ALWAYS_TRUE -XX:+IgnoreUnrecognizedVMOptions jdk.jfr.event.gc.objectcount.TestObjectCountAfterGCEventWithG1ConcurrentMark + * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:+ExplicitGCInvokesConcurrent -XX:MarkSweepDeadRatio=0 -XX:-UseCompressedOops -XX:+IgnoreUnrecognizedVMOptions jdk.jfr.event.gc.objectcount.TestObjectCountAfterGCEventWithG1ConcurrentMark */ public class TestObjectCountAfterGCEventWithG1ConcurrentMark { public static void main(String[] args) throws Exception {