Am 07.04.2016 um 21:16 schrieb Stefan Weil: > Am 07.04.2016 um 20:15 schrieb Richard Henderson: >> On 04/07/2016 08:53 AM, Sergey Fedorov wrote: >>> +/* Enable TCI assertions only when debugging TCG (and without NDEBUG >>> defined). >>> + * Without assertions, the interpreter runs much faster. */ >>> +#if defined(CONFIG_DEBUG_TCG) >>> +# define tci_assert(cond) assert(cond) >>> +#else >>> +# define tci_assert(cond) ((void)0) >>> #endif >>> >> Please just use tcg_debug_assert. >> >> >> r~ > > Hi Richard, > > that's a good suggestion, but maybe a little late for 2.6-rc2. > I already sent a pull request an hour ago after Michael had added > his tested-by. > > My first priority is fixing the build regression in 2.6. I can > try to prepare a new patch, wait for reviews and send a pull > request, but I am afraid this might not be finished in time > for 2.6. > > Regards > Stefan
I just tested a variant with tcg_debug_assert. It creates less efficient code when debugging is disabled. Here is the code size for x86_64: with normal tcg_debug_assert: text data bss dec hex filename 8293 0 128 8421 20e5 bin/ndebug/x86_64-linux-gnu,tci/x86_64-softmmu/tci.o In gdb I can also see assembler code for op_size at the beginning of the for loop in tcg_qemu_tb_exec. This slows down the interpreter. with ((void)0): text data bss dec hex filename 8135 0 128 8263 2047 bin/ndebug/x86_64-linux-gnu,tci/x86_64-softmmu/tci.o Therefore I'd prefer using my pull request for 2.6. Stefan