11/*
2- * Copyright (c) 2024, 2025 , Oracle and/or its affiliates. All rights reserved.
2+ * Copyright (c) 2024, 2026 , Oracle and/or its affiliates. All rights reserved.
33 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44 *
55 * This code is free software; you can redistribute it and/or modify it
2222 */
2323
2424/*
25- * @test id=Oops32
25+ * @test id=32
2626 * @requires vm.bits == 32
2727 * @requires vm.flagless
2828 * @library /test/lib
2929 * @modules java.base/jdk.internal.vm.annotation
3030 * @enablePreview
3131 * @compile FieldLayoutAnalyzer.java FieldAlignmentTest.java
32- * @run main runtime.valhalla.inlinetypes.field_layout.FieldAlignmentTest 0
32+ * @run main runtime.valhalla.inlinetypes.field_layout.FieldAlignmentTest 32
3333 */
3434
35- /*
36- * @test id=CompressedOops
35+ /*
36+ * @test id=64_COOP_CCP_NCOH
37+ * @requires vm.bits == 64
38+ * @requires vm.flagless
39+ * @library /test/lib
40+ * @modules java.base/jdk.internal.vm.annotation
41+ * @enablePreview
42+ * @compile FieldLayoutAnalyzer.java FieldAlignmentTest.java
43+ * @run main runtime.valhalla.inlinetypes.field_layout.FieldAlignmentTest 64_COOP_CCP_NCOH
44+ */
45+
46+ /*
47+ * @test id=64_NCOOP_CCP_NCOH
3748 * @requires vm.bits == 64
3849 * @requires vm.flagless
3950 * @library /test/lib
4051 * @modules java.base/jdk.internal.vm.annotation
4152 * @enablePreview
4253 * @compile FieldLayoutAnalyzer.java FieldAlignmentTest.java
43- * @run main runtime.valhalla.inlinetypes.field_layout.FieldAlignmentTest 1
54+ * @run main runtime.valhalla.inlinetypes.field_layout.FieldAlignmentTest 64_NCOOP_CCP_NCOH
4455 */
4556
46- /*
47- * @test id=NoCompressedOops
57+ /*
58+ * @test id=64_NCOOP_NCCP_NCOH
4859 * @requires vm.bits == 64
4960 * @requires vm.flagless
5061 * @library /test/lib
5162 * @modules java.base/jdk.internal.vm.annotation
5263 * @enablePreview
5364 * @compile FieldLayoutAnalyzer.java FieldAlignmentTest.java
54- * @run main runtime.valhalla.inlinetypes.field_layout.FieldAlignmentTest 2
65+ * @run main runtime.valhalla.inlinetypes.field_layout.FieldAlignmentTest 64_NCOOP_NCCP_NCOH
66+ */
67+
68+ /*
69+ * @test id=64_COOP_CCP_COH
70+ * @requires vm.bits == 64
71+ * @requires vm.flagless
72+ * @library /test/lib
73+ * @modules java.base/jdk.internal.vm.annotation
74+ * @enablePreview
75+ * @compile FieldLayoutAnalyzer.java FieldAlignmentTest.java
76+ * @run main runtime.valhalla.inlinetypes.field_layout.FieldAlignmentTest 64_COOP_CCP_COH
77+ */
78+
79+ /*
80+ * @test id=64_NCOOP_CCP_COH
81+ * @requires vm.bits == 64
82+ * @requires vm.flagless
83+ * @library /test/lib
84+ * @modules java.base/jdk.internal.vm.annotation
85+ * @enablePreview
86+ * @compile FieldLayoutAnalyzer.java FieldAlignmentTest.java
87+ * @run main runtime.valhalla.inlinetypes.field_layout.FieldAlignmentTest 64_NCOOP_CCP_COH
5588 */
5689
5790 package runtime .valhalla .inlinetypes .field_layout ;
@@ -152,7 +185,10 @@ void generateTestRunner() throws Exception {
152185 jdk .test .lib .helpers .ClassFileInstaller .writeClassToDisk (className , byteCode );
153186 }
154187
155- static ProcessBuilder exec (String compressedOopsArg , String ... args ) throws Exception {
188+ static ProcessBuilder exec (String compressedOopsArg ,
189+ String compressedKlassPointersArg ,
190+ String compactObjectHeader ,
191+ String ... args ) throws Exception {
156192 List <String > argsList = new ArrayList <>();
157193 Collections .addAll (argsList , "--enable-preview" );
158194 Collections .addAll (argsList , "-XX:+UnlockDiagnosticVMOptions" );
@@ -161,6 +197,12 @@ static ProcessBuilder exec(String compressedOopsArg, String... args) throws Exce
161197 if (compressedOopsArg != null ) {
162198 Collections .addAll (argsList , compressedOopsArg );
163199 }
200+ if (compressedKlassPointersArg != null ) {
201+ Collections .addAll (argsList , compressedKlassPointersArg );
202+ }
203+ if (compactObjectHeader != null ) {
204+ Collections .addAll (argsList , compactObjectHeader );
205+ }
164206 Collections .addAll (argsList , "-Xmx256m" );
165207 Collections .addAll (argsList , "-cp" , System .getProperty ("java.class.path" ) + System .getProperty ("path.separator" ) +"." );
166208 Collections .addAll (argsList , args );
@@ -169,14 +211,40 @@ static ProcessBuilder exec(String compressedOopsArg, String... args) throws Exce
169211
170212 public static void main (String [] args ) throws Exception {
171213 String compressedOopsArg ;
214+ String compressedKlassPointersArg ;
215+ String compactObjectHeaderArg ;
172216
173217 switch (args [0 ]) {
174- case "0" : compressedOopsArg = null ;
175- break ;
176- case "1" : compressedOopsArg = "-XX:+UseCompressedOops" ;
177- break ;
178- case "2" : compressedOopsArg = "-XX:-UseCompressedOops" ;
179- break ;
218+ case "32" :
219+ compressedOopsArg = null ;
220+ compressedKlassPointersArg = null ;
221+ compactObjectHeaderArg = null ;
222+ break ;
223+ case "64_COOP_CCP_NCOH" :
224+ compressedOopsArg = "-XX:+UseCompressedOops" ;
225+ compressedKlassPointersArg = "-XX:+UseCompressedClassPointers" ;
226+ compactObjectHeaderArg = "-XX:-UseCompactObjectHeaders" ;
227+ break ;
228+ case "64_NCOOP_CCP_NCOH" :
229+ compressedOopsArg = "-XX:-UseCompressedOops" ;
230+ compressedKlassPointersArg = "-XX:+UseCompressedClassPointers" ;
231+ compactObjectHeaderArg = "-XX:-UseCompactObjectHeaders" ;
232+ break ;
233+ case "64_NCOOP_NCCP_NCOH" :
234+ compressedOopsArg = "-XX:-UseCompressedOops" ;
235+ compressedKlassPointersArg = "-XX:-UseCompressedClassPointers" ;
236+ compactObjectHeaderArg = "-XX:-UseCompactObjectHeaders" ;
237+ break ;
238+ case "64_COOP_CCP_COH" :
239+ compressedOopsArg = "-XX:+UseCompressedOops" ;
240+ compressedKlassPointersArg = "-XX:+UseCompressedClassPointers" ;
241+ compactObjectHeaderArg = "-XX:+UseCompactObjectHeaders" ;
242+ break ;
243+ case "64_NCOOP_CCP_COH" :
244+ compressedOopsArg = "-XX:-UseCompressedOops" ;
245+ compressedKlassPointersArg = "-XX:+UseCompressedClassPointers" ;
246+ compactObjectHeaderArg = "-XX:+UseCompactObjectHeaders" ;
247+ break ;
180248 default : throw new RuntimeException ("Unrecognized configuration" );
181249 }
182250
@@ -186,7 +254,7 @@ public static void main(String[] args) throws Exception {
186254 fat .generateTestRunner ();
187255
188256 // Execute the test runner in charge of loading all test classes
189- ProcessBuilder pb = exec (compressedOopsArg , "TestRunner" );
257+ ProcessBuilder pb = exec (compressedOopsArg , compressedKlassPointersArg , compactObjectHeaderArg , "TestRunner" );
190258 OutputAnalyzer out = new OutputAnalyzer (pb .start ());
191259
192260 if (out .getExitValue () != 0 ) {
0 commit comments