]> rtime.felk.cvut.cz Git - lisovros/qemu_apohw.git/commitdiff
tci: Fix tcg_out_call
authorRichard Henderson <rth@twiddle.net>
Thu, 22 May 2014 20:25:34 +0000 (13:25 -0700)
committerRichard Henderson <rth@twiddle.net>
Thu, 22 May 2014 20:25:34 +0000 (13:25 -0700)
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>
tcg/tci/tcg-target.c

index 9b39231c152a8b1ed857e23847451ad69776aac3..375e590d2bfde05096acbadfa634e49883c5378c 100644 (file)
@@ -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,