+2004-09-06 Rhys Weatherley <rweather@southern-storm.com.au>
+
+ * jit/jit-rules-interp.c: the pointer value for indirect and vtable
+ calls was being pushed onto the stack twice.
+
2004-09-05 Norbert Bollow <nb@SoftwareEconomics.biz>
* samples/hellovm.c: add a sample program that demonstrates a
case JIT_OP_CALL_INDIRECT:
{
/* Call a function, whose pointer is supplied on the stack */
- reg = _jit_regs_load_to_top(gen, insn->value1, 0, 0);
jit_cache_opcode(&(gen->posn), insn->opcode);
jit_cache_native(&(gen->posn), (jit_nint)(insn->value2));
jit_cache_native(&(gen->posn), (jit_nint)
(jit_type_num_params((jit_type_t)(insn->value2))));
- _jit_regs_free_reg(gen, reg, 1);
adjust_working(gen, -1);
}
break;
case JIT_OP_CALL_VTABLE_PTR:
{
/* Call a function, whose vtable pointer is supplied on the stack */
- reg = _jit_regs_load_to_top(gen, insn->value1, 0, 0);
jit_cache_opcode(&(gen->posn), insn->opcode);
- _jit_regs_free_reg(gen, reg, 1);
adjust_working(gen, -1);
}
break;