summaryrefslogtreecommitdiffstats
path: root/libjava/gnu/gcj/runtime
diff options
context:
space:
mode:
authoraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-17 13:01:40 +0000
committeraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-17 13:01:40 +0000
commitdce8f3de6e8ae5000bff9146231fe4c35e58cc4a (patch)
tree179d83a836d62ac3b99fbbd0d3cbcefb187c1752 /libjava/gnu/gcj/runtime
parent0290e11bf68e28f6d4c15d0d1dfbba2ab890b92c (diff)
downloadppe42-gcc-dce8f3de6e8ae5000bff9146231fe4c35e58cc4a.tar.gz
ppe42-gcc-dce8f3de6e8ae5000bff9146231fe4c35e58cc4a.zip
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111181 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/gnu/gcj/runtime')
-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 4c629bb22ec..3a31a2d2d9b 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;
OpenPOWER on IntegriCloud