On 11/21/2012 11:43 AM, Evgeny Voevodin wrote:
This set of patches moves global variables to tcg_ctx:
gen_opc_instr
gen_opparam_icount
gen_opc_pc
Build tested for all targets.
Execution tested on Exynos4210 target.
After this patchset was aplied,
I noticed no speed-up or slow-down of code generation.
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: 655.5
max: 659.3
avg: 657.2
standard deviation: ~2 ~= 0.4%
Average cycles/op = 657 +- 2
After clean-up:
min: 654.6
max: 657.1
avg: 655.5
standard deviation: ~1 ~= 0.2%
Average cycles/op = 656 +- 1
Evgeny Voevodin (5):
tcg/tcg.h: Duplicate global TCG gen_opc_ arrays into TCGContext.
TCG: Use gen_opc_pc from context instead of global variable.
TCG: Use gen_opc_icount from context instead of global variable.
TCG: Use gen_opc_instr_start from context instead of global variable.
TCG: Remove unused global gen_opc_ arrays.
exec-all.h | 4 ----
target-alpha/translate.c | 12 ++++++------
target-arm/translate.c | 12 ++++++------
target-cris/translate.c | 14 +++++++-------
target-i386/translate.c | 19 ++++++++++---------
target-lm32/translate.c | 12 ++++++------
target-m68k/translate.c | 12 ++++++------
target-microblaze/translate.c | 12 ++++++------
target-mips/translate.c | 12 ++++++------
target-openrisc/translate.c | 12 ++++++------
target-ppc/translate.c | 12 ++++++------
target-s390x/translate.c | 12 ++++++------
target-sh4/translate.c | 12 ++++++------
target-sparc/translate.c | 12 ++++++------
target-unicore32/translate.c | 12 ++++++------
target-xtensa/translate.c | 10 +++++-----
tcg/tcg.h | 3 +++
translate-all.c | 9 +++------
18 files changed, 100 insertions(+), 103 deletions(-)
Ping?
+CC: Alexander Graf <ag...@suse.de>; Paul Brook <p...@codesourcery.com>
--
Kind regards,
Evgeny Voevodin,
Technical Leader,
Mobile Group,
Samsung Moscow Research Centre,
e-mail: e.voevo...@samsung.com