-
Notifications
You must be signed in to change notification settings - Fork 729
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
Value type null-restricted array support #19911
Conversation
9c741db
to
bf4b5b3
Compare
Before continue reviewing this, I am wondering if it is easier to add an new function |
The reason for this is to see if we can minimize the change in |
I agree this approach may be cleaner, I'll give it a try and look over the review comments that are still applicable. |
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.
Just a few formatting comments.
The following GC code need to be updated, so that GC scan is able to find the new null restricted array class:
We provide helpers to JIT in |
I'll take a look at the GC code. |
@dmitripivkine I added you to review the GC change here. The change here is to support value type which could have 2 types of arrays. One allows its element to be null, one does not allow its element to be null (null restricted array). A new field |
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.
In the files changed by this pull request, there are still several occurrences of "null restricted" that should be "null-restricted".
Please also address the line-end check failure.
I think they have all been fixed in the code and commit messages. Which others are you seeing? |
- create a null-restricted array field for every RAM class if one doesn't exist when a null-restricted array is created - implement JVM_IsNullRestrictedArray and JVM_NewNullRestrictedArray - Update exception thrown when null is set to a null-restricted array from NullPointerException to ArrayStoreException as described in https://openjdk.org/jeps/8316779 Signed-off-by: Theresa Mammarella <[email protected]>
|
Do you mind if I do this as a separate pull requests? This is out of scope of the current change since none of those code sections are being modified. |
That is fine with me, but, I'd like to see those changes ready to go, perhaps even before this is merged (so it does not get forgotten). |
Okay. I have fixed the remaining cases in #20085 |
Jenkins test sanity aarch64_linux_vt_standard,s390x_linux |
Jenkins test sanity aarch64_linux_vt_standard,s390x_linux jdknext |
Jenkins test sanity,extended zlinuxval jdknext |
I'm looking at the test failures. |
The purpose of this change is to keep value type command line tests passing until they are updated and the vm fully enables flattening of null-restricted arrays. Signed-off-by: Theresa Mammarella <[email protected]>
failing pr build links so they aren't lost: |
Jenkins test sanity,extended zlinuxval jdknext |
Jenkins compile amac jdknext |
Signed-off-by: Theresa Mammarella <[email protected]>
Jenkins test sanity,extended zlinuxval jdknext |
I believe this is causing hangs in testing. I'll revert it while we investigate. |
Reverted via #20109 |
Please note this pull request adds support to create a null-restricted array but not a flattened array. That will come in a later change.
Related: #17340
Fixes: #19460
After these changes: