sharpemu/src/SharpEmu.HLE
kuba 155add2c10
[CPU] Cache readable stack ranges per thread for import arguments on POSIX (#911)
Every import reads its stack arguments through a region query, which on
POSIX takes the global region lock and scans the view regions. With many
guest threads this was the most contended lock in the process (about 36k
contentions per second in Poppy Playtime) and HLE calls averaged ~59 us.
Keep the last readable range per thread for the import path and reuse it
until any POSIX mapping or protection changes. The signal handlers keep the
uncached query, since they must not touch thread-static storage.
2026-09-26 14:19:48 +03:00
..
Aerolib [SourceGenerators] Compile-time SysAbi export registry, analyzers, and build-generated aerolib.bin (#204) 2026-07-16 00:00:32 +03:00
GpuMemory Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
GuestMemory [Memory] Pre-reserve the guest address space on POSIX hosts (#905) 2026-09-26 03:06:25 +03:00
Host [CPU] Cache readable stack ranges per thread for import arguments on POSIX (#911) 2026-09-26 14:19:48 +03:00
CpuContext.cs Alpha rebuild part2 (#893) 2026-09-21 00:29:16 +03:00
CpuRegister.cs initial commit 2026-03-11 15:48:28 +03:00
ExportedFunction.cs feat(hle): prefer loaded guest exports for selected registrations (#844) 2026-08-25 22:32:57 +02:00
Generation.cs initial commit 2026-03-11 15:48:28 +03:00
GuestCStringAttribute.cs [SourceGenerators] Compile-time SysAbi export registry, analyzers, and build-generated aerolib.bin (#204) 2026-07-16 00:00:32 +03:00
GuestImageWriteTracker.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
GuestMemoryLayout.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
GuestPageProtection.cs Host platform abstraction layer for the execution engine (#181) 2026-07-15 03:15:36 +03:00
GuestThreadExecution.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
GuestTlsTemplate.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
GuestWriteWatch.cs Prevent invalid SaveData writes from damaging guest memory (#444) 2026-07-19 20:27:17 +03:00
HleDataSymbols.cs [AGC/Vulkan] Extend PS5 runtime and rendering compatibility (#216) 2026-07-16 02:02:34 +03:00
HostMainThread.cs Sdl backend (#670) 2026-07-28 03:33:26 +03:00
HostMemory.cs [CPU] Cache readable stack ranges per thread for import arguments on POSIX (#911) 2026-09-26 14:19:48 +03:00
HostSessionControl.cs Sdl backend (#670) 2026-07-28 03:33:26 +03:00
ICpuMemory.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
ICpuMemoryWrapper.cs Host platform abstraction layer for the execution engine (#181) 2026-07-15 03:15:36 +03:00
IGuestAddressSpace.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
IGuestBackedSpace.cs Alpha Rebuild Progress (#887) 2026-09-20 04:09:27 +03:00
IGuestMemoryAllocator.cs Fix virtual memory allocation and access (#193) 2026-07-14 21:50:54 -06:00
IModuleManager.cs [SourceGenerators] Compile-time SysAbi export registry, analyzers, and build-generated aerolib.bin (#204) 2026-07-16 00:00:32 +03:00
ISymbolCatalog.cs initial commit 2026-03-11 15:48:28 +03:00
ModuleManager.cs [SourceGenerators] Compile-time SysAbi export registry, analyzers, and build-generated aerolib.bin (#204) 2026-07-16 00:00:32 +03:00
OrbisGen2Result.cs [kernel] Wake blocked waiters on semaphore signal, cancel, and delete (#67) 2026-07-11 22:17:24 +03:00
SharpEmu.HLE.csproj Sdl backend (#670) 2026-07-28 03:33:26 +03:00
SysAbiExportAttribute.cs feat(hle): prefer loaded guest exports for selected registrations (#844) 2026-08-25 22:32:57 +02:00
SysAbiFunction.cs initial commit 2026-03-11 15:48:28 +03:00
SysAbiSymbol.cs initial commit 2026-03-11 15:48:28 +03:00