Commit Graph

3 Commits

Author SHA1 Message Date
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
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