]> git.unchartedbackwaters.co.uk Git - francis/libjit.git/commitdiff
Fix a bug with outgoing registers.
authorKlaus Treichel <ktreichel@web.de>
Sun, 4 May 2008 15:06:33 +0000 (15:06 +0000)
committerKlaus Treichel <ktreichel@web.de>
Sun, 4 May 2008 15:06:33 +0000 (15:06 +0000)
ChangeLog
jit/jit-reg-alloc.c

index 4ac7b9ab4a2d3b544deac4b2814cf0a26946bb75..e57dfda3872e091ca8b7c4c504fcfb6c2aeab48c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-05-04  Klaus Treichel  <ktreichel@web.de>
+
+       * 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  <ademakov@gmail.com>
 
        * configure.in: update to modern autoconf, rename to configure.ac.
index 0eedf712b86b04325aa96a2ded569f71d2a4687d..d153f5d85c5772ed952746dc6278f3a83822ed47 100644 (file)
@@ -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);
        }
 }