-
Notifications
You must be signed in to change notification settings - Fork 721
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
Implement the functionalities of Foreign Linker API #12412
Labels
Milestone
Comments
tajila
modified the milestones:
Release 0.28 (Java 17),
Release 0.29 (Java 8, 11, 17) Oct refresh
Aug 23, 2021
tajila
modified the milestones:
Release 0.29 (Java 8, 11, 17) Oct refresh,
Release 0.30 (Java 8, 11, 17) Jan refresh
Sep 21, 2021
tajila
modified the milestones:
Release 0.30 (Java 8, 11, 17) Jan refresh,
Release 0.31 (Java 18)
Nov 23, 2021
ChengJin01
changed the title
Implement the functionality of JEP389: Foreign Linker API (Incubator)
Implement the functionality of Foreign Linker API
Dec 6, 2021
ChengJin01
changed the title
Implement the functionality of Foreign Linker API
Implement the functionalities of Foreign Linker API
Dec 6, 2021
tajila
modified the milestones:
Release 0.31 (Java 18),
Release 0.32 (Java 8, 11, 17, 18) Apr refresh
Jan 18, 2022
This was referenced Jan 20, 2022
pshipton
modified the milestones:
Release 0.32 (Java 8, 11, 17, 18) Apr refresh,
Tracking
Feb 10, 2022
This was referenced Sep 23, 2022
Merged
ChengJin01
pushed a commit
to ChengJin01/openj9-openjdk-jdk
that referenced
this issue
Sep 23, 2022
The changes aim to enable the VaList support on Power (Linux & AIX) by implementing the VaList specific APIs in OpenJDK given the underlying code has been offered in OpenJ9. Note: The PR is part of FFI downcall & upcall work at eclipse-openj9/openj9#12412 and eclipse-openj9/openj9#15068. Signed-off-by: Cheng Jin <jincheng@ca.ibm.com>
ChengJin01
pushed a commit
to ChengJin01/openj9-openjdk-jdk19
that referenced
this issue
Sep 23, 2022
The changes aim to enable the VaList support on Power (Linux & AIX) by implementing the VaList specific APIs in OpenJDK given the underlying code has been offered in OpenJ9. Note: The PR is part of FFI downcall & upcall work at eclipse-openj9/openj9#12412 and eclipse-openj9/openj9#15068. Signed-off-by: Cheng Jin <jincheng@ca.ibm.com>
ChengJin01
pushed a commit
to ChengJin01/openj9-openjdk-jdk
that referenced
this issue
Oct 5, 2022
The changes aim to enable the VaList support on zLinux by implementing the VaList specific APIs in OpenJDK given the underlying code has been offered in OpenJ9. Note: The PR is part of FFI downcall & upcall work at eclipse-openj9/openj9#12412 and eclipse-openj9/openj9#15068. Signed-off-by: Cheng Jin <jincheng@ca.ibm.com>
ChengJin01
pushed a commit
to ChengJin01/openj9-openjdk-jdk19
that referenced
this issue
Oct 17, 2022
The changes aim to enable the VaList support on zLinux by implementing the VaList specific APIs in OpenJDK given the underlying code has been offered in OpenJ9. Note: The PR is part of FFI downcall & upcall work at eclipse-openj9/openj9#12412 and eclipse-openj9/openj9#15068. Signed-off-by: Cheng Jin <jincheng@ca.ibm.com>
ChengJin01
pushed a commit
to ChengJin01/openj9-openjdk-jdk19
that referenced
this issue
Oct 17, 2022
The changes aim to enable the VaList support on zLinux by implementing the VaList specific APIs in OpenJDK given the underlying code has been offered in OpenJ9. Note: The PR is part of FFI downcall & upcall work at eclipse-openj9/openj9#12412 and eclipse-openj9/openj9#15068. Signed-off-by: Cheng Jin <jincheng@ca.ibm.com>
ChengJin01
pushed a commit
to ChengJin01/openj9-openjdk-jdk
that referenced
this issue
Oct 17, 2022
The changes aim to enable the VaList support on zLinux by implementing the VaList specific APIs in OpenJDK given the underlying code has been offered in OpenJ9. Note: The PR is part of FFI downcall & upcall work at eclipse-openj9/openj9#12412 and eclipse-openj9/openj9#15068. Signed-off-by: Cheng Jin <jincheng@ca.ibm.com>
ChengJin01
pushed a commit
to ChengJin01/openj9-openjdk-jdk18
that referenced
this issue
Oct 21, 2022
The changes aim to enable the VaList support on Power (AIX & Linux) and zLinux by implementing the VaList specific APIs in OpenJDK given the underlying code has been offered in OpenJ9. Note: The PR is part of FFI downcall & upcall work at eclipse-openj9/openj9#12412 and eclipse-openj9/openj9#15068. Signed-off-by: Cheng Jin <jincheng@ca.ibm.com>
ChengJin01
pushed a commit
to ChengJin01/openj9-openjdk-jdk18
that referenced
this issue
Oct 21, 2022
The changes aim to enable the VaList support on Power (AIX & Linux) and zLinux by implementing the VaList specific APIs in OpenJDK given the underlying code has been offered in OpenJ9. Note: The PR is part of FFI downcall & upcall work at eclipse-openj9/openj9#12412 and eclipse-openj9/openj9#15068. Signed-off-by: Cheng Jin <jincheng@ca.ibm.com>
ChengJin01
pushed a commit
to ChengJin01/openj9-openjdk-jdk17
that referenced
this issue
Oct 21, 2022
The changes aim to enable the VaList support on Power (AIX & Linux) and zLinux by implementing the VaList specific APIs in OpenJDK given the underlying code has been offered in OpenJ9. Note: The PR is part of FFI downcall & upcall work at eclipse-openj9/openj9#12412 and eclipse-openj9/openj9#15068. Signed-off-by: Cheng Jin <jincheng@ca.ibm.com>
ChengJin01
pushed a commit
to ChengJin01/openj9-openjdk-jdk19
that referenced
this issue
Oct 22, 2022
The changes add Power & zLinux support to those FFI related jtreg test suites to ensure they are executed on all supported platforms. Note: The PR is part of FFI downcall & upcall work at eclipse-openj9/openj9#12412 and eclipse-openj9/openj9#15068. Signed-off-by: Cheng Jin <jincheng@ca.ibm.com>
ChengJin01
pushed a commit
to ChengJin01/openj9-openjdk-jdk
that referenced
this issue
Oct 22, 2022
The changes add Power & zLinux support to those FFI related jtreg test suites to ensure they are executed on all supported platforms. Note: The PR is part of FFI downcall & upcall work at eclipse-openj9/openj9#12412 and eclipse-openj9/openj9#15068. Signed-off-by: Cheng Jin <jincheng@ca.ibm.com>
ChengJin01
pushed a commit
to ChengJin01/openj9-openjdk-jdk17
that referenced
this issue
Oct 24, 2022
The changes aim to enable the VaList support on Power (AIX & Linux) and zLinux by implementing the VaList specific APIs in OpenJDK given the underlying code has been offered in OpenJ9. Note: The PR is part of FFI downcall & upcall work at eclipse-openj9/openj9#12412 and eclipse-openj9/openj9#15068. Signed-off-by: Cheng Jin <jincheng@ca.ibm.com>
ChengJin01
pushed a commit
to ChengJin01/openj9-openjdk-jdk17
that referenced
this issue
Oct 24, 2022
The changes aim to enable the VaList support on Power (AIX & Linux) and zLinux by implementing the VaList specific APIs in OpenJDK given the underlying code has been offered in OpenJ9. Note: The PR is part of FFI downcall & upcall work at eclipse-openj9/openj9#12412 and eclipse-openj9/openj9#15068. Signed-off-by: Cheng Jin <jincheng@ca.ibm.com>
ChengJin01
pushed a commit
to ChengJin01/openj9-openjdk-jdk17
that referenced
this issue
Oct 25, 2022
The changes aim to enable the VaList support on Power (AIX & Linux) and zLinux by implementing the VaList specific APIs in OpenJDK given the underlying code has been offered in OpenJ9. Note: The PR is part of FFI downcall & upcall work at eclipse-openj9/openj9#12412 and eclipse-openj9/openj9#15068. Signed-off-by: Cheng Jin <jincheng@ca.ibm.com>
ChengJin01
pushed a commit
to ChengJin01/openj9-openjdk-jdk17
that referenced
this issue
Oct 27, 2022
The changes aim to enable the VaList support on Power (AIX & Linux) and zLinux by implementing the VaList specific APIs in OpenJDK given the underlying code has been offered in OpenJ9. Note: The PR is part of FFI downcall & upcall work at eclipse-openj9/openj9#12412 and eclipse-openj9/openj9#15068. Signed-off-by: Cheng Jin <jincheng@ca.ibm.com>
ChengJin01
pushed a commit
to ChengJin01/openj9
that referenced
this issue
Oct 27, 2022
The changes backport the same test suites in JEP424(JDK19) with the required APIs in JEP389/412(JDK17). Note: The PR is part of FFI downcall & upcall work at eclipse-openj9#12412 and eclipse-openj9#15068. Signed-off-by: Cheng Jin <jincheng@ca.ibm.com>
ChengJin01
pushed a commit
to ChengJin01/openj9-openjdk-jdk17
that referenced
this issue
Nov 3, 2022
The changes aim to enable the VaList support on Power (AIX & Linux) and zLinux by implementing the VaList specific APIs in OpenJDK given the underlying code has been offered in OpenJ9. Note: The PR is part of FFI downcall & upcall work at eclipse-openj9/openj9#12412 and eclipse-openj9/openj9#15068. Signed-off-by: Cheng Jin <jincheng@ca.ibm.com>
ChengJin01
pushed a commit
to ChengJin01/openj9-openjdk-jdk17
that referenced
this issue
Nov 30, 2022
The changes add Power & zLinux support to those FFI related jtreg test suites to ensure they are executed on all supported platforms. Note: The PR is part of FFI downcall & upcall work at eclipse-openj9/openj9#12412 and eclipse-openj9/openj9#15068. Signed-off-by: Cheng Jin <jincheng@ca.ibm.com>
This issue seems completed, all the linked PRs are merged. jdk20 work continues via other issues and PRs in the jdk20 milestone plan. I'll close this. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The issue is created to keep track of all PRs specific to the new feature in specified in JEP389 (Incubator) which also covers the failing jtreg test suites originally raised at #11195 and JEP419 (Second Incubator) at #14036.
[1] DownCall
(1) JEP389 & JEP419 Phase 1: primitive type support on X86_64 & Aarch64 (ARM8 is Aarch64 as confirmed by Joe), which includes Linux/x86_64, Windows/x86_64 and Linux/Aarch64.
ibmruntimes/openj9-openjdk-jdk16#46 (JDK16)
ibmruntimes/openj9-openjdk-jdk17#36 (JDK17)
ibmruntimes/openj9-openjdk-jdk#314 (JDKnext)
#12413 (JEP389 in OpenJ9) and #14077 (JEP419 in OpenJ9)
(2) JEP389 & JEP419 Phase 2 & 3: struct support on arguments and return value.
#13315 (OpenJ9) & eclipse-omr/omr#6287 (OMR)
(3) JEP389 & JEP419 Phase 4: support on PPC64/s390x, which includes Linux/PPC64LE, AIX/PPC64, and Linux/s390.
ibmruntimes/openj9-openjdk-jdk16#80 (JDK16)
ibmruntimes/openj9-openjdk-jdk17#23 (JDK17)
ibmruntimes/openj9-openjdk-jdk18#3 (JDK18)
ibmruntimes/openj9-openjdk-jdk#356 (JDK next)
[2] UpCall
Design and Implementation of Foreign Linker API: Upcall at #15068
PRs in OpenJ9:
#15069 (Part 1: creating the upcall stub in java)
#15307 (Part 1/JDK19+: creating the upcall stub in java)
#15083 (Part 1: creating the upcall stub in native)
#15308 (Part 2&3: generating thunk with the encoded signature)
#15309 (Part 4: dispatcher & the transition code)
#15310 (Enable downcall & upcall test suites for Java 17/18/19)
PRs in OpenJDK plus the resolved default library loading issue on AIX at #13679:
ibmruntimes/openj9-openjdk-jdk17#112 (JDK17)
ibmruntimes/openj9-openjdk-jdk18#57 (JDK18)
ibmruntimes/openj9-openjdk-jdk19#5 & ibmruntimes/openj9-openjdk-jdk19#26 (JDK19)
ibmruntimes/openj9-openjdk-jdk#457 & ibmruntimes/openj9-openjdk-jdk#487 (JDKnext)
ibmruntimes/openj9-openjdk-jdk20#23 & ibmruntimes/openj9-openjdk-jdk#559 (JEP434/Second Preview)
Thunk generation code on supported platforms:
[1] Power (AIX & Linux): #15308
[2] S390x (Linux): #15596
[3] Aarch64 (Linux & macOS): #15744
[4] x86_64 (Linux, Win and macOS): #15926
[5] Function stubs on z/OS: #15873
Bug fixes in jtreg tests:
VM:
(1) #15749 (supporting the session/scope in the same downcall handler in the multithreading environment)
(2) #15778 (supporting variadic functions in downcall)
(3) #16252 (replacing libffi/Aarch64 with the latest version in Github)
(4) #16260 (resolving the OOM issue with thunk allocation on zLinux with small page size)
(5) #16427 (Remove PUSH_OBJECT_IN_SPECIAL_FRAME in the upcall dispatcher)
Thunk:
Win/X86: #16344
Aarch64: #16332 & #16362 (fix in libffi/Aarch64)
zLinux: #16326
[3] VaList APIs on Power & zLinux in OpenJDK (no extra code required in OpenJ9)
ibmruntimes/openj9-openjdk-jdk#488: Power (Linux & AIX)
ibmruntimes/openj9-openjdk-jdk#509 : zLinux
ibmruntimes/openj9-openjdk-jdk19#27: Power (Linux & AIX)
ibmruntimes/openj9-openjdk-jdk19#38: zLinux
ibmruntimes/openj9-openjdk-jdk17#155: Power & zLinux
Note: the VaList APIs on x86_64 and Aarch64 is already offered in OpenJDK.
FYI: @tajila, @pshipton, @DanHeidinga
The text was updated successfully, but these errors were encountered: