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

Insert Null value check if array component type is unknown during compilation time #18259

Merged
merged 1 commit into from
Oct 18, 2023

Conversation

a7ehuo
Copy link
Contributor

@a7ehuo a7ehuo commented Oct 10, 2023

If the value being stored is NULL and the destination array component is null restricted in runtime, a NPE is expected
to throw. Therefore, when the array component type is not known to be identity type in compilation time, a NULLCHK
on store value is required.

Also add two test cases to test storing NULL into null restricted array, and update the class name in the tests to primitive class to reflect more accurately the type of the class.

@a7ehuo a7ehuo requested a review from hzongaro October 10, 2023 17:16
@a7ehuo a7ehuo added comp:jit project:valhalla Used to track Project Valhalla related work labels Oct 10, 2023
@a7ehuo
Copy link
Contributor Author

a7ehuo commented Oct 10, 2023

@hzongaro May I ask you to review this change? Thank you!

…pilation time

If the value being stored is NULL and the destination array
component is null restricted in runtime, a NPE is expected
to throw. Therefore, when the array component type is not
known to be identity type in compilation time, a NULLCHK
on store value is required.

Also add two test cases to test storing NULL into null restricted
array, and update the class name in the tests to primitive class
to reflect more accurately the type of the class.

Signed-off-by: Annabelle Huo <[email protected]>
@a7ehuo a7ehuo force-pushed the fix-store-null-arrayelement branch from 69f5bd9 to e050899 Compare October 12, 2023 19:55
@a7ehuo a7ehuo changed the title Do not transform the call if the value being stored is NULL Insert Null value check if array component type is unknown during compilation time Oct 13, 2023
Copy link
Member

@hzongaro hzongaro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Thanks!

@hzongaro
Copy link
Member

Jenkins test sanity all jdk17

@hzongaro
Copy link
Member

Jenkins test sanity xlinuxval,xlinuxvalst jdknext

@a7ehuo a7ehuo modified the milestones: Java Next, Backlog Oct 16, 2023
@hzongaro
Copy link
Member

xlinux Valhalla sanity.functional testing and xlinux VT Standard sanity.functional testing appear to have failed due to infrastructure issues. Restarting.

Jenkins test sanity xlinuxval,xlinuxvalst jdknext

@hzongaro
Copy link
Member

sanity.functional testing for aarch64 macOS, Power Linux, x86 Linux, x86 macOS and Windows all appear to have failed due to infrastructure issues. Restarting.

Jenkins test sanity amac,plinux,xlinux,xmac,win jdk17

@a7ehuo
Copy link
Contributor Author

a7ehuo commented Oct 17, 2023

openjdknext_j9_sanity.functional_x86-64_linux_vt_standard failed: Looks to be issue #18183

[2023-10-17T09:51:59.757Z] FAILED test targets:
[2023-10-17T09:51:59.757Z] 	Jep425Tests_testVirtualThread_1 
[2023-10-17T09:51:59.757Z] 	Jep425Tests_testVirtualThread_2
[2023-10-17T09:51:23.475Z] FAILED test targets:
[2023-10-17T09:51:23.475Z] 	Jep425Tests_testVirtualThread_0 
[2023-10-17T09:51:23.475Z] 	Jep425Tests_testVirtualThread_3
[2023-10-17T08:23:58.754Z] FAILED: test_verifyJVMTIMacros
[2023-10-17T08:23:58.754Z] java.lang.AssertionError: JVMTI_VTHREAD_STATE_YIELDING (7) does not match VirtualThread.YIELDING (10)
[2023-10-17T08:23:58.754Z] 	at org.testng.Assert.fail(Assert.java:96)
[2023-10-17T08:23:58.754Z] 	at org.openj9.test.jep425.VirtualThreadTests.test_verifyJVMTIMacros(VirtualThreadTests.java:321)
[2023-10-17T08:23:58.754Z] 	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
[2023-10-17T08:23:58.754Z] 	at java.base/java.lang.reflect.Method.invoke(Method.java:582)
[2023-10-17T08:23:58.754Z] 	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
[2023-10-17T08:23:58.754Z] 	at org.testng.internal.Invoker.invokeMethod(Invoker.java:580)
[2023-10-17T08:23:58.754Z] 	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:716)
[2023-10-17T08:23:58.754Z] 	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:988)
[2023-10-17T08:23:58.754Z] 	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
[2023-10-17T08:23:58.754Z] 	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
[2023-10-17T08:23:58.754Z] 	at org.testng.TestRunner.privateRun(TestRunner.java:648)
[2023-10-17T08:23:58.754Z] 	at org.testng.TestRunner.run(TestRunner.java:505)
[2023-10-17T08:23:58.754Z] 	at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
...

openjdk17_j9_sanity.functional_ppc64le_linux failed failed 49 CRIU tests. Looks to be issue #17457

 [OUT] Exception in thread "main" org.eclipse.openj9.criu.SystemCheckpointException: Could not dump the JVM processes, err=-52

@hzongaro hzongaro self-assigned this Oct 18, 2023
@hzongaro
Copy link
Member

Only failures are due to known problem. Merging.

@hzongaro hzongaro merged commit 3060a8d into eclipse-openj9:master Oct 18, 2023
@a7ehuo a7ehuo deleted the fix-store-null-arrayelement branch March 6, 2024 16:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp:jit project:valhalla Used to track Project Valhalla related work
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants