Timothy Stack wrote:

> For the jitter, this gets set by buildStackTrace in stackTrace.c:
> 
>         info[cnt].pc = STACKTRACEPC(trace);
> 
> So, it uses the return pc found in the stack trace, which corresponds to 
> the next instruction to execute.

er, spoke too quickly.  For a synchronous interrupt and subsequent 
exception, this will be the current instruction.  But, for a regular 
throw, it will be the next pc.

But, the i386 freebsd and linux exception frame initializers add a one 
to the current pc:

/* Get the first exception frame from a signal handler */
#define 
EXCEPTIONFRAME(f, c)                                    \
        (f).retbp = (c)->sc_ebp;                                \
        (f).retpc = (c)->sc_eip + 1


> tim stack

again,

tim stack


_______________________________________________
kaffe mailing list
[EMAIL PROTECTED]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to