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

Value type null-restricted array support #20132

Merged
merged 4 commits into from
Sep 9, 2024

Conversation

theresa-m
Copy link
Contributor

This change is being resubmitted from #19911 with the only change being the most recent commit. The commit prevents infinite looping in GC_ClassLoaderClassesIterator::nextArrayClass by ensuring _iterateArrayClass is reset to NULL at the end of a loop.
Personal builds:
http://vmfarm.rtp.raleigh.ibm.com/build_info.php?build_id=77569
https://hyc-runtimes-jenkins.swg-devops.com/view/OpenJ9%20-%20Personal/job/Pipeline-Build-Test-Personal/23806/

  • Discussed the extended failure SyntheticGCWorkload_concurrentSlackAuto_10M_J9_0 with Dmitri, it is an unreliable test that is not related to this change.

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:

@hangshao0 hangshao0 requested a review from keithc-ca September 9, 2024 15:07
@theresa-m theresa-m added comp:vm project:valhalla Used to track Project Valhalla related work labels Sep 9, 2024
- 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]>
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]>
Signed-off-by: Theresa Mammarella <[email protected]>
It is possible there could be a mixed (non-array) class as
_iterateArrayClass in GC_ClassLoaderClassesIterator::nextArrayClass.
Make sure _iterateArrayClass gets set to null when all array classes
have been found to prevent an infinite loop.

Signed-off-by: Theresa Mammarella <[email protected]>
@hangshao0
Copy link
Contributor

Jenkins test sanity,extended zlinuxval jdknext

@hangshao0
Copy link
Contributor

Jenkins test sanity amac jdk21

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp:vm project:valhalla Used to track Project Valhalla related work
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add implementation for new JNI functions in Valhalla
4 participants