@@ -4138,6 +4138,7 @@ class StubGenerator: public StubCodeGenerator {
41384138 const Register len = c_rarg3; // src len (must be multiple of blocksize 16)
41394139 __ enter (); // required for proper stackwalking of RuntimeStub frame
41404140 __ aesecb_encrypt (from, to, key, len);
4141+ __ vzeroupper ();
41414142 __ leave (); // required for proper stackwalking of RuntimeStub frame
41424143 __ ret (0 );
41434144 return start;
@@ -4153,6 +4154,7 @@ class StubGenerator: public StubCodeGenerator {
41534154 const Register len = c_rarg3; // src len (must be multiple of blocksize 16)
41544155 __ enter (); // required for proper stackwalking of RuntimeStub frame
41554156 __ aesecb_decrypt (from, to, key, len);
4157+ __ vzeroupper ();
41564158 __ leave (); // required for proper stackwalking of RuntimeStub frame
41574159 __ ret (0 );
41584160 return start;
@@ -4452,6 +4454,7 @@ class StubGenerator: public StubCodeGenerator {
44524454 __ movptr (avx512_subkeyHtbl, rsp);
44534455
44544456 __ aesgcm_encrypt (in, len, ct, out, key, state, subkeyHtbl, avx512_subkeyHtbl, counter);
4457+ __ vzeroupper ();
44554458
44564459 __ movq (rsp, rbp);
44574460 __ pop (rbp);
@@ -4571,6 +4574,7 @@ class StubGenerator: public StubCodeGenerator {
45714574#endif
45724575 __ push (rbx);
45734576 __ aesctr_encrypt (from, to, key, counter, len_reg, used, used_addr, saved_encCounter_start);
4577+ __ vzeroupper ();
45744578 // Restore state before leaving routine
45754579 __ pop (rbx);
45764580#ifdef _WIN64
@@ -5191,6 +5195,7 @@ address generate_cipherBlockChaining_decryptVectorAESCrypt() {
51915195 __ evpxorq (RK14, RK14, RK14, Assembler::AVX_512bit);
51925196
51935197 __ BIND (Lcbc_exit);
5198+ __ vzeroupper ();
51945199 __ pop (rbx);
51955200#ifdef _WIN64
51965201 __ movl (rax, len_mem);
@@ -7066,6 +7071,7 @@ address generate_avx_ghash_processBlocks() {
70667071 __ shrdl (tmp4, tmp3);
70677072 __ movl (Address (newArr, nIdx, Address::times_4), tmp4);
70687073 __ BIND (Exit);
7074+ __ vzeroupper ();
70697075 // Restore callee save registers.
70707076 __ pop (tmp5);
70717077#ifdef _WINDOWS
@@ -7187,6 +7193,7 @@ address generate_avx_ghash_processBlocks() {
71877193 __ movl (Address (newArr, idx, Address::times_4), tmp3);
71887194
71897195 __ BIND (Exit);
7196+ __ vzeroupper ();
71907197 // Restore callee save registers.
71917198 __ pop (tmp5);
71927199#ifdef _WINDOWS
0 commit comments