diff --git a/qemu/tcg/tcg.c b/qemu/tcg/tcg.c index 567e9f33..0afd3dfe 100644 --- a/qemu/tcg/tcg.c +++ b/qemu/tcg/tcg.c @@ -2379,7 +2379,7 @@ static void dump_op_count(void) #endif -int tcg_gen_code(TCGContext *s, tcg_insn_unit *gen_code_buf) +int tcg_gen_code(TCGContext *s, TranslationBlock *tb) { int i, oi, oi_next, num_insns; @@ -2438,8 +2438,8 @@ int tcg_gen_code(TCGContext *s, tcg_insn_unit *gen_code_buf) tcg_reg_alloc_start(s); - s->code_buf = gen_code_buf; - s->code_ptr = gen_code_buf; + s->code_buf = tb->tc_ptr; + s->code_ptr = tb->tc_ptr; tcg_out_tb_init(s); diff --git a/qemu/tcg/tcg.h b/qemu/tcg/tcg.h index 91b7b323..ee1b49e5 100644 --- a/qemu/tcg/tcg.h +++ b/qemu/tcg/tcg.h @@ -515,7 +515,7 @@ void tcg_context_free(void *s); // free memory allocated for @s void tcg_prologue_init(TCGContext *s); void tcg_func_start(TCGContext *s); -int tcg_gen_code(TCGContext *s, tcg_insn_unit *gen_code_buf); +int tcg_gen_code(TCGContext *s, TranslationBlock *tb); void tcg_set_frame(TCGContext *s, TCGReg reg, intptr_t start, intptr_t size); diff --git a/qemu/translate-all.c b/qemu/translate-all.c index b550cb21..5165f1fe 100644 --- a/qemu/translate-all.c +++ b/qemu/translate-all.c @@ -1236,7 +1236,7 @@ TranslationBlock *tb_gen_code(CPUState *cpu, the tcg optimization currently hidden inside tcg_gen_code. All that should be required is to flush the TBs, allocate a new TB, re-initialize it per above, and re-do the actual code generation. */ - gen_code_size = tcg_gen_code(tcg_ctx, gen_code_buf); + gen_code_size = tcg_gen_code(tcg_ctx, tb); if (unlikely(gen_code_size < 0)) { goto buffer_overflow; }