Mercurial > hg > openjdk > jdk8u > hotspot
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);