wingo pushed a commit to branch lightning
in repository guile.
commit ddd7a7550bb3be79b877d62c3028abe6462da976
Author: pcpa <[email protected]>
Date: Sun Oct 26 15:23:29 2014 -0200
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 2058def..3b4b0fc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-10-26 Paulo Andrade <[email protected]>
+
+ * lib/jit_x86-cpu.c: Correct a register allocation leak in
+ _bmsi and _bmci.
+
2014-10-25 Paulo Andrade <[email protected]>
* 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 2e284f9..80d5b40 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);