RFR: 8257848: -XX:CompileCommand=blackhole, * should be diagnostic [v3]
Vladimir Ivanov
vlivanov at openjdk.java.net
Mon Dec 7 19:33:37 UTC 2020
On Mon, 7 Dec 2020 19:30:20 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
>> This follows up on retroactive CSR review comments (JDK-8257827). As the result of discussion, it is decided to demote the "blackhole" compile command to diagnostic. Examples:
>>
>> $ build/linux-x86_64-server-release/images/jdk/bin/java -Xcomp -XX:CompileCommand=quiet -XX:CompileCommand=blackhole,java/lang/Object.toString
>> OpenJDK 64-Bit Server VM warning: Blackhole compile option is diagnostic and must be enabled via -XX:+UnlockDiagnosticVMOptions
>>
>> $ build/linux-x86_64-server-release/images/jdk/bin/java -Xcomp -XX:+UnlockDiagnosticVMOptions -XX:CompileCommand=quiet -XX:CompileCommand=blackhole,java/lang/Object.toString
>> OpenJDK 64-Bit Server VM warning: Blackhole compile option only works for methods with void type: java.lang.Object.toString()Ljava/lang/String;
>>
>> New test verifies the locking/unlocking of the command.
>>
>> Testing:
>> - [x] ad-hoc `compiler/blackhole` test
>> - [x] validation runs with JMH
>> - [ ] runs in `tier1` (needs #1654 to be merged)
>
> Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:
>
> - Merge branch 'master' into JDK-8257848-bh-diagnostic
> - Revert to check_predicate to match other should_* methods
> - 8257848: -XX:+CompilerCommand=blackhole,* should be diagnostic
Changes requested by vlivanov (Reviewer).
src/hotspot/share/compiler/compilerOracle.cpp line 416:
> 414: return false;
> 415: }
> 416: if (!UnlockDiagnosticVMOptions) {
The check happens too late (during compilation when JIT encounters marked method).
IMO it should happen during command-line parsing at startup: `CompilerOracle::parse_from_line()` or `register_command()` look suitable.
-------------
PR: https://git.openjdk.java.net/jdk/pull/1674
More information about the hotspot-compiler-dev
mailing list