8382430: Extend output format of -XX:+PrintCompilation2 diagnostic flag#30801
8382430: Extend output format of -XX:+PrintCompilation2 diagnostic flag#30801vnkozlov wants to merge 2 commits intoopenjdk:masterfrom
Conversation
|
👋 Welcome back kvn! A progress list of the required criteria for merging this PR into |
|
@vnkozlov 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 33 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 |
|
The total number of required reviews for this PR has been set to 2 based on the presence of this label: |
Webrevs
|
|
That's a good improvement! Just a quick drive-by comment: We do not seem to have any test with |
|
/cc hotspot-compiler |
|
@vnkozlov |
|
New tests are added. They are based on existing tests for And I updated Description with example for |
|
thank you, @iwanowww |
anton-seoane
left a comment
There was a problem hiding this comment.
This looks good. Thanks!
|
Thank you @anton-seoane for review. |
|
/integrate |
|
Going to push as commit ae5b765.
Your commit was automatically rebased without conflicts. |
During Leyden development we added additional information about times compilation task spends during its lifecycle. It was very useful to find bottlenecks during AOT production runs when we create compilation tasks to load AOT code.
Output before change (first line is from
-XX:+PrintCompilationoutput):after change:
Where times are in
msand output similar toPrintCompilationwith additions:48- current timeW0.0- is time it took to put compilation task on compilation queue (waitingMethodCompileQueue_lock)Q0.0- is time in compilation queue before compilation startsC2.9- compilation time12- compile ID%- OSR compilation4- Tier4 (C2) compilation@ 2- OSR bytecode45 bytes- Java method's bytecode size(inlined 0)- inlined bytecodes(size 584/328)- compiled nmethod total size in bytes / only instructionsIn addition PrintCompilation2 always prints method name with signature.
And it does not depend on
-XX:+PrintCompilationrequired before.PrintCompilation2is supported withCompileCommandtoo. You still need to specify-XX:+UnlockDiagnosticVMOptionsbecause it is diagnostic flags:Added
_compilerfield toCompileTaskclass to simplify some code.And changed
Method::name_and_sig_as_C_string()to use::instead of.by request as separator in full method's name. We use::inPrintCompilationoutput to clear separate method's name from class:Testing: tier1-3,hs-comp-stress and 2 new tests are added to test
PrintCompilation2.Progress
Issue
Reviewers
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/30801/head:pull/30801$ git checkout pull/30801Update a local copy of the PR:
$ git checkout pull/30801$ git pull https://git.openjdk.org/jdk.git pull/30801/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 30801View PR using the GUI difftool:
$ git pr show -t 30801Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/30801.diff
Using Webrev
Link to Webrev Comment