-
Notifications
You must be signed in to change notification settings - Fork 6.2k
8341039: compiler/cha/TypeProfileFinalMethod.java fails with assertEquals expected: 0 but was: 2 #28200
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
Conversation
|
👋 Welcome back dlunden! A progress list of the required criteria for merging this PR into |
|
@dlunde This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be: You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 194 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. ➡️ To integrate this PR with the above commit message to the |
Webrevs
|
dafedafe
left a comment
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.
Thanks for this "refactoring" @dlunde. LGTM (just 1 question)
| @@ -25,7 +25,7 @@ | |||
| /* | |||
| * @test | |||
| * @summary test c1 to record type profile with CHA optimization | |||
| * @requires vm.flavor == "server" & (vm.opt.TieredStopAtLevel == null | vm.opt.TieredStopAtLevel == 4) | |||
| * @requires vm.flavor == "server" & vm.flagless | |||
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.
I guess this change is part of the "Make the test flagless" part (and TieredStopAtLevel filters seem anyway a bit odd) but did you figure out why this was added first? Was it possibly just a mistake (since we create a new process anyway)?
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.
Thanks for the review @dafedafe!
I guess this change is part of the "Make the test flagless" part (and TieredStopAtLevel filters seem anyway a bit odd) but did you figure out why this was added first?
I would guess the conditions for TieredStopAtLevel were added to ensure this particular flag could not break the test. However, there are many other flags that can also break the test. Hence, we need flagless (which subsumes the TieredStopAtLevel conditions).
Was it possibly just a mistake (since we create a new process anyway)?
The createTestJavaProcessBuilder method adds the default jvm options from jtreg, test.vm.opts and test.java.opts (see the source code comment for createTestJavaProcessBuilder). So no, not a mistake, but also not a complete safeguard.
robcasloz
left a comment
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.
Thanks for resurrecting this test, Daniel! The changes look good, I just have a minor suggestion (readding a useful comment that was removed in the changeset).
Co-authored-by: Roberto Castañeda Lozano <robcasloz@users.noreply.github.com>
|
Thanks for the reviews @dafedafe and @robcasloz! /integrate |
|
Going to push as commit 56a27d1.
Your commit was automatically rebased without conflicts. |
Issue Summary
The test
compiler/cha/TypeProfileFinalMethod.javaexercises a specific compilation pattern and easily breaks by setting various VM flags (e.g.,-Xcomp).Changeset
assertEqualsto make error message correct.Note for reviewers: A more fundamental rewrite of the test is beyond the scope of this changeset. The objective here is simply to ensure the test runs only in contexts intended by the test author.
Testing
tier1and HotSpot parts oftier2andtier3(and additional Oracle-internal testing) on Windows x64, Linux x64, Linux aarch64, macOS x64, and macOS aarch64.Progress
Issue
Reviewers
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/28200/head:pull/28200$ git checkout pull/28200Update a local copy of the PR:
$ git checkout pull/28200$ git pull https://git.openjdk.org/jdk.git pull/28200/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 28200View PR using the GUI difftool:
$ git pr show -t 28200Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/28200.diff
Using Webrev
Link to Webrev Comment