On Mon, Nov 12, 2012 at 9:27 AM, Evgeny Voevodin <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 > > Build tested for all targets. > Execution tested on Exynos4210 target. > > After this patchset was aplied, I noticed 0.7% speed-up of code generation. > Probably, this is due to better data caching. > > Here is the test procedure: > 1. Boot Linux Kernel 5 times. > 2. For each iteration wait while "JIT cycles" is stable for ~10 seconds > 3. Write down the "cycles/op" > > Here are the results (tested on gcc-4.6): > > Before clean-up: > min: 731.5 > max: 734.8 > avg: 733.0 > standard deviation: ~2 ~= 0.2% > > Average cycles/op = 733 +- 2 > > > > After clean-up: > min: 725.0 > max: 730.5 > avg: 727.8 > standard deviation: ~3 ~= 0.4% > > Average cycles/op = 728 +- 3 > Speed-up of TCG code generation = 0.7% > > Changelog: > v5->v6: > Fixed broken patches. > Rebased. > v4->v5: > Rebased. > Fixed authorship. > All patches are reviewed-by Richard Henderson <r...@twiddle.net> > v3->v4: > Rebased. > Added target-cris/translate.c: Code style clean-up > v2->v3: > Removed tcg_cur_ctx since it gives slow-down on gcc-4.5. > Rebased. > v1->v2: > Introduced TCGContext *tcg_cur_ctx global to use in those places where we > don't > have an interface to pass pointer to tcg_ctx. > Code style clean-up > > Evgeny Voevodin (7): > target-cris/translate.c: Code style clean-up > 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
Thanks, applied all. > > gen-icount.h | 2 +- > target-alpha/translate.c | 10 +- > target-arm/translate.c | 10 +- > target-cris/translate.c | 5040 > +++++++++++++++++++++-------------------- > target-i386/translate.c | 10 +- > target-lm32/translate.c | 13 +- > target-m68k/translate.c | 10 +- > target-microblaze/translate.c | 13 +- > target-mips/translate.c | 11 +- > target-openrisc/translate.c | 13 +- > target-ppc/translate.c | 11 +- > target-s390x/translate.c | 11 +- > target-sh4/translate.c | 10 +- > target-sparc/translate.c | 10 +- > target-unicore32/translate.c | 10 +- > target-xtensa/translate.c | 8 +- > tcg/optimize.c | 62 +- > tcg/tcg-op.h | 324 +-- > tcg/tcg.c | 85 +- > tcg/tcg.h | 10 +- > translate-all.c | 3 - > 21 files changed, 2859 insertions(+), 2817 deletions(-) > > -- > 1.7.9.5 > >