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

AArch64: Add space for outgoing JNI argument to J9CInterpreterStackFrame #18227

Merged
merged 1 commit into from
Oct 5, 2023

Conversation

Akira1Saitoh
Copy link
Contributor

This commit adds outgoingArguments array to J9CInterpreterStackFrame for AArch64 VM to avoid overwriting preservedGPRs and preservedFPRs when calling out to jitReleaseVMAccess helper from JNI invocation sequence.

This commit also updates ARM64JNILinkage to store JNI method arguments that are passed by stack to the area where the outgoingArguments array resides.

Adding outgoingArguments makes the size of J9CInterpreterStackFrame large and some slots are not accessible with ldp/stp instructions using sp as a base register. Thus, this commit also updates m4 macros in arm64helpers.m4. They use the start of slots for saving JIT GPRs as the base address and x16 as the base register.

Issue: #18149

This commit adds outgoingArguments array to J9CInterpreterStackFrame
for AArch64 VM to avoid overwriting preservedGPRs and preservedFPRs when
calling out to jitReleaseVMAccess helper from JNI invocation sequence.

This commit also updates ARM64JNILinkage to store JNI method arguments
that are passed by stack to the area where the outgoingArguments array resides.

Adding outgoingArguments makes the size of J9CInterpreterStackFrame large
and some slots are not accessible with ldp/stp instructions
using sp as a base register. Thus, this commit also updates m4 macros
in arm64helpers.m4. They use the start of slots for saving JIT GPRs
as the base address and x16 as the base register.

Issue: eclipse-openj9#18149

Signed-off-by: Akira Saitoh <[email protected]>
@knn-k
Copy link
Contributor

knn-k commented Oct 5, 2023

Jenkins test sanity.functional,sanity.system alinux64,amac jdk17

@Akira1Saitoh
Copy link
Contributor Author

@gacholio May I ask you to review the changes to the helper in this PR?

@knn-k
Copy link
Contributor

knn-k commented Oct 5, 2023

The build failure with aarch64_mac will be fixed by PR #18233.

@knn-k
Copy link
Contributor

knn-k commented Oct 5, 2023

Jenkins test sanity.functional,sanity.system amac jdk17

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants