From: Sergey Fedorov <serge.f...@gmail.com> This series combines a set of patches which is meant to improve overall code structure and readability of direct block chaining mechanism. The other point is to make a step towards thread safety of TB chainig.
The series' tree can be found in a public git repository [1]. [1] https://github.com/sergefdrv/qemu/tree/tb-chaining-cleanup-v3 Summary of changes: Changes in v3: * New patch to clean up safety checks [PATCH v3 09/10] * New patch to eliminate unneeded checks in user-mode [PATCH v3 10/10] Changes in v2: * Eliminated duplicate dereference of 'ptb' in tb_jmp_remove() [PATCH v2 2/8] * Tweaked a comment [PATCH v2 4/8] * Complete rewrite [PATCH v2 5/8] * Tweaked a comment; eliminated duplicate dereference of 'ptb' in tb_jmp_unlink() [PATCH v2 8/8] Sergey Fedorov (10): tcg: Clean up direct block chaining data fields tcg: Use uintptr_t type for jmp_list_{next|first} fields of TB tcg: Rearrange tb_link_page() to avoid forward declaration tcg: Init TB's direct jumps before making it visible tcg: Clarify thread safety check in tb_add_jump() tcg: Rename tb_jmp_remove() to tb_remove_from_jmp_list() tcg: Extract removing of jumps to TB from tb_phys_invalidate() tcg: Clean up tb_jmp_unlink() tcg: Clean up direct block chaining safety checks tcg: Moderate direct block chaining safety checks in user mode cpu-exec.c | 7 +- include/exec/exec-all.h | 70 ++++++---- target-alpha/translate.c | 13 +- target-arm/translate-a64.c | 11 +- target-arm/translate.c | 25 +++- target-cris/translate.c | 24 +++- target-i386/translate.c | 31 +++-- target-lm32/translate.c | 29 ++++- target-m68k/translate.c | 26 +++- target-microblaze/translate.c | 23 +++- target-mips/translate.c | 28 +++- target-moxie/translate.c | 29 ++++- target-openrisc/translate.c | 28 +++- target-ppc/translate.c | 28 +++- target-s390x/translate.c | 25 +++- target-sh4/translate.c | 29 ++++- target-sparc/translate.c | 32 ++++- target-tricore/translate.c | 28 +++- target-unicore32/translate.c | 24 +++- target-xtensa/translate.c | 20 +++ tcg/aarch64/tcg-target.inc.c | 7 +- tcg/arm/tcg-target.inc.c | 8 +- tcg/i386/tcg-target.inc.c | 8 +- tcg/ia64/tcg-target.inc.c | 6 +- tcg/mips/tcg-target.inc.c | 8 +- tcg/ppc/tcg-target.inc.c | 6 +- tcg/s390/tcg-target.inc.c | 11 +- tcg/sparc/tcg-target.inc.c | 9 +- tcg/tcg.h | 6 +- tcg/tci/tcg-target.inc.c | 10 +- translate-all.c | 292 ++++++++++++++++++++++-------------------- 31 files changed, 605 insertions(+), 296 deletions(-) -- 2.8.1