From 8432f7d8e212c123169f198bc22df7819892a9e9 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Wed, 15 Jan 2025 18:24:54 +0100 Subject: [DYNAREC] Introduce BOX64_DYNAREC_DIRTY and some profile to use it --- src/libtools/signals.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/libtools') diff --git a/src/libtools/signals.c b/src/libtools/signals.c index 46eb4d5a..d6aa7075 100644 --- a/src/libtools/signals.c +++ b/src/libtools/signals.c @@ -1622,7 +1622,7 @@ void my_box64signalhandler(int32_t sig, siginfo_t* info, void * ucntx) unprotectDB((uintptr_t)addr, 1, 1); // unprotect 1 byte... But then, the whole page will be unprotected if(db) CheckHotPage((uintptr_t)addr); int db_need_test = db?getNeedTest((uintptr_t)db->x64_addr):0; - if(db && ((addr>=db->x64_addr && addr<(db->x64_addr+db->x64_size)) || db_need_test)) { + if(db && ((addr>=db->x64_addr && addr<(db->x64_addr+db->x64_size)) || (db_need_test && !box64_dynarec_dirty))) { emu = getEmuSignal(emu, p, db); // dynablock got auto-dirty! need to get out of it!!! if(emu->jmpbuf) { -- cgit 1.4.1