8379501: [lworld] Clean up Valhalla flags#2226
8379501: [lworld] Clean up Valhalla flags#2226Arraying wants to merge 19 commits intoopenjdk:lworldfrom
Conversation
|
👋 Welcome back phubner! A progress list of the required criteria for merging this PR into |
|
@Arraying 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 108 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
|
stefank
left a comment
There was a problem hiding this comment.
Thank you! The less usage of the word "inline" to describe values, the better IMO. I've skimmed through the patch and I think it looks good. I've added a couple of nits that you might want to consider.
| if (!FLAG_IS_DEFAULT(flag)) { \ | ||
| warning("Valhalla-specific flag \"%s\" has no effect when --enable-preview is not specified.", #flag); \ | ||
| warning("Preview-specific flag \"%s\" has no effect when --enable-preview is not specified.", #flag); \ |
There was a problem hiding this comment.
Is this done because we don't want to mention Valhalla to the users?
There was a problem hiding this comment.
It's less that we want to explicitly hide Valhalla, it's more that we've transitioned from Valhalla vs non-Valhalla to preview vs non-preview, so our warnings should reflect that as well.
| @@ -38,106 +38,113 @@ public class InlineTypes { | |||
| "--add-exports", "java.base/jdk.internal.value=ALL-UNNAMED", | |||
| "--add-exports", "java.base/jdk.internal.vm.annotation=ALL-UNNAMED", | |||
| "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED", | |||
| "-XX:+UnlockDiagnosticVMOptions", | |||
There was a problem hiding this comment.
Unrelated to this PR, but I saw this flag:
"-XX:+IgnoreUnrecognizedVMOptions",
I would consider removing from all the tests as a follow-up PR. We've been bitten by that flag so many times in our testing that we shouldn't use it at all, unless there's a written motivation why it is needed. My 2c.
There was a problem hiding this comment.
Fair point, seems like a very slippery slope indeed. I've filed JDK-8380140 for compiler since they're the only ones who use the flag in Valhalla. Let's have them take a look and make an informed decision.
There was a problem hiding this comment.
We could probably remove the from this test because all the Flattening flags are diagnostic and available in product mode. We've added -XX:+IgnoreUnrecognizedVMOptions for tests that pass develop options. I suppose if the test is trying to test the develop option there's probably a @requires vm.debug that should be on these tests instead.
This could remove these I think and leave the others for another day.
There was a problem hiding this comment.
Are there Experimental options, requiring adding UnlockExperimentalVMOptions ?
There was a problem hiding this comment.
This PR already has a large and invasive scope, I am not super comfortable changing anything that's not strictly necessary. Yes, there is lot's of cleanup that can be done (and flag duplication in some tests), but I would prefer to keep this focused on what's needed for the CSR.
There was a problem hiding this comment.
The options listed in this scenario (and other scenarios) do not require experimental VM options. Only null-free flattening is experimental, the rest is diagnostic.
Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
|
Based on several rounds of offline feedback, I've updated this PR to get rid of the inline renames and changed the scope of this PR to the bare minimum. Further work needs to be done to make the names consistent. |
stefank
left a comment
There was a problem hiding this comment.
Removing earlier approval to let others review this properly.
marc-chevalier
left a comment
There was a problem hiding this comment.
Looks fine to me. Thanks.
coleenp
left a comment
There was a problem hiding this comment.
I have a couple of questions about the whole change. Thanks for making the options diagnostic.
| @@ -38,106 +38,113 @@ public class InlineTypes { | |||
| "--add-exports", "java.base/jdk.internal.value=ALL-UNNAMED", | |||
| "--add-exports", "java.base/jdk.internal.vm.annotation=ALL-UNNAMED", | |||
| "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED", | |||
| "-XX:+UnlockDiagnosticVMOptions", | |||
There was a problem hiding this comment.
We could probably remove the from this test because all the Flattening flags are diagnostic and available in product mode. We've added -XX:+IgnoreUnrecognizedVMOptions for tests that pass develop options. I suppose if the test is trying to test the develop option there's probably a @requires vm.debug that should be on these tests instead.
This could remove these I think and leave the others for another day.
| @@ -38,106 +38,113 @@ public class InlineTypes { | |||
| "--add-exports", "java.base/jdk.internal.value=ALL-UNNAMED", | |||
| "--add-exports", "java.base/jdk.internal.vm.annotation=ALL-UNNAMED", | |||
| "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED", | |||
| "-XX:+UnlockDiagnosticVMOptions", | |||
There was a problem hiding this comment.
Are there Experimental options, requiring adding UnlockExperimentalVMOptions ?
marc-chevalier
left a comment
There was a problem hiding this comment.
Still looks good to me. If tests are happy, it's fine! Also, if we find later that some unlock flag is missing in some weird test at some weird tier, it will not be a big disruption, and an easy fix. No need to be too scared.
|
Thanks for the reviews everybody. |
|
Going to push as commit 559e0e4.
Your commit was automatically rebased without conflicts. |
Hi all,
This PR cleans up Valhalla flags. To summarize (for the exhaustive changes, please refer to the diff):
Testing: tiers 1-3.
Progress
Issue
Reviewers
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/valhalla.git pull/2226/head:pull/2226$ git checkout pull/2226Update a local copy of the PR:
$ git checkout pull/2226$ git pull https://git.openjdk.org/valhalla.git pull/2226/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 2226View PR using the GUI difftool:
$ git pr show -t 2226Using diff file
Download this PR as a diff file:
https://git.openjdk.org/valhalla/pull/2226.diff
Using Webrev
Link to Webrev Comment