@HotSpotIntrinsicCandidate and native prefixes

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Tue Mar 14 18:30:57 UTC 2017


Nice catch, Michael! @HotSpotIntrinsicCandidate starts to pay off :-)

So, if a native method w/ an intrinsic is instrumented, it won't be 
intrinsified anymore. Looking into the code, it looks like it worked 
that way from the very beginning.

Filed an RFE:
   https://bugs.openjdk.java.net/browse/JDK-8176771

Do you have any problems when the JVM issues such warnings?

Best regards,
Vladimir Ivanov

> On 3/14/17 06:24, Michael Rasmussen wrote:
>> Hi
>>
>> If you set a native prefix using SetNativeMethodPrefix, in order to wrap
>> native methods. If those methods are annotated with
>> @HotSpotIntrinsicCandidate
>> you get a warning when running.
>>
>> For instance for Thread::isInterrupted:
>> Compiler intrinsic is defined for method
>> [java.lang.Thread.isInterrupted(Z)Z], but the method is not annotated
>> with
>> @HotSpotIntrinsicCandidate. Method will not be inlined.
>> Method [java.lang.Thread.$prefix$isInterrupted(Z)Z] is annotated with
>> @HotSpotIntrinsicCandidate, but no compiler intrinsic is defined for the
>> method.
>>
>> Shouldn't the native prefix be taken into account for this?
>>
>> Kind regards
>>
>> Michael Rasmussen
>> JRebel, ZeroTurnaround
>


More information about the serviceability-dev mailing list