RFR: 8294821: Class load improvement for AES crypto engine [v2]

Valerie Peng valeriep at openjdk.org
Mon Oct 10 18:23:52 UTC 2022


On Mon, 10 Oct 2022 17:43:52 GMT, Xue-Lei Andrew Fan <xuelei at openjdk.org> wrote:

>> 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
>
> Xue-Lei Andrew Fan has updated the pull request incrementally with one additional commit since the last revision:
> 
>   add back final keyword and comments about where the tables are from

Look good. Thanks for the patch~

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

Marked as reviewed by valeriep (Reviewer).

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


More information about the security-dev mailing list