From: Rhys Weatherley Date: Thu, 12 Aug 2004 00:53:50 +0000 (+0000) Subject: Account for the extra value that is added to the stack by the X-Git-Tag: r.0.0.6~46 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=57ada6112e7963c2c140306355a6a9e553291557;p=francis%2Flibjit.git Account for the extra value that is added to the stack by the "push_return_area_ptr" instruction. --- diff --git a/ChangeLog b/ChangeLog index 514252f..50fa4d2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,9 @@ +2004-08-12 Rhys Weatherley + + * jit/jit-rules-interp.c: account for the extra value that is + added to the stack by the "push_return_area_ptr" instruction. + 2004-08-08 Rhys Weatherley * configure.in, NEWS: update version for the "0.0.4" release. diff --git a/jit/jit-rules-interp.c b/jit/jit-rules-interp.c index 6242247..a5212e3 100644 --- a/jit/jit-rules-interp.c +++ b/jit/jit-rules-interp.c @@ -1142,6 +1142,7 @@ void _jit_gen_insn(jit_gencode_t gen, jit_function_t func, (jit_type_get_return((jit_type_t)(insn->value2)))) { jit_cache_opcode(&(gen->posn), JIT_OP_PUSH_RETURN_AREA_PTR); + ++(gen->max_working_area); /* Account for extra value */ } reg = _jit_regs_load_to_top(gen, insn->value1, 0, 0); jit_cache_opcode(&(gen->posn), insn->opcode); @@ -1170,6 +1171,7 @@ void _jit_gen_insn(jit_gencode_t gen, jit_function_t func, (jit_type_get_return((jit_type_t)(insn->value2)))) { jit_cache_opcode(&(gen->posn), JIT_OP_PUSH_RETURN_AREA_PTR); + ++(gen->max_working_area); /* Account for extra value */ } jit_cache_opcode(&(gen->posn), insn->opcode); jit_cache_native(&(gen->posn), (jit_nint)(insn->value2));