ryujinx/src/ARMeilleure/Translation
LotP1 e653848a2c
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-11-22 15:33:44 -06:00
..
Cache misc: Replace references to IntPtr/UIntPtr with nint/nuint + code cleanups. 2024-10-26 08:46:50 -05:00
PTC JIT Sparse Function Table (#250) 2024-11-22 15:33:44 -06:00
ArmEmitterContext.cs JIT Sparse Function Table (#250) 2024-11-22 15:33:44 -06:00
Compiler.cs [ARMeilleure] Address dotnet-format issues (#5357) 2023-06-26 07:25:06 +02:00
CompilerContext.cs [ARMeilleure] Address dotnet-format issues (#5357) 2023-06-26 07:25:06 +02:00
CompilerOptions.cs [ARMeilleure] Address dotnet-format issues (#5357) 2023-06-26 07:25:06 +02:00
ControlFlowGraph.cs JIT: Ensure entry block has no predecessors on RegisterUsage pass (#6951) 2024-06-19 09:25:47 -03:00
DelegateInfo.cs misc: Replace references to IntPtr/UIntPtr with nint/nuint + code cleanups. 2024-10-26 08:46:50 -05:00
Delegates.cs misc: Replace references to IntPtr/UIntPtr with nint/nuint + code cleanups. 2024-10-26 08:46:50 -05:00
DispatcherFunction.cs misc: Replace references to IntPtr/UIntPtr with nint/nuint + code cleanups. 2024-10-26 08:46:50 -05:00
Dominance.cs misc: Small cleanups 2024-11-10 15:34:24 -06:00
EmitterContext.cs misc: Replace references to IntPtr/UIntPtr with nint/nuint + code cleanups. 2024-10-26 08:46:50 -05:00
GuestFunction.cs misc: Replace references to IntPtr/UIntPtr with nint/nuint + code cleanups. 2024-10-26 08:46:50 -05:00
IntervalTree.cs Implement a new JIT for Arm devices (#6057) 2024-01-20 11:11:28 -03:00
RegisterToLocal.cs [ARMeilleure] Address dotnet-format issues (#5357) 2023-06-26 07:25:06 +02:00
RegisterUsage.cs JIT: Ensure entry block has no predecessors on RegisterUsage pass (#6951) 2024-06-19 09:25:47 -03:00
RejitRequest.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
SsaConstruction.cs [ARMeilleure] Address dotnet-format issues (#5357) 2023-06-26 07:25:06 +02:00
SsaDeconstruction.cs [ARMeilleure] Address dotnet-format issues (#5357) 2023-06-26 07:25:06 +02:00
TranslatedFunction.cs misc: Replace references to IntPtr/UIntPtr with nint/nuint + code cleanups. 2024-10-26 08:46:50 -05:00
Translator.cs JIT Sparse Function Table (#250) 2024-11-22 15:33:44 -06:00
TranslatorCache.cs Replace ReaderWriterLock with ReaderWriterLockSlim (#5785) 2023-10-12 18:11:15 +02:00
TranslatorQueue.cs Fix deadlock in background translation thread shutdown (#7239) 2024-08-27 19:10:24 +02:00
TranslatorStubs.cs JIT Sparse Function Table (#250) 2024-11-22 15:33:44 -06:00
TranslatorTestMethods.cs misc: Replace references to IntPtr/UIntPtr with nint/nuint + code cleanups. 2024-10-26 08:46:50 -05:00