[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dotgnu-pnet-commits] libjit ChangeLog jit/jit-interp.c
From: |
Aleksey Demakov |
Subject: |
[dotgnu-pnet-commits] libjit ChangeLog jit/jit-interp.c |
Date: |
Sun, 12 Oct 2008 17:06:36 +0000 |
CVSROOT: /sources/dotgnu-pnet
Module name: libjit
Changes by: Aleksey Demakov <avd> 08/10/12 17:06:36
Modified files:
. : ChangeLog
jit : jit-interp.c
Log message:
fix exception handling in interpreter
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/libjit/ChangeLog?cvsroot=dotgnu-pnet&r1=1.390&r2=1.391
http://cvs.savannah.gnu.org/viewcvs/libjit/jit/jit-interp.c?cvsroot=dotgnu-pnet&r1=1.24&r2=1.25
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/dotgnu-pnet/libjit/ChangeLog,v
retrieving revision 1.390
retrieving revision 1.391
diff -u -b -r1.390 -r1.391
--- ChangeLog 12 Oct 2008 16:54:23 -0000 1.390
+++ ChangeLog 12 Oct 2008 17:06:35 -0000 1.391
@@ -2,6 +2,9 @@
* 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 <address@hidden>
* jit/jit-interp.c (_jit_run_function): fix implementation of the
Index: jit/jit-interp.c
===================================================================
RCS file: /sources/dotgnu-pnet/libjit/jit/jit-interp.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- jit/jit-interp.c 5 Oct 2008 15:34:14 -0000 1.24
+++ jit/jit-interp.c 12 Oct 2008 17:06:36 -0000 1.25
@@ -343,6 +343,7 @@
{
/* An exception has been thrown by lower-level code */
exception_object = jit_exception_get_last_and_clear();
+ exception_pc = pc - 1;
goto handle_exception;
}
}
@@ -3620,8 +3621,8 @@
{
/* 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)
{
@@ -4058,6 +4059,7 @@
if(setjmp(jbuf->buf))
{
exception_object =
jit_exception_get_last_and_clear();
+ exception_pc = pc - 1;
goto handle_exception;
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [dotgnu-pnet-commits] libjit ChangeLog jit/jit-interp.c,
Aleksey Demakov <=