diff src/cpu/x86/vm/stubGenerator_x86_32.cpp @ 8687:36fd5d1982b0

8130341: GHASH 32bit intrinsics has AEADBadTagException Reviewed-by: kvn, mcberg
author ascarpino
date Fri, 10 Jul 2015 11:31:49 -0700
parents ce0c612ea443
children a380403592b2
line wrap: on
line diff
--- a/src/cpu/x86/vm/stubGenerator_x86_32.cpp	Thu Jul 09 22:46:16 2015 -0700
+++ b/src/cpu/x86/vm/stubGenerator_x86_32.cpp	Fri Jul 10 11:31:49 2015 -0700
@@ -2780,6 +2780,7 @@
     const XMMRegister xmm_temp7 = xmm7;
 
     __ enter();
+    handleSOERegisters(true);  // Save registers
 
     __ movptr(state, state_param);
     __ movptr(subkeyH, subkeyH_param);
@@ -2883,6 +2884,7 @@
     __ pshufb(xmm_temp6, ExternalAddress(StubRoutines::x86::ghash_long_swap_mask_addr()));
     __ movdqu(Address(state, 0), xmm_temp6);   // store the result
 
+    handleSOERegisters(false);  // restore registers
     __ leave();
     __ ret(0);
     return start;