aboutsummaryrefslogtreecommitdiff
path: root/libjava/java
diff options
context:
space:
mode:
authorBryce McKinlay <bryce@albatross.co.nz>2000-12-22 06:19:24 +0000
committerBryce McKinlay <bryce@gcc.gnu.org>2000-12-22 06:19:24 +0000
commit86a42a5f2443414d63765a4bc84df0530bc32557 (patch)
tree66855e76aba1a3329f80828763a2d88be59a8adb /libjava/java
parent98c17df26efeca1425578371232ecc9255f47e10 (diff)
downloadgcc-86a42a5f2443414d63765a4bc84df0530bc32557.zip
gcc-86a42a5f2443414d63765a4bc84df0530bc32557.tar.gz
gcc-86a42a5f2443414d63765a4bc84df0530bc32557.tar.bz2
Throwable.java (trace_enabled): New static field.
* java/lang/Throwable.java (trace_enabled): New static field. * java/lang/natThrowable.cc (fillInStackTrace): Do nothing if trace_enabled not set. * prims.cc (main_init): Turn off trace_enabled while creating default exception objects. From-SVN: r38442
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];