From: Aleksey Demakov Date: Tue, 24 Mar 2009 16:12:40 +0000 (+0000) Subject: use jit_reg_other_reg X-Git-Tag: before.move.to.git~23 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=dac7475729961594ab47ae4a9a6169b769c60749;p=francis%2Flibjit.git use jit_reg_other_reg --- diff --git a/ChangeLog b/ChangeLog index 830afec..259ec64 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,8 @@ * jit/jit-rules.h (jit_reg_other_reg): add macro. * jit/jit-reg-alloc.c: replace OTHER_REG with jit_reg_other_reg. * jit/jit-rules-x86.c (_jit_gen_load_value): use jit_reg_other_reg. + * jit/jit-rules-arm.c (_jit_gen_load_value) + (_jit_gen_load_value_struct): use jit_reg_other_reg. 2009-03-23 Aleksey Demakov diff --git a/jit/jit-rules-arm.c b/jit/jit-rules-arm.c index ee8cf89..2461f61 100644 --- a/jit/jit-rules-arm.c +++ b/jit/jit-rules-arm.c @@ -1093,13 +1093,12 @@ void _jit_gen_load_value if (!value->in_global_register) { /* Find the other register in a long pair */ - int reg=value->reg; - int other_reg; - get_reg_and_other_reg(gen, ®, &other_reg); - //Spill to the global register + int reg = value->reg; + int other_reg = jit_reg_other_reg(reg); + /* Spill to the global register */ _jit_gen_spill_reg(gen, reg, other_reg, value); value->in_global_register=1; - + /* A new instruction has probably been generated by _jit_gen_spill_reg: reload the inst pointer */ jit_gen_load_inst_ptr(gen, inst); } @@ -1117,12 +1116,11 @@ void _jit_gen_load_value if(value->in_register) { /* Find the other register in a long pair */ - int reg=value->reg; - int other_reg; - get_reg_and_other_reg(gen, ®, &other_reg); + int reg = value->reg; + int other_reg = jit_reg_other_reg(reg); _jit_gen_spill_reg(gen, reg, other_reg, value); value->in_frame=1; - + /* A new instruction has probably been generated by _jit_gen_spill_reg: reload the inst pointer */ jit_gen_load_inst_ptr(gen, inst); } @@ -1245,13 +1243,12 @@ void _jit_gen_load_value_struct (jit_gencode_t gen, int reg, jit_value_t value) if (!value->in_global_register) { /* Find the other register in a long pair */ - int reg=value->reg; - int other_reg; - get_reg_and_other_reg(gen, ®, &other_reg); - //Spill to the global register + int reg = value->reg; + int other_reg = jit_reg_other_reg(reg); + /* Spill to the global register */ _jit_gen_spill_reg(gen, reg, other_reg, value); value->in_global_register=1; - + /* A new instruction has probably been generated by _jit_gen_spill_reg: reload the inst pointer */ jit_gen_load_inst_ptr(gen, inst); } @@ -1269,12 +1266,11 @@ void _jit_gen_load_value_struct (jit_gencode_t gen, int reg, jit_value_t value) if(value->in_register) { /* Find the other register in a long pair */ - int reg=value->reg; - int other_reg; - get_reg_and_other_reg(gen, ®, &other_reg); + int reg = value->reg; + int other_reg = jit_reg_other_reg(reg); _jit_gen_spill_reg(gen, reg, other_reg, value); value->in_frame=1; - + /* A new instruction has probably been generated by _jit_gen_spill_reg: reload the inst pointer */ jit_gen_load_inst_ptr(gen, inst); }