does the n64 jit have a concept of crashing, or does it just go in an infinite and possibly infinitely recursing loop? I dunno, but I changed at least one infinite loop to a kind of administrative 'end frame' so at least it doesn't hang the emulator. If it has a way of crashing or halting, we should use that instead, but I couldn't figure it out.txt
fixes #1362
This commit is contained in:
parent
a8e85f742c
commit
dac6c0a062
|
@ -227,9 +227,19 @@ static void NOTCOMPILED(void)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (mem != NULL)
|
if (mem != NULL)
|
||||||
|
{
|
||||||
recompile_block((int *)mem, blocks[PC->addr >> 12], PC->addr);
|
recompile_block((int *)mem, blocks[PC->addr >> 12], PC->addr);
|
||||||
|
PC->ops();
|
||||||
|
if (r4300emu == CORE_DYNAREC)
|
||||||
|
dyna_jump();
|
||||||
|
}
|
||||||
else
|
else
|
||||||
DebugMessage(M64MSG_ERROR, "not compiled exception");
|
{
|
||||||
|
DebugMessage(M64MSG_ERROR, "not compiled exception");
|
||||||
|
//trigger a vsync just to get out of frame advance
|
||||||
|
new_vi();
|
||||||
|
WaitForSingleObject(rompausesem, INFINITE);
|
||||||
|
}
|
||||||
|
|
||||||
/*#ifdef DBG
|
/*#ifdef DBG
|
||||||
if (g_DebuggerActive) update_debugger(PC->addr);
|
if (g_DebuggerActive) update_debugger(PC->addr);
|
||||||
|
@ -237,9 +247,7 @@ static void NOTCOMPILED(void)
|
||||||
The preceeding update_debugger SHOULD be unnecessary since it should have been
|
The preceeding update_debugger SHOULD be unnecessary since it should have been
|
||||||
called before NOTCOMPILED would have been executed
|
called before NOTCOMPILED would have been executed
|
||||||
*/
|
*/
|
||||||
PC->ops();
|
|
||||||
if (r4300emu == CORE_DYNAREC)
|
|
||||||
dyna_jump();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void NOTCOMPILED2(void)
|
static void NOTCOMPILED2(void)
|
||||||
|
|
Binary file not shown.
Loading…
Reference in New Issue