From: Klaus Treichel Date: Sun, 24 Oct 2010 09:00:21 +0000 (+0200) Subject: Set in_global_register on global register assignment so that the value X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=7e49ebd64684dd4360b6b5ecc9f6d8b7397d6ded;p=francis%2Flibjit.git Set in_global_register on global register assignment so that the value is expected to be in the global register in blocks before any assignment to the value occurred to handle back branches correctly. --- diff --git a/ChangeLog b/ChangeLog index 9614015..fbd4148 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2010-10-24 Klaus Treichel + + * jit/jit-reg-alloc.c (_jit_regs_alloc_global): Set in_global_register + on global register assignment. + 2010-10-04 Klaus Treichel * jit/jit-internal.h: Add missing typedef in the declaration of the diff --git a/jit/jit-reg-alloc.c b/jit/jit-reg-alloc.c index 21798c6..b7eeafe 100644 --- a/jit/jit-reg-alloc.c +++ b/jit/jit-reg-alloc.c @@ -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);