RFR(XS) 8227632: Incorrect PrintCompilation message: made not compilable on levels 0 1 2 3 4

Boris Ulasevich boris.ulasevich at bell-sw.com
Tue Jul 16 15:08:30 UTC 2019


Thank you!

On 15.07.2019 23:27, dean.long at oracle.com wrote:
> OK, and webrev.01 looks good.
> 
> dl
> 
> On 7/15/19 9:25 AM, Vladimir Kozlov wrote:
>> I think we should use level number as Boris did because in a future it 
>> could be Graal JIT with different levels.
>>
>> Boris, webrev.01 looks good to me.
>>
>> Thanks,
>> Vladimir
>>
>> On 7/15/19 5:42 AM, Boris Ulasevich wrote:
>>> Hi Dean,
>>>
>>> Yes, in practice c1/c2/all can be managed, but not all levels.
>>>
>>> It is not good by the way because with disabled C2 for certain module 
>>> I get compilation to C1_full (what for?) followed by recompilation to 
>>> C1_simple. I think it would be good either to enable 
>>> CompilerDirectives to manage all compiler levels or to teach 
>>> CompilerBroker to skip C1_full when C2 is disabled for the method.
>>>
>>> And I think it is better to have a single print in one place.
>>>
>>> regards,
>>> Boris
>>>
>>> On 12.07.2019 21:28, dean.long at oracle.com wrote:
>>>> In practice, aren't the only "not compilable" settings "all", "c1", 
>>>> and "c2"?  If so, and there aren't any tests that check for these 
>>>> diagnostic messages, it might be less confusing to only print "c1" 
>>>> or "c2" and move the print into the 
>>>> set_not_c1_compilable()/set_not_c2_compilable()/set_not_c1_osr_compilable()/set_not_c2_osr_compilable() 
>>>> functions.
>>>>
>>>> dl
>>>>
>>>> On 7/12/19 10:02 AM, Vladimir Kozlov wrote:
>>>>> Hi, Boris
>>>>>
>>>>> I agree that printing all levels values when particular one is 
>>>>> passed is wrong.
>>>>>
>>>>> I think you should simply print comp_level value because it should 
>>>>> be specific in all cases (leaving CompLevel_all check as it is and 
>>>>> may be adding missing AOT check).
>>>>>
>>>>> thanks,
>>>>> Vladimir
>>>>>
>>>>> On 7/12/19 5:33 AM, Boris Ulasevich wrote:
>>>>>> Hi,
>>>>>>
>>>>>> Can I please have a review for the simple logging issue. Current 
>>>>>> PrintCompilation message looks confusing, it reports "levels 0 1 2 
>>>>>> 3 4" when level 4 only was disabled.
>>>>>> Example:
>>>>>> $ echo [{ match: [\"*.*\"], c2: {Exclude:true} }] > cdf.txt
>>>>>> $ java -XX:+PrintCompilation -XX:+UnlockDiagnosticVMOptions 
>>>>>> -XX:CompilerDirectivesFile=cdf.txt HelloWorld
>>>>>> ### Excluding compile: java.io.OutputStreamWriter::write
>>>>>> made not compilable on levels 0 1 2 3 4 
>>>>>> java.io.OutputStreamWriter::write (11 bytes) excluded by 
>>>>>> CompileCommand
>>>>>> ### Excluding compile: java.lang.String::equals
>>>>>> made not compilable on level 0 1 2 3 4 java.lang.String::equals 
>>>>>> (50 bytes)   excluded by CompileCommand
>>>>>>
>>>>>> http://bugs.openjdk.java.net/browse/JDK-8227632
>>>>>> http://cr.openjdk.java.net/~avoitylov/8227632/webrev.00
>>>>>>
>>>>>> thanks,
>>>>>> Boris
>>>>
> 


More information about the hotspot-compiler-dev mailing list