GreemDev-Ryujinx/src/Ryujinx.Memory
LotP1 68525ab7f1 JIT Sparse Function Table (#250)
More up to date build of the JIT Sparse PR for continued development.
JIT Sparse Function Table was originally developed by riperiperi for the
original Ryujinx project, and decreased the amount of layers in the
Function Table structure, to decrease lookup times at the cost of
slightly higher RAM usage.
This PR rebalances the JIT Sparse Function Table to be a bit more RAM
intensive, but faster in workloads where the JIT Function Table is a
bottleneck. Faster RAM will see a bigger impact and slower RAM (DDR3 and
potentially slow DDR4) will see a slight performance decrease.
This PR also implements a base for a PPTC profile system that could
allow for PPTC with ExeFS mods enabled in the future.
This PR also potentially fixes a strange issue where Avalonia would time
out in some rare instances, e.g. when running ExeFS mods with TotK and a
strange controller configuration.

---------

Co-authored-by: Evan Husted <gr33m11@gmail.com>
2024-12-19 00:26:45 -06:00
..
Range Fix same textures with unmapped start being considered different (#7141) 2024-08-05 11:00:41 -03:00
Tracking Implement host tracked memory manager mode (#6356) 2024-03-26 23:33:24 -03:00
WindowsShared misc: Replace references to IntPtr/UIntPtr with nint/nuint + code cleanups. 2024-10-26 08:46:50 -05:00
AddressSpaceManager.cs Delete old 16KB page workarounds (#6584) 2024-04-06 13:51:44 -03:00
BytesReadOnlySequenceSegment.cs Add support to IVirtualMemoryManager for zero-copy reads (#6251) 2024-04-04 22:23:03 -03:00
InvalidAccessHandler.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
InvalidMemoryRegionException.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
IRefCounted.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
IVirtualMemoryManager.cs Delete old 16KB page workarounds (#6584) 2024-04-06 13:51:44 -03:00
IWritableBlock.cs Use pooled memory and avoid memory copies (#6691) 2024-04-21 12:57:35 +02:00
MemoryAllocationFlags.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
MemoryBlock.cs misc: Replace references to IntPtr/UIntPtr with nint/nuint + code cleanups. 2024-10-26 08:46:50 -05:00
MemoryConstants.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
MemoryManagement.cs misc: Replace references to IntPtr/UIntPtr with nint/nuint + code cleanups. 2024-10-26 08:46:50 -05:00
MemoryManagementUnix.cs misc: Replace references to IntPtr/UIntPtr with nint/nuint + code cleanups. 2024-10-26 08:46:50 -05:00
MemoryManagementWindows.cs misc: Replace references to IntPtr/UIntPtr with nint/nuint + code cleanups. 2024-10-26 08:46:50 -05:00
MemoryManagerUnixHelper.cs misc: Replace references to IntPtr/UIntPtr with nint/nuint + code cleanups. 2024-10-26 08:46:50 -05:00
MemoryMapFlags.cs [Ryujinx.Memory] Address dotnet-format issues (#5386) 2023-06-28 18:34:00 +02:00
MemoryNotContiguousException.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
MemoryPermission.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
MemoryProtectionException.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
NativeMemoryManager.cs implement MemoryManagerHostTracked.GetReadOnlySequence() (#6695) 2024-04-21 16:34:04 -03:00
PageTable.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
Ryujinx.Memory.csproj Migrate to .NET 8 (#5887) 2023-11-15 17:41:31 +01:00
SparseMemoryBlock.cs JIT Sparse Function Table (#250) 2024-12-19 00:26:45 -06:00
VirtualMemoryManagerBase.cs Replace and remove obsolete ByteMemoryPool type (#7155) 2024-08-05 21:09:08 -03:00
WritableRegion.cs Replace passing by IMemoryOwner<byte> with passing by concrete MemoryOwner<byte> (#7171) 2024-09-18 23:00:54 -03:00