[9] RFR(M): 8076112: Add @HotSpotIntrinsicCandidate annotation to indicate methods for which Java Runtime has intrinsics

Zoltán Majó zoltan.majo at oracle.com
Thu Jun 25 11:49:17 UTC 2015


Hi,


please review the patch for JDK-8076112.

Bug: https://bugs.openjdk.java.net/browse/JDK-8076112

Problem: There is need to indicate Java methods that are potentially 
intrinsified by JVM.

Solution: Mark intrinsified methods with the 
jdk.internal.HotSpotIntrinsicCandidate annotation. Add checks that are 
omitted by VM-level intrinsics to the library code. Add a new diagnostic 
flag, CheckIntrinsics. If CheckIntrinsics is enabled, the VM performs 
the following checks when a class C is loaded:
- all intrinsics defined by the VM for class C are present in the loaded 
class file and are marked;
- an intrinsic is defined by the VM for all marked methods of C.

If a mismatch is detected, the following is done:
- a fastdebug VM prints a warning and then exits;
- a product VM prints a warning and unmarked are not intrinsified.

Webrev:
- top: http://cr.openjdk.java.net/~zmajo/8076112/top/webrev.05/
- jdk: http://cr.openjdk.java.net/~zmajo/8076112/jdk/webrev.05/
- hotspot: http://cr.openjdk.java.net/~zmajo/8076112/hotspot/webrev.05/

Testing:
- JPRT run with the 'hotspot' testset, all tests pass;
- all JTREG hotspot tests, all tests pass that pass with a VM version 
that does not include the patch; all tests were run with 
-XX:+CheckIntrinsics.

Thank you and best regards,


Zoltan



More information about the jdk9-dev mailing list