RFR: 8255746: Make PrintCompilation available on a per method level
Joshua Cao
duke at openjdk.org
Wed Oct 12 01:38:59 UTC 2022
Example:
[~/jdk/jdk]$ build/linux-x86_64-server-fastdebug/jdk/bin/java -XX:CompileCommand=PrintCompilation,java.lang.String::length Hello
CompileCommand: PrintCompilation java/lang/String.length bool PrintCompilation = true
223 12 3 java.lang.String::length (11 bytes)
405 307 4 java.lang.String::length (11 bytes)
hello world
Running `java -XX:+PrintCompilation` still prints every method. This change also moves the declaration of `elapsedTimer`, but it should have insignificant impact on actual elapsed time.
---
Additionally, I make a change to `test/lib-test/jdk/test/whitebox/vm_flags/BooleanTest.java` so that it does not depend on PrintCompilation. The test was failing because it updates global `PrintCompilation` during the middle of the run, but this does not change the value of `PrintCompilationOption` for individual CompileTask directives.
I modified the test so that it is similar to other [WhiteBox vm_flag test](https://github.com/openjdk/jdk/tree/master/test/lib-test/jdk/test/whitebox/vm_flags). It still tests `VmFlagTest.WHITE_BOX::get/setBooleanVMFlag`, without having to depend on the behavior on the specific flag.
-------------
Commit messages:
- BooleanTest does not rely on PrintCompilation
- 8255746: Make PrintCompilation available on a per method level
Changes: https://git.openjdk.org/jdk/pull/10668/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=10668&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8255746
Stats: 53 lines in 4 files changed: 8 ins; 41 del; 4 mod
Patch: https://git.openjdk.org/jdk/pull/10668.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/10668/head:pull/10668
PR: https://git.openjdk.org/jdk/pull/10668
More information about the hotspot-compiler-dev
mailing list