summaryrefslogtreecommitdiff
path: root/libguile/frames.h
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2014-04-16 14:33:20 +0200
committerAndy Wingo <wingo@pobox.com>2014-04-16 14:33:20 +0200
commit4819276185a35001d56af93177fc29a6a7700000 (patch)
tree8f7a38f23d453dc9e4f9eef3368790ab8c88b64f /libguile/frames.h
parentd856931d8dedf3aeea2f5e8d530f43162b9dfaa5 (diff)
downloadguile-4819276185a35001d56af93177fc29a6a7700000.tar.gz
Better backtraces from C, especially for optimized closures
* libguile/frames.h: * libguile/frames.c (scm_frame_call_representation): New interface; dispatches to Scheme. * libguile/backtrace.c (display_application): Use scm_frame_call_representation. This should be monotonically better, given that scm_frame_arguments (which was previously called) also dispatched to Scheme and actually ended up calling frame-call-representation.
Diffstat (limited to 'libguile/frames.h')
-rw-r--r--libguile/frames.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/libguile/frames.h b/libguile/frames.h
index 6defff5fd..394fddc74 100644
--- a/libguile/frames.h
+++ b/libguile/frames.h
@@ -181,6 +181,7 @@ SCM_INTERNAL int scm_c_frame_previous (enum scm_vm_frame_kind kind,
SCM_API SCM scm_frame_p (SCM obj);
SCM_API SCM scm_frame_procedure (SCM frame);
+SCM_API SCM scm_frame_call_representation (SCM frame);
SCM_API SCM scm_frame_arguments (SCM frame);
SCM_API SCM scm_frame_source (SCM frame);
SCM_API SCM scm_frame_num_locals (SCM frame);