From b39fbc0cfddea724f877756c587571127bd22edf Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Sat, 10 Jul 2021 18:28:18 +0200 Subject: [DYNAREC] Stop building block if protection of next byte is 0 without the Custom flags --- src/dynarec/dynarec_arm64_pass.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/dynarec/dynarec_arm64_pass.c b/src/dynarec/dynarec_arm64_pass.c index a3d235cd..bbc028fa 100755 --- a/src/dynarec/dynarec_arm64_pass.c +++ b/src/dynarec/dynarec_arm64_pass.c @@ -100,7 +100,7 @@ uintptr_t arm_pass(dynarec_arm_t* dyn, uintptr_t addr) if(!ok && !need_epilog && dyn->insts && (addr < (dyn->start+dyn->isize))) { ok = 1; } - if(!ok && !need_epilog && !dyn->insts && getProtection(addr+3)) + if(!ok && !need_epilog && !dyn->insts && getProtection(addr+3)&~PROT_CUSTOM) if(*(uint32_t*)addr!=0) { // check if need to continue (but is next 4 bytes are 0, stop) uintptr_t next = get_closest_next(dyn, addr); if(next && ( -- cgit 1.4.1