aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog6
-rw-r--r--libjava/gnu/gcj/runtime/StackTrace.java1
-rw-r--r--libjava/gnu/gcj/runtime/natStackTrace.cc7
3 files changed, 13 insertions, 1 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index e8c98bd..2ab3393 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -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.
diff --git a/libjava/gnu/gcj/runtime/StackTrace.java b/libjava/gnu/gcj/runtime/StackTrace.java
index 684ee4f..c9f5a1a 100644
--- a/libjava/gnu/gcj/runtime/StackTrace.java
+++ b/libjava/gnu/gcj/runtime/StackTrace.java
@@ -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();
diff --git a/libjava/gnu/gcj/runtime/natStackTrace.cc b/libjava/gnu/gcj/runtime/natStackTrace.cc
index af8889b..5e5aed8 100644
--- a/libjava/gnu/gcj/runtime/natStackTrace.cc
+++ b/libjava/gnu/gcj/runtime/natStackTrace.cc
@@ -200,4 +200,9 @@ gnu::gcj::runtime::StackTrace::update(void)
}
}
-
+void
+gnu::gcj::runtime::StackTrace::finalize(void)
+{
+ if (addrs != NULL)
+ _Jv_Free (addrs);
+}