@HotSpotIntrinsicCandidate and native prefixes (original) (raw)

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 hotspot-dev mailing list