changeset 9410:7a2656f7eddd

8259619: C1: 3-arg StubAssembler::call_RT stack-use condition is incorrect Reviewed-by: chagedorn, kvn
author shade
date Wed, 03 Mar 2021 15:25:24 +0800
parents a5795acea814
children e0edc959a433
files src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp src/cpu/x86/vm/c1_Runtime1_x86.cpp
diffstat 2 files changed, 4 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp	Mon Mar 01 20:02:58 2021 +0000
+++ b/src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp	Wed Mar 03 15:25:24 2021 +0800
@@ -143,8 +143,8 @@
 int StubAssembler::call_RT(Register oop_result1, Register metadata_result, address entry, Register arg1, Register arg2, Register arg3) {
   // if there is any conflict use the stack
   if (arg1 == c_rarg2 || arg1 == c_rarg3 ||
-      arg2 == c_rarg1 || arg1 == c_rarg3 ||
-      arg3 == c_rarg1 || arg1 == c_rarg2) {
+      arg2 == c_rarg1 || arg2 == c_rarg3 ||
+      arg3 == c_rarg1 || arg3 == c_rarg2) {
     stp(arg3, arg2, Address(pre(sp, 2 * wordSize)));
     stp(arg1, zr, Address(pre(sp, -2 * wordSize)));
     ldp(c_rarg1, zr, Address(post(sp, 2 * wordSize)));
--- a/src/cpu/x86/vm/c1_Runtime1_x86.cpp	Mon Mar 01 20:02:58 2021 +0000
+++ b/src/cpu/x86/vm/c1_Runtime1_x86.cpp	Wed Mar 03 15:25:24 2021 +0800
@@ -172,8 +172,8 @@
 #ifdef _LP64
   // if there is any conflict use the stack
   if (arg1 == c_rarg2 || arg1 == c_rarg3 ||
-      arg2 == c_rarg1 || arg1 == c_rarg3 ||
-      arg3 == c_rarg1 || arg1 == c_rarg2) {
+      arg2 == c_rarg1 || arg2 == c_rarg3 ||
+      arg3 == c_rarg1 || arg3 == c_rarg2) {
     push(arg3);
     push(arg2);
     push(arg1);