summaryrefslogtreecommitdiff
path: root/Source/Core/Common/Hash.cpp
diff options
context:
space:
mode:
authorFrajo Haider <f_haider@gmx.at>2023-07-18 17:15:17 +0300
committerFranz-Josef Haider <f_haider@gmx.at>2023-09-15 19:46:15 +0300
commitfd9c970621032e4f5b0d7056b41eb370c386845e (patch)
treecbbde0642447147dcbda410497354f90490ac1ba /Source/Core/Common/Hash.cpp
parent1a821465f4b6bdeef09e8a964a0d2ce50cf7970d (diff)
JitArm64/Jit64: Extend the fast lookup mmap-ed segment further to avoid needing to check the msr bits.
And in order to avoid a double dereference in the dispatcher, directly store the normalEntry in the map. The index to the block map becomes ((((DR<<1) | IR) << 30) | (address >> 2)). This has been chosen since the msr bits change less often than the address, thus we keep nearby entries together. Also do not call the C dispatcher in case the assembly dispatcher didn't find a block, since it wouldn't find a block either due to the 1:1 mapping, except when falling back to the non shm segment lookup table.
Diffstat (limited to 'Source/Core/Common/Hash.cpp')
0 files changed, 0 insertions, 0 deletions