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

Reply via email to