-
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
Mark receivers of all constructors as oslots #14419
Conversation
@gacholio please review these changes |
Signed-off-by: Tobi Ajila <[email protected]>
jenkins test sanity zlinux jdk17 |
@tajila What's the rationale for this change? I'm curious if there's a spec change or a test case that shows this is a problem |
This relates to how we implement the
If a GC occurs while we are doing We've always had this problem and it hasn't been an issue until JDK18 as the new reflection implementation makes use of the exception stack traces. |
Thanks for explaining @tajila. Can I ask about this as well:
the new reflection impl = using MHs - why is that using the exception stack traces? |
Thats correct, the MH impl of reflection. The old reflection impl would treat all errors regarding input args as IllegalArgumentException, however with the new MH impl this is more difficult to detect as they show up as NPEs, classcastexceptions or WronmethodTypeExceptions. So the MH implementation catches all exceptions return from the MH and determines whether to re-throw as an illegalArg exception. |
Thanks for explaining! |
I understand we've already branched for Java 18 - should this be ported to the Java 18 branch as well? @tajila |
It's worth noting that this change is completely safe - we were already doing it for one constructor case, and the new object is necessarily already being kept alive by the caller of the constructor (since constructors are void return) so we're not artificially extended the lifetime of the object. |
The intermittent failures for IllegalArgumentsTest are fixed via eclipse-openj9/openj9#14419. Signed-off-by: Babneet Singh <[email protected]>
The intermittent failures for IllegalArgumentsTest are fixed via eclipse-openj9/openj9#14419. Signed-off-by: Babneet Singh <[email protected]>
The intermittent failures for IllegalArgumentsTest are fixed via eclipse-openj9/openj9#14419. Signed-off-by: Babneet Singh <[email protected]>
exeCallerAccessTest/CallerAccessTest is disabled on OSX across JDK17, 18 and 19. Recently, a JDK19 exclude list was created using the JDK18 exclude list. The below JDK18 changes are being applied to JDK19: 1. SpliteratorTraversingAndSplittingTest is fixed by eclipse-openj9/openj9#14430. Related: adoptium#3331 2. IllegalArgumentsTest is fixed by eclipse-openj9/openj9#14419. Related: adoptium#3322 Signed-off-by: Babneet Singh <[email protected]>
exeCallerAccessTest/CallerAccessTest is disabled on OSX across JDK17, 18 and 19. Recently, a JDK19 exclude list was created using the JDK18 exclude list. The below JDK18 changes are being applied to JDK19: 1. SpliteratorTraversingAndSplittingTest is fixed by eclipse-openj9/openj9#14430. Related: #3331 2. IllegalArgumentsTest is fixed by eclipse-openj9/openj9#14419. Related: #3322 Signed-off-by: Babneet Singh <[email protected]>
Mark receivers of all constructors as oslots
Signed-off-by: Tobi Ajila [email protected]