changeset 54534:66f5241da404

8222397: x86_32 tests with UseSHA1Intrinsics SEGV due to garbled registers Reviewed-by: kvn, dsamersoff
author shade
date Mon, 15 Apr 2019 18:22:10 +0200
parents 9219624244a6
children 377dcf569920
files src/hotspot/cpu/x86/stubGenerator_x86_32.cpp
diffstat 1 files changed, 3 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/hotspot/cpu/x86/stubGenerator_x86_32.cpp	Mon Apr 15 18:22:08 2019 +0200
+++ b/src/hotspot/cpu/x86/stubGenerator_x86_32.cpp	Mon Apr 15 18:22:10 2019 +0200
@@ -2968,9 +2968,8 @@
 
     __ enter();
     __ subptr(rsp, 8 * wordSize);
-    if (multi_block) {
-      __ push(limit);
-    }
+    handleSOERegisters(true /*saving*/);
+
     __ movptr(buf, buf_param);
     __ movptr(state, state_param);
     if (multi_block) {
@@ -2981,9 +2980,7 @@
     __ fast_sha1(abcd, e0, e1, msg0, msg1, msg2, msg3, shuf_mask,
       buf, state, ofs, limit, rsp, multi_block);
 
-    if (multi_block) {
-      __ pop(limit);
-    }
+    handleSOERegisters(false /*restoring*/);
     __ addptr(rsp, 8 * wordSize);
     __ leave();
     __ ret(0);