-
Notifications
You must be signed in to change notification settings - Fork 740
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
Add SVM AOT support for unresolved invokeHandle/invokeDynamic dispatch #20272
Conversation
Signed-off-by: Irwin D'Souza <[email protected]>
The methodName parameter of TR_J9VMBase::getMethodFromClass is of type const char *. However, the TR_J9SharedCacheVM override did not; this resulted in the overridden method not being called during an AOT compilation, resulting in a missing validation record. This commit fixes this by making the signatures consistent. Signed-off-by: Irwin D'Souza <[email protected]>
Support unresolved dispatch of invokeHandle/invokeDynamic for SVM AOT compilations. No additional relocation/validation records are needed as the method type table entry / callsite entry addresses are not emitted in the generated code. Additionally, the polymorphic signature of the dummy linkToStatic resolved method is entirely determined by the callee and thus the combination of the callee's SVM ID and Class Chain validations are sufficient to validate the polymorphic signature. Signed-off-by: Irwin D'Souza <[email protected]>
Signed-off-by: Irwin D'Souza <[email protected]>
Jenkins test sanity all jdk11,jdk17,jdk21 depends eclipse/omr#master |
The AArch64 Linux JDK11 sanity.openjdk failure is #13756 |
z Linux JDK17 sanity.functional failed a couple of tests in cmdLineTester_criu_jitserverPostRestore_1 "Test SSL Failure Case with mismatched certificate" failed with #14706 "Check SSL Verbose Log for connection failure with mismatched certificate" also failed, but it doesn't really show any indication of what went wrong. Instead, all of the expected files and successful/failing outputs are just mysteriously missing:
I couldn't find an open issue for this. I could swear I've already seen it somewhere, but I don't know where. Either way, I'm confident this is unrelated to the changes in this PR |
This is one of those tests that depends on the output of the previous test. I guess because the previous test (i.e., |
The AIX JDK17 sanity.openjdk failure is #19962 Xenkins test sanity.functional+aot all jdk11,jdk17 (Edited to specify which AIX failure. Changed "Jenkins" just to be sure that my edit won't relaunch the build) |
Jenkins test sanity.functional+aot all jdk11,jdk17 depends eclipse/omr#master |
Jenkins test sanity.functional+aot alinux jdk17 depends eclipse/omr#master |
The AIX JDK11 sanity.functional failure is #17396 |
The AIX JDK17 sanity.functional failure is also #17396 |
All other tests have passed, and eclipse-omr/omr#7475 has promoted |
Support unresolved dispatch of invokeHandle/invokeDynamic for SVM AOT
compilations. No additional relocation/validation records are needed as
the method type table entry / callsite entry addresses are not emitted
in the generated code. Additionally, the polymorphic signature of the
dummy linkToStatic resolved method is entirely determined by the callee
and thus the combination of the callee's SVM ID and Class Chain
validations are sufficient to validate the polymorphic signature.
Depends on eclipse-omr/omr#7475