diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-11-09 18:12:43 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-11-09 18:12:43 +0100 |
| commit | e676756cdadef1d27d68b04efb6a5b77069f53ba (patch) | |
| tree | 02f855d850ff288337997505c4b17ad13065550d /src | |
| parent | 591958c59cb59a5e36f2b46a201731a5c8e918c3 (diff) | |
| download | box64-e676756cdadef1d27d68b04efb6a5b77069f53ba.tar.gz box64-e676756cdadef1d27d68b04efb6a5b77069f53ba.zip | |
[DYNAREC] Small chnage o hotpage detection to make it less sensitive
Diffstat (limited to 'src')
| -rw-r--r-- | src/libtools/signals.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libtools/signals.c b/src/libtools/signals.c index 6bebf6d2..dcf0ff2c 100644 --- a/src/libtools/signals.c +++ b/src/libtools/signals.c @@ -1476,8 +1476,10 @@ void my_box64signalhandler(int32_t sig, siginfo_t* info, void * ucntx) static int repeated_count = 0; if(repeated_page == ((uintptr_t)addr&~(box64_pagesize-1))) { ++repeated_count; // Access eoor multiple time on same page, disable dynarec on this page a few time... - dynarec_log(LOG_DEBUG, "Detecting a Hotpage at %p (%d)\n", (void*)repeated_page, repeated_count); - SetHotPage(repeated_page); + if(repeated_count>1) { + dynarec_log(LOG_DEBUG, "Detecting a Hotpage at %p (%d)\n", (void*)repeated_page, repeated_count); + SetHotPage(repeated_page); + } } else { repeated_page = (uintptr_t)addr&~(box64_pagesize-1); repeated_count = 0; |