[11] RFR(XS) 8206953: compiler/profiling/TestTypeProfiling.java fails when JVMCI build disabled
Vladimir Kozlov
vladimir.kozlov at oracle.com
Thu Jul 12 14:42:36 UTC 2018
Thank you, Gilles
Vladimir
On 7/12/18 3:05 AM, Gilles Duboscq wrote:
> I think it looks good:
> If Graal is not being used as last-tier JIT compiler, C2 is probably in use and it's better to use its preferred behavior.
>
> Gilles
>
> On 12/07/18 11:14, Doug Simon wrote:
>>
>>
>>> On 12 Jul 2018, at 03:20, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>>>
>>> http://cr.openjdk.java.net/~kvn/8206953/webrev.00/
>>>
>>> https://bugs.openjdk.java.net/browse/JDK-8206953
>>>
>>> Original JVMCI patch changed behavior how exception are recorded in MDO [1] even when JVMCI is not used.
>>>
>>> Originally when method executed in Interpreter throws ClassCastException it will incremented number of class_cast traps in method's MDO. later when C2 see that it will inline throw code instead of generating uncommon trap to avoid useless deoptimization [2].
>>>
>>> Test TestTypeProfiling.java was added recently and checks deoptimization events based on behaviour introduced with JVMCI. But when JVMCI is not build (PPC64, s360 and my testing for JDK-8206135) test will fail.
>>>
>>> The fix restored original behavior when C2 is used by checking if Graal is not used.
>>
>> The new check only tests whether Graal is being used by the VM as JIT but doesn't take into account whether Graal is being used via its Java API (e.g. Truffle). I think that's ok but maybe Tom and Gilles can confirm.
>>
>> -Doug
>>
More information about the hotspot-compiler-dev
mailing list