diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2022-12-01 17:15:46 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2022-12-01 17:15:46 +0100 |
| commit | 3f007d2dbb2b0319d9c2ff4ef6dff10d77a9b6ab (patch) | |
| tree | 8d5c8ed93420b9eed74938a82dcaef61f13da87e /src/dynarec/dynarec_native.c | |
| parent | cde68af79aa0c05dedaed7f440e7023a349501fb (diff) | |
| download | box64-3f007d2dbb2b0319d9c2ff4ef6dff10d77a9b6ab.tar.gz box64-3f007d2dbb2b0319d9c2ff4ef6dff10d77a9b6ab.zip | |
[DYNAREC] More control over HotPage handling with BOX64_DYNARC_HOTPAGE
Diffstat (limited to 'src/dynarec/dynarec_native.c')
| -rwxr-xr-x | src/dynarec/dynarec_native.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/dynarec/dynarec_native.c b/src/dynarec/dynarec_native.c index b4c93c74..2f58b2d8 100755 --- a/src/dynarec/dynarec_native.c +++ b/src/dynarec/dynarec_native.c @@ -457,6 +457,7 @@ void* FillBlock64(dynablock_t* block, uintptr_t addr) { } if(!isprotectedDB(addr, 1)) { dynarec_log(LOG_INFO, "Warning, write on current page on pass0, aborting dynablock creation (%p)\n", (void*)addr); + AddHotPage(addr); CancelBlock64(); return NULL; } @@ -583,12 +584,14 @@ 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:%ld)=%x/%x\n", block->x64_addr, block->x64_size, block->hash, hash); + dynarec_log(LOG_DEBUG, "Warning, a block changed while beeing processed hash(%p:%ld)=%x/%x\n", block->x64_addr, block->x64_size, block->hash, hash); + AddHotPage(addr); CancelBlock64(); return NULL; } if(!isprotectedDB(addr, end-addr)) { - dynarec_log(LOG_INFO, "Warning, block unprotected while beeing processed %p:%ld, cancelling\n", block->x64_addr, block->x64_size); + dynarec_log(LOG_DEBUG, "Warning, block unprotected while beeing processed %p:%ld, cancelling\n", block->x64_addr, block->x64_size); + AddHotPage(addr); CancelBlock64(); return NULL; //protectDB(addr, end-addr); |