RFR: 8174961: [JVMCI] incorrect implementation of isCompilable

Doug Simon doug.simon at oracle.com
Tue Feb 14 20:59:07 UTC 2017


> On 14 Feb 2017, at 21:47, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
> 
> Should you also remove flag check in previous lines in the test?:
> 
>         boolean isCompilable = CompilerToVMHelper.isCompilable(method);
>         boolean expected = UseJVMCICompiler || WB.isMethodCompilable(aMethod);
> 

Yes, you’re right - webrev is updated with this change. Thanks for catching this oversight!

-Doug

> Thanks,
> Vladimir
> 
> On 2/14/17 12:40 PM, Doug Simon wrote:
>> 
>>> On 14 Feb 2017, at 21:28, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>>> 
>>> I did not get the condition. Why a method is *compilable* if JVMCICompiler is not used? Should it be
>>> 
>>> UseJVMCICompiler && !method->is_not_compilable(
>>> 
>>> Then comment is wrong. Please, explain.
>> 
>> If UseJVMCICompiler is false, then JVMCI is not being used by the VM as a jit but is only being used in hosted mode (e.g. by Truffle). The thinking was that hosted clients do not typically care about VM policies effecting the compilability of a method (e.g. whether it has a breakpoint etc). However, now that I reflect on this further, such clients should ignore this call altogether as they may be in a VM environment where both hosted and non-hosted compilations are being requested of JVMCI. With that in mind, I’ve updated the webrev to remove all mention and use of UseJVMCICompiler.
>> 
>> -Doug
>> 
>>> 
>>> On 2/14/17 12:11 PM, Doug Simon wrote:
>>>> Please review this fix for a rather embarrassing bug I committed as part of JDK-8172733.
>>>> 
>>>> http://cr.openjdk.java.net/~dnsimon/8174961/webrev/
>>>> https://bugs.openjdk.java.net/browse/JDK-8174961
>>>> 
>>>> -Doug
>>>> 
>> 



More information about the hotspot-compiler-dev mailing list