ryujinx-mirror/ARMeilleure/Instructions
riperiperi 9ef94c8292
ARMeilleure: Move TPIDR_EL0 and TPIDRRO_EL0 to NativeContext (#4661)
* ARMeilleure: Move TPIDR_EL0 and TPIDRRO_EL0 to NativeContext

Some games access these system registers several tens of thousands of times in a second from many different threads. While this isn't really crippling, it is a lot of wasted time spent in a reverse pinvoke transition.

Example games are Pokemon Scarlet/Violet and BOTW. These games have a lot of different potential bottlenecks so it's unlikely you will see a consistent improvement, but it definitely disappears from the cpu profile.

* Remove unreachable code.

* Add ulong conversion for offsets

* Nit
2023-04-11 08:55:04 +02:00
..
CryptoHelper.cs
InstEmitAlu32.cs
InstEmitAlu.cs
InstEmitAluHelper.cs
InstEmitBfm.cs
InstEmitCcmp.cs
InstEmitCsel.cs
InstEmitDiv.cs
InstEmitException32.cs
InstEmitException.cs
InstEmitFlow32.cs
InstEmitFlow.cs
InstEmitFlowHelper.cs
InstEmitHash32.cs
InstEmitHash.cs
InstEmitHashHelper.cs
InstEmitHelper.cs
InstEmitMemory32.cs
InstEmitMemory.cs
InstEmitMemoryEx32.cs
InstEmitMemoryEx.cs
InstEmitMemoryExHelper.cs
InstEmitMemoryHelper.cs
InstEmitMove.cs
InstEmitMul32.cs
InstEmitMul.cs
InstEmitSimdArithmetic32.cs
InstEmitSimdArithmetic.cs
InstEmitSimdCmp32.cs
InstEmitSimdCmp.cs
InstEmitSimdCrypto32.cs
InstEmitSimdCrypto.cs
InstEmitSimdCvt32.cs
InstEmitSimdCvt.cs
InstEmitSimdHash32.cs
InstEmitSimdHash.cs
InstEmitSimdHashHelper.cs
InstEmitSimdHelper32.cs
InstEmitSimdHelper32Arm64.cs
InstEmitSimdHelper.cs
InstEmitSimdHelperArm64.cs
InstEmitSimdLogical32.cs
InstEmitSimdLogical.cs
InstEmitSimdMemory32.cs
InstEmitSimdMemory.cs
InstEmitSimdMove32.cs
InstEmitSimdMove.cs
InstEmitSimdShift32.cs
InstEmitSimdShift.cs
InstEmitSystem32.cs
InstEmitSystem.cs
InstName.cs
NativeInterface.cs
SoftFallback.cs
SoftFloat.cs