Correct logic error with jit_live in jit_retr - lightning.git - Portable just-in-time compiler library

index : lightning.git
Portable just-in-time compiler library
summary refs log tree commit diff
path: root/lib/jit_aarch64.c
diff options
context:
space:
mode:
authorPaulo Andrade <pcpa@gnu.org>2018年02月22日 13:05:04 -0300
committerPaulo Andrade <pcpa@gnu.org>2018年02月22日 13:05:04 -0300
commit2cf092efe4d8333b4e5d1eecbda246ca7683f3b4 (patch)
tree0a898db14833c4721fe177c65a8d88d33e6fe2bd /lib/jit_aarch64.c
parent59f32e85c3c9df698d244f41ff56d3b3e4ecb0d8 (diff)
downloadlightning-2cf092efe4d8333b4e5d1eecbda246ca7683f3b4.tar.gz
Correct logic error with jit_live in jit_retr
* lib/jit_aarch64.c, lib/jit_alpha.c, lib/jit_arm.c, lib/jit_mips.c, lib/jit_ppc.c, lib/jit_sparc.c, lib/jit_x86.c: Correct wrong logic in usage of jit_live in jit_retr. The problem is that if a temporary is required during epilog, the return register might be allocated, so, jit_live must always be used.
Diffstat (limited to 'lib/jit_aarch64.c')
-rw-r--r--lib/jit_aarch64.c 3
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/jit_aarch64.c b/lib/jit_aarch64.c
index 6770f31..c1fb11d 100644
--- a/lib/jit_aarch64.c
+++ b/lib/jit_aarch64.c
@@ -263,8 +263,7 @@ _jit_retr(jit_state_t *_jit, jit_int32_t u)
jit_inc_synth_w(retr, u);
if (JIT_RET != u)
jit_movr(JIT_RET, u);
- else
- jit_live(JIT_RET);
+ jit_live(JIT_RET);
jit_ret();
jit_dec_synth();
}
generated by cgit v1.2.3 (git 2.39.1) at 2025年09月30日 09:06:07 +0000

AltStyle によって変換されたページ (->オリジナル) /