]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR libgcj/12475 (Stack traces leak memory)
authorBryce McKinlay <mckinlay@redhat.com>
Tue, 22 Jun 2004 18:21:29 +0000 (18:21 +0000)
committerBryce McKinlay <bryce@gcc.gnu.org>
Tue, 22 Jun 2004 18:21:29 +0000 (19:21 +0100)
        Fix PR libgcj/12475
        * gnu/gcj/runtime/StackTrace.java (finalize): Declare.
        * gnu/gcj/runtime/natStackTrace.cc (finalize): New. Free "addrs".

From-SVN: r83508

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

index 9affdc6175a739a0a753b1d6670d1d07e25c19e0..7460c9be8a084126611dc3a9ec6de67eed448e2d 100644 (file)
@@ -1,3 +1,9 @@
+2004-06-22  Bryce McKinlay  <mckinlay@redhat.com>
+
+       Fix PR libgcj/12475
+       * gnu/gcj/runtime/StackTrace.java (finalize): Declare.
+       * gnu/gcj/runtime/natStackTrace.cc (finalize): New. Free "addrs".
+
 2004-05-31  Release Manager
 
        * GCC 3.3.4 Released.
index 5faaa1495ae0c9aef8a86dbb0e4de1287b8d590f..d3fe88f166dc4ecaf6f618c62abf5e99e009d627 100644 (file)
@@ -155,6 +155,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 d39cd00dbababac8c6f5cc3bc82d5fb313ad3e7d..ef887cf2cac151a4afc0d72f5e3edfd6d4c0d13d 100644 (file)
@@ -195,4 +195,9 @@ gnu::gcj::runtime::StackTrace::update(void)
     }
 }
 
-
+void
+gnu::gcj::runtime::StackTrace::finalize(void)
+{
+  if (addrs != NULL)
+    _Jv_Free (addrs);
+}