[16] RFR(M) 8250233: -XX:+CITime triggers guarantee(events != NULL) in jvmci.cpp:173
Vladimir Kozlov
vladimir.kozlov at oracle.com
Tue Aug 4 17:33:34 UTC 2020
Thank you, Tobias
Vladimir K
On 8/3/20 11:25 PM, Tobias Hartmann wrote:
> Hi Vladimir,
>
> nice cleanup, looks good to me.
>
> Best regards,
> Tobias
>
> On 31.07.20 04:54, Vladimir Kozlov wrote:
>> https://cr.openjdk.java.net/~kvn/8250233/webrev.00/
>> https://bugs.openjdk.java.net/browse/JDK-8250233
>>
>> Main issue was missing EnableJVMCI flag check when calling
>> JVMCICompiler::print_compilation_timers(). I addition to fixinf that I did next refactoring.
>>
>> The code which collects and print statistics per compiler was guarded by #if INCLUDE_JVMCI but not
>> by any JVMCI flags.
>> As result it is default code used by all JIT compilers since JVMCI was added in JDK 9.
>>
>> I decided to make it not JVMCI specific and used it on all platforms.
>>
>> I also added statistic per compilation tier which provides more useful information than combined
>> date for C1.
>>
>> Removed in CompileBroker::print_times() code which calculate total values based on data in
>> compiler's statistic. Such data is already collected in CompileBroker's static fields.
>>
>> Added checks for 0 values in print statements to avoid division by 0 (whioch produced NaN values for
>> doubles).
>>
>> Don't print empty data in JVMCICompiler::print_compilation_timers() but print total compilation time
>> in JVMCICompiler::print_timers().
>>
>> Tested hs-tier1-3.
>>
>> Thanks,
>> Vladimir
>>
>> Beginning of CITime new output:
>>
>> Individual compiler times (for compiled methods only)
>> ------------------------------------------------
>>
>> C1 {speed: 49626.710 bytes/s; standard: 0.037 s, 1842 bytes, 35 methods; osr: 0.000 s, 0 bytes,
>> 0 methods; nmethods_size: 51096 bytes; nmethods_code_size: 30880 bytes}
>> C2 {speed: 1451.769 bytes/s; standard: 0.001 s, 2 bytes, 2 methods; osr: 0.000 s, 0 bytes, 0
>> methods; nmethods_size: 288 bytes; nmethods_code_size: 128 bytes}
>>
>> Individual compilation Tier times (for compiled methods only)
>> ------------------------------------------------
>>
>> Tier1 {speed: 21162.963 bytes/s; standard: 0.002 s, 47 bytes, 10 methods; osr: 0.000 s, 0 bytes,
>> 0 methods; nmethods_size: 3160 bytes; nmethods_code_size: 1504 bytes}
>> Tier2 {speed: 0.000 bytes/s; standard: 0.000 s, 0 bytes, 0 methods; osr: 0.000 s, 0 bytes, 0
>> methods; nmethods_size: 0 bytes; nmethods_code_size: 0 bytes}
>> Tier3 {speed: 51438.195 bytes/s; standard: 0.035 s, 1795 bytes, 25 methods; osr: 0.000 s, 0
>> bytes, 0 methods; nmethods_size: 47936 bytes; nmethods_code_size: 29376 bytes}
>> Tier4 {speed: 1451.769 bytes/s; standard: 0.001 s, 2 bytes, 2 methods; osr: 0.000 s, 0 bytes, 0
>> methods; nmethods_size: 288 bytes; nmethods_code_size: 128 bytes}
>>
>> Accumulated compiler times
>> ----------------------------------------------------------
>> Total compilation time : 0.038 s
>> Standard compilation : 0.038 s, Average : 0.001 s
>> Bailed out compilation : 0.000 s, Average : 0.000 s
>> On stack replacement : 0.000 s, Average : 0.000 s
>> Invalidated : 0.000 s, Average : 0.000 s
More information about the hotspot-compiler-dev
mailing list