-
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
Conform to spec for interface resolution for OJDK MHs #18476
Conversation
ping: @babsingh |
Modifying If the above statement is true, is |
I believe my changes are spec compliant regardless of MHs. I chose that location due to the existing check whose comment suggested that it was the appropriate location. That being said, I'll verify with the personal builds and explore the efficacy of placing it directly in |
37d1ed7
to
523b197
Compare
This patch fixes eclipse-openj9#14984. For Java 10-, private interface lookups should fail with a IncompatibleClassChangeError that is caught and wrapped in an IllegalAccessException. For OJ9 MHs, the IllegalAccessException is thrown in findInterface based on Java-code guards on method modifiers. For OJDK MHs, the IncompatibleClassChangeError is expected from a call to MethodHandleNatives.resolve and wrapped. This patch ensures that the correct error is thrown for private interfaces during method lookup for Java 11- with OJDK MHs. Issues: eclipse-openj9#14984 Signed-off-by: Nathan Henderson <nathan.henderson@ibm.com>
jenkins test sanity.functional,sanity.openjdk zlinuxojdk292 jdk8,jdk11 |
Failures for JDK11 are unrelated since this patch doesn't affect JDK11. Failures in JDK8: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only known failures are seen in the PR builds.
This patch fixes #14984.
For Java 10-, private interface lookups should fail with a
IncompatibleClassChangeError
that is caught and wrapped in aIllegalAccessException
. For OJ9 MHs, theIllegalAccessException
is thrown infindInterface
based on Java-code guards on method modifiers. For OJDK MHs, theIncompatibleClassChangeError
is expected from a call toMethodHandleNatives.resolve
and wrapped.This patch ensures that the correct error is thrown for private interfaces during method lookup for Java 11- with OJDK MHs.
Issues: #14984
Signed-off-by: Nathan Henderson nathan.henderson@ibm.com