diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2025-03-07 13:45:41 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2025-03-07 13:45:41 +0100 |
| commit | c8b6f80f995d0ee00a46b423a360c38bf20cacee (patch) | |
| tree | 8923015c32ba34140c047c3ec86bea383cfd3b17 /src/custommem.c | |
| parent | 9444ce0b890a73b28837f116ea551a18685b7b28 (diff) | |
| download | box64-c8b6f80f995d0ee00a46b423a360c38bf20cacee.tar.gz box64-c8b6f80f995d0ee00a46b423a360c38bf20cacee.zip | |
Removed isDBFromAddressRange and added that function to cleanDBFromAddressRange as it was used only 1 time and followed by that function anyway
Diffstat (limited to 'src/custommem.c')
| -rw-r--r-- | src/custommem.c | 25 |
1 files changed, 5 insertions, 20 deletions
diff --git a/src/custommem.c b/src/custommem.c index 87328bc1..940280bf 100644 --- a/src/custommem.c +++ b/src/custommem.c @@ -1020,42 +1020,27 @@ void addDBFromAddressRange(uintptr_t addr, size_t size) } } -void cleanDBFromAddressRange(uintptr_t addr, size_t size, int destroy) +// Will return 1 if at least 1 db in the address range +int cleanDBFromAddressRange(uintptr_t addr, size_t size, int destroy) { uintptr_t start_addr = my_context?((addr<my_context->max_db_size)?0:(addr-my_context->max_db_size)):addr; dynarec_log(LOG_DEBUG, "cleanDBFromAddressRange %p/%p -> %p %s\n", (void*)addr, (void*)start_addr, (void*)(addr+size-1), destroy?"destroy":"mark"); dynablock_t* db = NULL; uintptr_t end = addr+size; + int ret = 0; while (start_addr<end) { start_addr = getDBSize(start_addr, end-start_addr, &db); if(db) { + ret = 1; if(destroy) FreeRangeDynablock(db, addr, size); else MarkRangeDynablock(db, addr, size); } } + return ret; } -// Will return 1 if at least 1 db in the address range -int isDBFromAddressRange(uintptr_t addr, size_t size) -{ - uintptr_t start_addr = my_context?((addr<my_context->max_db_size)?0:(addr-my_context->max_db_size)):addr; - dynarec_log(LOG_DEBUG, "isDBFromAddressRange %p/%p -> %p => ", (void*)addr, (void*)start_addr, (void*)(addr+size-1)); - dynablock_t* db = NULL; - uintptr_t end = addr+size; - while (start_addr<end) { - start_addr = getDBSize(start_addr, end-start_addr, &db); - if(db) { - dynarec_log_prefix(0, LOG_DEBUG, "1\n"); - return 1; - } - } - dynarec_log_prefix(0, LOG_DEBUG, "0\n"); - return 0; -} - - #ifdef JMPTABL_SHIFT4 static uintptr_t *create_jmptbl(uintptr_t idx0, uintptr_t idx1, uintptr_t idx2, uintptr_t idx3, uintptr_t idx4) { |