aboutsummaryrefslogtreecommitdiff
path: root/libjava/java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java')
-rw-r--r--libjava/java/lang/Throwable.java2
-rw-r--r--libjava/java/lang/natThrowable.cc2
2 files changed, 4 insertions, 0 deletions
diff --git a/libjava/java/lang/Throwable.java b/libjava/java/lang/Throwable.java
index 610a499..4aa2139 100644
--- a/libjava/java/lang/Throwable.java
+++ b/libjava/java/lang/Throwable.java
@@ -164,6 +164,8 @@ public class Throwable implements Serializable
// Name of this field comes from serialization spec.
private String detailMessage;
+ // Setting this flag to false prevents fillInStackTrace() from running.
+ static boolean trace_enabled = true;
private transient byte stackTrace[];
private static final long serialVersionUID = -3042686055658047285L;
}
diff --git a/libjava/java/lang/natThrowable.cc b/libjava/java/lang/natThrowable.cc
index c7f19be..dab3ba63 100644
--- a/libjava/java/lang/natThrowable.cc
+++ b/libjava/java/lang/natThrowable.cc
@@ -50,6 +50,8 @@ extern "C" int __ia64_backtrace (void **array, int size);
java::lang::Throwable *
java::lang::Throwable::fillInStackTrace (void)
{
+ if (! trace_enabled)
+ return this;
#if defined (HAVE_BACKTRACE) || defined (__ia64__)
void *p[128];