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