Add tests for UC_HOOK_TCG_OPCODE
This commit is contained in:
@@ -1552,9 +1552,6 @@ static void gen_op(DisasContext *s1, int op, MemOp ot, int d)
|
||||
continue;
|
||||
if (hook->op == UC_TCG_OP_SUB && (hook->op_flags & UC_TCG_OP_FLAG_DIRECT) ) {
|
||||
// TCGv is just an offset to tcg_ctx so it's safe to do so.
|
||||
if ( (hook->op_flags & UC_TCG_OP_FLAG_IMM) && d != OR_EAX) {
|
||||
continue;
|
||||
}
|
||||
gen_uc_traceopcode(tcg_ctx, hook, (TCGv_i64)s1->T0, (TCGv_i64)s1->T1, uc, s1->pc_start);
|
||||
}
|
||||
}
|
||||
@@ -1610,9 +1607,6 @@ static void gen_op(DisasContext *s1, int op, MemOp ot, int d)
|
||||
continue;
|
||||
if (hook->op == UC_TCG_OP_SUB && (hook->op_flags & UC_TCG_OP_FLAG_CMP) ) {
|
||||
// TCGv is just an offset to tcg_ctx so it's safe to do so.
|
||||
if ( (hook->op_flags & UC_TCG_OP_FLAG_IMM) && d != OR_EAX) {
|
||||
continue;
|
||||
}
|
||||
gen_uc_traceopcode(tcg_ctx, hook, (TCGv_i64)s1->T0, (TCGv_i64)s1->T1, uc, s1->pc_start);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1578,10 +1578,6 @@ static bool x86_opcode_hook_invalidate(uint32_t op, uint32_t flags)
|
||||
switch (op) {
|
||||
case UC_TCG_OP_SUB:
|
||||
|
||||
if (flags == UC_TCG_OP_FLAG_IMM) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((flags & UC_TCG_OP_FLAG_CMP) && (flags & UC_TCG_OP_FLAG_DIRECT)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user