mirror of
https://github.com/kanjitalk755/macemu.git
synced 2024-12-20 00:29:56 +00:00
Propagate done_compile down to compile1() in case it needs to override
the end-of-block condition (e.g. sheep EmulOps)
This commit is contained in:
parent
48d844a40a
commit
60d371486b
@ -281,6 +281,7 @@ protected:
|
|||||||
uint32 pc;
|
uint32 pc;
|
||||||
uint32 opcode;
|
uint32 opcode;
|
||||||
const instr_info_t *instr_info;
|
const instr_info_t *instr_info;
|
||||||
|
bool done_compile;
|
||||||
|
|
||||||
codegen_context_t(powerpc_dyngen & codegen_init)
|
codegen_context_t(powerpc_dyngen & codegen_init)
|
||||||
: codegen(codegen_init)
|
: codegen(codegen_init)
|
||||||
|
@ -1025,6 +1025,7 @@ powerpc_cpu::compile_block(uint32 entry_point)
|
|||||||
cg_context.pc = dpc;
|
cg_context.pc = dpc;
|
||||||
cg_context.opcode = opcode;
|
cg_context.opcode = opcode;
|
||||||
cg_context.instr_info = ii;
|
cg_context.instr_info = ii;
|
||||||
|
cg_context.done_compile = done_compile;
|
||||||
if (!compile1(cg_context)) {
|
if (!compile1(cg_context)) {
|
||||||
if ((dpc - sync_pc) > sync_pc_offset) {
|
if ((dpc - sync_pc) > sync_pc_offset) {
|
||||||
sync_pc = dpc;
|
sync_pc = dpc;
|
||||||
@ -1034,6 +1035,7 @@ powerpc_cpu::compile_block(uint32 entry_point)
|
|||||||
sync_pc_offset += 4;
|
sync_pc_offset += 4;
|
||||||
dg.gen_invoke_CPU_im(func, opcode);
|
dg.gen_invoke_CPU_im(func, opcode);
|
||||||
}
|
}
|
||||||
|
done_compile = cg_context.done_compile;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (dg.full_translation_cache()) {
|
if (dg.full_translation_cache()) {
|
||||||
|
Loading…
Reference in New Issue
Block a user