sharpemu/tests
kuba abe224732f [Loader] Guard frame-pointer spill slots that live in the guest red zone
Host signal frames are pushed onto the guest stack, so GuestRedZonePatcher
protects functions that keep live data in the 128-byte red zone. It only
recognized RSP-relative accesses. Clang spills just as often through the frame
pointer: after 'push rbp; mov rbp, rsp' and N callee-saved pushes, RSP sits at
RBP-N and every [rbp-d] with d > N is below RSP. A fault taken there (lazy
commit, write tracking) overwrote those slots, which showed up as garbage
pointers on random threads in Poppy Playtime's level load.

Derive RBP-to-RSP from the standard prologue (leading pushes and the first
'sub rsp, imm') and treat [rbp-d] in (delta, delta + 128] as red-zone use. An
under-estimated delta only widens the guarded window. In Poppy's eboot this
protects 787 functions instead of 485.
2026-09-29 22:47:32 +02:00
..
SharpEmu.Libs.Tests [Loader] Guard frame-pointer spill slots that live in the guest red zone 2026-09-29 22:47:32 +02:00
SharpEmu.ShaderCompiler.Metal.Tests Amd fix opcode nid filecache wave32 (#903) 2026-09-24 15:00:42 +03:00
SharpEmu.ShaderCompiler.Tests test(shader): cover SAshrI64 translation (#914) 2026-09-28 02:59:51 +03:00
SharpEmu.SourceGenerators.Tests feat(hle): prefer loaded guest exports for selected registrations (#844) 2026-08-25 22:32:57 +02:00