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

Merge master HEAD into openj9-staging #531

Merged
merged 809 commits into from
Feb 24, 2023

Conversation

JasonFengJ9
Copy link
Member

@JasonFengJ9 JasonFengJ9 commented Dec 6, 2022

Conflicts:

	make/autoconf/jdk-version.m4
	make/conf/version-numbers.conf
	src/java.base/share/classes/java/lang/String.java
	src/java.base/share/classes/java/lang/Thread.java
	src/java.base/share/classes/java/lang/foreign/VaList.java
	src/java.base/share/classes/jdk/internal/foreign/CABI.java
	src/java.base/share/classes/jdk/internal/foreign/PlatformLayouts.java
	src/java.base/share/classes/jdk/internal/foreign/SystemLookup.java
	src/java.base/share/classes/jdk/internal/foreign/abi/AbstractLinker.java
	src/java.base/share/classes/jdk/internal/foreign/abi/SharedUtils.java
	src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java
	src/java.base/share/classes/jdk/internal/foreign/abi/x64/sysv/CallArranger.java
	src/java.base/share/classes/jdk/internal/foreign/abi/x64/windows/CallArranger.java
	src/java.base/unix/classes/java/lang/ProcessEnvironment.java
	src/jdk.management.agent/share/conf/management.properties
	test/jdk/java/foreign/CallGeneratorHelper.java
	test/jdk/java/foreign/LibraryLookupTest.java
	test/jdk/java/foreign/NativeTestHelper.java
	test/jdk/java/foreign/SafeFunctionAccessTest.java
	test/jdk/java/foreign/StdLibTest.java
	test/jdk/java/foreign/TestClassLoaderFindNative.java
	test/jdk/java/foreign/TestDowncallScope.java
	test/jdk/java/foreign/TestDowncallStack.java
	test/jdk/java/foreign/TestFunctionDescriptor.java
	test/jdk/java/foreign/TestHeapAlignment.java
	test/jdk/java/foreign/TestMatrix.java
	test/jdk/java/foreign/TestNULLAddress.java
	test/jdk/java/foreign/TestNative.java
	test/jdk/java/foreign/TestNulls.java
	test/jdk/java/foreign/TestScopedOperations.java
	test/jdk/java/foreign/TestSegments.java
	test/jdk/java/foreign/TestStringEncoding.java
	test/jdk/java/foreign/TestUpcallAsync.java
	test/jdk/java/foreign/TestUpcallException.java
	test/jdk/java/foreign/TestUpcallHighArity.java
	test/jdk/java/foreign/TestUpcallScope.java
	test/jdk/java/foreign/TestUpcallStack.java
	test/jdk/java/foreign/TestUpcallStructScope.java
	test/jdk/java/foreign/TestVarArgs.java
	test/jdk/java/foreign/enablenativeaccess/TestEnableNativeAccess.java
	test/jdk/java/foreign/handles/Driver.java
	test/jdk/java/foreign/loaderLookup/TestLoaderLookup.java
	test/jdk/java/foreign/loaderLookup/TestLoaderLookupJNI.java
	test/jdk/java/foreign/valist/VaListTest.java

Signed-off-by: Jason Feng [email protected]

@JasonFengJ9 JasonFengJ9 marked this pull request as draft December 6, 2022 18:27
@JasonFengJ9
Copy link
Member Author

8296477: Foreign linker implementation update following JEP 434 brings a large change and the build failed to compile:

/Users/jasonfeng/ivm/exts/ext-merge-conflict/jdkNext-1206/testbuildV2/build/macosx-aarch64-server-release/support/j9jcl/java.base/share/classes/jdk/internal/foreign/abi/DowncallLinker.java:27: error: cannot find symbol
import java.lang.foreign.Addressable;
                        ^
  symbol:   class Addressable
  location: package java.lang.foreign
/Users/jasonfeng/ivm/exts/ext-merge-conflict/jdkNext-1206/testbuildV2/build/macosx-aarch64-server-release/support/j9jcl/java.base/share/classes/jdk/internal/foreign/abi/UpcallLinker.java:29: error: cannot find symbol
import java.lang.foreign.MemorySession;
                        ^
  symbol:   class MemorySession
  location: package java.lang.foreign
