where do stack traces get filled in?

Tom Tromey tromey@redhat.com
Thu Dec 13 14:35:00 GMT 2001


>>>>> "rth" == Richard Henderson <rth@redhat.com> writes:

>> I'm not sure whether this will be done in a 3.1 timeframe.  (I'm personally
>> also a little concerned about doing this to close before a release.)  But
>> David (and Richard?) should definitely be involved in any discussions along
>> these lines.

rth> It's already possible to collect backtrace data during the phase1
rth> unwind process.  We're just not doing it.  See my comments in 
rth> __gcj_personality_v0:

rth>   // FIXME: In Phase 1, record _Unwind_GetIP in xh->obj as a part of
rth>   // the stack trace for this exception.  This will only collect Java
rth>   // frames, but perhaps that is acceptable.


One twist here is that for libgcj it isn't entirely sufficient to find
the name of the frame's method.  If we're looking at an interpreter
(or, some day, JIT) frame, then we need to extract further information
from the interpreter.  Perhaps that can be done by some
interpreter-specific data structure on the side though.  Adding a bit
more overhead to each interpreter invocation won't be a significant
(or perhaps even noticeable) problem.

Tom



More information about the Java mailing list