diff options
author | Bryce McKinlay <bryce@albatross.co.nz> | 2000-12-22 06:19:24 +0000 |
---|---|---|
committer | Bryce McKinlay <bryce@gcc.gnu.org> | 2000-12-22 06:19:24 +0000 |
commit | 86a42a5f2443414d63765a4bc84df0530bc32557 (patch) | |
tree | 66855e76aba1a3329f80828763a2d88be59a8adb /libjava/java | |
parent | 98c17df26efeca1425578371232ecc9255f47e10 (diff) | |
download | gcc-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.java | 2 | ||||
-rw-r--r-- | libjava/java/lang/natThrowable.cc | 2 |
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]; |