summaryrefslogtreecommitdiff
path: root/Build/source/utils/asymptote/backtrace.in
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-08-15 23:57:48 +0000
committerKarl Berry <karl@freefriends.org>2009-08-15 23:57:48 +0000
commit16d128e5e10d541a78654b86409d5a3539f07708 (patch)
tree66de0af63c3811bb3040c16e9b52c11985f70811 /Build/source/utils/asymptote/backtrace.in
parentb20f78c549859ec0e8610bdd3ad904245e86b489 (diff)
asymptote 1.83
git-svn-id: svn://tug.org/texlive/trunk@14696 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/utils/asymptote/backtrace.in')
-rw-r--r--Build/source/utils/asymptote/backtrace.in32
1 files changed, 32 insertions, 0 deletions
diff --git a/Build/source/utils/asymptote/backtrace.in b/Build/source/utils/asymptote/backtrace.in
new file mode 100644
index 00000000000..4547355f965
--- /dev/null
+++ b/Build/source/utils/asymptote/backtrace.in
@@ -0,0 +1,32 @@
+/*****
+ * backtrace.in
+ * Andy Hammerlindl 2009/07/28
+ *
+ * Runtime functions for printing garbage collector backtraces.
+ *
+ *****/
+
+// No extra types defined.
+
+// No extra code for .cc file.
+
+void generate_random_backtrace()
+{
+#if defined(USEGC) && defined(GC_DEBUG) && defined(GC_BACKTRACE)
+ GC_generate_random_backtrace();
+#else
+ error("generate_random_backtrace() requires ./configure --enable-gc-debug");
+#endif
+}
+
+void print_random_addresses(Int n=1)
+{
+#if defined(USEGC) && defined(GC_DEBUG) && defined(GC_BACKTRACE)
+ GC_gcollect();
+ for (Int i=0; i < n; ++i)
+ GC_debug_print_heap_obj_proc(GC_base(GC_generate_random_valid_address()));
+#else
+ error("print_random_addresses() requires ./configure --enable-gc-debug");
+ unused(&n); // Avoid unused variable warning message.
+#endif
+}