aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2014-05-22 13:25:34 -0700
committerRichard Henderson <rth@twiddle.net>2014-05-22 13:25:34 -0700
commita3abb29292dccd5681beb16f610b2b838eec2174 (patch)
tree2c7db66b748c97928642ffa0a3697e378d65cf34
parent5118dc5975e6aa2e823961e15b162919f94721cc (diff)
tci: Fix tcg_out_call
Broken since dddbb2e1e3f8137d7e3f1faf9758c66cca0c94ea. Do all the rest of the things that tcg_out_op did before and after the big switch statement. Signed-off-by: Richard Henderson <rth@twiddle.net>
-rw-r--r--tcg/tci/tcg-target.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/tcg/tci/tcg-target.c b/tcg/tci/tcg-target.c
index 9b39231c15..375e590d2b 100644
--- a/tcg/tci/tcg-target.c
+++ b/tcg/tci/tcg-target.c
@@ -544,7 +544,10 @@ static void tcg_out_movi(TCGContext *s, TCGType type,
static inline void tcg_out_call(TCGContext *s, tcg_insn_unit *arg)
{
+ uint8_t *old_code_ptr = s->code_ptr;
+ tcg_out_op_t(s, INDEX_op_call);
tcg_out_ri(s, 1, (uintptr_t)arg);
+ old_code_ptr[1] = s->code_ptr - old_code_ptr;
}
static void tcg_out_op(TCGContext *s, TCGOpcode opc, const TCGArg *args,