mirror of https://github.com/xemu-project/xemu.git
tcg: Reset data_gen_ptr correctly
This pointer needs to be reset after overflow just like
code_buf and code_ptr.
Cc: qemu-stable@nongnu.org
Fixes: 57a269469d
("tcg: Infrastructure for managing constant pools")
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Reviewed-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
6f625ce2f2
commit
a7cfd751fb
|
@ -1399,7 +1399,6 @@ TranslationBlock *tcg_tb_alloc(TCGContext *s)
|
||||||
goto retry;
|
goto retry;
|
||||||
}
|
}
|
||||||
qatomic_set(&s->code_gen_ptr, next);
|
qatomic_set(&s->code_gen_ptr, next);
|
||||||
s->data_gen_ptr = NULL;
|
|
||||||
return tb;
|
return tb;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6172,6 +6171,7 @@ int tcg_gen_code(TCGContext *s, TranslationBlock *tb, uint64_t pc_start)
|
||||||
*/
|
*/
|
||||||
s->code_buf = tcg_splitwx_to_rw(tb->tc.ptr);
|
s->code_buf = tcg_splitwx_to_rw(tb->tc.ptr);
|
||||||
s->code_ptr = s->code_buf;
|
s->code_ptr = s->code_buf;
|
||||||
|
s->data_gen_ptr = NULL;
|
||||||
|
|
||||||
#ifdef TCG_TARGET_NEED_LDST_LABELS
|
#ifdef TCG_TARGET_NEED_LDST_LABELS
|
||||||
QSIMPLEQ_INIT(&s->ldst_labels);
|
QSIMPLEQ_INIT(&s->ldst_labels);
|
||||||
|
|
Loading…
Reference in New Issue