Commit Graph

8 Commits

Author SHA1 Message Date
Andrew Haley 963ebe78d4 re PR libgcj/18036 (Bad interaction between interpreter and Class.forName())
2004-10-18  Andrew Haley  <aph@redhat.com>

        PR java/18036:
        * gnu/gcj/runtime/natStackTrace.cc (fillInStackTrace): Reorganize
        and correct logic used to find interpreter.

From-SVN: r89221
2004-10-18 14:07:42 +00:00
Andrew Haley 180a373d0d interpret.cc (_Jv_InterpMethod::run): Initialize _Jv_StartOfInterpreter.
2004-10-13  Andrew Haley  <aph@redhat.com>

        * interpret.cc (_Jv_InterpMethod::run): Initialize
        _Jv_StartOfInterpreter.
        (_Jv_StartOfInterpreter, _Jv_EndOfInterpreter): Functions removed.
        (_Jv_StartOfInterpreter, _Jv_EndOfInterpreter): New variables.
        * gnu/gcj/runtime/natStackTrace.cc (fillInStackTrace): Use
        _Unwind_FindEnclosingFunction to discover whether PC is within the
        interpreter.

From-SVN: r89037
2004-10-14 15:21:13 +00:00
Bryce McKinlay fddb33d2cd re PR libgcj/12475 (Stack traces leak memory)
Fix PR libgcj/12475
	* gnu/gcj/runtime/StackTrace.java (finalize): Declare.
	* gnu/gcj/runtime/natStackTrace.cc (finalize): New. Free "addrs".

From-SVN: r72012
2003-10-02 08:10:34 +01:00
Andrew Haley f2f3f409f6 [multiple changes]
2003-01-31  Andrew Haley  <aph@redhat.com>

	* except.c (prepare_eh_table_type): Use new encoding for exception
	handlers when using -fno-assume-compiled.

2003-08-20  Andrew Haley  <aph@redhat.com>

	* gnu/gcj/runtime/StackTrace.java (getClass): New method.
	* gnu/gcj/runtime/natStackTrace.cc (getClass): New method.
	(classAt): Break out class lookup function into getClass().
	* exception.cc (PERSONALITY_FUNCTION): Use new encoding for exception
	handlers when using -fno-assume-compiled.

From-SVN: r70605
2003-08-20 17:27:56 +00:00
Rainer Orth a191802c42 natStackTrace.cc: Include platform.h immediately after config.h.
* gnu/gcj/runtime/natStackTrace.cc: Include platform.h immediately
	after config.h.  Use <> for consistency.
	* java/lang/natObject.cc: Likewise.
	* java/lang/natRuntime.cc: Likewise.
	* java/lang/natSystem.cc: Likewise.
	* java/util/natTimeZone.cc: Likewise.
	* win32.cc: Likewise.
	* include/posix.h (fcntl, socket, connect, close, bind, accept,
	listen, write, read): Undef to avoid interference from OS macros.

From-SVN: r63122
2003-02-19 16:28:37 +00:00
Ranjit Mathew e4261ef72c configure.in: Specifically define HAVE_BACKTRACE if building for MinGW.
2003-01-27  Ranjit Mathew  <rmathew@hotmail.com>

	* configure.in: Specifically define HAVE_BACKTRACE if building
	for MinGW.
	* include/win32.h: Remove HAVE_BACKTRACE definition.
	* gnu/gcj/runtime/natStackTrace.cc: Include platform.h.
	* configure: Rebuilt.

From-SVN: r62000
2003-01-28 19:10:00 +00:00
Andrew Haley d8f2e87b77 natStackTrace.cc (fillInStackTrace): Throw #ifdef (HAVE_BACKTRACE) around the whole function body.
2002-12-05  Andrew Haley  <aph@redhat.com>

	* gnu/gcj/runtime/natStackTrace.cc (fillInStackTrace): Throw
	#ifdef (HAVE_BACKTRACE) around the whole function body.

From-SVN: r59855
2002-12-05 11:35:11 +00:00
Andrew Haley 765828d5a8 natClassLoader.cc (_Jv_PrepareCompiledClass): Call _Jv_PushClass.
2002-12-03  Andrew Haley  <aph@redhat.com>

        * java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Call
	_Jv_PushClass.
        (_Jv_InitNewClassFields): Set protectionDomain and chain = NULL.
        (_Jv_PopClass): New.
        (_Jv_PushClass): New.
        * java/lang/natClass.cc (forName (jstring)): Use a StackTrace to
        discover the ClassLoader of our caller.
        (_Jv_CheckArrayStore): Don't check that a class is assignment
        compatible with Object.
        * java/lang/natVMTHrowable.cc: Delete.
        * gnu/gcj/runtime/StackTrace.java: New, partly copied from
	java.lang.VMThrowable.
        (StackTrace(), StackTrace(int)): New constructors.
        (classAt, methodAt, update, methodAtAddress): New methods.
        (map): New field.
	* java/lang/VMThrowable.java: Use StackTrace instead of
	natVMTHrowable.
	* java/lang/Class.h (getClassLoaderInternal): New.
        (class Class): Be friendly with _Jv_PopClass and _Jv_PushClass.
        Be friendly with gnu::gcj::runtime::StackTrace.
        (Object.chain): New field.
        * include/java-interp.h (class _Jv_InterpMethod): Be friendly with
        gnu::gcj::runtime::StackTrace.
	* gnu/gcj/runtime/natStackTrace.cc: New file.
	* gnu/gcj/runtime/MethodRef.java: New file.
        * prims.cc (_Jv_NewObjectArray): Use getClassLoaderInternal()
        instead of getClassLoader().
        * verify.cc (class _Jv_BytecodeVerifier): Likewise.
        java::lang::VMThrowable.
        * Makefile.am (core_java_source_files): Add MethodRef.java,
	StackTrace.java.
        (nat_source_files): Remove natVMThrowable.cc; add natStackTrace.cc.
        * Makefile.in: Rebuild.

From-SVN: r59771
2002-12-03 13:53:27 +00:00