summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerEmu/ControlGroup/ModifySettingsButton.cpp
diff options
context:
space:
mode:
authorFranz-Josef Haider <f_haider@gmx.at>2023-04-04 21:26:43 +0300
committerFranz-Josef Haider <f_haider@gmx.at>2023-05-20 16:26:55 +0300
commit859da32a6c3ec98c10839f1e18254e1a1107d575 (patch)
tree52130b595c642e0c560144297e6356af98f2fabf /Source/Core/InputCommon/ControllerEmu/ControlGroup/ModifySettingsButton.cpp
parent4efa10c170f6c758311d3ac607174633cb716ffc (diff)
Jit: Improve block lookup performance through a shm memory segment.
By using a shm memory segment for the fast_block_map that is sparsely allocated (i.e. on write by the OS) instead of a statically allocated array we can make the block lookup faster by: * Having a bigger space available for lookup that doesn't take up too much memory, because the OS will only allocate the needed pages when written to. * Decrease the time spent to lookup a block in the assembly dispatcher due to less comparisions and shorter code (for example the pc check has been entirely dropped since only the msrBits need to be validated). When the JIT block cache is full the shm segment will also be released and reallocated to avoid allocating too much memory. It will also be reset when the instruction cache is flushed by the PPC code to avoid having stale entries. Also fallback to the original method in case the memory segment couldn't be allocated.
Diffstat (limited to 'Source/Core/InputCommon/ControllerEmu/ControlGroup/ModifySettingsButton.cpp')
0 files changed, 0 insertions, 0 deletions