/Users/jasonfeng/ivm/exts/ext-merge-conflict/jdkNext-1206/testbuildV2/build/macosx-aarch64-server-release/support/j9jcl/java.base/share/classes/jdk/internal/foreign/abi/UpcallLinker.java:43: error: cannot find symbol
	UpcallLinker(MethodHandle target, MethodType mt, FunctionDescriptor cDesc, MemorySession session) {

It seems OpenJ9 has to adopt these changes before it can be merged.

FYI @ChengJin01 @tajila

@ChengJin01
Copy link

This is the new API changes for eclipse-openj9/openj9#16329 (JEP434) for Java 20. So merging needs to be hold off till the code related is modified to adapt to the feature.

@ChengJin01
Copy link

We might need to evaluate how many they made in OpenJDK to support FFI JEP434 in Java20 but it looks like there are quite a lot of changes, in which case it will take a couple of weeks or 1/2 months to get everything in OpenJDK & OpenJ9 set up for the new changes given we are currently still working on issues related to FFI and have no time spent on this new feature.

JesperIRL and others added 23 commits January 24, 2023 22:28
Reviewed-by: erikj, ihse
Reviewed-by: angorya, aivanov, prr
Reviewed-by: ecaspole, sviswanathan
…more than one phi

Reviewed-by: roland, thartmann, kvn
Reviewed-by: coleenp, iwalulya, iklam
Vicente Romero and others added 17 commits February 16, 2023 04:01
Co-authored-by: Bernard Blaser <[email protected]>
Reviewed-by: jlahoda
Reviewed-by: iklam, dholmes
…USTOM_DIALOG mode

Reviewed-by: aivanov, abhiscxk
…oop does not work

Reviewed-by: kvn, thartmann
8293292: Remove MallocMaxTestWords

Reviewed-by: jsjolen, gziemski, lucy, mbaesken
Reviewed-by: serb, prr, kcr
…rained' transforms for AES/KW and AES/KWP

Reviewed-by: xuelei
@JasonFengJ9
Copy link
Member Author

Updated with latest openjdk level jdk-21+10.

@ChengJin01 this can be used as the base for FFI JEP434 further OpenJ9 specific change.

Conflicts:
	make/autoconf/jdk-version.m4
	make/conf/version-numbers.conf
	src/java.base/share/classes/java/lang/String.java
	src/java.base/share/classes/java/lang/Thread.java
	src/java.base/share/classes/java/lang/foreign/VaList.java
	src/java.base/share/classes/jdk/internal/foreign/CABI.java
	src/java.base/share/classes/jdk/internal/foreign/PlatformLayouts.java
	src/java.base/share/classes/jdk/internal/foreign/SystemLookup.java
	src/java.base/share/classes/jdk/internal/foreign/abi/AbstractLinker.java
	src/java.base/share/classes/jdk/internal/foreign/abi/SharedUtils.java
	src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java
	src/java.base/share/classes/jdk/internal/foreign/abi/x64/sysv/CallArranger.java
	src/java.base/share/classes/jdk/internal/foreign/abi/x64/windows/CallArranger.java
	src/java.base/unix/classes/java/lang/ProcessEnvironment.java
	src/jdk.management.agent/share/conf/management.properties
	test/jdk/java/foreign/CallGeneratorHelper.java
	test/jdk/java/foreign/LibraryLookupTest.java
	test/jdk/java/foreign/NativeTestHelper.java
	test/jdk/java/foreign/SafeFunctionAccessTest.java
	test/jdk/java/foreign/StdLibTest.java
	test/jdk/java/foreign/TestClassLoaderFindNative.java
	test/jdk/java/foreign/TestDowncallScope.java
	test/jdk/java/foreign/TestDowncallStack.java
	test/jdk/java/foreign/TestFunctionDescriptor.java
	test/jdk/java/foreign/TestHeapAlignment.java
	test/jdk/java/foreign/TestMatrix.java
	test/jdk/java/foreign/TestNULLAddress.java
	test/jdk/java/foreign/TestNative.java
	test/jdk/java/foreign/TestNulls.java
	test/jdk/java/foreign/TestScopedOperations.java
	test/jdk/java/foreign/TestSegments.java
	test/jdk/java/foreign/TestStringEncoding.java
	test/jdk/java/foreign/TestUpcallAsync.java
	test/jdk/java/foreign/TestUpcallException.java
	test/jdk/java/foreign/TestUpcallHighArity.java
	test/jdk/java/foreign/TestUpcallScope.java
	test/jdk/java/foreign/TestUpcallStack.java
	test/jdk/java/foreign/TestUpcallStructScope.java
	test/jdk/java/foreign/TestVarArgs.java
	test/jdk/java/foreign/enablenativeaccess/TestEnableNativeAccess.java
	test/jdk/java/foreign/handles/Driver.java
	test/jdk/java/foreign/loaderLookup/TestLoaderLookup.java
	test/jdk/java/foreign/loaderLookup/TestLoaderLookupJNI.java
	test/jdk/java/foreign/valist/VaListTest.java

Signed-off-by: Jason Feng <[email protected]>
@ChengJin01
Copy link

ChengJin01 commented Feb 18, 2023

@JasonFengJ9, there is a compilation failure with your changes at Access.java as follows when compiling with my branch at https://github.com/ChengJin01/openj9-openjdk-jdk/tree/ffi_disable_java_code_in_compiling_jdknext_1:

../openj9-openjdk-jdk/build/linux-x86_64-server-release/support/j9jcl/java.base/share/classes/java/lang/Access.java:69:
error: Access is not abstract and does not override abstract method getUTF16Char(byte[],int) in JavaLangAccess

final class Access implements JavaLangAccess {
      ^

@JasonFengJ9
Copy link
Member Author

@ChengJin01 an OpenJ9 PR is created to add JavaLangAccess.getUTF16Char() & countPositives()

@keithc-ca
Copy link
Member

There are some inappropriate changes here (e.g. that won't compile - double { in VaList.java); the ones I've noticed are addressed in #551.

@JasonFengJ9
Copy link
Member Author

e.g. that won't compile - double { in VaList.java);

Is the change introduced when resolving the merging conflict? Yeah, this PR won't compile w/o those FFI changes at #551.

@keithc-ca keithc-ca merged commit e8d3b09 into ibmruntimes:openj9-staging Feb 24, 2023
@JasonFengJ9 JasonFengJ9 deleted the mergetmp branch February 24, 2023 19:26
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.