-XX:+Verbose is often used to enable additional output for other print flags (for example, when printing C2 types) and should not enable new/unrelated printing. Currently, just running with -XX:+Verbose (and/or -XX:-TieredCompilation and/or -Xcomp) prints many messages and makes the log hard to read.
JDK-8286104 added noisy debug printing:
[unstable_if] kill local#11: 330 CastII === 320 191 [[ 340 346 333 397 366 379 ]] Type:int:>=0:www !jvms: java.lang.String::checkIndex @ bci:5 (line 4578) java.lang.StringLatin1::charAt @ bci:3 (line 46) java.lang.String::charAt @ bci:12 (line 1535) jdk.internal.module.ModuleInfo$ConstantPool::checkUnqualifiedName @ bci:56 (line 869)
[unstable_if] kill local#9: 38 CastPP === 30 13 [[ 398 129 113 366 340 325 253 253 113 65 65 178 165 152 ]] Oop:java/lang/String:NotNull:exact * !jvms: jdk.internal.module.ModuleInfo$ConstantPool::checkUnqualifiedName @ bci:1 (line 863)
[unstable_if] kill local#10: 119 RShiftI === _ 83 114 [[ 398 129 129 121 253 178 366 340 404 152 152 165 165 178 325 ]] Type:int !jvms: java.lang.String::length @ bci:9 (line 1499) jdk.internal.module.ModuleInfo$ConstantPool::checkUnqualifiedName @ bci:1 (line 863)
I think we should guard it by an additional flag like -XX:+PrintOpto
We should also guard this code by PrintOpto:
https://github.com/openjdk/jdk/blob/4a28f3798d25b64d44aad557f94d1045c253cdfb/src/hotspot/share/opto/doCall.cpp#L857
And remove this code:
https://github.com/openjdk/jdk/blob/master/src/hotspot/share/ci/ciEnv.cpp#L1342
We should check if the same problem exists with -XX:+WizardMode.
Of course, all of this should at some point be replaced by unified logging.