jvm.h (struct _Jv_frame_info): New structure.
* include/jvm.h (struct _Jv_frame_info): New structure. * gnu/gcj/runtime/natNameFinder.cc: Include StringBuffer.h, java-interp.h. (lookupInterp): New method. (getAddrAsString): Use _Jv_frame_info. (dladdrLookup): Likewise. * gnu/gcj/runtime/NameFinder.java (lookup): Try to look up interpreted frame. (lookupInterp): Declare. * java/lang/natVMThrowable.cc: Include Thread.h, java-interp.h. (fillInStackTrace): Collect information on interpreted frames. Use _Jv_frame_info. * interpret.cc: Include Thread.h. (run): Create and push _Jv_MethodChain object. (_Jv_EndOfInterpreter): New global. * java/lang/Thread.java (interp_frame): New field. * include/java-interp.h (struct _Jv_MethodChain): New structure. Include NameFinder.h. From-SVN: r56657
This commit is contained in:
parent
ce4e997039
commit
3308c46e47
8 changed files with 160 additions and 11 deletions
|
@ -111,6 +111,20 @@ union _Jv_word2
|
|||
jdouble d;
|
||||
};
|
||||
|
||||
// An instance of this type is used to represent a single frame in a
|
||||
// backtrace. If the interpreter has been built, we also include
|
||||
// information about the interpreted method.
|
||||
struct _Jv_frame_info
|
||||
{
|
||||
// PC value.
|
||||
void *addr;
|
||||
#ifdef INTERPRETER
|
||||
// Actually a _Jv_InterpMethod, but we don't want to include
|
||||
// java-interp.h everywhere.
|
||||
void *interp;
|
||||
#endif // INTERPRETER
|
||||
};
|
||||
|
||||
/* Extract a character from a Java-style Utf8 string.
|
||||
* PTR points to the current character.
|
||||
* LIMIT points to the end of the Utf8 string.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue