-
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
Migrate J9 specific Linkages to appropriate J9 namespace #7768
Conversation
Jenkins test sanity all jdk11 |
@0xdaryl Is there a design that describes the new(?) namespace approach? It would be good to document what's changing here and why. |
Namespaces in the compiler were introduced when the language-agnostic compiler technology (i.e., OMR) was separated from the Java JIT (i.e., OpenJ9). They are used not only to provide project-level separation of code, but for the correct operation of the extensible class mechanism employed by the OMR compiler and Java JIT. There isn't a lot of documentation on the use of namespaces in the compiler, but there is some provided within OMR: https://github.com/eclipse/omr/tree/master/compiler#namespaces Further info on extensible classes and its use of namespaces is here: When OMR and OpenJ9 were open sourced, there was a lot of refactoring work still to be done that was left as an exercise to be completed over time as resources permitted. One of those pieces of work was to continue to move code into the appropriate namespaces in both the OMR and OpenJ9 projects. The work in this PR does that for one single class hierarchy (the Linkage hierarchy) in OpenJ9. It makes the class names and file names consistent across all architectures. Removing the |
Our x86 infrastructure is still offline. I'd prefer to wait until Monday until those issues are resolved so we can re-launch those builds and ensure no breakage if that is ok. |
Sure, that's no problem. Thanks. |
Jenkins test sanity all jdk11 |
Rename to `JNILinkage` as PPC prefix is redundant. Fix up include directive paths as well. Signed-off-by: Daryl Maier <[email protected]>
Also, rename to `JNILinkage` as the J9S390 prefix is redundant. Signed-off-by: Daryl Maier <[email protected]>
Rename to `JNILinkage` as ARM64 prefix is redundant. Signed-off-by: Daryl Maier <[email protected]>
Rename to `JNILinkage` as ARM prefix is redundant. Signed-off-by: Daryl Maier <[email protected]>
* Migrate IA32JNILinkage to `J9::X86::I386::JNILinkage` * Migrate AMD64JNILinkage to `J9::X86::AMD64::JNILinkage` Signed-off-by: Daryl Maier <[email protected]>
* Remove unused J9S390PrivateLinkage.hpp * Correct path to S390PrivateLinkage.cpp in CMakeLists.txt Signed-off-by: Daryl Maier <[email protected]>
Rename J9S390CHelperLinkage.cpp -> S390CHelperLinkage.cpp Rename J9S390CHelperLinkage.hpp -> S390CHelperLinkage.hpp Signed-off-by: Daryl Maier <[email protected]>
Signed-off-by: Daryl Maier <[email protected]>
Signed-off-by: Daryl Maier <[email protected]>
Signed-off-by: Daryl Maier <[email protected]>
Signed-off-by: Daryl Maier <[email protected]>
Signed-off-by: Daryl Maier <[email protected]>
* J9::X86PrivateLinkage -> J9::X86::PrivateLinkage * J9::IA32PrivateLinkage -> J9::X86::I386::PrivateLinkage * J9::AMD64PrivateLinkage -> J9::X86::AMD64::PrivateLinkage * remove unused `toIA32PrivateLinkage` helper function Signed-off-by: Daryl Maier <[email protected]>
Also migrate TR::X86HelperCallSite to J9::X86 namespace. Signed-off-by: Daryl Maier <[email protected]>
Signed-off-by: Daryl Maier <[email protected]>
Signed-off-by: Daryl Maier <[email protected]>
… namespace Signed-off-by: Daryl Maier <[email protected]>
Jenkins test sanity all jdk11 |
I am seeing a build break with AArch64, which seems to be related to this PR:
See #7837. |
Includes JNI, Helper, CHelper, and Private linkages specific to OpenJ9.