-
Notifications
You must be signed in to change notification settings - Fork 728
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: Use lastITable cache for interface call dispatching #18099
Merged
knn-k
merged 1 commit into
eclipse-openj9:master
from
Akira1Saitoh:aarch64LastITableCache
Sep 22, 2023
Merged
AArch64: Use lastITable cache for interface call dispatching #18099
knn-k
merged 1 commit into
eclipse-openj9:master
from
Akira1Saitoh:aarch64LastITableCache
Sep 22, 2023
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Akira1Saitoh
force-pushed
the
aarch64LastITableCache
branch
from
September 8, 2023 04:34
87a5abe
to
cc0923f
Compare
Akira1Saitoh
force-pushed
the
aarch64LastITableCache
branch
from
September 11, 2023 01:53
cc0923f
to
e867ed4
Compare
knn-k
reviewed
Sep 19, 2023
Akira1Saitoh
force-pushed
the
aarch64LastITableCache
branch
from
September 20, 2023 04:16
e867ed4
to
50ba83c
Compare
knn-k
reviewed
Sep 20, 2023
knn-k
reviewed
Sep 20, 2023
knn-k
reviewed
Sep 20, 2023
knn-k
reviewed
Sep 20, 2023
knn-k
reviewed
Sep 20, 2023
Akira1Saitoh
force-pushed
the
aarch64LastITableCache
branch
2 times, most recently
from
September 21, 2023 07:07
cf3a5f5
to
bccc30a
Compare
knn-k
reviewed
Sep 21, 2023
This commit extends the existing interface call dispatching code of AArch64 codegen to exploit cached lastITable field in J9Class. buildInterfaceCall function is updated to generate The code for lastITable cache lookup after the code for checking the second PIC slot. Until the second slot is populated, lastITable cache lookup always fails to avoid filling PIC slots with infrequent call targets. See OpenJ9 eclipse-openj9#8390 for more details. After the second slot is filled, the lastITable cache lookup is enabled by patching the b.al (branch always) instruction in the lookup code to b.ne (branch if not equal). Recompilation code is also updated to properly handle the new instruction sequence generated by updated buildInterfaceCall function. Resolves eclipse-openj9#8400 Signed-off-by: Akira Saitoh <[email protected]>
Akira1Saitoh
force-pushed
the
aarch64LastITableCache
branch
from
September 21, 2023 07:20
bccc30a
to
4c60993
Compare
Jenkins test sanity alinux64,amac jdk17 |
Jenkins test sanity amac jdk17 |
I launched amac build again because the previous one failed with the following error: https://openj9-jenkins.osuosl.org/job/Build_JDK17_aarch64_mac_Personal/488/
|
The AArch64 Linux job failed in the same way as the macOS job above. It looks likes an infrastructural problem.
|
Jenkins test sanity alinux64 jdk17 |
knn-k
approved these changes
Sep 22, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This commit extends the existing interface call dispatching code of AArch64 codegen to exploit cached lastITable field in J9Class.
buildInterfaceCall
function is updated to generate The code for lastITable cache lookup after the code for checking the second PIC slot. Until the second slot is populated, lastITable cache lookup always fails to avoid filling PIC slots with infrequent call targets. See OpenJ9 #8390 for more details.After the second slot is filled, the lastITable cache lookup is enabled by patching the b.al (branch always) instruction in the lookup code to b.ne (branch if not equal).
Recompilation code is also updated to properly handle the new instruction sequence generated by updated
buildInterfaceCall
function.Resolves #8400
Signed-off-by: Akira Saitoh [email protected]