diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2025-06-19 11:07:21 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2025-06-19 11:07:30 +0200 |
| commit | 725316a5386eb713438625220b561bcd3710c8bc (patch) | |
| tree | 3535222fdd3ec0c8b601df98006fa1736e9fb047 /src/wrapped | |
| parent | cc9ed708379b9b03e7a9b86f040f06f178606aef (diff) | |
| download | box64-725316a5386eb713438625220b561bcd3710c8bc.tar.gz box64-725316a5386eb713438625220b561bcd3710c8bc.zip | |
[DYNACACHE] Introduced DynaCache for ARM64 (disabled by default)
Diffstat (limited to 'src/wrapped')
| -rw-r--r-- | src/wrapped/generated/functions_list.txt | 1 | ||||
| -rw-r--r-- | src/wrapped/wrappedlibc.c | 10 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index 82b573e2..bf306cfa 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -3506,7 +3506,6 @@ #() iFEpuvvppp -> iFEpuppp wrappedalure: wrappedalut: -wrappedandroidshmem: wrappedanl: wrappedatk: - vFp: diff --git a/src/wrapped/wrappedlibc.c b/src/wrapped/wrappedlibc.c index ef9d96f3..b6e05fb3 100644 --- a/src/wrapped/wrappedlibc.c +++ b/src/wrapped/wrappedlibc.c @@ -3145,6 +3145,9 @@ EXPORT int my_munmap(x64emu_t* emu, void* addr, size_t length) int ret = box_munmap(addr, length); int e = errno; #ifdef DYNAREC + if(!ret) { + WillRemoveMapping((uintptr_t)addr, length); + } if(!ret && BOX64ENV(dynarec) && length) { cleanDBFromAddressRange((uintptr_t)addr, length, 1); } @@ -3168,9 +3171,10 @@ EXPORT int my_mprotect(x64emu_t* emu, void *addr, unsigned long len, int prot) int ret = mprotect(addr, len, prot); #ifdef DYNAREC if(BOX64ENV(dynarec) && !ret && len) { - if(prot& PROT_EXEC) - addDBFromAddressRange((uintptr_t)addr, len); - else + if(prot& PROT_EXEC) { + if(!IsAddrMappingLoadAndClean((uintptr_t)addr)) + addDBFromAddressRange((uintptr_t)addr, len); + } else cleanDBFromAddressRange((uintptr_t)addr, len, (!prot)?1:0); } #endif |