diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-03-28 18:54:25 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-03-28 18:54:25 +0200 |
| commit | 4d1641b3218593c70dab6696949bf0c745b7920d (patch) | |
| tree | 5d1b6c082341bb53eae629e93427c98821cb5ea1 /src | |
| parent | ee561da549fb6f47f4b301466f2f751a085fa6d5 (diff) | |
| download | box64-4d1641b3218593c70dab6696949bf0c745b7920d.tar.gz box64-4d1641b3218593c70dab6696949bf0c745b7920d.zip | |
[DYNAREC] Compute arm size of son block
Diffstat (limited to 'src')
| -rwxr-xr-x | src/dynarec/dynarec_arm64.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/dynarec/dynarec_arm64.c b/src/dynarec/dynarec_arm64.c index 7641a573..7f23e83b 100755 --- a/src/dynarec/dynarec_arm64.c +++ b/src/dynarec/dynarec_arm64.c @@ -448,7 +448,7 @@ void* FillBlock64(dynablock_t* block, uintptr_t addr) { block->hash = X31_hash_code(block->x64_addr, block->x64_size); // Check if something changed, to abbort if it as if(block->hash != hash) { - dynarec_log(LOG_INFO, "Warning, a block changed while beeing processed hash(%p:%d)=%x/%x\n", block->x64_addr, block->x64_size, block->hash, hash); + dynarec_log(LOG_INFO, "Warning, a block changed while beeing processed hash(%p:%ld)=%x/%x\n", block->x64_addr, block->x64_size, block->hash, hash); free(helper.sons_x64); free(helper.sons_arm); FreeDynarecMap(block, (uintptr_t)p, sz); @@ -467,6 +467,7 @@ void* FillBlock64(dynablock_t* block, uintptr_t addr) { son->x64_size = end-helper.sons_x64[i]; if(!son->x64_size) {printf_log(LOG_NONE, "Warning, son with null x64 size! (@%p / ARM=%p)", son->x64_addr, son->block);} son->father = block; + son->size = sz + son->block - block->block; // update size count, for debugging son->done = 1; sons[sons_size++] = son; if(!son->parent) |