Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JEP 434: Foreign Function & Memory API (Second Preview) #16329

Closed
ChengJin01 opened this issue Nov 15, 2022 · 3 comments
Closed

JEP 434: Foreign Function & Memory API (Second Preview) #16329

ChengJin01 opened this issue Nov 15, 2022 · 3 comments
Assignees
Labels
comp:vm jdk20 JEP project:panama Used to track Project Panama related work
Milestone

Comments

@ChengJin01
Copy link

ChengJin01 commented Nov 15, 2022

See https://openjdk.org/jeps/434 for JDK20 with the following changes in terms of APIs which affects our FFI implementation in Java.

This JEP proposes to incorporate refinements based on feedback, and to re-preview the API in JDK 20. 
In this version:
1. The MemorySegment and MemoryAddress abstractions are unified
     (memory addresses are now modeled by zero-length memory segments), and
2. The sealed MemoryLayout hierarchy is enhanced to facilitate usage with 
    pattern matching in switch expressions and statements ([JEP 427](https://openjdk.org/jeps/427)).

FYI: @tajila, @pshipton

@ChengJin01
Copy link
Author

We temporarily disable the FFI specific code in JDK20 via ibmruntimes/openj9-openjdk-jdk20#12 & OpenJ9 via #16585, which we will need to update & re-enable to get this latest code work after that.

ChengJin01 pushed a commit to ChengJin01/openj9-openjdk-jdk20 that referenced this issue Mar 6, 2023
The changes update part of our code in the FFI
framework against the latest APIs specified in
JDK20 to accommodate the new features of JEP434.

Note:
This is the part of implementation intended for
#eclipse-openj9/openj9/issues/16329

Signed-off-by: ChengJin01 <jincheng@ca.ibm.com>
ChengJin01 pushed a commit to ChengJin01/openj9-openjdk-jdk that referenced this issue Mar 6, 2023
The changes update part of our code in the FFI
framework against the latest APIs specified in
JDKnext to accommodate the new features of JEP434.

Note:
This is the part of implementation intended for
#eclipse-openj9/openj9/issues/16329

Signed-off-by: ChengJin01 <jincheng@ca.ibm.com>
ChengJin01 pushed a commit to ChengJin01/openj9-openjdk-jdk20 that referenced this issue Mar 8, 2023
The changes update part of our code in the FFI
framework against the latest APIs specified in
JDK20 to accommodate the new features of JEP434.

Note:
This is the part of implementation intended for
#eclipse-openj9/openj9/issues/16329

Signed-off-by: ChengJin01 <jincheng@ca.ibm.com>
ChengJin01 pushed a commit to ChengJin01/openj9-openjdk-jdk that referenced this issue Mar 8, 2023
The changes update part of our code in the FFI
framework against the latest APIs specified in
JDKnext to accommodate the new features of JEP434.

Note:
This is the part of implementation intended for
#eclipse-openj9/openj9/issues/16329

Signed-off-by: ChengJin01 <jincheng@ca.ibm.com>
ChengJin01 pushed a commit to ChengJin01/openj9-openjdk-jdk that referenced this issue Mar 8, 2023
The changes update part of our code in the FFI
framework against the latest APIs specified in
JDKnext to accommodate the new features of JEP434.

Note:
This is the part of implementation intended for
#eclipse-openj9/openj9/issues/16329

Signed-off-by: ChengJin01 <jincheng@ca.ibm.com>
ChengJin01 pushed a commit to ChengJin01/openj9-openjdk-jdk20 that referenced this issue Mar 8, 2023
The changes update part of our code in the FFI
framework against the latest APIs specified in
JDK20 to accommodate the new features of JEP434.

Note:
This is the part of implementation intended for
#eclipse-openj9/openj9/issues/16329

Signed-off-by: ChengJin01 <jincheng@ca.ibm.com>
ChengJin01 pushed a commit to ChengJin01/openj9-openjdk-jdk that referenced this issue Mar 8, 2023
The changes update part of our code in the FFI
framework against the latest APIs specified in
JDKnext to accommodate the new features of JEP434.

Note:
This is the part of implementation intended for
#eclipse-openj9/openj9/issues/16329

Signed-off-by: ChengJin01 <jincheng@ca.ibm.com>
ChengJin01 pushed a commit to ChengJin01/openj9-openjdk-jdk20 that referenced this issue Mar 8, 2023
The changes update part of our code in the FFI
framework against the latest APIs specified in
JDK20 to accommodate the new features of JEP434.

Note:
This is the part of implementation intended for
#eclipse-openj9/openj9/issues/16329

Signed-off-by: ChengJin01 <jincheng@ca.ibm.com>
ChengJin01 pushed a commit to ChengJin01/openj9-openjdk-jdk that referenced this issue Mar 17, 2023
The changes update part of our code in the FFI
framework against the latest APIs specified in
JDKnext to accommodate the new features of JEP434.

Note:
This is the part of implementation intended for
#eclipse-openj9/openj9/issues/16329

Signed-off-by: ChengJin01 <jincheng@ca.ibm.com>
ChengJin01 pushed a commit to ChengJin01/openj9-openjdk-jdk20 that referenced this issue Mar 17, 2023
The changes update part of our code in the FFI
framework against the latest APIs specified in
JDK20 to accommodate the new features of JEP434.

Note:
This is the part of implementation intended for
#eclipse-openj9/openj9/issues/16329

Signed-off-by: ChengJin01 <jincheng@ca.ibm.com>
ChengJin01 pushed a commit to ChengJin01/openj9 that referenced this issue Mar 20, 2023
The changes update all FFI specific code in java & native
against the latest APIs specified in JDK20 to accommodate
the requirements in JEP434.

Note:
This is the part of implementation intended for
eclipse-openj9#16329

Signed-off-by: ChengJin01 <jincheng@ca.ibm.com>
ChengJin01 pushed a commit to ChengJin01/openj9 that referenced this issue Mar 22, 2023
The changes update all FFI specific code in java & native
against the latest APIs specified in JDK20 to accommodate
the requirements in JEP434.

Note:
This is the part of implementation intended for
eclipse-openj9#16329

Signed-off-by: ChengJin01 <jincheng@ca.ibm.com>
ChengJin01 pushed a commit to ChengJin01/openj9-openjdk-jdk that referenced this issue Mar 22, 2023
The changes update part of our code in the FFI
framework against the latest APIs specified in
JDKnext to accommodate the new features of JEP434.

Note:
This is the part of implementation intended for
#eclipse-openj9/openj9/issues/16329

Signed-off-by: ChengJin01 <jincheng@ca.ibm.com>
ChengJin01 pushed a commit to ChengJin01/openj9-openjdk-jdk20 that referenced this issue Mar 22, 2023
The changes update part of our code in the FFI
framework against the latest APIs specified in
JDK20 to accommodate the new features of JEP434.

Note:
This is the part of implementation intended for
#eclipse-openj9/openj9/issues/16329

Signed-off-by: ChengJin01 <jincheng@ca.ibm.com>
ChengJin01 pushed a commit to ChengJin01/openj9-openjdk-jdk that referenced this issue Mar 22, 2023
The changes update part of our code in the FFI
framework against the latest APIs specified in
JDKnext to accommodate the new features of JEP434.

Note:
This is the part of implementation intended for
#eclipse-openj9/openj9/issues/16329

Signed-off-by: ChengJin01 <jincheng@ca.ibm.com>
ChengJin01 pushed a commit to ChengJin01/openj9-openjdk-jdk20 that referenced this issue Mar 22, 2023
The changes update part of our code in the FFI
framework against the latest APIs specified in
JDK20 to accommodate the new features of JEP434.

Note:
This is the part of implementation intended for
#eclipse-openj9/openj9/issues/16329

Signed-off-by: ChengJin01 <jincheng@ca.ibm.com>
ChengJin01 pushed a commit to ChengJin01/openj9-openjdk-jdk20 that referenced this issue Mar 22, 2023
The changes update part of our code in the FFI
framework against the latest APIs specified in
JDK20 to accommodate the new features of JEP434.

Note:
This is the part of implementation intended for
#eclipse-openj9/openj9/issues/16329

Signed-off-by: ChengJin01 <jincheng@ca.ibm.com>
ChengJin01 pushed a commit to ChengJin01/openj9 that referenced this issue Mar 23, 2023
The changes update all FFI specific code in java & native
against the latest APIs specified in JDK20 to accommodate
the requirements in JEP434.

Note:
This is the part of implementation intended for
eclipse-openj9#16329

Signed-off-by: ChengJin01 <jincheng@ca.ibm.com>
ChengJin01 pushed a commit to ChengJin01/openj9 that referenced this issue Apr 12, 2023
The changes update all FFI specific code in java & native
against the latest APIs specified in JDK20 to accommodate
the requirements in JEP434.

Note:
This is the part of implementation intended for
eclipse-openj9#16329

Signed-off-by: ChengJin01 <jincheng@ca.ibm.com>
@tajila tajila modified the milestones: Java 20.0.1 0.39, Java 20.0.2 Apr 25, 2023
@ChengJin01
Copy link
Author

ChengJin01 commented May 29, 2023

The issue will be closed very soon once the PR at adoptium/aqa-tests#4591 is merged to enable FFI test suites given everything specific FFI in JDK20 is resolved.

@ChengJin01
Copy link
Author

Close this issue as the FFI test suites in JDK20 has been enabled via adoptium/aqa-tests#4591.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp:vm jdk20 JEP project:panama Used to track Project Panama related work
Projects
None yet
Development

No branches or pull requests

3 participants