From 6a0b579325680d39549f42b00410780c4c43c848 Mon Sep 17 00:00:00 2001 From: kgallowa Date: Tue, 15 Aug 2006 20:40:10 +0000 Subject: 2006-08-15 Kyle Galloway * include/java-interp.h (_Jv_InterpMethod::run_debug): New method. * interpret.cc: Added placeholder for debug variable type info to STORE* macros. (_Jv_InterpMethod::run_debug): New method. (_Jv_InterpMethod::run_sync_object_debug): New method. (_Jv_InterpMethod::run_sync_class_debug): New method. (_Jv_InterpMethod::run_normal_debug): New method. (_Jv_InterpMethod::run_class_debug): New method. (_Jv_InterpMethod::ncode ()): Changed to select either debug or normal versions of these functions. * interpret-run.cc: New file, holds contents of old _Jv_InterpMethod::run method. * stacktrace.cc (_Jv_StackTrace::UnwindTraceFn): Changed to select appropriate function for debug or normal mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116167 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/include/java-interp.h | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'libjava/include/java-interp.h') diff --git a/libjava/include/java-interp.h b/libjava/include/java-interp.h index 58d2e8c1abf..efb8b414200 100644 --- a/libjava/include/java-interp.h +++ b/libjava/include/java-interp.h @@ -176,21 +176,31 @@ class _Jv_InterpMethod : public _Jv_MethodBase static void run_synch_object (ffi_cif*, void*, ffi_raw*, void*); static void run_class (ffi_cif*, void*, ffi_raw*, void*); static void run_synch_class (ffi_cif*, void*, ffi_raw*, void*); + + static void run_normal_debug (ffi_cif*, void*, ffi_raw*, void*); + static void run_synch_object_debug (ffi_cif*, void*, ffi_raw*, void*); + static void run_class_debug (ffi_cif*, void*, ffi_raw*, void*); + static void run_synch_class_debug (ffi_cif*, void*, ffi_raw*, void*); - static void run (void*, ffi_raw *, _Jv_InterpMethod *); + static void run (void *, ffi_raw *, _Jv_InterpMethod *); + static void run_debug (void *, ffi_raw *, _Jv_InterpMethod *); + + // Returns source file line number for given PC value, or -1 if line // 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: - + + public: + /* Get the line table for this method. * start is the lowest index in the method * end is the highest index in the method -- cgit v1.2.3