re PR libgcj/12475 (Stack traces leak memory)
authorBryce McKinlay <bryce@mckinlay.net.nz>
Thu, 2 Oct 2003 07:10:34 +0000 (07:10 +0000)
committerBryce McKinlay <bryce@gcc.gnu.org>
Thu, 2 Oct 2003 07:10:34 +0000 (08:10 +0100)
Fix PR libgcj/12475
* gnu/gcj/runtime/StackTrace.java (finalize): Declare.
* gnu/gcj/runtime/natStackTrace.cc (finalize): New. Free "addrs".

From-SVN: r72012

libjava/ChangeLog
libjava/gnu/gcj/runtime/StackTrace.java
libjava/gnu/gcj/runtime/natStackTrace.cc

index e8c98bd8480cb4cb02de7db18c902515909a7ba2..2ab3393a77a0a8045eccde2eb2287d0e5b622b31 100644 (file)
@@ -1,3 +1,9 @@
+2003-10-01  Bryce McKinlay  <bryce@mckinlay.net.nz>
+
+       Fix PR libgcj/12475
+       * gnu/gcj/runtime/StackTrace.java (finalize): Declare.
+       * gnu/gcj/runtime/natStackTrace.cc (finalize): New. Free "addrs".
+
 2003-10-01  Tom Tromey  <tromey@redhat.com>
 
        * gnu/gcj/runtime/FirstThread.java (getMain): Fixed indentation.
index 684ee4fd9974d1f861c6ec9b3bcfe9e1bfc12a35..c9f5a1a26e80439a94cf2900d9fe3c166290cb04 100644 (file)
@@ -157,6 +157,7 @@ public final class StackTrace
   }
   
   private native void fillInStackTrace(int n, int offset);
+  protected native void finalize();
 
   private static native MethodRef getCompiledMethodRef(RawData addr);
   private static IdentityHashMap map = new IdentityHashMap();
index af8889beb5262f6556c082d1aeea31591dc14d98..5e5aed87e5cc1d0ab52168ae0c291e843910920e 100644 (file)
@@ -200,4 +200,9 @@ gnu::gcj::runtime::StackTrace::update(void)
     }
 }
 
-
+void
+gnu::gcj::runtime::StackTrace::finalize(void)
+{
+  if (addrs != NULL)
+    _Jv_Free (addrs);
+}