From ddd7a7550bb3be79b877d62c3028abe6462da976 Mon Sep 17 00:00:00 2001 From: pcpa Date: Sun, 26 Oct 2014 15:23:29 -0200 Subject: [PATCH] x86: Correct not released temporary register * lib/jit_x86-cpu.c: Correct a register allocation leak in _bmsi and _bmci. --- ChangeLog | 5 +++++ lib/jit_x86-cpu.c | 2 ++ 2 files changed, 7 insertions(+) diff --git a/ChangeLog b/ChangeLog index 2058deff2..3b4b0fc2f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2014-10-26 Paulo Andrade + + * lib/jit_x86-cpu.c: Correct a register allocation leak in + _bmsi and _bmci. + 2014-10-25 Paulo Andrade * lib/jit_disasm.c: Do not cause an fatal error if init_jit diff --git a/lib/jit_x86-cpu.c b/lib/jit_x86-cpu.c index 2e284f917..80d5b4084 100644 --- a/lib/jit_x86-cpu.c +++ b/lib/jit_x86-cpu.c @@ -3069,6 +3069,7 @@ _bmsi(jit_state_t *_jit, jit_word_t i0, jit_int32_t r0, jit_word_t i1) reg = jit_get_reg(jit_class_gpr); movi(rn(reg), i1); testr(r0, rn(reg)); + jit_unget_reg(reg); } jnz(i0); return (_jit->pc.w); @@ -3092,6 +3093,7 @@ _bmci(jit_state_t *_jit, jit_word_t i0, jit_int32_t r0, jit_word_t i1) reg = jit_get_reg(jit_class_gpr); movi(rn(reg), i1); testr(r0, rn(reg)); + jit_unget_reg(reg); } jz(i0); return (_jit->pc.w);