[9] RFR(M): 8076112: Add @HotSpotIntrinsicCandidate annotation	to indicate methods for which Java Runtime has intrinsics
    joe darcy 
    joe.darcy at oracle.com
       
    Thu Jun 25 17:30:52 UTC 2015
    
    
  
Hi Zoltán,
The changes to the wrapper classes (java.lang.Integer, java.lang.Double, 
...), the Math and StrictMath libraries, and the new annotation type 
look fine.
Thanks,
-Joe
On 6/25/2015 4:49 AM, Zoltán Majó wrote:
> 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 core-libs-dev
mailing list