summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/OpcodeDecoding.cpp
diff options
context:
space:
mode:
authorcomex <comexk@gmail.com>2014-09-01 01:41:40 -0400
committercomex <comexk@gmail.com>2014-09-06 13:16:18 -0400
commit48891c6359cc1465bf083789fb8052b14262df36 (patch)
treea82ab68c6b84bb941fabb3e1be0c72666b414776 /Source/Core/VideoCommon/OpcodeDecoding.cpp
parent387e1e3f21ae65c65fcd90b2c8aa21d9eff7d382 (diff)
Reserve a register for ppcState.
The register is RBP, previously in the GPR allocation order. The next commit will investigate whether there are too few GPRs (now or before), but for now there is no replacement. Previously, it was accessed RIP relatively; using RBP, anything in the first 0x100 bytes of ppcState (including all the GPRs) can be accessed with three fewer bytes. Code to access ppcState is generated constantly (mostly by register save/load), so in principle, this should improve instruction cache footprint significantly. It seems that this makes a significant performance difference in practice. The vast majority of this commit is mechanically replacing M(&PowerPC::ppcState.x) with a new macro PPCSTATE(x). Version 2: gets most of the cases which were using the register access macros.
Diffstat (limited to 'Source/Core/VideoCommon/OpcodeDecoding.cpp')
0 files changed, 0 insertions, 0 deletions