summaryrefslogtreecommitdiff
path: root/trace
diff options
context:
space:
mode:
authorAurelien Jarno <aurelien@aurel32.net>2015-07-27 12:41:44 +0200
committerRichard Henderson <rth@twiddle.net>2015-08-24 11:10:30 -0700
commit1208d7dd5fddc1fbd98de800d17429b4e5578848 (patch)
treeccfcb0cfb9dba19efbc8df465a229829471cb6ca /trace
parent29f3ff8d6cbc28f79933aeaa25805408d0984a8f (diff)
tcg/optimize: optimize temps tracking
The tcg_temp_info structure uses 24 bytes per temp. Now that we emulate vector registers on most guests, it's not uncommon to have more than 100 used temps. This means we have initialize more than 2kB at least twice per TB, often more when there is a few goto_tb. Instead used a TCGTempSet bit array to track which temps are in used in the current basic block. This means there are only around 16 bytes to initialize. This improves the boot time of a MIPS guest on an x86-64 host by around 7% and moves out tcg_optimize from the the top of the profiler list. [rth: Handle TCG_CALL_DUMMY_ARG] Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'trace')
0 files changed, 0 insertions, 0 deletions