-
Notifications
You must be signed in to change notification settings - Fork 737
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
valuetypeddrtests with Valhalla lw5 #18597
Conversation
46e5c83
to
0074ceb
Compare
I see this is marked as a draft. Are you planning to add the future changes into this PR ? |
Yea... I changed my mind. I'll update the comment. |
0074ceb
to
8169b16
Compare
Signed-off-by: Theresa Mammarella <[email protected]>
Signed-off-by: Theresa Mammarella <[email protected]>
c616b2f
to
8d9f9e9
Compare
@hangshao0 this is ready for review. Only |
debugtools/DDR_VM/src/com/ibm/j9ddr/vm29/j9/ObjectFieldInfo.java
Outdated
Show resolved
Hide resolved
debugtools/DDR_VM/src/com/ibm/j9ddr/vm29/j9/J9ObjectFieldOffsetIterator_V1.java
Outdated
Show resolved
Hide resolved
test/functional/cmdLineTests/valuetypeddrtests/flattened32bitRefBackfillTest.xml
Show resolved
Hide resolved
test/functional/cmdLineTests/valuetypeddrtests/flattenedvaluetypeddrtests_lw5.xml
Show resolved
Hide resolved
Could you squash the commits ? |
Signed-off-by: Theresa Mammarella <[email protected]>
b06901c
to
797b130
Compare
They are squashed now and I applied your feedback. |
Jenkins test sanity,extended winval jdknext |
Jenkins test sanity,extended aixval jdknext |
I am working on the test failure in ValhallaAttributeTests. |
The failure happens because The JIT code creates signatures with q's based on that flag such as https://github.com/eclipse-openj9/openj9/blob/master/runtime/compiler/env/VMJ9.cpp#L2539 which triggers the test failure. To solve this I think the What do you think @hangshao0 ? |
Strictly speaking, a class with implicit creation attribute + default flag is not fully equivalent to primitive VT (null restricted VT). I guess you are adding
Does that mean the test can pass if we turn off JIT with Not sure if changing this check to |
One of the necessary conditions the JIT is checking in deciding whether to use a |
I could try that but was thinking it would be better for testing purposes not to rely on the
You're right that they are not the same. The way I was thinking about it is primitive has the behaviours that translate into the nullrestricted world roughly as:
In this task I'm thinking about only the first one. The other two are not fully supported and tested for the nullrestricted world. So while having a flag for implicitcreation attribute + default isn't really a replacement for the primitive flag it is in needed to accomplish the "eligible for flattening" aspect which I think is a good start. That said I'm not very familiar with the compiler code so not sure if I'm missing something obvious there.
|
J9ClassIsPrimitiveValueType is being set in ram classes for implicitcreation fields to help with flattening. Prevent errors until a new flag for implicitcreation/default is added. Signed-off-by: Theresa Mammarella <[email protected]>
b8b025e
to
a418dfb
Compare
After talking to Hang I have added his suggestion to relax this check to complete this pull request. A new ram class flag for implicitcreation/default classes will be added in a future change set. |
Jenkins test sanity,extended winval jdknext |
Jenkins test sanity,extended aixval jdknext |
Seems Valhalla build is now broken. @JasonFengJ9 As #18710 is merged yesterday, I believe this commit ibmruntimes/openj9-openjdk-jdk22@2454954 needs to be ported to https://github.com/ibmruntimes/openj9-openjdk-jdk.valuetypes |
Cherry-picked ibmruntimes/openj9-openjdk-jdk22@2454954, and verified at a local build. @hangshao0 it is ready for the PR runs. |
Jenkins test sanity,extended winval jdknext |
Jenkins test sanity,extended aixval jdknext |
FYI @llxia, here is the PR builds that we are starting to see the asm/asm-all jar related failures. https://openj9-jenkins.osuosl.org/job/Test_openjdkValhalla_j9_extended.functional_x86-64_windows_valhalla_Personal/24/
It might happen on all other platforms. |
re #18597 (comment), There are mismatches between the downloaded dir and the referenced dir. I will fix this. |
related: eclipse-openj9#18597 (comment) Signed-off-by: Lan Xia <[email protected]>
@theresa-m Are you looking at the sanity.functional test failures ? |
I've been looking at the sanity failure (thanks @a7ehuo for helping me understand some of the compiler code!) and I as far as I can tell is an error in jit support. The failure is for _ValhallaAttributeTests_4, _ValhallaAttributeTests_5, _ValhallaAttributeTests_6 and since this pull request is the first time for the nullrestricted world that fields are being flattened there is new code being executed. This check I'm pretty sure is missing from the flattened case. Since its indirectly related to this change set I plan to disable these tests for now until it can be fixed properly. Any objections? |
I am fine with disabling them for now. An issue can be created to track it so that we don't forget to enable them once things are fixed. |
The tests are disabled now. |
Failing due to missing NPE check for pufield in the nullrestricted flattened case. Signed-off-by: Theresa Mammarella <[email protected]>
16c9e97
to
4739d64
Compare
Jenkins test sanity,extended winval jdknext |
Jenkins test sanity,extended aixval jdknext |
The lw5 tests can be run manually by including changes from #18558 and using a build of https://github.com/openjdk/valhalla/tree/lw5 as
TEST_JDK_HOME
while runningmake compile