[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 00/16] tcg: tidy the type of code_ptr
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH v3 00/16] tcg: tidy the type of code_ptr |
Date: |
Mon, 28 Apr 2014 12:28:06 -0700 |
Changes v2-v3:
* Make more use, where appropriate, of normal pointer arithmetic under
the new type. In particular, if the target previously computed
(label - code_ptr) >> 2
using byte arithmetic, we can now arrange for this to be just
label - code_ptr
with the shift added by the compiler. Given that technically a right
shift of a negative value is implementation defined (may the death of
catering to one's compliment machine come soon), having the compiler do
this is going to eliminate one more stupid warning from some sanitizer.
* Finish conversion of all tcg backends.
r~
Peter Maydell (3):
exec-all.h: Use stl_p to avoid undefined behaviour patching x86 jumps
tcg: Avoid stores to unaligned addresses
tcg: Avoid undefined behaviour patching code at unaligned addresses
Richard Henderson (13):
tcg: Introduce byte pointer arithmetic helpers
tcg: Define tcg_insn_unit for code pointers
tcg-i386: Define TCG_TARGET_INSN_UNIT_SIZE
tcg-ppc64: Define TCG_TARGET_INSN_UNIT_SIZE
tcg-ppc: Define TCG_TARGET_INSN_UNIT_SIZE
tcg-sparc: Define TCG_TARGET_INSN_UNIT_SIZE
tcg-arm: Define TCG_TARGET_INSN_UNIT_SIZE
tcg-aarch64: Define TCG_TARGET_INSN_UNIT_SIZE
tcg-s390: Define TCG_TARGET_INSN_UNIT_SIZE
tcg-ia64: Define TCG_TARGET_INSN_UNIT_SIZE
tcg-mips: Define TCG_TARGET_INSN_UNIT_SIZE
tci: Define TCG_TARGET_INSN_UNIT_SIZE
tcg: Require TCG_TARGET_INSN_UNIT_SIZE
include/exec/exec-all.h | 4 +-
tcg/aarch64/tcg-target.c | 121 ++++++++++++--------------
tcg/aarch64/tcg-target.h | 1 +
tcg/arm/tcg-target.c | 150 ++++++++++++--------------------
tcg/arm/tcg-target.h | 1 +
tcg/i386/tcg-target.c | 60 ++++++-------
tcg/i386/tcg-target.h | 2 +
tcg/ia64/tcg-target.c | 217 ++++++++++++++++-------------------------------
tcg/ia64/tcg-target.h | 6 ++
tcg/mips/tcg-target.c | 116 ++++++++-----------------
tcg/mips/tcg-target.h | 1 +
tcg/ppc/tcg-target.c | 195 ++++++++++++++++++++----------------------
tcg/ppc/tcg-target.h | 1 +
tcg/ppc64/tcg-target.c | 164 +++++++++++++++++------------------
tcg/ppc64/tcg-target.h | 1 +
tcg/s390/tcg-target.c | 91 ++++++++++----------
tcg/s390/tcg-target.h | 2 +
tcg/sparc/tcg-target.c | 128 +++++++++++++---------------
tcg/sparc/tcg-target.h | 1 +
tcg/tcg-be-ldst.h | 4 +-
tcg/tcg.c | 110 +++++++++++++++++-------
tcg/tcg.h | 83 ++++++++++++++++--
tcg/tci/tcg-target.c | 19 +++--
tcg/tci/tcg-target.h | 1 +
translate-all.c | 13 ++-
25 files changed, 714 insertions(+), 778 deletions(-)
--
1.9.0
- [Qemu-devel] [PATCH v3 00/16] tcg: tidy the type of code_ptr,
Richard Henderson <=
- [Qemu-devel] [PATCH v3 01/16] exec-all.h: Use stl_p to avoid undefined behaviour patching x86 jumps, Richard Henderson, 2014/04/28
- [Qemu-devel] [PATCH v3 02/16] tcg: Avoid stores to unaligned addresses, Richard Henderson, 2014/04/28
- [Qemu-devel] [PATCH v3 04/16] tcg: Introduce byte pointer arithmetic helpers, Richard Henderson, 2014/04/28
- [Qemu-devel] [PATCH v3 05/16] tcg: Define tcg_insn_unit for code pointers, Richard Henderson, 2014/04/28
- [Qemu-devel] [PATCH v3 03/16] tcg: Avoid undefined behaviour patching code at unaligned addresses, Richard Henderson, 2014/04/28
- [Qemu-devel] [PATCH v3 06/16] tcg-i386: Define TCG_TARGET_INSN_UNIT_SIZE, Richard Henderson, 2014/04/28