diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2025-01-27 16:35:50 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2025-01-27 16:35:50 +0100 |
| commit | 3ab56994daab4d193e3f7bdc70c514a0c876f07b (patch) | |
| tree | ba254a924a0f1080fc38430ff5eaca4dc5452d52 /src/dynarec/dynarec_native_pass.c | |
| parent | a54afc8e0476c774ee0c1e3c35a1636e025c2d50 (diff) | |
| download | box64-3ab56994daab4d193e3f7bdc70c514a0c876f07b.tar.gz box64-3ab56994daab4d193e3f7bdc70c514a0c876f07b.zip | |
Improved file map tracking, and use file map info in dynarec for bigblock setting
Diffstat (limited to 'src/dynarec/dynarec_native_pass.c')
| -rw-r--r-- | src/dynarec/dynarec_native_pass.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dynarec/dynarec_native_pass.c b/src/dynarec/dynarec_native_pass.c index 99401201..f767942c 100644 --- a/src/dynarec/dynarec_native_pass.c +++ b/src/dynarec/dynarec_native_pass.c @@ -57,7 +57,7 @@ uintptr_t native_pass(dynarec_native_t* dyn, uintptr_t addr, int alternate, int ARCH_INIT(); int reset_n = -1; // -1 no reset; -2 reset to 0; else reset to the state of reset_n dyn->last_ip = (alternate || (dyn->insts && dyn->insts[0].pred_sz))?0:ip; // RIP is always set at start of block unless there is a predecessor! - int stopblock = 2 + (FindElfAddress(my_context, addr) ? 0 : 1); // if block is in elf_memory, it can be extended with BOX64DRENV(dynarec_bigblock)==2, else it needs 3 + int stopblock = 2 + ((FindElfAddress(my_context, addr) || IsAddrFileMapped(addr)) ? 0 : 1); // if block is in elf memory or file mapped memory, it can be extended with BOX64DRENV(dynarec_bigblock)==2, else it needs 3 // ok, go now INIT; #if STEP == 0 |