dolphin/Source/Core
Franz-Josef Haider 859da32a6c 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.
2023-05-20 16:26:55 +03:00
..
AudioCommon Common: Move FixedSizeQueue into Common namespace 2023-03-22 01:23:15 -04:00
Common Merge pull request #11707 from TellowKrinkle/CMakeIconv 2023-05-19 19:27:16 +02:00
Core Jit: Improve block lookup performance through a shm memory segment. 2023-05-20 16:26:55 +03:00
DiscIO Merge pull request #11829 from lioncash/strutil 2023-05-17 09:13:36 +02:00
DolphinNoGUI StringUtil: Move CommandLineToUtf8Argv() into Common namespace 2023-05-16 14:23:21 -04:00
DolphinQt StringUtil: Move CommandLineToUtf8Argv() into Common namespace 2023-05-16 14:23:21 -04:00
DolphinTool StringUtil: Move CommandLineToUtf8Argv() into Common namespace 2023-05-16 14:23:21 -04:00
InputCommon Merge pull request #11739 from OatmealDome/iokit-be-gone 2023-05-19 19:31:40 +02:00
MacUpdater CMake: Fix storyboard copying 2023-04-29 16:10:38 -05:00
UICommon Merge pull request #11751 from noahpistilli/discord-rpc 2023-05-19 19:35:17 +02:00
UpdaterCommon Common/CommonFuncs: Move interface into Common namespace 2023-04-18 19:23:04 -04:00
VideoBackends Merge pull request #11757 from TellowKrinkle/BCniOS 2023-04-29 08:54:18 +02:00
VideoCommon DolphinAnalytics: Add READS_BOUNDING_BOX game quirk 2023-05-06 17:18:17 -07:00
WinUpdater StringUtil: Move CommandLineToUtf8Argv() into Common namespace 2023-05-16 14:23:21 -04:00
CMakeLists.txt CMakeLists: Add option to disable automatic update support 2022-03-18 03:04:51 -04:00
DolphinLib.ARM64.props msbuild: use default Project attrs 2022-04-27 15:26:43 -07:00
DolphinLib.props Feature: Emulate Disney Infinity Base 2023-04-28 12:29:34 +12:00
DolphinLib.vcxproj Added rcheevos to Externals 2023-04-02 08:28:23 -04:00
DolphinLib.vcxproj.user msbuild: use default Project attrs 2022-04-27 15:26:43 -07:00
DolphinLib.x64.props Move x64 DSP JIT into DolphinLib.x64.props 2023-01-06 22:42:21 -08:00