diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2025-03-17 15:39:02 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2025-03-17 15:39:02 +0100 |
| commit | 7fa3a1e627fe815b05751c223f4923e0d34addd1 (patch) | |
| tree | 98944ca87b55d611da520a9cce3b317b0b3c2797 /src/libtools | |
| parent | d28c8aa41a6bef344b107935cb4cb5cb22e5202e (diff) | |
| download | box64-7fa3a1e627fe815b05751c223f4923e0d34addd1.tar.gz box64-7fa3a1e627fe815b05751c223f4923e0d34addd1.zip | |
[ARM64_DYNAREC] Simplified 8F opcode, so special cases will be handled in signal directly if needed
Diffstat (limited to 'src/libtools')
| -rw-r--r-- | src/libtools/signals.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/libtools/signals.c b/src/libtools/signals.c index 0abea7ee..b5b0313a 100644 --- a/src/libtools/signals.c +++ b/src/libtools/signals.c @@ -589,6 +589,10 @@ void adjustregs(x64emu_t* emu) { R_RSI-=step; return; } + if(mem[idx+0]==0x8F && (mem[idx+1]&0xc0)!=0xc0) { + // POP Ed, issue on write address, restore RSP as in before the pop + R_RSP -= is66?2:(rex.is32bits?4:8); + } #elif defined(LA64) #elif defined(RV64) #else |