On 21 April 2016 at 09:48, Aurelien Jarno <aurel...@aurel32.net> wrote: > The TCG code is quite performance sensitive, but at the same time can > also be quite tricky. That is why asserts that can be enabled with the > --enable-debug-tcg configure option. > > This used to work the following way: > > | #include "config.h" > | > | ... > | > | #if !defined(CONFIG_DEBUG_TCG) && !defined(NDEBUG) > | /* define it to suppress various consistency checks (faster) */ > | #define NDEBUG > | #endif > | > | ... > | > | #include <assert.h> > > Since commit 757e725b (tcg: Clean up includes) "config.h" as been > replaced by "qemu/osdep.h" which itself includes <assert.h>. As a > consequence the assertions are always enabled, even when using > --disable-debug-tcg, causing a performance regression, especially on > targets with many registers. For instance on qemu-system-ppc the > speed difference is about 15%. > > tcg_debug_assert is controlled directly by CONFIG_DEBUG_TCG and already > uses in some places. This patch replaces all the calls to assert into > calss to tcg_debug_assert.
Thanks, both patches Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> and applied to master. -- PMM