mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-14 15:00:53 +02:00
Windows: Opportunistically detect and replace the mono backpatcher
This commit is contained in:
1 parent
0dddc9b5cb
commit
fddc86c2b1
4 files changed
+63
-14
No files matched your search
@@ -161,7 +161,7 @@ bool IsAddressInJit(uint64_t Address) {
|
||||
void HandleImageMap(uint64_t Address) {
|
||||
fextl::string ModuleName = FEX::Windows::GetSectionFilePath(Address);
|
||||
LogMan::Msg::DFmt("Load module {}: {:X}", ModuleName, Address);
|
||||
InvalidationTracker->HandleImageMap(Address);
|
||||
InvalidationTracker->HandleImageMap(ModuleName, Address);
|
||||
}
|
||||
} // namespace
|
||||
|
||||
@@ -799,7 +799,7 @@ bool BTCpuResetToConsistentStateImpl(EXCEPTION_POINTERS* Ptrs) {
|
||||
if (Thread) {
|
||||
std::scoped_lock Lock(ThreadCreationMutex);
|
||||
FEXCORE_PROFILE_INSTANT_INCREMENT(Thread, AccumulatedSMCCount, 1);
|
||||
if (InvalidationTracker->HandleRWXAccessViolation(FaultAddress)) {
|
||||
if (InvalidationTracker->HandleRWXAccessViolation(Thread, Context->Pc, FaultAddress)) {
|
||||
if (CTX->IsAddressInCodeBuffer(Thread, Context->Pc) && !CTX->IsCurrentBlockSingleInst(Thread) &&
|
||||
CTX->IsAddressInCurrentBlock(Thread, FaultAddress & FEXCore::Utils::FEX_PAGE_MASK, FEXCore::Utils::FEX_PAGE_SIZE)) {
|
||||
Context::ReconstructThreadState(Context);
|
||||
|
||||
Reference in new issue
Block a user