859da32a6c
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. |
||
---|---|---|
.. | ||
Android | ||
Core | ||
DSPSpy | ||
DSPTool | ||
PCH | ||
UnitTests | ||
VSProps | ||
.clang-format | ||
CMakeLists.txt | ||
dolphin-emu.sln |