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:
gbeauche 2004-01-24 11:22:48 +00:00
parent 48d844a40a
commit 60d371486b
2 changed files with 3 additions and 0 deletions

View File

@ -281,6 +281,7 @@ protected:
uint32 pc;
uint32 opcode;
const instr_info_t *instr_info;
bool done_compile;
codegen_context_t(powerpc_dyngen & codegen_init)
: codegen(codegen_init)

View File

@ -1025,6 +1025,7 @@ powerpc_cpu::compile_block(uint32 entry_point)
cg_context.pc = dpc;
cg_context.opcode = opcode;
cg_context.instr_info = ii;
cg_context.done_compile = done_compile;
if (!compile1(cg_context)) {
if ((dpc - sync_pc) > sync_pc_offset) {
sync_pc = dpc;
@ -1034,6 +1035,7 @@ powerpc_cpu::compile_block(uint32 entry_point)
sync_pc_offset += 4;
dg.gen_invoke_CPU_im(func, opcode);
}
done_compile = cg_context.done_compile;
}
}
if (dg.full_translation_cache()) {