diff options
author | Tom Tromey <tromey@redhat.com> | 2002-08-29 17:53:28 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2002-08-29 17:53:28 +0000 |
commit | 3308c46e47a0b17d37b4c29a130e6519c424a737 (patch) | |
tree | 538202560a3a2f376b6fb55ee3b836b195f01e73 /libjava/include/java-interp.h | |
parent | ce4e997039ab374d5d1719b02aae3ded0a2a8ec4 (diff) | |
download | gcc-3308c46e47a0b17d37b4c29a130e6519c424a737.zip gcc-3308c46e47a0b17d37b4c29a130e6519c424a737.tar.gz gcc-3308c46e47a0b17d37b4c29a130e6519c424a737.tar.bz2 |
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
Diffstat (limited to 'libjava/include/java-interp.h')
-rw-r--r-- | libjava/include/java-interp.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/libjava/include/java-interp.h b/libjava/include/java-interp.h index de1d88f..e3f9671 100644 --- a/libjava/include/java-interp.h +++ b/libjava/include/java-interp.h @@ -13,6 +13,7 @@ details. */ #include <jvm.h> #include <java-cpool.h> +#include <gnu/gcj/runtime/NameFinder.h> #ifdef INTERPRETER @@ -138,6 +139,7 @@ class _Jv_InterpMethod : public _Jv_MethodBase friend class _Jv_ClassReader; friend class _Jv_BytecodeVerifier; + friend class gnu::gcj::runtime::NameFinder; friend void _Jv_PrepareClass(jclass); }; @@ -205,6 +207,28 @@ public: } }; +// A structure of this type is used to link together interpreter +// invocations on the stack. +struct _Jv_MethodChain +{ + const _Jv_InterpMethod *self; + _Jv_MethodChain **ptr; + _Jv_MethodChain *next; + + _Jv_MethodChain (const _Jv_InterpMethod *s, _Jv_MethodChain **n) + { + self = s; + ptr = n; + next = *n; + *n = this; + } + + ~_Jv_MethodChain () + { + *ptr = next; + } +}; + #endif /* INTERPRETER */ #endif /* __JAVA_INTERP_H__ */ |