+2006-11-01 Aleksey Demakov <ademakov@gmail.com>
+
+ * jit/jit-reg-alloc.c (commit_input_value, commit_output_value):
+ do not increment/decrement the top of the register stack in case of
+ fp-value coalescing.
+
2006-10-23 Aleksey Demakov <ademakov@gmail.com>
* jit/jit-rules-x86.ins: JIT_OP_EXPAND_INT and JIT_OP_EXPAND_UINT
* jit/jit-reg-alloc.h, jit/jit-reg-alloc.c:
* tools/gen-rules-parser.y: add _JIT_REGS_CLOBBER_STACK flag and use
- it in the code genearted for "only" rules instead of the explicit
+ it in the code generated for "only" rules instead of the explicit
stack top check followed by the _jit_regs_spill_all() call.
2006-09-02 Aleksey Demakov <ademakov@gmail.com>
}
putc('\n', stdout);
}
+#ifdef JIT_REG_STACK
+ printf("stack_top: %d\n", gen->reg_stack_top);
+#endif
+ fflush(stdout);
}
#endif
if(desc->copy)
{
#ifdef JIT_REG_STACK
- if(IS_STACK_REG(desc->reg))
+ if(IS_STACK_REG(desc->reg) && !regs->copy)
{
--(gen->reg_stack_top);
}
}
unbind_value(gen, desc->value, reg, other_reg);
#ifdef JIT_REG_STACK
- if(IS_STACK_REG(reg))
+ if(IS_STACK_REG(reg) && !regs->copy)
{
--(gen->reg_stack_top);
}
}
#ifdef JIT_REG_STACK
- if(IS_STACK_REG(desc->reg))
+ if(IS_STACK_REG(desc->reg) && !regs->copy)
{
++(gen->reg_stack_top);
}