qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v5 00/19] TCG cross-tb optimizations


From: Richard Henderson
Subject: [Qemu-devel] [PATCH v5 00/19] TCG cross-tb optimizations
Date: Thu, 27 Apr 2017 13:59:47 +0200

Changes since Emilio's v4:
  * Fold tcg/i386 exit_tb 0 to the epilogue we created for goto_ptr.
  * Drop gen_jr in favor of DISAS_EXIT for target/arm.
  * Backend support for ppc, aarch64, sparc, s390.
  * Fix 3 build failures that appear on sparc v8plus (64-bit ilp32).

I attempted to throw together an x32 environment to validate
x86_64 ilp32, which ought to have had the same problems as sparc,
but my patience was exhausted by gentoo misconfigury.  I may try
that again later, but not now.


r~


Emilio G. Cota (11):
  exec-all: export tb_htable_lookup
  tcg-runtime: add lookup_tb_ptr helper
  tcg: introduce goto_ptr opcode
  tcg: export tcg_gen_lookup_and_goto_ptr
  target/arm: optimize cross-page direct jumps in softmmu
  target/arm: optimize indirect branches
  target/i386: introduce gen_jr helper to generate lookup_and_goto_ptr
  target/i386: optimize cross-page direct jumps in softmmu
  target/i386: optimize indirect branches
  tb-hash: improve tb_jmp_cache hash function in user mode
  tcg/i386: implement goto_ptr

Richard Henderson (8):
  target/nios2: Fix 64-bit ilp32 compilation
  tcg/sparc: Use the proper compilation flags for 32-bit
  qemu/atomic: Loosen restrictions for 64-bit ILP32 hosts
  target/alpha: Use tcg_gen_goto_ptr
  tcg/ppc: Implement goto_ptr
  tcg/aarch64: Implement goto_ptr
  tcg/sparc: Implement goto_ptr
  tcg/s390: Implement goto_ptr

 configure                    |  6 +++---
 cpu-exec.c                   |  6 ++----
 include/exec/exec-all.h      |  2 ++
 include/exec/tb-hash.h       | 12 +++++++++++
 include/qemu/atomic.h        | 34 ++++++++++++++++++++++--------
 target/alpha/translate.c     | 49 ++++++++++++++++++++++++++++++++------------
 target/arm/translate.c       | 21 ++++++++++++++-----
 target/arm/translate.h       |  4 ++++
 target/i386/translate.c      | 43 ++++++++++++++++++++++++++++++--------
 target/nios2/translate.c     |  2 +-
 tcg-runtime.c                | 24 ++++++++++++++++++++++
 tcg/README                   |  8 ++++++++
 tcg/aarch64/tcg-target.h     |  1 +
 tcg/aarch64/tcg-target.inc.c | 22 ++++++++++++++++++--
 tcg/arm/tcg-target.h         |  1 +
 tcg/i386/tcg-target.h        |  1 +
 tcg/i386/tcg-target.inc.c    | 24 ++++++++++++++++++++--
 tcg/ia64/tcg-target.h        |  1 +
 tcg/mips/tcg-target.h        |  1 +
 tcg/ppc/tcg-target.h         |  1 +
 tcg/ppc/tcg-target.inc.c     |  7 +++++++
 tcg/s390/tcg-target.h        |  1 +
 tcg/s390/tcg-target.inc.c    | 24 +++++++++++++++++++---
 tcg/sparc/tcg-target.h       |  1 +
 tcg/sparc/tcg-target.inc.c   | 11 +++++++++-
 tcg/tcg-op.c                 | 13 ++++++++++++
 tcg/tcg-op.h                 | 11 ++++++++++
 tcg/tcg-opc.h                |  1 +
 tcg/tcg-runtime.h            |  2 ++
 tcg/tcg.h                    |  1 +
 tcg/tci/tcg-target.h         |  1 +
 31 files changed, 285 insertions(+), 51 deletions(-)

-- 
2.9.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]