RFR: 8294821: Class load improvement for AES crypto engine

Xue-Lei Andrew Fan xuelei at openjdk.org
Wed Oct 5 17:21:57 UTC 2022


Hi,

May I have the code clean up reviewed?
 
There is a lot of computation in AESCrypt class load, which could be avoid by using the computation result directly. The computation takes 6.971875 milliseconds in a MacOS M1 laptop. Although it is a one-time computation, but removing the computation could speed up java/jvm loading time by 6.971875 milliseconds without extra memory cost. 

Actually, because the computation result are used directly, the methods that supports the computation are no longer needed and the related static arrays are no longer needed.  This is the extra benefits to use the computation result directly, rather than computing on class initialization.

This patch does not change the logic except removing the pre-computation code and initializing the tables with the pre-computed result explicitly.  The existing regression and inter-op tests should be sufficient to ensure that the tables are correctly copied from the dumping of the old computation code results.

Except that, I also cleaned up some code warnings from the IDE I used.

Thanks,
Xuelei

-------------

Commit messages:
 - update rcon
 - 8294821: Class load improvement for AES crypto engine

Changes: https://git.openjdk.org/jdk/pull/10568/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=10568&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8294821
  Stats: 1164 lines in 1 file changed: 952 ins; 203 del; 9 mod
  Patch: https://git.openjdk.org/jdk/pull/10568.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/10568/head:pull/10568

PR: https://git.openjdk.org/jdk/pull/10568



More information about the security-dev mailing list