diff --git a/test/hotspot/jtreg/TEST.ROOT b/test/hotspot/jtreg/TEST.ROOT index 6669b9a3816..bf8a65772d2 100644 --- a/test/hotspot/jtreg/TEST.ROOT +++ b/test/hotspot/jtreg/TEST.ROOT @@ -44,7 +44,10 @@ requires.extraPropDefns.bootlibs = ../../lib/jdk/test/whitebox requires.extraPropDefns.libs = \ ../../lib/jdk/test/lib/Platform.java \ ../../lib/jdk/test/lib/Container.java -requires.extraPropDefns.vmOpts = -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI +requires.extraPropDefns.javacOpts = --add-exports java.base/jdk.internal.foreign=ALL-UNNAMED +requires.extraPropDefns.vmOpts = \ + -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI \ + --add-exports java.base/jdk.internal.foreign=ALL-UNNAMED requires.properties= \ sun.arch.data.model \ vm.simpleArch \ diff --git a/test/jdk/TEST.ROOT b/test/jdk/TEST.ROOT index 526d68cd29e..0fc339ef23f 100644 --- a/test/jdk/TEST.ROOT +++ b/test/jdk/TEST.ROOT @@ -12,7 +12,7 @@ # A "headful" test requires a graphical environment to meaningfully # run. Tests that are not headful are "headless". # A test flagged with key sound needs audio devices on the system, this -# may be accompanied by the headful keyword since audio device access +# may be accompanied by the headful keyword since audio device access # is often linked to access to desktop resources and headful systems are # also more likely to have audio devices (ie meaning both input and output) # A test flagged with key "printer" requires a printer to succeed, else @@ -46,7 +46,10 @@ requires.extraPropDefns.bootlibs = ../lib/jdk/test/whitebox requires.extraPropDefns.libs = \ ../lib/jdk/test/lib/Platform.java \ ../lib/jdk/test/lib/Container.java -requires.extraPropDefns.vmOpts = -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI +requires.extraPropDefns.javacOpts = --add-exports java.base/jdk.internal.foreign=ALL-UNNAMED +requires.extraPropDefns.vmOpts = \ + -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI \ + --add-exports java.base/jdk.internal.foreign=ALL-UNNAMED requires.properties= \ sun.arch.data.model \ java.runtime.name \ @@ -69,7 +72,8 @@ requires.properties= \ vm.jvmci \ docker.support \ release.implementor \ - jdk.containerized + jdk.containerized \ + jdk.foreign.linker # Minimum jtreg version requiredVersion=7.2+1 diff --git a/test/jdk/java/foreign/LibraryLookupTest.java b/test/jdk/java/foreign/LibraryLookupTest.java index 322d2f02113..ce62cb34d07 100644 --- a/test/jdk/java/foreign/LibraryLookupTest.java +++ b/test/jdk/java/foreign/LibraryLookupTest.java @@ -36,7 +36,7 @@ import static org.testng.Assert.*; /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @run testng/othervm --enable-native-access=ALL-UNNAMED LibraryLookupTest */ public class LibraryLookupTest { diff --git a/test/jdk/java/foreign/SafeFunctionAccessTest.java b/test/jdk/java/foreign/SafeFunctionAccessTest.java index b62d14cc884..0b806c3c209 100644 --- a/test/jdk/java/foreign/SafeFunctionAccessTest.java +++ b/test/jdk/java/foreign/SafeFunctionAccessTest.java @@ -24,7 +24,7 @@ /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @run testng/othervm --enable-native-access=ALL-UNNAMED SafeFunctionAccessTest */ diff --git a/test/jdk/java/foreign/StdLibTest.java b/test/jdk/java/foreign/StdLibTest.java index aeab749370e..d443a97a915 100644 --- a/test/jdk/java/foreign/StdLibTest.java +++ b/test/jdk/java/foreign/StdLibTest.java @@ -24,7 +24,7 @@ /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @run testng/othervm --enable-native-access=ALL-UNNAMED StdLibTest */ diff --git a/test/jdk/java/foreign/TestAddressDereference.java b/test/jdk/java/foreign/TestAddressDereference.java index 22a5a9abc39..934537a86f1 100644 --- a/test/jdk/java/foreign/TestAddressDereference.java +++ b/test/jdk/java/foreign/TestAddressDereference.java @@ -25,7 +25,7 @@ * @test * @enablePreview * @library ../ /test/lib - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @run testng/othervm --enable-native-access=ALL-UNNAMED TestAddressDereference */ diff --git a/test/jdk/java/foreign/TestClassLoaderFindNative.java b/test/jdk/java/foreign/TestClassLoaderFindNative.java index 8a3b2d392af..56a89a7476e 100644 --- a/test/jdk/java/foreign/TestClassLoaderFindNative.java +++ b/test/jdk/java/foreign/TestClassLoaderFindNative.java @@ -24,7 +24,7 @@ /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @run testng/othervm --enable-native-access=ALL-UNNAMED TestClassLoaderFindNative */ diff --git a/test/jdk/java/foreign/TestDowncallScope.java b/test/jdk/java/foreign/TestDowncallScope.java index 698e4a6edca..15ba35e6fb5 100644 --- a/test/jdk/java/foreign/TestDowncallScope.java +++ b/test/jdk/java/foreign/TestDowncallScope.java @@ -24,7 +24,7 @@ /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestDowncallBase * diff --git a/test/jdk/java/foreign/TestDowncallStack.java b/test/jdk/java/foreign/TestDowncallStack.java index 6500e691b9b..6279922766b 100644 --- a/test/jdk/java/foreign/TestDowncallStack.java +++ b/test/jdk/java/foreign/TestDowncallStack.java @@ -24,7 +24,7 @@ /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestDowncallBase * diff --git a/test/jdk/java/foreign/TestFallbackLookup.java b/test/jdk/java/foreign/TestFallbackLookup.java index 71363590b9a..99207383d75 100644 --- a/test/jdk/java/foreign/TestFallbackLookup.java +++ b/test/jdk/java/foreign/TestFallbackLookup.java @@ -24,7 +24,7 @@ /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") + * @requires jdk.foreign.linker != "UNSUPPORTED" * @run testng/othervm -Dos.name=Windows --enable-native-access=ALL-UNNAMED TestFallbackLookup */ diff --git a/test/jdk/java/foreign/TestFunctionDescriptor.java b/test/jdk/java/foreign/TestFunctionDescriptor.java index ff75dfef755..bd1c524c23a 100644 --- a/test/jdk/java/foreign/TestFunctionDescriptor.java +++ b/test/jdk/java/foreign/TestFunctionDescriptor.java @@ -25,7 +25,7 @@ /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @run testng/othervm --enable-native-access=ALL-UNNAMED TestFunctionDescriptor */ diff --git a/test/jdk/java/foreign/TestHeapAlignment.java b/test/jdk/java/foreign/TestHeapAlignment.java index d0df2a25b19..d51b47ae94a 100644 --- a/test/jdk/java/foreign/TestHeapAlignment.java +++ b/test/jdk/java/foreign/TestHeapAlignment.java @@ -25,7 +25,7 @@ /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @run testng/othervm --enable-native-access=ALL-UNNAMED TestHeapAlignment */ diff --git a/test/jdk/java/foreign/TestIllegalLink.java b/test/jdk/java/foreign/TestIllegalLink.java index 218d3dac587..9bce8d53f2f 100644 --- a/test/jdk/java/foreign/TestIllegalLink.java +++ b/test/jdk/java/foreign/TestIllegalLink.java @@ -25,8 +25,8 @@ /* * @test * @enablePreview + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" * @run testng/othervm --enable-native-access=ALL-UNNAMED TestIllegalLink */ diff --git a/test/jdk/java/foreign/TestIntrinsics.java b/test/jdk/java/foreign/TestIntrinsics.java index b7a239ed7db..09d629f8742 100644 --- a/test/jdk/java/foreign/TestIntrinsics.java +++ b/test/jdk/java/foreign/TestIntrinsics.java @@ -24,7 +24,7 @@ /* * @test * @enablePreview - * @requires os.arch=="amd64" | os.arch=="x86_64" | os.arch=="aarch64" | os.arch=="riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @run testng/othervm * -Djdk.internal.foreign.DowncallLinker.USE_SPEC=true * --enable-native-access=ALL-UNNAMED diff --git a/test/jdk/java/foreign/TestLinker.java b/test/jdk/java/foreign/TestLinker.java index d7be7889ccd..77657e4b1d9 100644 --- a/test/jdk/java/foreign/TestLinker.java +++ b/test/jdk/java/foreign/TestLinker.java @@ -24,16 +24,21 @@ /* * @test * @enablePreview - * @requires os.arch=="amd64" | os.arch=="x86_64" | os.arch=="aarch64" | os.arch=="riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" + * @modules java.base/jdk.internal.foreign * @run testng TestLinker */ +import jdk.internal.foreign.CABI; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; import java.lang.foreign.FunctionDescriptor; import java.lang.foreign.Linker; import java.lang.invoke.MethodHandle; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import static java.lang.foreign.MemoryLayout.*; import static java.lang.foreign.ValueLayout.JAVA_CHAR; @@ -43,6 +48,8 @@ import static org.testng.Assert.assertNotSame; public class TestLinker extends NativeTestHelper { + static final boolean IS_FALLBACK_LINKER = CABI.current() == CABI.FALLBACK; + record LinkRequest(FunctionDescriptor descriptor, Linker.Option... options) {} @Test(dataProvider = "notSameCases") @@ -75,7 +82,7 @@ public class TestLinker extends NativeTestHelper { @DataProvider public static Object[][] namedDescriptors() { - return new Object[][]{ + List cases = new ArrayList<>(Arrays.asList(new Object[][]{ { FunctionDescriptor.ofVoid(C_INT), FunctionDescriptor.ofVoid(C_INT.withName("x")) }, { FunctionDescriptor.ofVoid(structLayout(C_INT)), @@ -90,17 +97,22 @@ public class TestLinker extends NativeTestHelper { FunctionDescriptor.ofVoid(structLayout(sequenceLayout(1, C_INT).withName("x"))) }, { FunctionDescriptor.ofVoid(structLayout(sequenceLayout(1, C_INT))), FunctionDescriptor.ofVoid(structLayout(sequenceLayout(1, C_INT.withName("x")))) }, - { FunctionDescriptor.ofVoid(unionLayout(C_INT)), - FunctionDescriptor.ofVoid(unionLayout(C_INT).withName("x")) }, - { FunctionDescriptor.ofVoid(unionLayout(C_INT)), - FunctionDescriptor.ofVoid(unionLayout(C_INT.withName("x"))) }, { FunctionDescriptor.ofVoid(C_POINTER), FunctionDescriptor.ofVoid(C_POINTER.withName("x")) }, { FunctionDescriptor.ofVoid(C_POINTER.withTargetLayout(C_INT)), FunctionDescriptor.ofVoid(C_POINTER.withTargetLayout(C_INT.withName("x"))) }, { FunctionDescriptor.ofVoid(C_POINTER.withTargetLayout(C_INT)), FunctionDescriptor.ofVoid(C_POINTER.withName("x").withTargetLayout(C_INT.withName("x"))) }, - }; + })); + + if (!IS_FALLBACK_LINKER) { + cases.add(new Object[]{ FunctionDescriptor.ofVoid(unionLayout(C_INT)), + FunctionDescriptor.ofVoid(unionLayout(C_INT).withName("x")) }); + cases.add(new Object[]{ FunctionDescriptor.ofVoid(unionLayout(C_INT)), + FunctionDescriptor.ofVoid(unionLayout(C_INT.withName("x"))) }); + } + + return cases.toArray(Object[][]::new); } @DataProvider diff --git a/test/jdk/java/foreign/TestMatrix.java b/test/jdk/java/foreign/TestMatrix.java index 9012a140107..6620e0a81d7 100644 --- a/test/jdk/java/foreign/TestMatrix.java +++ b/test/jdk/java/foreign/TestMatrix.java @@ -33,7 +33,7 @@ /* @test id=UpcallHighArity-FF * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestUpcallHighArity * @@ -46,7 +46,7 @@ /* @test id=UpcallHighArity-TF * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestUpcallHighArity * @@ -59,7 +59,7 @@ /* @test id=UpcallHighArity-FT * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestUpcallHighArity * @@ -72,7 +72,7 @@ /* @test id=UpcallHighArity-TT * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestUpcallHighArity * @@ -85,7 +85,7 @@ /* @test id=DowncallScope-F * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestDowncallBase * @@ -97,7 +97,7 @@ /* @test id=DowncallScope-T * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestDowncallBase * @@ -109,7 +109,7 @@ /* @test id=DowncallStack-F * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestDowncallBase * @@ -121,7 +121,7 @@ /* @test id=DowncallStack-T * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestDowncallBase * @@ -133,7 +133,7 @@ /* @test id=UpcallScope-FF * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestUpcallBase * @@ -146,7 +146,7 @@ /* @test id=UpcallScope-TF * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestUpcallBase * @@ -159,7 +159,7 @@ /* @test id=UpcallScope-FT * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestUpcallBase * @@ -172,7 +172,7 @@ /* @test id=UpcallScope-TT * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestUpcallBase * @@ -185,7 +185,7 @@ /* @test id=UpcallAsync-FF * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestUpcallBase * @@ -198,7 +198,7 @@ /* @test id=UpcallAsync-TF * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestUpcallBase * @@ -211,7 +211,7 @@ /* @test id=UpcallAsync-FT * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestUpcallBase * @@ -224,7 +224,7 @@ /* @test id=UpcallAsync-TT * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestUpcallBase * @@ -237,7 +237,7 @@ /* @test id=UpcallStack-FF * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestUpcallBase * @@ -250,7 +250,7 @@ /* @test id=UpcallStack-TF * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestUpcallBase * @@ -263,7 +263,7 @@ /* @test id=UpcallStack-FT * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestUpcallBase * @@ -276,7 +276,7 @@ /* @test id=UpcallStack-TT * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestUpcallBase * @@ -290,7 +290,7 @@ /* * @test id=VarArgs * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper * diff --git a/test/jdk/java/foreign/TestNULLAddress.java b/test/jdk/java/foreign/TestNULLAddress.java index 1c2756e8ac6..8a83f421390 100644 --- a/test/jdk/java/foreign/TestNULLAddress.java +++ b/test/jdk/java/foreign/TestNULLAddress.java @@ -24,7 +24,7 @@ /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @run testng/othervm * --enable-native-access=ALL-UNNAMED * TestNULLAddress diff --git a/test/jdk/java/foreign/TestNative.java b/test/jdk/java/foreign/TestNative.java index ca535f7e3f6..032f5c1d807 100644 --- a/test/jdk/java/foreign/TestNative.java +++ b/test/jdk/java/foreign/TestNative.java @@ -25,7 +25,7 @@ /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @run testng/othervm --enable-native-access=ALL-UNNAMED TestNative */ diff --git a/test/jdk/java/foreign/TestNulls.java b/test/jdk/java/foreign/TestNulls.java index 31c9031d4b3..45a5c825c46 100644 --- a/test/jdk/java/foreign/TestNulls.java +++ b/test/jdk/java/foreign/TestNulls.java @@ -24,7 +24,7 @@ /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.ref * @run testng/othervm * --enable-native-access=ALL-UNNAMED diff --git a/test/jdk/java/foreign/TestScopedOperations.java b/test/jdk/java/foreign/TestScopedOperations.java index c4673a73946..ea3dc026267 100644 --- a/test/jdk/java/foreign/TestScopedOperations.java +++ b/test/jdk/java/foreign/TestScopedOperations.java @@ -24,7 +24,7 @@ /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @run testng/othervm --enable-native-access=ALL-UNNAMED TestScopedOperations */ diff --git a/test/jdk/java/foreign/TestSegments.java b/test/jdk/java/foreign/TestSegments.java index ed8aba5e61a..3a2d85a5eac 100644 --- a/test/jdk/java/foreign/TestSegments.java +++ b/test/jdk/java/foreign/TestSegments.java @@ -24,7 +24,7 @@ /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @run testng/othervm -Xmx4G -XX:MaxDirectMemorySize=1M --enable-native-access=ALL-UNNAMED TestSegments */ diff --git a/test/jdk/java/foreign/TestStringEncoding.java b/test/jdk/java/foreign/TestStringEncoding.java index caf1a0b044b..d90138b1a3d 100644 --- a/test/jdk/java/foreign/TestStringEncoding.java +++ b/test/jdk/java/foreign/TestStringEncoding.java @@ -31,7 +31,7 @@ import static org.testng.Assert.*; /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @run testng TestStringEncoding */ diff --git a/test/jdk/java/foreign/TestUpcallAsync.java b/test/jdk/java/foreign/TestUpcallAsync.java index 912bd63e702..e009701afc2 100644 --- a/test/jdk/java/foreign/TestUpcallAsync.java +++ b/test/jdk/java/foreign/TestUpcallAsync.java @@ -24,7 +24,7 @@ /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @requires !vm.musl * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestUpcallBase diff --git a/test/jdk/java/foreign/TestUpcallException.java b/test/jdk/java/foreign/TestUpcallException.java index 2f68b15fda2..b9d7874501b 100644 --- a/test/jdk/java/foreign/TestUpcallException.java +++ b/test/jdk/java/foreign/TestUpcallException.java @@ -24,7 +24,7 @@ /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @library /test/lib * @build TestUpcallException * diff --git a/test/jdk/java/foreign/TestUpcallHighArity.java b/test/jdk/java/foreign/TestUpcallHighArity.java index f67ea737009..fc33d92cf82 100644 --- a/test/jdk/java/foreign/TestUpcallHighArity.java +++ b/test/jdk/java/foreign/TestUpcallHighArity.java @@ -25,7 +25,7 @@ /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestUpcallHighArity * diff --git a/test/jdk/java/foreign/TestUpcallScope.java b/test/jdk/java/foreign/TestUpcallScope.java index 777dc4f6d20..b00aa406c99 100644 --- a/test/jdk/java/foreign/TestUpcallScope.java +++ b/test/jdk/java/foreign/TestUpcallScope.java @@ -24,7 +24,7 @@ /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestUpcallBase * diff --git a/test/jdk/java/foreign/TestUpcallStack.java b/test/jdk/java/foreign/TestUpcallStack.java index b32331ecfea..cea15bd9d8c 100644 --- a/test/jdk/java/foreign/TestUpcallStack.java +++ b/test/jdk/java/foreign/TestUpcallStack.java @@ -24,7 +24,7 @@ /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @build NativeTestHelper CallGeneratorHelper TestUpcallBase * diff --git a/test/jdk/java/foreign/TestUpcallStructScope.java b/test/jdk/java/foreign/TestUpcallStructScope.java index 4a787ddc2bf..07e1a2593aa 100644 --- a/test/jdk/java/foreign/TestUpcallStructScope.java +++ b/test/jdk/java/foreign/TestUpcallStructScope.java @@ -25,7 +25,7 @@ /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * * @run testng/othervm/native * --enable-native-access=ALL-UNNAMED diff --git a/test/jdk/java/foreign/TestVarArgs.java b/test/jdk/java/foreign/TestVarArgs.java index a93a34da716..f7c63c0c96b 100644 --- a/test/jdk/java/foreign/TestVarArgs.java +++ b/test/jdk/java/foreign/TestVarArgs.java @@ -25,7 +25,7 @@ /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @run testng/othervm --enable-native-access=ALL-UNNAMED -Dgenerator.sample.factor=17 TestVarArgs */ diff --git a/test/jdk/java/foreign/arraystructs/TestArrayStructs.java b/test/jdk/java/foreign/arraystructs/TestArrayStructs.java index 7a4761c87c7..6f6abdbdb4a 100644 --- a/test/jdk/java/foreign/arraystructs/TestArrayStructs.java +++ b/test/jdk/java/foreign/arraystructs/TestArrayStructs.java @@ -25,7 +25,7 @@ * @test id=specialized * @enablePreview * @library ../ - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @run testng/othervm * --enable-native-access=ALL-UNNAMED @@ -38,7 +38,7 @@ * @test id=interpreted * @enablePreview * @library ../ - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @run testng/othervm * --enable-native-access=ALL-UNNAMED diff --git a/test/jdk/java/foreign/capturecallstate/TestCaptureCallState.java b/test/jdk/java/foreign/capturecallstate/TestCaptureCallState.java index 7d02b71d5b6..1e3d16be2f9 100644 --- a/test/jdk/java/foreign/capturecallstate/TestCaptureCallState.java +++ b/test/jdk/java/foreign/capturecallstate/TestCaptureCallState.java @@ -25,7 +25,7 @@ * @test * @enablePreview * @library ../ /test/lib - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @run testng/othervm --enable-native-access=ALL-UNNAMED TestCaptureCallState */ @@ -129,4 +129,3 @@ public class TestCaptureCallState extends NativeTestHelper { } } - diff --git a/test/jdk/java/foreign/dontrelease/TestDontRelease.java b/test/jdk/java/foreign/dontrelease/TestDontRelease.java index 4a258352b36..0a9a0e4bd65 100644 --- a/test/jdk/java/foreign/dontrelease/TestDontRelease.java +++ b/test/jdk/java/foreign/dontrelease/TestDontRelease.java @@ -26,7 +26,7 @@ * @enablePreview * @library ../ /test/lib * @modules java.base/jdk.internal.ref java.base/jdk.internal.foreign - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @run testng/othervm --enable-native-access=ALL-UNNAMED TestDontRelease */ @@ -78,4 +78,3 @@ public class TestDontRelease extends NativeTestHelper { } } } - diff --git a/test/jdk/java/foreign/enablenativeaccess/TestEnableNativeAccess.java b/test/jdk/java/foreign/enablenativeaccess/TestEnableNativeAccess.java index 52e4c66308a..433daee7ffd 100644 --- a/test/jdk/java/foreign/enablenativeaccess/TestEnableNativeAccess.java +++ b/test/jdk/java/foreign/enablenativeaccess/TestEnableNativeAccess.java @@ -24,7 +24,7 @@ /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @requires !vm.musl * * @library /test/lib diff --git a/test/jdk/java/foreign/enablenativeaccess/TestEnableNativeAccessDynamic.java b/test/jdk/java/foreign/enablenativeaccess/TestEnableNativeAccessDynamic.java index aef590e966a..947ee46b3c7 100644 --- a/test/jdk/java/foreign/enablenativeaccess/TestEnableNativeAccessDynamic.java +++ b/test/jdk/java/foreign/enablenativeaccess/TestEnableNativeAccessDynamic.java @@ -24,7 +24,7 @@ /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @requires !vm.musl * * @library /test/lib diff --git a/test/jdk/java/foreign/handles/Driver.java b/test/jdk/java/foreign/handles/Driver.java index 15550b56940..bca6483cf5d 100644 --- a/test/jdk/java/foreign/handles/Driver.java +++ b/test/jdk/java/foreign/handles/Driver.java @@ -24,7 +24,7 @@ /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @build invoker_module/* lookup_module/* * @run testng/othervm --enable-native-access=invoker_module * lookup_module/handle.lookup.MethodHandleLookup diff --git a/test/jdk/java/foreign/largestub/TestLargeStub.java b/test/jdk/java/foreign/largestub/TestLargeStub.java index 74e028ecd8b..791bf6d161e 100644 --- a/test/jdk/java/foreign/largestub/TestLargeStub.java +++ b/test/jdk/java/foreign/largestub/TestLargeStub.java @@ -25,7 +25,7 @@ * @test * @enablePreview * @library ../ - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @modules java.base/jdk.internal.foreign * @run testng/othervm --enable-native-access=ALL-UNNAMED TestLargeStub */ diff --git a/test/jdk/java/foreign/loaderLookup/TestLoaderLookup.java b/test/jdk/java/foreign/loaderLookup/TestLoaderLookup.java index 24776e62af3..0fef99ed718 100644 --- a/test/jdk/java/foreign/loaderLookup/TestLoaderLookup.java +++ b/test/jdk/java/foreign/loaderLookup/TestLoaderLookup.java @@ -24,7 +24,7 @@ /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @compile lookup/Lookup.java * @compile invoker/Invoker.java * @run main/othervm --enable-native-access=ALL-UNNAMED TestLoaderLookup diff --git a/test/jdk/java/foreign/loaderLookup/TestLoaderLookupJNI.java b/test/jdk/java/foreign/loaderLookup/TestLoaderLookupJNI.java index 753d0aa790a..eb097f0de5f 100644 --- a/test/jdk/java/foreign/loaderLookup/TestLoaderLookupJNI.java +++ b/test/jdk/java/foreign/loaderLookup/TestLoaderLookupJNI.java @@ -30,7 +30,7 @@ import static org.testng.Assert.*; /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @run testng/othervm TestLoaderLookupJNI */ public class TestLoaderLookupJNI { diff --git a/test/jdk/java/foreign/nested/TestNested.java b/test/jdk/java/foreign/nested/TestNested.java index 9868349f990..317b7112025 100644 --- a/test/jdk/java/foreign/nested/TestNested.java +++ b/test/jdk/java/foreign/nested/TestNested.java @@ -25,8 +25,8 @@ * @test * @enablePreview * @library ../ /test/lib - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" - * @requires vm.flavor != "zero" + * @requires jdk.foreign.linker != "UNSUPPORTED" + * @requires jdk.foreign.linker != "FALLBACK" * @build NativeTestHelper * @run testng/othervm --enable-native-access=ALL-UNNAMED TestNested */ diff --git a/test/jdk/java/foreign/normalize/TestNormalize.java b/test/jdk/java/foreign/normalize/TestNormalize.java index aa8d829d35d..acea16d1702 100644 --- a/test/jdk/java/foreign/normalize/TestNormalize.java +++ b/test/jdk/java/foreign/normalize/TestNormalize.java @@ -25,7 +25,7 @@ * @test * @enablePreview * @library ../ - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @run testng/othervm * --enable-native-access=ALL-UNNAMED * -Xbatch diff --git a/test/jdk/java/foreign/passheapsegment/TestPassHeapSegment.java b/test/jdk/java/foreign/passheapsegment/TestPassHeapSegment.java index 0ff28cbc12b..5933ccbcca9 100644 --- a/test/jdk/java/foreign/passheapsegment/TestPassHeapSegment.java +++ b/test/jdk/java/foreign/passheapsegment/TestPassHeapSegment.java @@ -25,7 +25,7 @@ * @test * @enablePreview * @library ../ /test/lib - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @run testng/othervm --enable-native-access=ALL-UNNAMED TestPassHeapSegment */ @@ -83,4 +83,3 @@ public class TestPassHeapSegment extends UpcallTestHelper { }; } } - diff --git a/test/jdk/java/foreign/stackwalk/TestAsyncStackWalk.java b/test/jdk/java/foreign/stackwalk/TestAsyncStackWalk.java index 0760be0a8a4..fe3a34d6226 100644 --- a/test/jdk/java/foreign/stackwalk/TestAsyncStackWalk.java +++ b/test/jdk/java/foreign/stackwalk/TestAsyncStackWalk.java @@ -24,7 +24,7 @@ /* * @test id=default_gc * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @library /test/lib * @library ../ * @build jdk.test.whitebox.WhiteBox @@ -42,7 +42,7 @@ /* * @test id=zgc * @enablePreview - * @requires (((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64") + * @requires jdk.foreign.linker != "UNSUPPORTED" * @requires vm.gc.Z * @library /test/lib * @library ../ @@ -61,7 +61,7 @@ /* * @test id=shenandoah * @enablePreview - * @requires (((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64") + * @requires jdk.foreign.linker != "UNSUPPORTED" * @requires vm.gc.Shenandoah * @library /test/lib * @library ../ diff --git a/test/jdk/java/foreign/stackwalk/TestReentrantUpcalls.java b/test/jdk/java/foreign/stackwalk/TestReentrantUpcalls.java index cd28661f45c..69d2230c340 100644 --- a/test/jdk/java/foreign/stackwalk/TestReentrantUpcalls.java +++ b/test/jdk/java/foreign/stackwalk/TestReentrantUpcalls.java @@ -24,7 +24,7 @@ /* * @test * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @library /test/lib * @library ../ * @build jdk.test.whitebox.WhiteBox diff --git a/test/jdk/java/foreign/stackwalk/TestStackWalk.java b/test/jdk/java/foreign/stackwalk/TestStackWalk.java index da3b11885b0..db320336aa3 100644 --- a/test/jdk/java/foreign/stackwalk/TestStackWalk.java +++ b/test/jdk/java/foreign/stackwalk/TestStackWalk.java @@ -24,7 +24,7 @@ /* * @test id=default_gc * @enablePreview - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @library /test/lib * @library ../ * @build jdk.test.whitebox.WhiteBox @@ -42,7 +42,7 @@ /* * @test id=zgc * @enablePreview - * @requires (((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64") + * @requires jdk.foreign.linker != "UNSUPPORTED" * @requires vm.gc.Z * @library /test/lib * @library ../ @@ -61,7 +61,7 @@ /* * @test id=shenandoah * @enablePreview - * @requires (((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64") + * @requires jdk.foreign.linker != "UNSUPPORTED" * @requires vm.gc.Shenandoah * @library /test/lib * @library ../ diff --git a/test/jdk/java/foreign/trivial/TestTrivial.java b/test/jdk/java/foreign/trivial/TestTrivial.java index 98a89b2b8e7..5e7bd87ca26 100644 --- a/test/jdk/java/foreign/trivial/TestTrivial.java +++ b/test/jdk/java/foreign/trivial/TestTrivial.java @@ -25,7 +25,7 @@ * @test * @enablePreview * @library ../ /test/lib - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @run testng/othervm --enable-native-access=ALL-UNNAMED TestTrivial */ diff --git a/test/jdk/java/foreign/trivial/TestTrivialUpcall.java b/test/jdk/java/foreign/trivial/TestTrivialUpcall.java index bfba6f260d5..8e4c9f937c1 100644 --- a/test/jdk/java/foreign/trivial/TestTrivialUpcall.java +++ b/test/jdk/java/foreign/trivial/TestTrivialUpcall.java @@ -25,8 +25,8 @@ * @test * @enablePreview * @library ../ /test/lib - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" - * @requires vm.flavor != "zero" + * @requires jdk.foreign.linker != "UNSUPPORTED" + * @requires jdk.foreign.linker != "FALLBACK" * @run testng/othervm --enable-native-access=ALL-UNNAMED TestTrivialUpcall */ diff --git a/test/jdk/java/foreign/upcalldeopt/TestUpcallDeopt.java b/test/jdk/java/foreign/upcalldeopt/TestUpcallDeopt.java index 504d8b9730c..c8adcbdec5b 100644 --- a/test/jdk/java/foreign/upcalldeopt/TestUpcallDeopt.java +++ b/test/jdk/java/foreign/upcalldeopt/TestUpcallDeopt.java @@ -25,7 +25,7 @@ * @test id=default_gc * @enablePreview * @bug 8277602 - * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64" | os.arch == "riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @library /test/lib * @library ../ * @build jdk.test.whitebox.WhiteBox diff --git a/test/jdk/java/foreign/virtual/TestVirtualCalls.java b/test/jdk/java/foreign/virtual/TestVirtualCalls.java index e660acd4021..e0daef8c941 100644 --- a/test/jdk/java/foreign/virtual/TestVirtualCalls.java +++ b/test/jdk/java/foreign/virtual/TestVirtualCalls.java @@ -24,7 +24,7 @@ /* * @test * @enablePreview - * @requires os.arch=="amd64" | os.arch=="x86_64" | os.arch=="aarch64" | os.arch=="riscv64" + * @requires jdk.foreign.linker != "UNSUPPORTED" * @library ../ * @run testng/othervm * --enable-native-access=ALL-UNNAMED diff --git a/test/jtreg-ext/requires/VMProps.java b/test/jtreg-ext/requires/VMProps.java index fe1bc8d0720..db1c12a0870 100644 --- a/test/jtreg-ext/requires/VMProps.java +++ b/test/jtreg-ext/requires/VMProps.java @@ -47,6 +47,8 @@ import java.util.function.Supplier; import java.util.regex.Matcher; import java.util.regex.Pattern; +import jdk.internal.foreign.CABI; + import jdk.test.whitebox.code.Compiler; import jdk.test.whitebox.cpuinfo.CPUInfo; import jdk.test.whitebox.gc.GC; @@ -126,6 +128,7 @@ public class VMProps implements Callable> { map.put("release.implementor", this::implementor); map.put("jdk.containerized", this::jdkContainerized); map.put("vm.flagless", this::isFlagless); + map.put("jdk.foreign.linker", this::jdkForeignLinker); vmGC(map); // vm.gc.X = true/false vmGCforCDS(map); // may set vm.gc vmOptFinalFlags(map); @@ -472,7 +475,7 @@ public class VMProps implements Callable> { return "" + Compiler.isC2Enabled(); } - /** + /** * A simple check for docker support * * @return true if docker is supported in a given environment @@ -652,6 +655,17 @@ public class VMProps implements Callable> { return "" + result; } + /* + * A string indicating the foreign linker that is currently being used. See jdk.internal.foreign.CABI + * for valid values. + * + * "FALLBACK" and "UNSUPPORTED" are special values. The former indicates the fallback linker is + * being used. The latter indicates an unsupported platform. + */ + private String jdkForeignLinker() { + return String.valueOf(CABI.current()); + } + /** * Dumps the map to the file if the file name is given as the property. * This functionality could be helpful to know context in the real diff --git a/test/langtools/TEST.ROOT b/test/langtools/TEST.ROOT index 0e0ece858ab..28599949eeb 100644 --- a/test/langtools/TEST.ROOT +++ b/test/langtools/TEST.ROOT @@ -37,6 +37,9 @@ requires.extraPropDefns.bootlibs = ../lib/jdk/test/whitebox requires.extraPropDefns.libs = \ ../lib/jdk/test/lib/Platform.java \ ../lib/jdk/test/lib/Container.java -requires.extraPropDefns.vmOpts = -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI +requires.extraPropDefns.javacOpts = --add-exports java.base/jdk.internal.foreign=ALL-UNNAMED +requires.extraPropDefns.vmOpts = \ + -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI \ + --add-exports java.base/jdk.internal.foreign=ALL-UNNAMED requires.properties= \ vm.continuations