Commit b17a6d33 authored by Richard Henderson's avatar Richard Henderson
Browse files

tcg: Increase the highwater reservation



If there are a lot of guest memory ops in the TB, the amount of
code generated by tcg_out_tb_finalize could be well more than 1k.
In the short term, increase the reservation larger than any TB
seen in practice.

Reported-by: default avatarAurelien Jarno <aurelien@aurel32.net>
Reviewed-by: default avatarAurelien Jarno <aurelien@aurel32.net>
Tested-by: default avatarAurelien Jarno <aurelien@aurel32.net>
Signed-off-by: default avatarRichard Henderson <rth@twiddle.net>
parent a2485925
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -388,7 +388,11 @@ void tcg_prologue_init(TCGContext *s)
    /* Compute a high-water mark, at which we voluntarily flush the buffer
       and start over.  The size here is arbitrary, significantly larger
       than we expect the code generation for any one opcode to require.  */
    s->code_gen_highwater = s->code_gen_buffer + (total_size - 1024);
    /* ??? We currently have no good estimate for, or checks in,
       tcg_out_tb_finalize.  If there are quite a lot of guest memory ops,
       the number of out-of-line fragments could be quite high.  In the
       short-term, increase the highwater buffer.  */
    s->code_gen_highwater = s->code_gen_buffer + (total_size - 64*1024);

    tcg_register_jit(s->code_gen_buffer, total_size);