qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 0/6] *** TCG global variables clean-up ***


From: Evgeny Voevodin
Subject: Re: [Qemu-devel] [PATCH 0/6] *** TCG global variables clean-up ***
Date: Mon, 22 Oct 2012 07:40:30 +0400
User-agent: Mozilla/5.0 (X11; Linux i686; rv:16.0) Gecko/20121011 Thunderbird/16.0.1

On 10/19/2012 09:55 PM, Blue Swirl wrote:
On Fri, Oct 19, 2012 at 12:42 PM, Evgeny <address@hidden> 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: address@hidden




reply via email to

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