RFR: 8168295: [JVMCI] -XX:+JVMCIPrintProperties should exit after printing

Christian Thalinger cthalinger at twitter.com
Wed Oct 19 19:30:44 UTC 2016


> On Oct 19, 2016, at 8:13 AM, Doug Simon <doug.simon at oracle.com> wrote:
> 
>> 
>> On 19 Oct 2016, at 19:36, Christian Thalinger <cthalinger at twitter.com> wrote:
>> 
>> 
>>> On Oct 19, 2016, at 7:28 AM, Doug Simon <doug.simon at oracle.com> wrote:
>>> 
>>> 
>>>> On 19 Oct 2016, at 19:14, Christian Thalinger <cthalinger at twitter.com> wrote:
>>>> 
>>>> 
>>>>> On Oct 19, 2016, at 6:40 AM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>>>>> 
>>>>> I thought it was intentional :)
>>>>> 
>>>>> Original output was similar to JVM flags output:
>>>> 
>>>> That was the whole point.
>>> 
>>> Sure, but there’s no particularly good reason for it is there? They are not printed by the same flag and they are system properties, not VM flags.
>> 
>> Sure.  I’m not against the change.  I’m just saying that we did that because we wanted to keep the output as similar as possible. And we still could do that.
> 
> It would clash with the format used by Graal:
> 
> [JVMCI properties]
> String jvmci.Compiler                = null
>        Selects the system compiler.
> Boolean jvmci.InitTimer               = false
>        Specifies if initialization timing is enabled.
> Boolean jvmci.PrintConfig             = false
>        Prints VM configuration available via JVMCI.
> String jvmci.TraceMethodDataFilter   = null
>        Enables tracing of profiling info when read by JVMCI.
>        Empty value: trace all methods
>        Non-empty value: trace methods whose fully qualified name contains the value.
> [Graal properties]
> graal.ASMInstructionProfiling = null                                      [String]
>          Enables instruction profiling on assembler level. Valid values are a
>          comma separated list of supported instructions. Compare with subclasses
>          of Assembler.InstructionCounter.
> graal.AlwaysInlineIntrinsics = false                                     [Boolean]
>          Unconditionally inline intrinsics
> graal.AlwaysInlineVTableStubs = false                                    [Boolean]
> graal.BenchmarkCountersDumpDynamic = true                                [Boolean]
> 
> Since you’re not against the change, I assume you won’t mind if we go with the new format.

Yes, go ahead.  Looks good.

> 
>> 
>>> 
>>>> 
>>>>> 
>>>>> bool UseCompressedOops     = true   {lp64_product} {ergonomic}
>>>>> bool UseConcMarkSweepGC    = false  {product} {default}
>>>>> 
>>>>> But on other hand new output looks more clean and I like it.
>>>>> 
>>>>> thanks,
>>>>> Vladimir
>>>>> 
>>>>> On 10/19/16 6:55 AM, Doug Simon wrote:
>>>>>> Please review this small change that fixes an accidental omission from https://bugs.openjdk.java.net/browse/JDK-8167194. The -XX:+JVMCIPrintProperties flag should cause the VM to exit (like the -Djvmci.PrintFlags system property removed by 8167194 used to). Unlike -XX:+PrintFlagsFinal and -XX:+PrintFlagsInitial, it doesn’t make sense to continue execution after printing the help message triggered by -XX:+JVMCIPrintProperties.
>>>>>> 
>>>>>> Include in this patch is a minor change in the format of the help output to match that of Graal[1]. Instead of:
>>>>>> 
>>>>>> [JVMCI properties]
>>>>>> String jvmci.Compiler                = null
>>>>>>     Selects the system compiler.
>>>>>> Boolean jvmci.InitTimer               = false
>>>>>>     Specifies if initialization timing is enabled.
>>>>>> Boolean jvmci.PrintConfig             = false
>>>>>>     Prints VM configuration available via JVMCI.
>>>>>> String jvmci.TraceMethodDataFilter   = null
>>>>>>     Enables tracing of profiling info when read by JVMCI.
>>>>>>     Empty value: trace all methods
>>>>>>     Non-empty value: trace methods whose fully qualified name contains the value.
>>>>>> 
>>>>>> the output is now:
>>>>>> 
>>>>>> [JVMCI properties]
>>>>>> jvmci.Compiler = null                                                     [String]
>>>>>>      Selects the system compiler.
>>>>>> jvmci.InitTimer = false                                                  [Boolean]
>>>>>>      Specifies if initialization timing is enabled.
>>>>>> jvmci.PrintConfig = false                                                [Boolean]
>>>>>>      Prints VM configuration available via JVMCI.
>>>>>> jvmci.TraceMethodDataFilter = null                                        [String]
>>>>>>      Enables tracing of profiling info when read by JVMCI.
>>>>>>      Empty value: trace all methods
>>>>>>      Non-empty value: trace methods whose fully qualified name contains the value.
>>>>>> 
>>>>>> The new format makes it easier to scan the available options since the option name is not aligned with the help message.
>>>>>> 
>>>>>> 
>>>>>> http://cr.openjdk.java.net/~dnsimon/8168295/
>>>>>> https://bugs.openjdk.java.net/browse/JDK-8168295
>>>>>> 
>>>>>> -Doug
>>>>>> 
>>>>>> [1] https://github.com/graalvm/graal-core/commit/096f2fd304c6937623abc9483fc02862b4fa909e

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20161019/8854f4a4/attachment-0001.html>


More information about the hotspot-compiler-dev mailing list