aboutsummaryrefslogtreecommitdiff
path: root/libjava/gnu/gcj
diff options
context:
space:
mode:
authorAndrew Haley <aph@redhat.com>2006-02-17 13:01:40 +0000
committerAndrew Haley <aph@gcc.gnu.org>2006-02-17 13:01:40 +0000
commit24ca2a963aabc8157443c3a39f9fdc2bb728ca49 (patch)
tree179d83a836d62ac3b99fbbd0d3cbcefb187c1752 /libjava/gnu/gcj
parent25f2dfd3404beff90dce23e349907f11adbfb69e (diff)
downloadgcc-24ca2a963aabc8157443c3a39f9fdc2bb728ca49.zip
gcc-24ca2a963aabc8157443c3a39f9fdc2bb728ca49.tar.gz
gcc-24ca2a963aabc8157443c3a39f9fdc2bb728ca49.tar.bz2
stacktrace.cc (GetStackTraceElements): Call gnu::gcj::runtime::NameFinder::removeUnknown() to determine if...
2006-02-16 Andrew Haley <aph@redhat.com> * stacktrace.cc (GetStackTraceElements): Call gnu::gcj::runtime::NameFinder::removeUnknown() to determine if non-Java frames should be removed from a printed stack trace. Pass methodName to getLineNumberForFrame(). (getLineNumberForFrame): Set method_name from info.dli_sname. * gnu/gcj/runtime/NameFinder.java (removeUnknown): New method. (remove_unknown): New variable. * include/java-stack.h (_Jv_StackTrace::getLineNumberForFrame): Add methodName arg. From-SVN: r111181
Diffstat (limited to 'libjava/gnu/gcj')
-rw-r--r--libjava/gnu/gcj/runtime/NameFinder.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/libjava/gnu/gcj/runtime/NameFinder.java b/libjava/gnu/gcj/runtime/NameFinder.java
index 4c629bb..3a31a2d 100644
--- a/libjava/gnu/gcj/runtime/NameFinder.java
+++ b/libjava/gnu/gcj/runtime/NameFinder.java
@@ -34,6 +34,9 @@ import java.util.HashMap;
* source file and line number info. Throwable.printStackTrace() will
* be faster if this property is set to 'false'.
* </ul>
+ * <ul><code>gnu.gcj.runtime.NameFinder.remove_unknown</code>
+ * Whether calls to unknown functions (class and method names are unknown)
+ * should be removed from the stack trace. </ul>
* </li>
*
* <code>close()</code> should be called to get rid of all resources.
@@ -57,6 +60,18 @@ public class NameFinder
("gnu.gcj.runtime.NameFinder.use_addr2line", "true")
).booleanValue();
+ private static final boolean remove_unknown
+ = Boolean.valueOf(System.getProperty
+ ("gnu.gcj.runtime.NameFinder.remove_unknown", "true")
+ ).booleanValue();
+
+ // Return true if non-Java frames should be removed from stack
+ // traces.
+ static final boolean removeUnknown()
+ {
+ return remove_unknown;
+ }
+
class Addr2Line
{
Process proc;