diff options
| author | kseitz <kseitz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-01-30 21:20:40 +0000 |
|---|---|---|
| committer | kseitz <kseitz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-01-30 21:20:40 +0000 |
| commit | c99012a60ee088bc8be8fbe3f99762eadb26e55b (patch) | |
| tree | 968bcb2cb0b7db70800e52126823c1196c8c4bec /libjava/include | |
| parent | 989816a46794eb30809abdfc54b872d9d01ccdf4 (diff) | |
| download | ppe42-gcc-c99012a60ee088bc8be8fbe3f99762eadb26e55b.tar.gz ppe42-gcc-c99012a60ee088bc8be8fbe3f99762eadb26e55b.zip | |
* include/java-interp.h (insn_index): New declaration.
(num_insn_slots): New private variable.
(get_line_table): New declaration.
* interpret.cc (insn_index): New function.
(get_line_table): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110411 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/include')
| -rw-r--r-- | libjava/include/java-interp.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/libjava/include/java-interp.h b/libjava/include/java-interp.h index 872fb10a32b..73ab2fe0ae6 100644 --- a/libjava/include/java-interp.h +++ b/libjava/include/java-interp.h @@ -145,6 +145,7 @@ class _Jv_InterpMethod : public _Jv_MethodBase _Jv_LineTableEntry *line_table; void *prepared; + int number_insn_slots; unsigned char* bytecode () { @@ -182,9 +183,24 @@ class _Jv_InterpMethod : public _Jv_MethodBase // number info is unavailable. int get_source_line(pc_t mpc); +#ifdef DIRECT_THREADED + // Convenience function for indexing bytecode PC/insn slots in + // line tables for JDWP + jlong insn_index (pc_t pc); +#endif + public: static void dump_object(jobject o); + /* Get the line table for this method. + * start is the lowest index in the method + * end is the highest index in the method + * line_numbers is an array to hold the list of source line numbers + * code_indices is an array to hold the corresponding list of code indices + */ + void get_line_table (jlong& start, jlong& end, jintArray& line_numbers, + jlongArray& code_indices); + #ifdef DIRECT_THREADED friend void _Jv_CompileMethod (_Jv_InterpMethod*); #endif |

