about summary refs log tree commit diff stats
path: root/src/dynarec
diff options
context:
space:
mode:
authorYang Liu <liuyang22@iscas.ac.cn>2024-08-15 16:17:27 +0800
committerGitHub <noreply@github.com>2024-08-15 10:17:27 +0200
commit8c7d96ad6388ed9e2fff8e3acf665df41f559de0 (patch)
tree6978899af16fce9bdb0b21ac277b68aea81786e1 /src/dynarec
parentbd23e1f7fc8e175125b2a60b9e4de6821cc402ad (diff)
downloadbox64-8c7d96ad6388ed9e2fff8e3acf665df41f559de0.tar.gz
box64-8c7d96ad6388ed9e2fff8e3acf665df41f559de0.zip
[RV64_DYNAREC] Fixed extcacheUnwind regression (#1734)
Diffstat (limited to 'src/dynarec')
-rw-r--r--src/dynarec/rv64/dynarec_rv64_functions.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/dynarec/rv64/dynarec_rv64_functions.c b/src/dynarec/rv64/dynarec_rv64_functions.c
index b3aedaa8..c5a3a071 100644
--- a/src/dynarec/rv64/dynarec_rv64_functions.c
+++ b/src/dynarec/rv64/dynarec_rv64_functions.c
@@ -420,14 +420,12 @@ void extcacheUnwind(extcache_t* cache)
         cache->news = 0;
     }
     // add/change bad regs
-    for(int i=0; i<16; ++i) {
-        if (cache->extcache[i].t == EXT_CACHE_SS || cache->extcache[i].t == EXT_CACHE_SD) {
-            if (cache->olds[i].changed) {
-                cache->extcache[i].t = cache->olds[i].single ? EXT_CACHE_SS : EXT_CACHE_SD;
-            } else if (cache->olds[i].purged) {
-                cache->extcache[i].n = i;
-                cache->extcache[i].t = cache->olds[i].single ? EXT_CACHE_SS : EXT_CACHE_SD;
-            }
+    for (int i = 0; i < 16; ++i) {
+        if (cache->olds[i].changed) {
+            cache->extcache[i].t = cache->olds[i].single ? EXT_CACHE_SS : EXT_CACHE_SD;
+        } else if (cache->olds[i].purged) {
+            cache->extcache[i].n = i;
+            cache->extcache[i].t = cache->olds[i].single ? EXT_CACHE_SS : EXT_CACHE_SD;
         }
     }