diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/dynarec/rv64/dynarec_rv64_functions.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/dynarec/rv64/dynarec_rv64_functions.c b/src/dynarec/rv64/dynarec_rv64_functions.c index cc2d2ea7..37b81c09 100644 --- a/src/dynarec/rv64/dynarec_rv64_functions.c +++ b/src/dynarec/rv64/dynarec_rv64_functions.c @@ -415,7 +415,7 @@ void extcacheUnwind(extcache_t* cache) if(cache->news) { // remove the newly created extcache for(int i=0; i<24; ++i) - if(cache->news&(1<<i)) + if((cache->news&(1<<i)) && !cache->olds[i].changed) cache->extcache[i].v = 0; cache->news = 0; } @@ -432,7 +432,7 @@ void extcacheUnwind(extcache_t* cache) cache->extcache[i].t = EXT_CACHE_SD; if (cache->olds[i].purged) - cache->extcache[i].n = cache->olds[i].reg; + cache->extcache[i].n = i; } } |