* jit/jit-unwind.c: fix typos.
+ * jit/jit-interp.c (_jit_run_function): adjust exception_pc if
+ exception is generated by a previous instruction.
+
2008-10-05 Aleksey Demakov <ademakov@gmail.com>
* jit/jit-interp.c (_jit_run_function): fix implementation of the
{
/* An exception has been thrown by lower-level code */
exception_object = jit_exception_get_last_and_clear();
+ exception_pc = pc - 1;
goto handle_exception;
}
}
{
/* Throw an exception, which may be handled in this function */
exception_object = VM_R1_PTR;
- handle_exception:
exception_pc = pc;
+ handle_exception:
tempptr = jit_function_from_pc(func->func->context, pc, &handler);
if(tempptr == func->func && handler != 0)
{
if(setjmp(jbuf->buf))
{
exception_object = jit_exception_get_last_and_clear();
+ exception_pc = pc - 1;
goto handle_exception;
}
}