about summary refs log tree commit diff stats
path: root/src/libtools
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-05-03 18:42:03 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-05-03 18:42:03 +0200
commit12467916a4ce5bf8042324f0dbb10a93da41d834 (patch)
treeb617fe857d5aff21c4df1404c19dba1dcb7be452 /src/libtools
parent6f0eb5662177f83458a8ad6db29501851f5d66b8 (diff)
downloadbox64-12467916a4ce5bf8042324f0dbb10a93da41d834.tar.gz
box64-12467916a4ce5bf8042324f0dbb10a93da41d834.zip
[DYNAREC] Re-introduce a simple HotPage handling, to speedup heavily obfuscated program loading
Diffstat (limited to 'src/libtools')
-rw-r--r--src/libtools/signals.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/libtools/signals.c b/src/libtools/signals.c
index 94946b9e..e9ff125a 100644
--- a/src/libtools/signals.c
+++ b/src/libtools/signals.c
@@ -1396,6 +1396,7 @@ void my_box64signalhandler(int32_t sig, siginfo_t* info, void * ucntx)
         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);
         } else {
             repeated_page = (uintptr_t)addr&~(box64_pagesize-1);
             repeated_count = 0;