diff mbox

[PULL] tci: Fix tcg_out_call

Message ID 1400867959-10747-2-git-send-email-rth@twiddle.net
State New
Headers show

Commit Message

Richard Henderson May 23, 2014, 5:59 p.m. UTC
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 | 3 +++
 1 file changed, 3 insertions(+)
diff mbox

Patch

diff --git a/tcg/tci/tcg-target.c b/tcg/tci/tcg-target.c
index 9b39231..375e590 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,