summaryrefslogtreecommitdiffstats
path: root/libjava/include
diff options
context:
space:
mode:
authorkseitz <kseitz@138bc75d-0d04-0410-961f-82ee72b054a4>2006-01-30 21:20:40 +0000
committerkseitz <kseitz@138bc75d-0d04-0410-961f-82ee72b054a4>2006-01-30 21:20:40 +0000
commitc99012a60ee088bc8be8fbe3f99762eadb26e55b (patch)
tree968bcb2cb0b7db70800e52126823c1196c8c4bec /libjava/include
parent989816a46794eb30809abdfc54b872d9d01ccdf4 (diff)
downloadppe42-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.h16
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
OpenPOWER on IntegriCloud