diff --git a/libguile/vm-engine.h b/libguile/vm-engine.h index 2026e3cdf..dfbd2d995 100644 --- a/libguile/vm-engine.h +++ b/libguile/vm-engine.h @@ -469,17 +469,6 @@ do { \ #define CACHE_EXTERNAL() external = fp[bp->nargs + bp->nlocs] - -/* - * Function support - */ - -#define ARGS1(a1) SCM a1 = sp[0]; -#define ARGS2(a1,a2) SCM a1 = sp[-1], a2 = sp[0]; sp--; -#define ARGS3(a1,a2,a3) SCM a1 = sp[-2], a2 = sp[-1], a3 = sp[0]; sp -= 2; - -#define RETURN(x) do { *sp = x; NEXT; } while (0) - /* Local Variables: c-file-style: "gnu" diff --git a/libguile/vm-i-scheme.c b/libguile/vm-i-scheme.c index 5c4dae17f..912c91bf2 100644 --- a/libguile/vm-i-scheme.c +++ b/libguile/vm-i-scheme.c @@ -46,6 +46,12 @@ * Predicates */ +#define ARGS1(a1) SCM a1 = sp[0]; +#define ARGS2(a1,a2) SCM a1 = sp[-1], a2 = sp[0]; sp--; +#define ARGS3(a1,a2,a3) SCM a1 = sp[-2], a2 = sp[-1], a3 = sp[0]; sp -= 2; + +#define RETURN(x) do { *sp = x; NEXT; } while (0) + VM_DEFINE_FUNCTION (not, "not", 1) { ARGS1 (x);