8314837: 5 compiled/codecache tests ignore VM flags#15485
8314837: 5 compiled/codecache tests ignore VM flags#15485yftsai wants to merge 4 commits intoopenjdk:masterfrom
Conversation
TestSegmentedCodeCacheOption, TestCodeHeapSizeOptions, and TestPrintCodeCacheOption create processes with various flags. These flags include interpreter, tiered compilation, or segmented code cache, and they may conflict with the additionally specified vm flags. If propagating the flags and overwriting their values, the tests may not run in the intended way. This change adds `@requires vm.flagless` to these tests and keeps them creating processes while ignoring flags. CodeCacheFullCountTest creates a process with specific flags: ReservedCodeCacheSize, UseCodeCacheFlushing, and MethodFlushing. This change requires `vm.flagless` for the same reason. CheckCodeCacheInfo creates a process to print the code cache info while enabling Verbose. Both PrintCodeCache and Verbose are unlikely to conflict with additionally specified vm flags in a significant way, and the info printed stays the same. This change propagates the vm flags. CheckCodeCacheInfo passes in fastdebug build. ``` make test TEST="test/hotspot/jtreg/compiler/codecache/CheckCodeCacheInfo.java" JTREG="JAVA_OPTIONS=-XX:-TieredCompilation" make test TEST="test/hotspot/jtreg/compiler/codecache/CheckCodeCacheInfo.java" JTREG="JAVA_OPTIONS=-Xint" make test TEST="test/hotspot/jtreg/compiler/codecache/CheckCodeCacheInfo.java" JTREG="JAVA_OPTIONS=-XX:-PrintCodeCache" ```
|
👋 Welcome back yftsai! A progress list of the required criteria for merging this PR into |
Webrevs
|
|
I think your description is not accurate. I sounds like this change will prevent passing external test flags into tests. So adding I suggest to add comment to CheckCodeCacheInfo.java before this text is from David H. comment in 8314823. |
|
I marked CheckCodeCacheInfo with |
Okay, this will do. |
vnkozlov
left a comment
There was a problem hiding this comment.
Good. You need second review.
|
@yftsai 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 41 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. As you do not have Committer status in this project an existing Committer must agree to sponsor your change. Possible candidates are the reviewers of this PR (@vnkozlov, @lmesnik) but any other Committer may sponsor as well. ➡️ To flag this PR as ready for integration with the above commit message, type |
|
@lmesnik, please look. |
|
@yftsai The preferred fix is to use 'ProcessTools.createTestJvm ' to fork JVM with tested flags for most of tests The vm.flagless is usually used for tests which are incompatible with any or most of external flags. It is fine to use it for cli tests. |
|
/integrate |
|
/sponsor |
|
Going to push as commit 2a11bc4.
Your commit was automatically rebased without conflicts. |
3 codecache/cli tests are marked with
@requires vm.flaglessas they ignore VM flags. These tests enumerate combinations of flags, and some (e.g.-Xint) are incompatible with flags of compiler modes.External VM flags are passed to the created processes in CodeCacheFullCountTest and CheckCodeCacheInfo. The former creates the process with code cache flushing disabled, and is compatible with flags except the interpreter mode. The later creates a process to print verbose code cache info, and the feature is independent of other flags.
Progress
Issue
Reviewers
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/15485/head:pull/15485$ git checkout pull/15485Update a local copy of the PR:
$ git checkout pull/15485$ git pull https://git.openjdk.org/jdk.git pull/15485/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 15485View PR using the GUI difftool:
$ git pr show -t 15485Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/15485.diff
Webrev
Link to Webrev Comment