aboutsummaryrefslogtreecommitdiff
path: root/libjava/include/java-interp.h
diff options
context:
space:
mode:
authorKeith Seitz <keiths@redhat.com>2006-01-30 21:20:40 +0000
committerKeith Seitz <kseitz@gcc.gnu.org>2006-01-30 21:20:40 +0000
commite939885ff55dc2a789f35c222ae2ef8066da91f5 (patch)
tree968bcb2cb0b7db70800e52126823c1196c8c4bec /libjava/include/java-interp.h
parentf34312c23cde2f7cb65ad7e7a7e996278d4d1566 (diff)
downloadgcc-e939885ff55dc2a789f35c222ae2ef8066da91f5.zip
gcc-e939885ff55dc2a789f35c222ae2ef8066da91f5.tar.gz
gcc-e939885ff55dc2a789f35c222ae2ef8066da91f5.tar.bz2
java-interp.h (insn_index): New declaration.
* 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. From-SVN: r110411
Diffstat (limited to 'libjava/include/java-interp.h')
-rw-r--r--libjava/include/java-interp.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/libjava/include/java-interp.h b/libjava/include/java-interp.h
index 872fb10..73ab2fe 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