On May 22, 2014, at 1:34 AM, Vladimir Kozlov <vladimir.koz...@oracle.com> wrote:
> http://cr.openjdk.java.net/~kvn/8035974/webrev > https://bugs.openjdk.java.net/browse/JDK-8035974 > > Contributed by James Cheng and modified by me. > Looks good to me. Paul. > To use intrinsics to accelerate SHA operations on multiple blocks [1], it is > needed to pull a loop out of DigestBase.engineUpdate() and make a new method > implCompressMultiBlock() which contains only the loop and can be intrinsified. > > On platforms which does not use intrinsic implCompressMultiBlock() method > will be inlined by JIT and the same code will be generated as before. So no > performance regression with the pure Java SUN provider is expected. > > About arithmetic change. limit = ofs + len will not overflow integer because > ofs <= b.length - len (there is check). > > Tested with jdk jtreg tests and new hotspot jtreg test James wrote for > 8035968. > > Thanks, > Vladimir > > [1] https://bugs.openjdk.java.net/browse/JDK-8035968