qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/8] tcg: tidy the type of code_ptr
@ 2014-03-29  0:27 Richard Henderson
  2014-03-29  0:27 ` [Qemu-devel] [PATCH 1/8] exec-all.h: Use stl_p to avoid undefined behaviour patching x86 jumps Richard Henderson
                   ` (8 more replies)
  0 siblings, 9 replies; 18+ messages in thread
From: Richard Henderson @ 2014-03-29  0:27 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, aurelien

Here's where I think we should go with the cleanup that Peter started.

I've only converted a couple of the backends as examples.  It's not 100%
mechanical, since one has to be aware of the change in the semantics of
pointer arithmetic (e.g. s->code_ptr - s->code_buf).

Taking Sparc as an example, the before code size of tcg.o is 0xad60, and
the after code size is 0xa200.  A savings of a bit less than 3k.

Thoughts?


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 (5):
  tcg: Define tcg_itype for code pointers
  tcg-ppc64: Define TCG_TARGET_ITYPE_SIZE
  tcg-ppc: Define TCG_TARGET_ITYPE_SIZE
  tcg-aarch64: Define TCG_TARGET_ITYPE_SIZE
  tcg-sparc: Define TCG_TARGET_ITYPE_SIZE

 include/exec/exec-all.h  |  4 +--
 tcg/aarch64/tcg-target.c | 38 +++++++++------------
 tcg/aarch64/tcg-target.h |  1 +
 tcg/i386/tcg-target.c    | 12 +++----
 tcg/i386/tcg-target.h    |  1 +
 tcg/ppc/tcg-target.c     | 55 +++++++++++++++---------------
 tcg/ppc/tcg-target.h     |  1 +
 tcg/ppc64/tcg-target.c   | 46 +++++++++++++------------
 tcg/ppc64/tcg-target.h   |  1 +
 tcg/sparc/tcg-target.c   | 57 +++++++++++++++----------------
 tcg/sparc/tcg-target.h   |  2 +-
 tcg/tcg-be-ldst.h        |  4 +--
 tcg/tcg.c                | 87 ++++++++++++++++++++++++++++++++++++++----------
 tcg/tcg.h                | 37 +++++++++++++++-----
 translate-all.c          |  6 ++--
 15 files changed, 209 insertions(+), 143 deletions(-)

-- 
1.9.0

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2014-04-01 12:59 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-29  0:27 [Qemu-devel] [PATCH 0/8] tcg: tidy the type of code_ptr Richard Henderson
2014-03-29  0:27 ` [Qemu-devel] [PATCH 1/8] exec-all.h: Use stl_p to avoid undefined behaviour patching x86 jumps Richard Henderson
2014-04-01 12:09   ` [Qemu-devel] [PATCH 1/8] exec-all.h: Use stl_p to avoid undefinedbehaviour patching x86 jumpss Alex Bennée
2014-04-01 12:18     ` Peter Maydell
2014-03-29  0:27 ` [Qemu-devel] [PATCH 2/8] tcg: Avoid stores to unaligned addresses Richard Henderson
2014-04-01 12:12   ` Alex Bennée
2014-03-29  0:27 ` [Qemu-devel] [PATCH 3/8] tcg: Avoid undefined behaviour patching code at " Richard Henderson
2014-04-01 12:13   ` [Qemu-devel] [PATCH 3/8] tcg: Avoid undefined behaviour patchingcode at unaligned addressess Alex Bennée
2014-03-29  0:27 ` [Qemu-devel] [PATCH 4/8] tcg: Define tcg_itype for code pointers Richard Henderson
2014-03-29  0:27 ` [Qemu-devel] [PATCH 5/8] tcg-ppc64: Define TCG_TARGET_ITYPE_SIZE Richard Henderson
2014-03-29  0:27 ` [Qemu-devel] [PATCH 6/8] tcg-ppc: " Richard Henderson
2014-03-29  0:27 ` [Qemu-devel] [PATCH 7/8] tcg-aarch64: " Richard Henderson
2014-03-29  0:27 ` [Qemu-devel] [PATCH 8/8] tcg-sparc: " Richard Henderson
2014-03-29 20:26 ` [Qemu-devel] [PATCH 0/8] tcg: tidy the type of code_ptr Peter Maydell
2014-03-30 15:31   ` Richard Henderson
2014-03-31  3:19     ` Richard Henderson
2014-04-01 12:05     ` Alex Bennée
2014-04-01 12:19       ` Alex Bennée

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).