summaryrefslogtreecommitdiff
path: root/libguile/programs.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/programs.c')
-rw-r--r--libguile/programs.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/libguile/programs.c b/libguile/programs.c
index 0dcf04d8b..8d2b04e87 100644
--- a/libguile/programs.c
+++ b/libguile/programs.c
@@ -178,6 +178,20 @@ SCM_DEFINE (scm_primitive_call_ip, "primitive-call-ip", 1, 0, 0,
}
#undef FUNC_NAME
+SCM_DEFINE (scm_primitive_code_name, "primitive-code-name", 1, 0, 0,
+ (SCM code),
+ "")
+#define FUNC_NAME s_scm_primitive_code_name
+{
+ const uint32_t * ptr = (const uint32_t *) scm_to_uintptr_t (code);
+
+ if (scm_i_primitive_code_p (ptr))
+ return scm_i_primitive_name (ptr);
+
+ return SCM_BOOL_F;
+}
+#undef FUNC_NAME
+
SCM
scm_find_source_for_addr (SCM ip)
{