Try for some fixes
This commit is contained in:
@@ -30,12 +30,6 @@ static struct {
|
||||
int TOP;
|
||||
} codegen_instructions[MAX_INSTRUCTION_COUNT];
|
||||
|
||||
void
|
||||
codegen_print_mmx(const char* str, uint32_t fetchdat)
|
||||
{
|
||||
pclog("MMX results: %016llX, %016llX, %016llX, %016llX, %016llX, %016llX, %016llX, %016llX (%s, fetchdat 0x%08X)\n", (unsigned long long)cpu_state.MM[0].q, (unsigned long long)cpu_state.MM[1].q, (unsigned long long)cpu_state.MM[2].q, (unsigned long long)cpu_state.MM[3].q, (unsigned long long)cpu_state.MM[4].q, (unsigned long long)cpu_state.MM[5].q, (unsigned long long)cpu_state.MM[6].q, (unsigned long long)cpu_state.MM[7].q, str, fetchdat);
|
||||
}
|
||||
|
||||
int
|
||||
codegen_get_instruction_uop(codeblock_t *block, uint32_t pc, int *first_instruction, int *TOP)
|
||||
{
|
||||
@@ -746,12 +740,9 @@ codegen_skip:
|
||||
else
|
||||
uop_MOV_IMM(ir, IREG_pc, op_pc + pc_off);
|
||||
uop_MOV_IMM(ir, IREG_oldpc, old_pc);
|
||||
if (op_32 != last_op_32)
|
||||
uop_MOV_IMM(ir, IREG_op32, op_32);
|
||||
if (op_ea_seg != last_op_ea_seg)
|
||||
uop_MOV_PTR(ir, IREG_ea_seg, (void *) op_ea_seg);
|
||||
if (op_ssegs != last_op_ssegs)
|
||||
uop_MOV_IMM(ir, IREG_ssegs, op_ssegs);
|
||||
uop_MOV_IMM(ir, IREG_op32, op_32);
|
||||
uop_MOV_PTR(ir, IREG_ea_seg, (void *) op_ea_seg);
|
||||
uop_MOV_IMM(ir, IREG_ssegs, op_ssegs);
|
||||
uop_CALL_INSTRUCTION_FUNC(ir, op, fetchdat);
|
||||
codegen_flags_changed = 0;
|
||||
codegen_mark_code_present(block, cs + cpu_state.pc, 8);
|
||||
|
||||
@@ -53,6 +53,7 @@ duplicate_uop(ir_data_t *ir, uop_t *uop, int offset)
|
||||
new_uop->imm_data = uop->imm_data;
|
||||
new_uop->p = uop->p;
|
||||
new_uop->pc = uop->pc;
|
||||
new_uop->is_a16 = uop->is_a16;
|
||||
|
||||
if (uop->jump_dest_uop != -1) {
|
||||
new_uop->jump_dest_uop = uop->jump_dest_uop + offset;
|
||||
|
||||
@@ -114,7 +114,6 @@ int codegen_can_unroll_full(codeblock_t *block, ir_data_t *ir, uint32_t next_pc,
|
||||
static inline int
|
||||
codegen_can_unroll(codeblock_t *block, ir_data_t *ir, uint32_t next_pc, uint32_t dest_addr)
|
||||
{
|
||||
return 0;
|
||||
if (block->flags & CODEBLOCK_BYTE_MASK)
|
||||
return 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user