From b504d07afe4f7d06b50e8347074be9a1d0451a9d Mon Sep 17 00:00:00 2001 From: JunChi1022 <47290889+JunChi1022@users.noreply.github.com> Date: Fri, 13 Sep 2024 01:04:28 +0800 Subject: [DYNAREC] fix page calculation error (#1822) --- src/dynarec/dynarec_native_pass.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/dynarec/dynarec_native_pass.c b/src/dynarec/dynarec_native_pass.c index 6c4ba1f5..dee5d496 100644 --- a/src/dynarec/dynarec_native_pass.c +++ b/src/dynarec/dynarec_native_pass.c @@ -61,12 +61,12 @@ uintptr_t native_pass(dynarec_native_t* dyn, uintptr_t addr, int alternate, int // ok, go now INIT; #if STEP == 0 - uintptr_t cur_page = (addr)&~box64_pagesize; + uintptr_t cur_page = (addr)&~(box64_pagesize-1); #endif while(ok) { #if STEP == 0 - if(cur_page != ((addr)&~box64_pagesize)) { - cur_page = (addr)&~box64_pagesize; + if(cur_page != ((addr)&~(box64_pagesize-1))) { + cur_page = (addr)&~(box64_pagesize-1); if(!(getProtection(addr)&PROT_READ)) { need_epilog = 1; break; -- cgit 1.4.1