about summary refs log tree commit diff stats
path: root/src/main.c
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2022-12-01 17:15:46 +0100
committerptitSeb <sebastien.chev@gmail.com>2022-12-01 17:15:46 +0100
commit3f007d2dbb2b0319d9c2ff4ef6dff10d77a9b6ab (patch)
tree8d5c8ed93420b9eed74938a82dcaef61f13da87e /src/main.c
parentcde68af79aa0c05dedaed7f440e7023a349501fb (diff)
downloadbox64-3f007d2dbb2b0319d9c2ff4ef6dff10d77a9b6ab.tar.gz
box64-3f007d2dbb2b0319d9c2ff4ef6dff10d77a9b6ab.zip
[DYNAREC] More control over HotPage handling with BOX64_DYNARC_HOTPAGE
Diffstat (limited to 'src/main.c')
-rwxr-xr-xsrc/main.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/main.c b/src/main.c
index da01c4e5..13d39784 100755
--- a/src/main.c
+++ b/src/main.c
@@ -52,6 +52,7 @@ int box64_dynarec_x87double = 0;
 int box64_dynarec_fastnan = 1;
 int box64_dynarec_safeflags = 1;
 int box64_dynarec_callret = 0;
+int box64_dynarec_hotpage = 16;
 uintptr_t box64_nodynarec_start = 0;
 uintptr_t box64_nodynarec_end = 0;
 #ifdef ARM64
@@ -490,6 +491,18 @@ void LoadLogEnv()
         if(!box64_dynarec_callret)
             printf_log(LOG_INFO, "Dynarec will optimize CALL/RET\n");
     }
+    p = getenv("BOX64_DYNAREC_HOTPAGE");
+    if(p) {
+        int val = -1;
+        if(sscanf("%d", p, &val)==1) {
+            if(val>=0)
+                box64_dynarec_hotpage = val;
+        }
+        if(!box64_dynarec_hotpage)
+            printf_log(LOG_INFO, "Dynarec will have HotPage tagged for %d ticks\n", box64_dynarec_hotpage);
+        else
+            printf_log(LOG_INFO, "Dynarec will not tag HotPage\n");
+    }
     p = getenv("BOX64_NODYNAREC");
     if(p) {
         if (strchr(p,'-')) {