JDK 9 RFR of JDK-8132855: Adjust tier 1 and 2 definitions for security-related intrinsics

joe darcy joe.darcy at oracle.com
Tue Aug 4 19:16:19 UTC 2015


Hello,

As a complement to JDK-8132854: Adjust tier 1 and 2 definitions for 
nio-related intrinsics, with the fix for

         JDK-8076112: Add @HotSpotIntrinsicCandidate annotation to 
indicate methods for which Java Runtime has intrinsics

the sources for the libraries clearly indicate which methods might have 
intrinsic support in HotSpot, that is, which methods might have their 
Java source implementation replaced by some other code sequence 
maintained in HotSpot, such as a special-purpose processor-specific 
instruction. To ease testing, it would be helpful if all the 
intrinsified methods were included in the tier 1 test group. Most of the 
intrinics are in java.lang, java.math, and java.util, packages whose 
tests are already in tier 1.

Several security libraries are marked with @HotSpotIntrinsicCandidate 
including:

./java.base/share/classes/com/sun/crypto/provider/GHASH.java # internal 
processBlocks method to ghash
./java.base/share/classes/com/sun/crypto/provider/AESCrypt.java # 
implEncryptBlock, implDecryptBlock
./java.base/share/classes/com/sun/crypto/provider/CipherBlockChaining.java 
# implEncrypt, implDecrypt

The tests for those libraries seem to be included in the security2 test 
group which is part of tier 2. I propose to move the tests for that 
functionality to tier 1:

diff -r 9bce83952890 test/TEST.groups
--- a/test/TEST.groups    Tue Aug 04 11:26:51 2015 -0700
+++ b/test/TEST.groups    Tue Aug 04 12:09:59 2015 -0700
@@ -30,6 +30,7 @@
      :jdk_util \
      sun/nio/cs/ISO8859x.java \
      java/nio/Buffer \
+    com/sun/crypto/provider/Cipher \
      :jdk_math

  tier2 = \
@@ -40,6 +41,7 @@
      :jdk_net \
      :jdk_time \
      :jdk_security \
+    -com/sun/crypto/provider/Cipher \
      :jdk_text \
      :core_tools \
      :jdk_other \

There are several others security libs intrinsics too:

./java.base/share/classes/sun/security/provider/SHA5.java # implCompress0
./java.base/share/classes/sun/security/provider/DigestBase.java # 
implCompressMultiBlock0
./java.base/share/classes/sun/security/provider/SHA.java # implCompress0
./java.base/share/classes/sun/security/provider/SHA2.java # implCompress0

However, it was not immediately clear to me where the tests for that 
functionality reside. Assuming they can be identified, I would like to 
move those tests to tier 1 as well.

Thanks,

-Joe



More information about the security-dev mailing list