From 8c7d96ad6388ed9e2fff8e3acf665df41f559de0 Mon Sep 17 00:00:00 2001 From: Yang Liu Date: Thu, 15 Aug 2024 16:17:27 +0800 Subject: [RV64_DYNAREC] Fixed extcacheUnwind regression (#1734) --- src/dynarec/rv64/dynarec_rv64_functions.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'src') 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; } } -- cgit 1.4.1