RFR: 8296507: GCM using more memory than necessary with in-place operations [v2]
Valerie Peng
valeriep at openjdk.org
Thu Dec 1 20:53:01 UTC 2022
On Thu, 1 Dec 2022 04:10:32 GMT, Anthony Scarpino <ascarpino at openjdk.org> wrote:
>> src/java.base/share/classes/com/sun/crypto/provider/GaloisCounterMode.java line 778:
>>
>>> 776: gctr, ghash);
>>> 777: } else {
>>> 778: int ofs = src.arrayOffset() + src.position();
>>
>> Isn't this also used on line 774? Why not move this up and directly refer to it for both places?
>
> The line 774 case only uses the calculated value once. I'm avoiding the unnecessary store & load operations when it is set the value to a variable. I see it when I run javap -c to view the bytecode. It's purely an optimization for performance. I do set it to the variable in the line 778 case because calculating the value twice is probably more expensive than once with the store & load operations.
I see.
-------------
PR: https://git.openjdk.org/jdk/pull/11121
More information about the security-dev
mailing list