From 3c86ec1b8420b29720972fb82e50c043f15243d7 Mon Sep 17 00:00:00 2001 From: Guanqiang Han Date: Fri, 23 Jan 2026 01:34:57 +0000 Subject: [PATCH] Extract a reproducer into a test method --- ...estPrintDiagnosticsWithoutProfileTraps.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/test/hotspot/jtreg/compiler/uncommontrap/TestPrintDiagnosticsWithoutProfileTraps.java b/test/hotspot/jtreg/compiler/uncommontrap/TestPrintDiagnosticsWithoutProfileTraps.java index 81b39c8b142..51b30219aca 100644 --- a/test/hotspot/jtreg/compiler/uncommontrap/TestPrintDiagnosticsWithoutProfileTraps.java +++ b/test/hotspot/jtreg/compiler/uncommontrap/TestPrintDiagnosticsWithoutProfileTraps.java @@ -26,17 +26,33 @@ * @bug 8374807 * @summary Regression test for -XX:+TraceDeoptimization -XX:-ProfileTraps * -XX:-TieredCompilation -Xcomp crash + * @modules java.base/jdk.internal.misc * @requires vm.debug * @run main/othervm -XX:+TraceDeoptimization -XX:-ProfileTraps - * -XX:-TieredCompilation -Xcomp + * -XX:-TieredCompilation -Xcomp -Xbatch + * -XX:CompileCommand=compileonly,compiler.uncommontrap.TestPrintDiagnosticsWithoutProfileTraps::test * compiler.uncommontrap.TestPrintDiagnosticsWithoutProfileTraps */ package compiler.uncommontrap; +import jdk.internal.misc.Unsafe; + public class TestPrintDiagnosticsWithoutProfileTraps { + static final Unsafe UNSAFE=Unsafe.getUnsafe(); + static volatile long sink; + + static class TestSubClass { + int f; + } + + static void test(){ + // Trigger a deopt/uncommon-trap path while resolving the field offset. + sink = UNSAFE.objectFieldOffset(TestSubClass.class,"f"); + } public static void main(String[] args) { + test(); System.out.println("passed"); } } \ No newline at end of file