mirror of
https://github.com/xemu-project/xemu.git
synced 2026-07-11 01:24:41 +02:00
accel/tcg: Improve buffer overflow in tb_gen_code
If we only have one vcpu, or within cpu_exec_step_atomic, we needn't jump all the way back out to the cpu loop to empty the code gen buffer. Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
@@ -289,6 +289,10 @@ TranslationBlock *tb_gen_code(CPUState *cpu, TCGTBCPUState s)
|
||||
tb = tcg_tb_alloc(tcg_ctx);
|
||||
if (unlikely(!tb)) {
|
||||
/* flush must be done */
|
||||
if (cpu_in_serial_context(cpu)) {
|
||||
tb_flush__exclusive_or_serial();
|
||||
goto buffer_overflow;
|
||||
}
|
||||
queue_tb_flush(cpu);
|
||||
mmap_unlock();
|
||||
/* Make the execution loop process the flush as soon as possible. */
|
||||
|
||||
Reference in New Issue
Block a user