mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-03-24 22:15:07 +00:00
Merge pull request #29 from MerryMage/master
arm/translate: Do not tracecode when in an IT block
This commit is contained in:
commit
e5725839b9
|
@ -10151,9 +10151,11 @@ static void thumb_tr_translate_insn(DisasContextBase *dcbase, CPUState *cpu)
|
||||||
// Unicorn: trace this instruction on request
|
// Unicorn: trace this instruction on request
|
||||||
const uint32_t insn_size = is_16bit ? 2 : 4;
|
const uint32_t insn_size = is_16bit ? 2 : 4;
|
||||||
if (HOOK_EXISTS_BOUNDED(dc->uc, UC_HOOK_CODE, dc->base.pc_next - insn_size)) {
|
if (HOOK_EXISTS_BOUNDED(dc->uc, UC_HOOK_CODE, dc->base.pc_next - insn_size)) {
|
||||||
gen_uc_tracecode(tcg_ctx, insn_size, UC_HOOK_CODE_IDX, dc->uc, dc->base.pc_next - insn_size);
|
if (!dc->condexec_mask) {
|
||||||
// the callback might want to stop emulation immediately
|
gen_uc_tracecode(tcg_ctx, insn_size, UC_HOOK_CODE_IDX, dc->uc, dc->base.pc_next - insn_size);
|
||||||
check_exit_request(tcg_ctx);
|
// the callback might want to stop emulation immediately
|
||||||
|
check_exit_request(tcg_ctx);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_16bit) {
|
if (is_16bit) {
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
#include "unicorn.h"
|
#include "unicorn.h"
|
||||||
#include "unicorn_common.h"
|
#include "unicorn_common.h"
|
||||||
#include "uc_priv.h"
|
#include "uc_priv.h"
|
||||||
|
#include "exec/helper-proto.h"
|
||||||
|
|
||||||
const int ARM_REGS_STORAGE_SIZE = offsetof(CPUARMState, tlb_table);
|
const int ARM_REGS_STORAGE_SIZE = offsetof(CPUARMState, tlb_table);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue