cpu-exec: fix cpu_exec_nocache
commitb4ac20b4df0d1eaa5d546ccb84751e3e97d257fd
authorPavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
Wed, 26 Nov 2014 10:38:52 +0000 (26 13:38 +0300)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 15 Dec 2014 11:21:02 +0000 (15 12:21 +0100)
treed49514b63bb0722ca985f4ea4298a0ffa49092ce
parentf8e1f53334700950eb6691076d51c7d60f1c28f7
cpu-exec: fix cpu_exec_nocache

In icount mode cpu_exec_nocache function is used to execute part of the
existing TB. At the end of cpu_exec_nocache newly created TB is deleted.
Sometimes io_read function needs to recompile current TB and restart TB
lookup and execution. After that tb_find_fast function finds old (bigger)
TB again. This TB cannot be executed (because icount is not big enough)
and cpu_exec_nocache is called again. Such a loop continues over and over.
This patch deletes old TB and avoids finding it in the TB cache.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
cpu-exec.c