Windows: Opportunistically detect and replace the mono backpatcher

This commit is contained in:
Billy Laws committed 2025-08-06 22:39:17 +01:00
1 parent 0dddc9b5cb
commit fddc86c2b1
4 files changed
+63 -14

No files matched your search

+2 -2
View File
@@ -314,7 +314,7 @@ void HandleImageMap(uint64_t Address) {
if (VolatileMetadata) {
LoadImageVolatileMetadata(Address);
}
InvalidationTracker->HandleImageMap(Address);
InvalidationTracker->HandleImageMap(ModuleName, Address);
}
} // namespace
@@ -716,7 +716,7 @@ bool ResetToConsistentStateImpl(EXCEPTION_RECORD* Exception, CONTEXT* GuestConte
}
std::scoped_lock Lock(ThreadCreationMutex);
if (InvalidationTracker && InvalidationTracker->HandleRWXAccessViolation(FaultAddress)) {
if (InvalidationTracker && InvalidationTracker->HandleRWXAccessViolation(Thread, NativeContext->Pc, FaultAddress)) {
FEXCORE_PROFILE_INSTANT_INCREMENT(Thread, AccumulatedSMCCount, 1);
if (CTX->IsAddressInCodeBuffer(Thread, NativeContext->Pc) && !CTX->IsCurrentBlockSingleInst(CPUArea.ThreadState()) &&
CTX->IsAddressInCurrentBlock(Thread, FaultAddress & FEXCore::Utils::FEX_PAGE_MASK, FEXCore::Utils::FEX_PAGE_SIZE)) {