diff options
author | Richard Henderson | 2019-04-16 08:54:54 +0200 |
---|---|---|
committer | Richard Henderson | 2019-04-24 22:04:33 +0200 |
commit | 8b86d6d25807e13a63ab6ea879f976b9f18cc45a (patch) | |
tree | f29fd7599e756b459c2fca9af822a6c151fe4ea5 /target/mips/translate.c | |
parent | tcg/aarch64: Support INDEX_op_extract2_{i32,i64} (diff) | |
download | qemu-8b86d6d25807e13a63ab6ea879f976b9f18cc45a.tar.gz qemu-8b86d6d25807e13a63ab6ea879f976b9f18cc45a.tar.xz qemu-8b86d6d25807e13a63ab6ea879f976b9f18cc45a.zip |
tcg: Hoist max_insns computation to tb_gen_code
In order to handle TB's that translate to too much code, we
need to place the control of the length of the translation
in the hands of the code gen master loop.
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'target/mips/translate.c')
-rw-r--r-- | target/mips/translate.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/target/mips/translate.c b/target/mips/translate.c index 7849d53977..f96c0d01ef 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -29721,11 +29721,11 @@ static const TranslatorOps mips_tr_ops = { .disas_log = mips_tr_disas_log, }; -void gen_intermediate_code(CPUState *cs, struct TranslationBlock *tb) +void gen_intermediate_code(CPUState *cs, TranslationBlock *tb, int max_insns) { DisasContext ctx; - translator_loop(&mips_tr_ops, &ctx.base, cs, tb); + translator_loop(&mips_tr_ops, &ctx.base, cs, tb, max_insns); } static void fpu_dump_state(CPUMIPSState *env, FILE *f, int flags) |