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:
zeromus 2018-11-01 23:03:09 -04:00
parent a8e85f742c
commit dac6c0a062
2 changed files with 12 additions and 4 deletions

View File

@ -227,9 +227,19 @@ static void NOTCOMPILED(void)
#endif
if (mem != NULL)
{
recompile_block((int *)mem, blocks[PC->addr >> 12], PC->addr);
PC->ops();
if (r4300emu == CORE_DYNAREC)
dyna_jump();
}
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
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
called before NOTCOMPILED would have been executed
*/
PC->ops();
if (r4300emu == CORE_DYNAREC)
dyna_jump();
}
static void NOTCOMPILED2(void)

Binary file not shown.