[RV64,LA64_DYNAREC] Small change when handling long CC INT 3 opcode (#1736)

This commit is contained in:
Yang Liu 2024-08-16 02:14:33 +08:00 committed by ptitSeb
parent b2f94b274c
commit 6ddb5b3477
2 changed files with 6 additions and 2 deletions

View File

@ -1645,11 +1645,13 @@ uintptr_t dynarec64_00(dynarec_la64_t* dyn, uintptr_t addr, uintptr_t ip, int ni
TABLE64(x1, (uintptr_t)my_context);
MOV32w(x2, offsetof(box64context_t, signals[SIGTRAP]));
LDX_D(x3, x1, x2);
CBZ_NEXT(x3);
BEQZ_MARK(x3);
GETIP(addr);
STORE_XEMU_CALL();
CALL(native_int3, -1);
LOAD_XEMU_CALL();
MARK;
jump_to_epilog(dyn, addr, 0, ninst);
*need_epilog = 0;
*ok = 0;
}

View File

@ -428,11 +428,13 @@ uintptr_t dynarec64_00_3(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int
MOV32w(x2, offsetof(box64context_t, signals[SIGTRAP]));
ADD(x2, x2, x1);
LD(x3, x2, 0);
CBZ_NEXT(x3);
BEQZ_MARK(x3);
GETIP(addr);
STORE_XEMU_CALL(x3);
CALL(native_int3, -1);
LOAD_XEMU_CALL();
MARK;
jump_to_epilog(dyn, addr, 0, ninst);
*need_epilog = 0;
*ok = 0;
}