Skip to content

Value type null-restricted array support - #20132

Merged
hangshao0 merged 4 commits into
eclipse-openj9:masterfrom
theresa-m:nr_array
Sep 9, 2024
Merged

Value type null-restricted array support#20132
hangshao0 merged 4 commits into
eclipse-openj9:masterfrom
theresa-m:nr_array

Conversation

@theresa-m

Copy link
Copy Markdown
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
Comment thread runtime/gc_structs/ClassLoaderClassesIterator.cpp Outdated
- 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 <Theresa.T.Mammarella@ibm.com>
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 <Theresa.T.Mammarella@ibm.com>
Signed-off-by: Theresa Mammarella <Theresa.T.Mammarella@ibm.com>
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 <Theresa.T.Mammarella@ibm.com>
@hangshao0

Copy link
Copy Markdown
Contributor

Jenkins test sanity,extended zlinuxval jdknext

@hangshao0

Copy link
Copy Markdown
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