summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib.c13
-rw-r--r--lib.h1
2 files changed, 14 insertions, 0 deletions
diff --git a/lib.c b/lib.c
index dcf9e870..58b05f0a 100644
--- a/lib.c
+++ b/lib.c
@@ -13098,3 +13098,16 @@ void d(val obj)
void breakpt(void)
{
}
+
+/*
+ * Function for dissembling VM functions
+ * when debugging in gdb.
+ */
+
+void dis(val obj)
+{
+ val sym = intern(lit("disassemble"), user_package);
+ val fun = cdr(if2(sym, lookup_fun(nil, sym)));
+ if (fun)
+ funcall1(fun, obj);
+}
diff --git a/lib.h b/lib.h
index cd357004..e4040bc5 100644
--- a/lib.h
+++ b/lib.h
@@ -1217,6 +1217,7 @@ int compat_fixup(int compat_ver);
void dump(val obj, val stream);
void d(val obj);
void breakpt(void);
+void dis(val obj);
#define nil convert(obj_t *, 0)