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

Extend arraycmp length child #19332

Merged
merged 1 commit into from
Jul 9, 2024

Conversation

Spencer-Comin
Copy link
Contributor

Change all uses of arraycmp to take a 64 bit length child instead of 32 bits.

Relies on eclipse-omr/omr#7313

@Spencer-Comin Spencer-Comin marked this pull request as ready for review April 25, 2024 20:32
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.

In addition to the review comments, I noticed there is code in CICSTransform2ArrayCmpIfs that still seems to be using a 32-bit length for an arraycmplen.

@hzongaro hzongaro added the depends:omr Pull request is dependent on a corresponding change in OMR label Jun 14, 2024
@hzongaro hzongaro self-assigned this Jun 14, 2024
Change all uses of arraycmp to take a 64 bit length child instead of 32 bits.

Signed-off-by: Spencer Comin <spencer.comin@ibm.com>
@Spencer-Comin
Copy link
Contributor Author

Ran some internal tests. I saw a couple failures, but the failures look unrelated to me.

JDK21 tests:

https://hyc-runtimes-jenkins.swg-devops.com/job/Pipeline-Build-Test-Personal/22751/
https://hyc-runtimes-jenkins.swg-devops.com/job/Pipeline-Build-Test-Personal/22779/ to account for infra failures

x86-64_linux sanity.functional failure:

s390x_linux sanity.system failure:

JDK8 vmfarm tests:

http://vmfarm.rtp.raleigh.ibm.com/build_info.php?build_id=72852

  • LoZ failing gdb test - illegal instruction, looks like it's caused by a wild branch. This shouldn't be an arraycmp failure mode.
  • Windows failing jtreg tests - cannot find file, possibly an infra issue? Also not likely to be an arraycmp failure mode.

@Spencer-Comin
Copy link
Contributor Author

As a note, this PR must be merged in coordination with reverting the 64-bit arraycmp revert in OMR: eclipse-omr/omr#7380

@hzongaro
Copy link
Member

@Spencer-Comin, may I ask you to open the new PR to reapply eclipse-omr/omr#7313?

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!

@Spencer-Comin
Copy link
Contributor Author

@Spencer-Comin, may I ask you to open the new PR to reapply eclipse/omr#7313?

Done! eclipse-omr/omr#7388

@hzongaro
Copy link
Member

Jenkins test sanity.functional,sanity.openjdk all jdk8,jdk11,jdk17,jdk21 depends eclipse-omr/omr#7388

@hzongaro
Copy link
Member

xLinux failures appear to be infrastructure-related. Rerunning. The runs that are listed as "pending" appear to have actually aborted. I'll rerun those as well.

The JDK 21 sanity.openjdk s390x Linux failures appear to be due to #18908. That issue had been closed recently as it couldn't be reproduced any longer.

Jenkins test sanity.functional,sanity.openjdk xlinunux jdk8,jdk11,jdk21 depends eclipse-omr/omr#7388

@hzongaro
Copy link
Member

Fixing the typo:

Jenkins test sanity.functional,sanity.openjdk xlinux jdk8,jdk11,jdk21 depends eclipse-omr/omr#7388

@hzongaro
Copy link
Member

Jenkins test sanity.openjdk xlinux jdk17 depends eclipse-omr/omr#7388

@hzongaro
Copy link
Member

Jenkins test sanity.functional,sanity.openjdk win jdk8,jdk11,jdk17 depends eclipse-omr/omr#7388

@hzongaro
Copy link
Member

Jenkins test sanity.openjdk win jdk21 depends eclipse-omr/omr#7388

@hzongaro
Copy link
Member

Jenkins test sanity.functional,sanity.openjdk aix jdk21 depends eclipse-omr/omr#7388

@hzongaro
Copy link
Member

There are some build failures in JDK 21 builds for aix, xLinux and x86-64 Windows. Two of them appear to be happening during Value Propagation - I haven't looked into the third. I looked at a jitdump for the Windows failure, and there didn't appear to be any arraycmp operations in the method that was being compiled. However, we don't seem to have seen any other recent build failures similar to this.

@Spencer-Comin, may I ask you to take a look at these build failures to determine whether they could be in any way related to your pull requests?

@hzongaro
Copy link
Member

@Spencer-Comin, it looks like OMR acceptance builds are hitting this same problem. For instance, see https://openj9-jenkins.osuosl.org/view/Build_OMR/job/Build_JDK21_ppc64_aix_OMR/140/consoleFull

@hzongaro
Copy link
Member

Looking at some of the other failures, there are some infrastructure-related problems, but others appear to be similar to the failures we saw JDK 21 testing. Once those problems have been resolved, I'll rerun the testing.

@Spencer-Comin
Copy link
Contributor Author

I looked into the windows failures and reran the jdk11 sanity.functional (https://hyc-runtimes-jenkins.swg-devops.com/job/Pipeline-Build-Test-Personal/22949/) (branches rebased to more recent openj9/omr). I also ran a control test without my changes (https://hyc-runtimes-jenkins.swg-devops.com/job/Pipeline-Build-Test-Personal/22950/). The failing tests are the same between my changes and the control.

@hzongaro
Copy link
Member

I looked into the windows failures and reran the jdk11 sanity.functional

Right - thanks for looking at that. I should have clarified earlier that because we're seeing similar failures with the OMR Acceptance builds, the failures are almost certainly unrelated to your changes.

Those failures are still under investigation. Once they're resolved, I'll rerun testing on your changes. In the meanwhile, those failures are creating too much noise to feel entirely safe about merging your changes.

@hzongaro
Copy link
Member

hzongaro commented Jul 4, 2024

Most of the failures we were seeing were caused by unrelated changes and should now be resolved. Rerunning testing, as this will require a coordinate merge.

Jenkins test sanity.functional,sanity.openjdk all jdk8,jdk11,jdk17,jdk21 depends eclipse-omr/omr#7388

@hzongaro
Copy link
Member

hzongaro commented Jul 5, 2024

Restarting AIX test runs that were aborted:

Jenkins test sanity.functional,sanity.openjdk aix jdk8,jdk11 depends eclipse-omr/omr#7388

@hzongaro
Copy link
Member

hzongaro commented Jul 5, 2024

Jenkins test sanity.openjdk aix jdk17 depends eclipse-omr/omr#7388

@hzongaro
Copy link
Member

hzongaro commented Jul 5, 2024

JDK 8 x86-64 macOS sanity.functional test failure looks like an infrastructure problem. Rerunning:

Jenkins test sanity.functional xmac jdk8 depends eclipse-omr/omr#7388

@pshipton
Copy link
Member

pshipton commented Jul 8, 2024

There are only two AIX machines left functioning atm. I removed AIX from nightly builds, but not the weekend testing. You might be able to get a PR build through once the weekend testing finishes or times out.

https://github.ibm.com/runtimes/infrastructure/issues/9553

@hzongaro
Copy link
Member

hzongaro commented Jul 9, 2024

Despite the problem running the AIX JDK 17 sanity.functional testing, I think this change and the change in OMR on which it depends have been well exercised. Merging.

@hzongaro hzongaro merged commit 91e2fdd into eclipse-openj9:master Jul 9, 2024
81 of 87 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp:jit depends:omr Pull request is dependent on a corresponding change in OMR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants