Details
-
Type:
CSR
-
Status: Closed
-
Priority:
P3
-
Resolution: Approved
-
Fix Version/s: 16
-
Component/s: tools
-
Labels:None
-
Subcomponent:
-
Compatibility Kind:behavioral
-
Compatibility Risk:minimal
-
Compatibility Risk Description:This change merely specifies existing behavior in javadoc.
-
Interface Kind:Java API
-
Scope:JDK
Description
Summary
Specify what happens on unsupported platforms when using the foreign linker (CLinker
) API.
Problem
The behavihour of jdk.incubator.foreign.CLinker
on unsupported platforms is currently unspecified.
Solution
Specify that class initialization of CLinker on unsupported platforms will fail.
Specification
diff --git a/src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java b/src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java
index 0c29f115aa6..d9b53c742e6 100644
--- a/src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java
+++ b/src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java
@@ -94,6 +94,8 @@
* {@link #asVarArg(MemoryLayout)} is used to create the memory layouts for each parameter corresponding to a variadic
* argument in a specialized function descriptor.
*
+ * <p>On unsupported platforms this class will fail to initialize with an {@link ExceptionInInitializerError}.
+ *
* @apiNote In the future, if the Java language permits, {@link CLinker}
* may become a {@code sealed} interface, which would prohibit subclassing except by
* explicitly permitted types.
Attachments
Issue Links
- csr of
-
JDK-8256862 Several java/foreign tests fail on x86_32 platforms
-
- Closed
-