]> git.unchartedbackwaters.co.uk Git - francis/libjit.git/commitdiff
Set in_global_register on global register assignment so that the value
authorKlaus Treichel <ktreichel@web.de>
Sun, 24 Oct 2010 09:00:21 +0000 (11:00 +0200)
committerKlaus Treichel <ktreichel@web.de>
Sun, 24 Oct 2010 09:00:21 +0000 (11:00 +0200)
is expected to be in the global register in blocks before any assignment
to the value occurred to handle back branches correctly.

ChangeLog
jit/jit-reg-alloc.c

index 9614015eeb60bb34564f322d8b040d6ed88c73bf..fbd4148a3946b49055b8b0cbefeed6a9e06c6666 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2010-10-24  Klaus Treichel  <ktreichel@web.de>
+
+       * jit/jit-reg-alloc.c (_jit_regs_alloc_global): Set in_global_register
+       on global register assignment.
+
 2010-10-04  Klaus Treichel  <ktreichel@web.de>
 
        * jit/jit-internal.h: Add missing typedef in the declaration of the
index 21798c61bfd6a06f95722a08544a01f662b54c23..b7eeafe84a68654cf44ea7c4288cc0131ee205cc 100644 (file)
@@ -2746,6 +2746,7 @@ void _jit_regs_alloc_global(jit_gencode_t gen, jit_function_t func)
                        --reg;
                }
                candidates[index]->has_global_register = 1;
+               candidates[index]->in_global_register = 1;
                candidates[index]->global_reg = (short)reg;
                jit_reg_set_used(gen->touched, reg);
                jit_reg_set_used(gen->permanent, reg);