|
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
[Prev in Thread] | Current Thread | [Next in Thread] |