sharpemu/tests/SharpEmu.Libs.Tests/Cpu
kuba 435bbd4844
[Cpu] Copy page-sized guest memcpys on the managed path (#1055)
The native memcpy fast path copies with rep movsb straight into guest
memory. Pages the GPU reads are write-protected so CPU writes can be
tracked, so a copy into them takes one protection fault per page, and
under Rosetta each fault is a signal round trip of about 0.2 ms. The
managed memcpy marks the whole destination written before it copies and
takes no faults. Copies of at least 4 KiB now leave the stub for the
managed export; smaller ones keep the native copy, where one import
transition would cost more than the copy. SHARPEMU_MEMCPY_MANAGED_MIN
overrides the threshold.

Demon's Souls, 230 s through the PlayStation Studios intro: 536k
write-tracking faults become 71k, and the intro presents about a fifth
more frames.
2026-10-07 10:48:00 +02:00
..
BmiInstructionEmulatorTests.cs cpu: emulate BMI1/BMI2/ABM instructions in software when the host lacks them (#249) 2026-07-16 16:38:27 +03:00
DirectExecutionBackendLlePreferenceTests.cs feat(hle): prefer loaded guest exports for selected registrations (#844) 2026-08-25 22:32:57 +02:00
FiberStackBoundsTests.cs Perf computed shaders (#1013) 2026-10-03 04:49:43 +03:00
Gen5NativeReturnSmokeTests.cs [CPU] Host RBX is restored from the saved host frame below 2026-09-23 14:46:17 +03:00
GuestContextTransferValidationTests.cs [CPU] Reject context transfers to unmapped guest addresses (#273) 2026-07-16 19:57:34 +03:00
GuestExceptionExecutorHandoffTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
GuestFastPathStubTests.cs [Cpu] Copy page-sized guest memcpys on the managed path (#1055) 2026-10-07 10:48:00 +02:00
GuestFastPathTlsStorageTests.cs Perf computed shaders (#1013) 2026-10-03 04:49:43 +03:00
GuestStackBoundsTests.cs Page fixes (#1023) 2026-10-04 19:07:37 +03:00
GuestThreadBlockWaiterRepresentationTests.cs [CPU] Preserve blocked leaf import waiters (#350) 2026-07-18 02:59:13 +03:00
GuestThreadFlowProfileTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
GuestThreadStackBoundsTests.cs Unity fixes 1016p1 (#1043) 2026-10-06 18:43:21 +03:00
ImportLoopGuardBoundaryTests.cs Perf computed shaders (#1013) 2026-10-03 04:49:43 +03:00
ImportTrampolineAbiTests.cs Perf computed shaders (#1013) 2026-10-03 04:49:43 +03:00
JitStubsTests.cs CPU: scan final TLS access pattern offset (#414) 2026-07-19 00:07:32 +03:00
LibcFileObjectRoutingTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
LibcNativeFormattingRoutingTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
MemcpyHleRoutingTests.cs Amd fix opcode nid filecache wave32 (#903) 2026-09-24 15:00:42 +03:00
NativeDiagnosticMemoryReadTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
NativeTlsPatchRangeTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
ReadyThreadDispatchTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
ShaInstructionEmulatorTests.cs [CPU] Emulate and rewrite SHA extension instructions on hosts without SHA (#909) 2026-09-26 14:20:08 +03:00
ShaInstructionRewriteTests.cs [CPU] Emulate and rewrite SHA extension instructions on hosts without SHA (#909) 2026-09-26 14:20:08 +03:00
Sse4aBitFieldEmulatorTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Sse4aPosixSignalRecoveryTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
Sse4aWindowsExceptionRecoveryTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
TlsLoadPatchBoundaryTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
WindowsCrashCaptureTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
WindowsDebuggerBreakTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
WindowsExceptionTrampolineTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
WindowsFaultFilterTests.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
WindowsThreadContextCaptureTests.cs Astrobot / Demon's soul performance improvement (#955) 2026-09-30 18:14:21 +03:00