From: Klaus Treichel Date: Sun, 4 May 2008 15:06:33 +0000 (+0000) Subject: Fix a bug with outgoing registers. X-Git-Tag: before.move.to.git~80 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=14049cb2c98269d9e5af439dcddceaba8ebddb1f;p=francis%2Flibjit.git Fix a bug with outgoing registers. --- diff --git a/ChangeLog b/ChangeLog index 4ac7b9a..e57dfda 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-05-04 Klaus Treichel + + * jit/jit-reg-alloc.c (_jit_regs_set_outgoing): Set the outgoing + register inhibited regardless if the value was already in the + register or not. + 2008-04-22 Aleksey Demakov * configure.in: update to modern autoconf, rename to configure.ac. diff --git a/jit/jit-reg-alloc.c b/jit/jit-reg-alloc.c index 0eedf71..d153f5d 100644 --- a/jit/jit-reg-alloc.c +++ b/jit/jit-reg-alloc.c @@ -3017,12 +3017,11 @@ _jit_regs_set_outgoing(jit_gencode_t gen, int reg, jit_value_t value) } _jit_gen_load_value(gen, reg, other_reg, value); - - jit_reg_set_used(gen->inhibit, reg); - if(other_reg > 0) - { - jit_reg_set_used(gen->inhibit, other_reg); - } + } + jit_reg_set_used(gen->inhibit, reg); + if(other_reg >= 0) + { + jit_reg_set_used(gen->inhibit, other_reg); } }