about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-03-13 17:43:55 +0100
committerptitSeb <sebastien.chev@gmail.com>2023-03-13 17:43:55 +0100
commit20a6e66e115b6cd1c21103cd7439f0dfcda0f07b (patch)
tree58f7f7d5bf9c90fd6fe87a463c6a6d2db6a7f9eb /src
parent94d397b8c59b2507f5f101c8601467f62c19fcfa (diff)
downloadbox64-20a6e66e115b6cd1c21103cd7439f0dfcda0f07b.tar.gz
box64-20a6e66e115b6cd1c21103cd7439f0dfcda0f07b.zip
[ARM64_DYNAREC] Removed child leftover, it's not implemented anymore
Diffstat (limited to 'src')
-rwxr-xr-xsrc/dynarec/arm64/dynarec_arm64_functions.c18
-rwxr-xr-xsrc/dynarec/arm64/dynarec_arm64_functions.h3
-rwxr-xr-xsrc/dynarec/arm64/dynarec_arm64_pass2.h2
-rwxr-xr-xsrc/dynarec/arm64/dynarec_arm64_pass3.h3
4 files changed, 0 insertions, 26 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_functions.c b/src/dynarec/arm64/dynarec_arm64_functions.c
index 2c6ebb36..bfa17d6e 100755
--- a/src/dynarec/arm64/dynarec_arm64_functions.c
+++ b/src/dynarec/arm64/dynarec_arm64_functions.c
@@ -926,21 +926,3 @@ const char* getCacheName(int t, int n)
     }
     return buff;
 }
-
-// is inst clean for a son branch?
-int isInstClean(dynarec_arm_t* dyn, int ninst)
-{
-    // check flags cache
-    if(dyn->insts[ninst].f_entry.dfnone || dyn->insts[ninst].f_entry.pending)
-        return 0;
-    if(dyn->insts[ninst].x64.state_flags)
-        return 0;
-    // check neoncache
-    neoncache_t* n = &dyn->insts[ninst].n;
-    if(n->news || n->stack || n->stack_next)
-        return 0;
-    for(int i=0; i<24; ++i)
-        if(n->neoncache[i].v)
-            return 0;
-    return 1;
-}
diff --git a/src/dynarec/arm64/dynarec_arm64_functions.h b/src/dynarec/arm64/dynarec_arm64_functions.h
index f8d5d127..e65c2cde 100755
--- a/src/dynarec/arm64/dynarec_arm64_functions.h
+++ b/src/dynarec/arm64/dynarec_arm64_functions.h
@@ -77,9 +77,6 @@ int CacheNeedsTransform(dynarec_arm_t* dyn, int i1);
 // Undo the changes of a neoncache to get the status before the instruction
 void neoncacheUnwind(neoncache_t* cache);
 
-// is inst clean for a son branch?
-int isInstClean(dynarec_arm_t* dyn, int ninst);
-
 // predecessor access
 int isPred(dynarec_arm_t* dyn, int ninst, int pred);
 int getNominalPred(dynarec_arm_t* dyn, int ninst);
diff --git a/src/dynarec/arm64/dynarec_arm64_pass2.h b/src/dynarec/arm64/dynarec_arm64_pass2.h
index edc43ae5..0b063d7d 100755
--- a/src/dynarec/arm64/dynarec_arm64_pass2.h
+++ b/src/dynarec/arm64/dynarec_arm64_pass2.h
@@ -10,8 +10,6 @@
 #define NEW_INST                                                                                        \
         if(ninst) {                                                                                     \
                 dyn->insts[ninst].address = (dyn->insts[ninst-1].address+dyn->insts[ninst-1].size);     \
-                if(isInstClean(dyn, ninst) && dyn->last_ip!=ip)                                         \
-                        dyn->last_ip = 0;                                                               \
                 dyn->insts_size += 1+((dyn->insts[ninst-1].x64.size>dyn->insts[ninst-1].size)?dyn->insts[ninst-1].x64.size:dyn->insts[ninst-1].size)/15; \
         }
 #define INST_EPILOG dyn->insts[ninst].epilog = dyn->native_size; 
diff --git a/src/dynarec/arm64/dynarec_arm64_pass3.h b/src/dynarec/arm64/dynarec_arm64_pass3.h
index ae79c11f..72f580f1 100755
--- a/src/dynarec/arm64/dynarec_arm64_pass3.h
+++ b/src/dynarec/arm64/dynarec_arm64_pass3.h
@@ -11,9 +11,6 @@
 
 #define MESSAGE(A, ...)  if(box64_dynarec_dump) dynarec_log(LOG_NONE, __VA_ARGS__)
 #define NEW_INST        \
-    if(ninst && isInstClean(dyn, ninst)) {                      \
-        if(dyn->last_ip!=ip) dyn->last_ip = 0;                  \
-    }                                                           \
     if(ninst)                                                   \
         addInst(dyn->instsize, &dyn->insts_size, dyn->insts[ninst-1].x64.size, dyn->insts[ninst-1].size/4);
 #define INST_EPILOG