On 10/19/2012 09:55 PM, Blue Swirl wrote:
On Fri, Oct 19, 2012 at 12:42 PM, Evgeny <e.voevo...@samsung.com> wrote:
This set of patches moves global variables to tcg_ctx:
gen_opc_ptr
gen_opparam_ptr
gen_opc_buf
gen_opparam_buf

Where it was possible I used s->...
Where we don't have an interface to pass a pointer to tcg_ctx, I used 
tcg_ctx.xxx
since it is a global variable too.
Maybe a pointer should be added so that the references become
tcg_ctx_ptr->xxx. This would incur unnecessary pointer dereference
penalties though.

I thought about usage of TCGContext * tcg_cur_ctx, but I decided that we don't need this until
we want to use multiple TCG contexts.
If we would like to introduce such a pointer, then I'd prefer to hold it in CPUArchState inside
CPU_COMMON and initialize it in qemu_tcg_cpu_thread_fn for each CPU:
env->tcg_cur_ctx = &tcg_ctx;



Build tested for all targets.
Execution tested on ARM.

I didn't notice any slow-down of kernel boot after this set was applied.

Evgeny (6):
   tcg/tcg.h: Duplicate global TCG variables in TCGContext
   TCG: Use gen_opc_ptr from context instead of global variable.
   TCG: Use gen_opparam_ptr from context instead of global variable.
   TCG: Use gen_opc_buf from context instead of global variable.
   TCG: Use gen_opparam_buf from context instead of global variable.
   TCG: Remove unused global variables

  gen-icount.h                  |    2 +-
  target-alpha/translate.c      |   10 +-
  target-arm/translate.c        |   12 +-
  target-cris/translate.c       |   12 +-
  target-i386/translate.c       |   12 +-
  target-lm32/translate.c       |   12 +-
  target-m68k/translate.c       |   10 +-
  target-microblaze/translate.c |   12 +-
  target-mips/translate.c       |   10 +-
  target-openrisc/translate.c   |   12 +-
  target-ppc/translate.c        |   10 +-
  target-s390x/translate.c      |   10 +-
  target-sh4/translate.c        |   10 +-
  target-sparc/translate.c      |   10 +-
  target-unicore32/translate.c  |   12 +-
  target-xtensa/translate.c     |    8 +-
  tcg/optimize.c                |   62 ++++----
  tcg/tcg-op.h                  |  324 ++++++++++++++++++++---------------------
  tcg/tcg.c                     |   84 +++++------
  tcg/tcg.h                     |   10 +-
  translate-all.c               |    3 -
  21 files changed, 321 insertions(+), 326 deletions(-)

--
1.7.9.5



--
Kind regards,
Evgeny Voevodin,
Technical Leader,
Mobile Group,
Samsung Moscow Research Center,
e-mail: e.voevo...@samsung.com


Reply via email to