sharpemu/tests
kuba ae7ca8dfbe [CPU] Reuse import trampolines and leave patched stubs alone on module reloads
Every runtime module load sets up the import stubs of all loaded modules
again, and each setup built a fresh trampoline and rewrote the stub's 16 bytes
-- under guest threads that may be executing exactly those bytes.

A trampoline only encodes its import index, so the trampolines are now cached
by index and reused, and a stub that already jumps to the trampoline it would
be given is left untouched, with no unprotect/write/restore cycle at all. A
reload of a module whose stubs are already patched therefore writes no guest
code.

The trampoline ABI test builds its backend with GetUninitializedObject, which
skips field initializers, so it has to supply the new cache; both fields now
go through one helper that names a field it cannot find.
2026-09-30 00:11:15 +02:00
..
SharpEmu.Libs.Tests [CPU] Reuse import trampolines and leave patched stubs alone on module reloads 2026-09-30 00:11:15 +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