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

Exclude the FFI specific java code(Incubator) from Java19 #15091

Conversation

ChengJin01
Copy link

The change is to ensure that the FFI specific java code
in the incubator module only works for Java 17 & 18.

Signed-off-by: Cheng Jin jincheng@ca.ibm.com

@ChengJin01
Copy link
Author

We need to exclude the existing code in the incubator module from being compiled in Java 19 before ibmruntimes/openj9-openjdk-jdk#443 gets merged given all FFI specific APIs (with updated code) are moved from the incubator module to java.base, in which case the existing code here fails to compile due to the missing APIs in the incubator module in Java 19.

@ChengJin01
Copy link
Author

Reviewer: @tajila
FYI: @pshipton

@tajila
Copy link
Contributor

tajila commented May 30, 2022

Jenkins test sanity,extended plinux jdknext

@tajila
Copy link
Contributor

tajila commented May 30, 2022

Some compile failures

* For target jdk_modules_jdk.incubator.foreign__the.jdk.incubator.foreign_batch:
15:20:28  /home/jenkins/workspace/Build_JDKnext_ppc64le_linux_Personal/src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java:157: error: method getBoundMethodHandle in class ProgrammableInvoker cannot be applied to given types;
15:20:28          MethodHandle handle = ProgrammableInvoker.getBoundMethodHandle(mt, cDesc);
15:20:28                                                   ^
15:20:28    required: no arguments
15:20:28    found:    MethodType,FunctionDescriptor
15:20:28    reason: actual and formal argument lists differ in length
15:20:28  /home/jenkins/workspace/Build_JDKnext_ppc64le_linux_Personal/src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/ppc64/aix/CallArranger.java:51: error: method getBoundMethodHandle in class ProgrammableInvoker cannot be applied to given types;
15:20:28  		MethodHandle handle = ProgrammableInvoker.getBoundMethodHandle(mt, cDesc);
15:20:28  		                                         ^
15:20:28    required: no arguments
15:20:28    found:    MethodType,FunctionDescriptor
15:20:28    reason: actual and formal argument lists differ in length
15:20:28  /home/jenkins/workspace/Build_JDKnext_ppc64le_linux_Personal/src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/ppc64/sysv/CallArranger.java:51: error: method getBoundMethodHandle in class ProgrammableInvoker cannot be applied to given types;
15:20:28  		MethodHandle handle = ProgrammableInvoker.getBoundMethodHand

@ChengJin01 are there dependant changes required here?

@ChengJin01
Copy link
Author

ChengJin01 commented May 30, 2022

@tajila, the failures are expected as we must exclude the existing downcall specific code from jdknext(Java 19) as they become invalid once the new changes of https://github.com/ibmruntimes/openj9-openjdk-jdk in openj9-staging are merged to open9, in which case all code here will be moved to java.base with modifications on imported packages/new APIs.

We probably need to wait for the new changes to get merged to open9 if we need to verify on jdknext(Java 19) via jenkins.

@ChengJin01
Copy link
Author

ChengJin01 commented Jun 6, 2022

I notice the new API changes in Java 19 is being merged from openj9-staging to openj9 at https://github.com/ibmruntimes/openj9-openjdk-jdk/tree/openj9/src/java.base/share/classes/java/lang/foreign but has not yet finished promoting now. So the changes here will need to verified with Jenkins once the promotion is done so as to ensure the Java18 specific code is excluded correctly in Java 19 in which case we will have our new code in Java 19 to take over from there.

@tajila
Copy link
Contributor

tajila commented Jun 7, 2022

jenkins compile amac jdknext

@tajila
Copy link
Contributor

tajila commented Jun 7, 2022

@ChengJin01 can you please rebase your changes

The change is to ensure that the FFI specific java code
in the incubator module only works for Java 17 & 18.

Signed-off-by: Cheng Jin <jincheng@ca.ibm.com>
@ChengJin01 ChengJin01 force-pushed the exclude_incubator_downcall_java_code_jdk19 branch from 272b470 to 3ca9202 Compare June 7, 2022 15:10
@ChengJin01
Copy link
Author

@tajila, the conflict has been resolved.

@tajila
Copy link
Contributor

tajila commented Jun 7, 2022

jenkins compile plinux jdknext

@tajila tajila merged commit d2e1f22 into eclipse-openj9:master Jun 8, 2022
llxia added a commit to llxia/aqa-tests that referenced this pull request Jun 8, 2022
llxia added a commit to llxia/aqa-tests that referenced this pull request Jun 8, 2022
llxia added a commit to llxia/aqa-tests that referenced this pull request Jun 8, 2022
llxia added a commit to llxia/aqa-tests that referenced this pull request Jun 8, 2022
sophia-guo pushed a commit to adoptium/aqa-tests that referenced this pull request Jun 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants