stacktrace.cc (_Jv_StackTrace::UnwindTraceFn): Protect interpreter-specific code with #ifdef INTERPRETER.

2005-03-15  Andreas Tobler  <a.tobler@schweiz.ch>

        * stacktrace.cc (_Jv_StackTrace::UnwindTraceFn): Protect
        interpreter-specific code with #ifdef INTERPRETER.
        (_Jv_StackTrace::getLineNumberForFrame): Likewise.
        (_Jv_StackTrace::FillInFrameInfo): Likewise.
        (_Jv_StackTrace::non_system_trace_fn): Likewise.
        * include/java-stack.h (struct _Jv_InterpFrameInfo): Protect  with
        #ifdef INTERPRETER. Also protect declarations that use it.
        * java/lang/Class.h: Move _Jv_StackTrace friend declaration  outside
        #ifdef INTERPRETER block.

From-SVN: r96571
This commit is contained in:
Andreas Tobler 2005-03-16 19:18:59 +01:00 committed by Bryce McKinlay
parent ab1bc4e816
commit 455d8f0605
4 changed files with 25 additions and 1 deletions

View file

@ -71,7 +71,9 @@ struct _Jv_UnwindState
jint length; // length of FRAMES
jint pos; // current position in FRAMES
_Jv_StackFrame *frames; // array of stack frame data to be filled.
#ifdef INTERPRETER
_Jv_InterpFrame *interp_frame; // current frame in the interpreter stack.
#endif
_Jv_TraceFn trace_function; // function to call back after each frame
// is enumerated. May be NULL.
void *trace_data; // additional state data for trace_function.
@ -84,8 +86,10 @@ struct _Jv_UnwindState
Thread *thread = Thread::currentThread();
// Check for NULL currentThread(), in case an exception is created
// very early during the runtime startup.
#ifdef INTERPRETER
if (thread)
interp_frame = (_Jv_InterpFrame *) thread->interp_frame;
#endif
trace_function = NULL;
trace_data = NULL;
}