mirror of
https://github.com/false-schemers/skint.git
synced 2024-12-26 21:58:51 +01:00
16075 lines
475 KiB
C
16075 lines
475 KiB
C
/* n.sf */
|
|
/* Generated by #F $Id$ */
|
|
#ifdef PROFILE
|
|
#define host host_module_n
|
|
#endif
|
|
#define MODULE module_n
|
|
#define LOAD()
|
|
|
|
/* standard includes */
|
|
#include <stdio.h>
|
|
#include <stddef.h>
|
|
#include <stdlib.h>
|
|
#include <assert.h>
|
|
/* extra includes */
|
|
#include <math.h>
|
|
#include <errno.h>
|
|
#include <ctype.h>
|
|
#include <string.h>
|
|
#include <time.h>
|
|
|
|
/* standard definitions */
|
|
|
|
typedef ptrdiff_t obj; /* pointers are this size, lower bit zero */
|
|
typedef ptrdiff_t cxoint_t; /* same thing, used as integer */
|
|
typedef struct { /* type descriptor */
|
|
const char *tname; /* name (debug) */
|
|
void (*free)(void*); /* deallocator */
|
|
} cxtype_t;
|
|
|
|
#define notobjptr(o) (((char*)(o) - (char*)cxg_heap) & cxg_hmask)
|
|
#define isobjptr(o) (!notobjptr(o))
|
|
#define notaptr(o) ((o) & 1)
|
|
#define isaptr(o) (!notaptr(o))
|
|
|
|
#define obj_from_obj(o) (o)
|
|
#define obj_from_objptr(p) ((obj)(p))
|
|
#define obj_from_size(n) (((cxoint_t)(n) << 1) | 1)
|
|
|
|
#define objptr_from_objptr(p) (p)
|
|
#define objptr_from_obj(o) ((obj*)(o))
|
|
|
|
#define size_from_obj(o) ((int)((o) >> 1))
|
|
|
|
#define obj_from_case(n) obj_from_objptr(cases+(n))
|
|
#define case_from_obj(o) (objptr_from_obj(o)-cases)
|
|
#define obj_from_ktrap() obj_from_size(0x5D56F806)
|
|
#define obj_from_void(v) ((void)(v), obj_from_size(0x6F56DF77))
|
|
|
|
#define bool_from_obj(o) (o)
|
|
#define bool_from_bool(b) (b)
|
|
#define bool_from_size(s) (s)
|
|
|
|
#define void_from_void(v) (void)(v)
|
|
#define void_from_obj(o) (void)(o)
|
|
|
|
#define rreserve(m) if (r + (m) >= cxg_rend) r = cxm_rgc(r, m)
|
|
#define hpushptr(p, pt, l) (hreserve(2, l), *--hp = (obj)(p), *--hp = (obj)(pt), (obj)(hp+1))
|
|
#define hbsz(s) ((s) + 1) /* 1 extra word to store block size */
|
|
#define hreserve(n, l) ((hp < cxg_heap + (n)) ? hp = cxm_hgc(r, r+(l), hp, n) : hp)
|
|
#define hendblk(n) (*--hp = obj_from_size(n), (obj)(hp+1))
|
|
#define hblklen(p) size_from_obj(((obj*)(p))[-1])
|
|
#define hblkref(p, i) (((obj*)(p))[i])
|
|
|
|
typedef obj (*cxhost_t)(obj);
|
|
typedef struct cxroot_tag {
|
|
int globc; obj **globv;
|
|
struct cxroot_tag *next;
|
|
} cxroot_t;
|
|
|
|
extern obj *cxg_heap;
|
|
extern obj *cxg_hp;
|
|
extern cxoint_t cxg_hmask;
|
|
extern cxroot_t *cxg_rootp;
|
|
extern obj *cxm_rgc(obj *regs, size_t needs);
|
|
extern obj *cxm_hgc(obj *regs, obj *regp, obj *hp, size_t needs);
|
|
extern obj *cxg_regs, *cxg_rend;
|
|
extern void cxm_check(int x, char *msg);
|
|
extern void *cxm_cknull(void *p, char *msg);
|
|
extern int cxg_rc;
|
|
extern char **cxg_argv;
|
|
|
|
/* extra definitions */
|
|
/* basic object representation */
|
|
#define isimm(o, t) (((o) & 0xf) == (((t) << 1) | 1))
|
|
#define isimm2(o1, o2, t) (((((o1) & 0xf) << 4) | ((o2) & 0xf)) == (((((t) << 1) | 1) << 4) | (((t) << 1) | 1)))
|
|
#define getimmu_unchecked(o) (long)(((o) >> 4) & 0xfffffff)
|
|
#define getimms_unchecked(o) (long)(((((o) >> 4) & 0xfffffff) ^ 0x8000000) - 0x8000000)
|
|
long getimmu(obj o, int t) {
|
|
assert(isimm(o, t));
|
|
return getimmu_unchecked(o);
|
|
}
|
|
long getimms(obj o, int t) {
|
|
assert(isimm(o, t));
|
|
return getimms_unchecked(o);
|
|
}
|
|
#ifdef NDEBUG
|
|
#define getimmu(o, t) getimmu_unchecked(o)
|
|
#define getimms(o, t) getimms_unchecked(o)
|
|
#else
|
|
extern long getimmu(obj o, int t);
|
|
extern long getimms(obj o, int t);
|
|
#endif
|
|
#define mkimm(o, t) (obj)((((o) & 0xfffffff) << 4) | ((t) << 1) | 1)
|
|
#ifndef NDEBUG
|
|
int isnative(obj o, cxtype_t *tp) {
|
|
return isobjptr(o) && objptr_from_obj(o)[-1] == (obj)tp;
|
|
}
|
|
void *getnative(obj o, cxtype_t *tp) {
|
|
assert(isnative(o, tp));
|
|
return (void*)(*objptr_from_obj(o));
|
|
}
|
|
#endif
|
|
#ifdef NDEBUG
|
|
static int isnative(obj o, cxtype_t *tp)
|
|
{ return isobjptr(o) && objptr_from_obj(o)[-1] == (obj)tp; }
|
|
#define getnative(o, t) ((void*)(*objptr_from_obj(o)))
|
|
#else
|
|
extern int isnative(obj o, cxtype_t *tp);
|
|
extern void *getnative(obj o, cxtype_t *tp);
|
|
#endif
|
|
int istagged(obj o, int t) {
|
|
if (!isobjptr(o)) return 0;
|
|
else { obj h = objptr_from_obj(o)[-1];
|
|
return notaptr(h) && size_from_obj(h) >= 1
|
|
&& hblkref(o, 0) == obj_from_size(t); }
|
|
}
|
|
obj cktagged(obj o, int t) {
|
|
assert(istagged(o, t));
|
|
return o;
|
|
}
|
|
int taggedlen(obj o, int t) {
|
|
assert(istagged(o, t));
|
|
return hblklen(o) - 1;
|
|
}
|
|
obj* taggedref(obj o, int t, int i) {
|
|
int len; assert(istagged(o, t));
|
|
len = hblklen(o);
|
|
assert(i >= 0 && i < len-1);
|
|
return &hblkref(o, i+1);
|
|
}
|
|
extern int istagged(obj o, int t);
|
|
#ifdef NDEBUG
|
|
#define cktagged(o, t) (o)
|
|
#define taggedlen(o, t) (hblklen(o)-1)
|
|
#define taggedref(o, t, i) (&hblkref(o, (i)+1))
|
|
#else
|
|
extern obj cktagged(obj o, int t);
|
|
extern int taggedlen(obj o, int t);
|
|
extern obj* taggedref(obj o, int t, int i);
|
|
#endif
|
|
/* booleans */
|
|
#define TRUE_ITAG 0
|
|
typedef int bool_t;
|
|
#define is_bool_obj(o) (!((o) & ~(obj)1))
|
|
#define is_bool_bool(b) ((void)(b), 1)
|
|
#define void_from_bool(b) (void)(b)
|
|
#define obj_from_bool(b) ((b) ? mkimm(0, TRUE_ITAG) : 0)
|
|
/* numbers */
|
|
#define FIXNUM_BIT 28
|
|
#define FIXNUM_MIN -134217728
|
|
#define FIXNUM_MAX 134217727
|
|
#ifdef NDEBUG
|
|
#define fxneg(x) (-(x))
|
|
#define fxabs(x) (labs(x))
|
|
#define fxadd(x, y) ((x) + (y))
|
|
#define fxsub(x, y) ((x) - (y))
|
|
#define fxmul(x, y) ((x) * (y))
|
|
/* exact integer division */
|
|
#define fxdiv(x, y) ((x) / (y))
|
|
/* truncated division (common/C99) */
|
|
#define fxquo(x, y) ((x) / (y))
|
|
#define fxrem(x, y) ((x) % (y))
|
|
/* floor division */
|
|
static long fxmqu(long x, long y) {
|
|
long q = x / y; return ((x < 0 && y > 0) || (x > 0 && y < 0)) ? q - 1 : q;
|
|
}
|
|
static long fxmlo(long x, long y) {
|
|
long r = x % y; return ((r < 0 && y > 0) || (r > 0 && y < 0)) ? r + y : r;
|
|
}
|
|
/* euclidean division */
|
|
static long fxeuq(long x, long y) {
|
|
long q = x / y, r = x % y; return (r < 0) ? ((y > 0) ? q - 1 : q + 1) : q;
|
|
}
|
|
static long fxeur(long x, long y) {
|
|
long r = x % y; return (r < 0) ? ((y > 0) ? r + y : r - y) : r;
|
|
}
|
|
static long fxgcd(long x, long y) {
|
|
long a = labs(x), b = labs(y), c; while (b) c = a%b, a = b, b = c;
|
|
return a;
|
|
}
|
|
#define fxasl(x, y) ((x) << (y))
|
|
#define fxasr(x, y) ((x) >> (y))
|
|
#define fxflo(f) ((long)(f))
|
|
#else
|
|
extern long fxneg(long x);
|
|
extern long fxabs(long x);
|
|
extern long fxadd(long x, long y);
|
|
extern long fxsub(long x, long y);
|
|
extern long fxmul(long x, long y);
|
|
extern long fxdiv(long x, long y);
|
|
extern long fxquo(long x, long y);
|
|
extern long fxrem(long x, long y);
|
|
extern long fxmqu(long x, long y);
|
|
extern long fxmlo(long x, long y);
|
|
extern long fxeuq(long x, long y);
|
|
extern long fxeur(long x, long y);
|
|
extern long fxgcd(long x, long y);
|
|
extern long fxasl(long x, long y);
|
|
extern long fxasr(long x, long y);
|
|
extern long fxflo(double f);
|
|
#endif
|
|
#ifndef NDEBUG
|
|
long fxneg(long x) {
|
|
assert(x != FIXNUM_MIN);
|
|
return -x;
|
|
}
|
|
long fxabs(long x) {
|
|
assert(x != FIXNUM_MIN);
|
|
return labs(x);
|
|
}
|
|
long fxadd(long x, long y) {
|
|
long z = x + y;
|
|
assert(z >= FIXNUM_MIN && z <= FIXNUM_MAX);
|
|
return z;
|
|
}
|
|
long fxsub(long x, long y) {
|
|
long z = x - y;
|
|
assert(z >= FIXNUM_MIN && z <= FIXNUM_MAX);
|
|
return z;
|
|
}
|
|
long fxmul(long x, long y) {
|
|
double z = (double)x * (double)y;
|
|
assert(z >= FIXNUM_MIN && z <= FIXNUM_MAX);
|
|
return x * y;
|
|
}
|
|
/* exact integer division */
|
|
long fxdiv(long x, long y) {
|
|
assert(y);
|
|
assert(x != FIXNUM_MIN || y != -1);
|
|
assert(x % y == 0);
|
|
return x / y;
|
|
}
|
|
/* truncated division (common/C99) */
|
|
long fxquo(long x, long y) {
|
|
assert(y); assert(x != FIXNUM_MIN || y != -1);
|
|
return x / y;
|
|
}
|
|
long fxrem(long x, long y) {
|
|
assert(y);
|
|
return x % y;
|
|
}
|
|
/* floor division */
|
|
long fxmqu(long x, long y) {
|
|
long q; assert(y); assert(x != FIXNUM_MIN || y != -1);
|
|
q = x / y;
|
|
return ((x < 0 && y > 0) || (x > 0 && y < 0)) ? q - 1 : q;
|
|
}
|
|
long fxmlo(long x, long y) {
|
|
long r; assert(y); r = x % y;
|
|
return ((r < 0 && y > 0) || (r > 0 && y < 0)) ? r + y : r;
|
|
}
|
|
/* euclidean division */
|
|
long fxeuq(long x, long y) {
|
|
long q, r; assert(y); assert(x != FIXNUM_MIN || y != -1);
|
|
q = x / y, r = x % y;
|
|
return (r < 0) ? ((y > 0) ? q - 1 : q + 1) : q;
|
|
}
|
|
long fxeur(long x, long y) {
|
|
long r; assert(y); r = x % y;
|
|
return (r < 0) ? ((y > 0) ? r + y : r - y) : r;
|
|
}
|
|
long fxgcd(long x, long y) {
|
|
long a = labs(x), b = labs(y), c;
|
|
while (b) c = a%b, a = b, b = c;
|
|
assert(a <= FIXNUM_MAX);
|
|
return a;
|
|
}
|
|
long fxasl(long x, long y) {
|
|
assert(y >= 0 && y < FIXNUM_BIT);
|
|
return x << y;
|
|
}
|
|
long fxasr(long x, long y) {
|
|
assert(y >= 0 && y < FIXNUM_BIT);
|
|
assert(!y || x >= 0); /* >> of negative x is undefined */
|
|
return x >> y;
|
|
}
|
|
long fxflo(double f) {
|
|
long l = (long)f; assert((double)l == f);
|
|
assert(l >= FIXNUM_MIN && l <= FIXNUM_MAX);
|
|
return l;
|
|
}
|
|
#endif
|
|
static int flisint(double f) { return f > -HUGE_VAL && f < HUGE_VAL && f == floor(f); }
|
|
extern long fxpow(long x, long y);
|
|
long fxpow(long x, long y) {
|
|
assert(y >= 0);
|
|
retry: if (y == 0) return 1; if (y == 1) return x;
|
|
if (y % 2 == 1) x *= fxpow(x, y-1);
|
|
else { x *= x; y /= 2; assert(FIXNUM_MIN <= x && x <= FIXNUM_MAX); goto retry; }
|
|
assert(FIXNUM_MIN <= x && x <= FIXNUM_MAX); return x;
|
|
}
|
|
extern long fxsqrt(long x);
|
|
long fxsqrt(long x) {
|
|
assert(x >= 0); if (x < 2) return x;
|
|
else { long s = fxsqrt(x >> 2) << 1, l = s + 1; return l*l > x ? s : l; }
|
|
}
|
|
extern int fxifdv(long x, long y, long *pi, double *pd);
|
|
int fxifdv(long x, long y, long *pi, double *pd) {
|
|
assert(y); assert(x != FIXNUM_MIN || y != -1);
|
|
if (x % y == 0) { *pi = x / y; return 1; }
|
|
else { *pd = (double)x / (double)y; return 0; }
|
|
}
|
|
extern double flquo(double x, double y);
|
|
double flquo(double x, double y) {
|
|
double z; assert(y != 0.0 && flisint(x) && flisint(y));
|
|
modf(x / y, &z);
|
|
return z;
|
|
}
|
|
extern double flrem(double x, double y);
|
|
double flrem(double x, double y) {
|
|
assert(y != 0.0 && flisint(x) && flisint(y));
|
|
return fmod(x, y);
|
|
}
|
|
extern double flmqu(double x, double y);
|
|
double flmqu(double x, double y) {
|
|
assert(y != 0.0 && flisint(x) && flisint(y));
|
|
return floor(x / y);
|
|
}
|
|
extern double flmlo(double x, double y);
|
|
double flmlo(double x, double y) {
|
|
assert(y != 0.0 && flisint(x) && flisint(y));
|
|
return x - y * floor(x / y);
|
|
}
|
|
extern double flgcd(double x, double y);
|
|
double flgcd(double x, double y) {
|
|
double a = fabs(x), b = fabs(y), c;
|
|
assert(flisint(a) && flisint(b));
|
|
while (b > 0.0) c = fmod(a, b), a = b, b = c;
|
|
return a;
|
|
}
|
|
extern double flround(double x);
|
|
double flround(double x) {
|
|
double f = floor(x), c = ceil(x), d = x-f, u = c-x;
|
|
if (d == u) return fmod(f, 2.0) == 0.0 ? f : c;
|
|
else return (d < u) ? f : c;
|
|
}
|
|
extern int strtofxfl(char *s, int radix, long *pl, double *pd);
|
|
int strtofxfl(char *s, int radix, long *pl, double *pd) {
|
|
extern int strcmp_ci(char *s1, char *s2); /* defined below */
|
|
char *e; int conv = 0, eno = errno; long l; double d;
|
|
for (; s[0] == '#'; s += 2) {
|
|
switch (s[1]) {
|
|
case 'b': case 'B': radix = 2; break;
|
|
case 'o': case 'O': radix = 8; break;
|
|
case 'd': case 'D': radix = 10; break;
|
|
case 'x': case 'X': radix = 16; break;
|
|
case 'e': case 'E': conv = 'e'; break;
|
|
case 'i': case 'I': conv = 'i'; break;
|
|
default: return 0;
|
|
}
|
|
}
|
|
if (isspace(*s)) return 0;
|
|
for (e = s; *e; ++e) { if (strchr(".eEiInN", *e)) break; }
|
|
if (!*e || radix != 10) { /* s is not a syntax for an inexact number */
|
|
l = (errno = 0, strtol(s, &e, radix));
|
|
if (errno || *e || e == s) { if (conv == 'i') goto fl; return (errno = eno, 0); }
|
|
if (conv == 'i') return (errno = eno, *pd = (double)l, 'i');
|
|
if (FIXNUM_MIN <= l && l <= FIXNUM_MAX) return (errno = eno, *pl = l, 'e');
|
|
return (errno = eno, 0); /* can't represent as an exact */
|
|
}
|
|
fl: if (radix != 10) return (errno = eno, 0);
|
|
e = "", errno = 0; if (*s != '+' && *s != '-') d = strtod(s, &e);
|
|
else if (strcmp_ci(s+1, "inf.0") == 0) d = (*s == '-' ? -HUGE_VAL : HUGE_VAL);
|
|
else if (strcmp_ci(s+1, "nan.0") == 0) d = HUGE_VAL - HUGE_VAL;
|
|
else d = strtod(s, &e);
|
|
if (errno || *e || e == s) return (errno = eno, 0);
|
|
if ((conv == 'e') && ((l=(long)d) < FIXNUM_MIN || l > FIXNUM_MAX || (double)l != d))
|
|
return (errno = eno, 0); /* can't be converted to an exact number */
|
|
return (errno = eno, (conv == 'e') ? (*pl = fxflo(d), 'e') : (*pd = d, 'i'));
|
|
}
|
|
/* fixnums */
|
|
#define FIXNUM_ITAG 1
|
|
typedef long fixnum_t;
|
|
#define is_fixnum_obj(o) (isimm(o, FIXNUM_ITAG))
|
|
#define are_fixnum_objs(o1, o2) (isimm2((o1), (o2), FIXNUM_ITAG))
|
|
#define get_fixnum_unchecked(o) (getimms_unchecked(o))
|
|
#define is_fixnum_fixnum(i) ((void)(i), 1)
|
|
#define is_bool_fixnum(i) ((void)(i), 0)
|
|
#define is_fixnum_bool(i) ((void)(i), 0)
|
|
#define fixnum_from_obj(o) (getimms(o, FIXNUM_ITAG))
|
|
#define fixnum_from_fixnum(i) (i)
|
|
#define fixnum_from_flonum(l,x) ((fixnum_t)(x))
|
|
#define bool_from_fixnum(i) ((void)(i), 1)
|
|
#define void_from_fixnum(i) (void)(i)
|
|
#define obj_from_fixnum(i) mkimm((fixnum_t)(i), FIXNUM_ITAG)
|
|
/* flonums */
|
|
static cxtype_t cxt_flonum = { "flonum", free };
|
|
cxtype_t *FLONUM_NTAG = &cxt_flonum;
|
|
extern cxtype_t *FLONUM_NTAG;
|
|
typedef double flonum_t;
|
|
#define is_flonum_obj(o) (isnative(o, FLONUM_NTAG))
|
|
#define is_flonum_flonum(f) ((void)(f), 1)
|
|
#define is_flonum_bool(f) ((void)(f), 0)
|
|
#define is_bool_flonum(f) ((void)(f), 0)
|
|
#define is_fixnum_flonum(i) ((void)(i), 0)
|
|
#define is_flonum_fixnum(i) ((void)(i), 0)
|
|
#define flonum_from_obj(o) (*(flonum_t*)getnative(o, FLONUM_NTAG))
|
|
#define flonum_from_flonum(l, f) (f)
|
|
#define flonum_from_fixnum(x) ((flonum_t)(x))
|
|
#define bool_from_flonum(f) ((void)(f), 0)
|
|
#define void_from_flonum(l, f) (void)(f)
|
|
#define obj_from_flonum(l, f) hpushptr(dupflonum(f), FLONUM_NTAG, l)
|
|
extern flonum_t *dupflonum(flonum_t f);
|
|
flonum_t *dupflonum(flonum_t f) {
|
|
flonum_t *pf = cxm_cknull(malloc(sizeof(flonum_t)), "malloc(flonum)");
|
|
*pf = f; return pf;
|
|
}
|
|
/* characters */
|
|
#define CHAR_ITAG 2
|
|
typedef int char_t;
|
|
#define ischar(o) (isimm(o, CHAR_ITAG))
|
|
#define is_char_obj(o) (isimm(o, CHAR_ITAG))
|
|
#define is_char_char(i) ((void)(i), 1)
|
|
#define is_char_bool(i) ((void)(i), 0)
|
|
#define is_bool_char(i) ((void)(i), 0)
|
|
#define is_char_fixnum(i) ((void)(i), 0)
|
|
#define is_fixnum_char(i) ((void)(i), 0)
|
|
#define is_char_flonum(i) ((void)(i), 0)
|
|
#define is_flonum_char(i) ((void)(i), 0)
|
|
#define char_from_obj(o) ((int)getimms(o, CHAR_ITAG))
|
|
#define char_from_char(i) (i)
|
|
#define bool_from_char(i) ((void)(i), 1)
|
|
#define void_from_char(i) (void)(i)
|
|
#define obj_from_char(i) mkimm(i, CHAR_ITAG)
|
|
/* strings */
|
|
static cxtype_t cxt_string = { "string", free };
|
|
cxtype_t *STRING_NTAG = &cxt_string;
|
|
extern cxtype_t *STRING_NTAG;
|
|
#define isstring(o) (isnative(o, STRING_NTAG))
|
|
#define stringdata(o) ((int*)getnative(o, STRING_NTAG))
|
|
#define sdatachars(d) ((char*)((d)+1))
|
|
#define stringlen(o) (*stringdata(o))
|
|
#define stringchars(o) ((char*)(stringdata(o)+1))
|
|
#define hpushstr(l, s) hpushptr(s, STRING_NTAG, l)
|
|
char* stringref(obj o, int i) {
|
|
int *d = stringdata(o);
|
|
assert(i >= 0 && i < *d);
|
|
return ((char*)(d+1))+i;
|
|
}
|
|
#ifdef NDEBUG
|
|
#define stringref(o, i) (stringchars(o)+(i))
|
|
#else
|
|
extern char* stringref(obj o, int i);
|
|
#endif
|
|
extern int *newstring(char *s);
|
|
int *newstring(char *s) {
|
|
int l, *d; assert(s); l = (int)strlen(s);
|
|
d = cxm_cknull(malloc(sizeof(int)+l+1), "malloc(string)");
|
|
*d = l; strcpy((char*)(d+1), s); return d;
|
|
}
|
|
extern int *allocstring(int n, int c);
|
|
int *allocstring(int n, int c) {
|
|
int *d; char *s; assert(n+1 > 0);
|
|
d = cxm_cknull(malloc(sizeof(int)+n+1), "malloc(string)");
|
|
*d = n; s = (char*)(d+1); memset(s, c, n); s[n] = 0;
|
|
return d;
|
|
}
|
|
extern int *substring(int *d, int from, int to);
|
|
int *substring(int *d0, int from, int to) {
|
|
int n = to-from, *d1; char *s0, *s1; assert(d0);
|
|
assert(0 <= from && from <= to && to <= *d0);
|
|
d1 = cxm_cknull(malloc(sizeof(int)+n+1), "malloc(string)");
|
|
*d1 = n; s0 = (char*)(d0+1); s1 = (char*)(d1+1);
|
|
memcpy(s1, s0+from, n); s1[n] = 0;
|
|
return d1;
|
|
}
|
|
extern int *stringcat(int *d0, int *d1);
|
|
int *stringcat(int *d0, int *d1) {
|
|
int l0 = *d0, l1 = *d1, n = l0+l1; char *s0, *s1, *s;
|
|
int *d = cxm_cknull(malloc(sizeof(int)+n+1), "malloc(string)");
|
|
*d = n; s = (char*)(d+1); s0 = (char*)(d0+1); s1 = (char*)(d1+1);
|
|
memcpy(s, s0, l0); memcpy(s+l0, s1, l1); s[n] = 0;
|
|
return d;
|
|
}
|
|
extern int *dupstring(int *d);
|
|
int *dupstring(int *d0) {
|
|
int n = *d0, *d1 = cxm_cknull(malloc(sizeof(int)+n+1), "malloc(string)");
|
|
memcpy(d1, d0, sizeof(int)+n+1);
|
|
return d1;
|
|
}
|
|
extern void stringfill(int *d, int c);
|
|
void stringfill(int *d, int c) {
|
|
int l = *d, i; char *s = (char*)(d+1);
|
|
for (i = 0; i < l; ++i) s[i] = c;
|
|
}
|
|
extern int strcmp_ci(char *s1, char*s2);
|
|
int strcmp_ci(char *s1, char *s2) {
|
|
int c1, c2, d;
|
|
do { c1 = *s1++; c2 = *s2++; d = (unsigned)tolower(c1) - (unsigned)tolower(c2); }
|
|
while (!d && c1 && c2);
|
|
return d;
|
|
}
|
|
/* vectors */
|
|
#define VECTOR_BTAG 1
|
|
#define isvector(o) istagged(o, VECTOR_BTAG)
|
|
#define vectorref(v, i) *taggedref(v, VECTOR_BTAG, i)
|
|
#define vectorlen(v) taggedlen(v, VECTOR_BTAG)
|
|
/* bytevectors */
|
|
static cxtype_t cxt_bytevector = { "bytevector", free };
|
|
cxtype_t *BYTEVECTOR_NTAG = &cxt_bytevector;
|
|
extern cxtype_t *BYTEVECTOR_NTAG;
|
|
#define isbytevector(o) (isnative(o, BYTEVECTOR_NTAG))
|
|
#define bytevectordata(o) ((int*)getnative(o, BYTEVECTOR_NTAG))
|
|
#define bvdatabytes(d) ((unsigned char*)((d)+1))
|
|
#define bytevectorlen(o) (*bytevectordata(o))
|
|
#define bytevectorbytes(o) (bvdatabytes(bytevectordata(o)))
|
|
#define hpushu8v(l, s) hpushptr(s, BYTEVECTOR_NTAG, l)
|
|
#define mallocbvdata(n) cxm_cknull(malloc(sizeof(int)+(n)), "malloc(bytevector)")
|
|
static int is_byte_obj(obj o) { return (obj_from_fixnum(0) <= o && o <= obj_from_fixnum(255)); }
|
|
#define byte_from_obj(o) byte_from_fixnum(fixnum_from_obj(o))
|
|
#ifdef NDEBUG
|
|
#define byte_from_fixnum(n) ((unsigned char)(n))
|
|
#else
|
|
static unsigned char byte_from_fixnum(int n) { assert(0 <= n && n <= 255); return n; }
|
|
#endif
|
|
#define byte_from_obj(o) byte_from_fixnum(fixnum_from_obj(o))
|
|
unsigned char* bytevectorref(obj o, int i) {
|
|
int *d = bytevectordata(o); assert(i >= 0 && i < *d); return (bvdatabytes(d))+i;
|
|
}
|
|
#ifdef NDEBUG
|
|
#define bytevectorref(o, i) (bytevectorbytes(o)+(i))
|
|
#else
|
|
extern unsigned char* bytevectorref(obj o, int i);
|
|
#endif
|
|
extern int *newbytevector(unsigned char *s, int n);
|
|
int *newbytevector(unsigned char *s, int n) {
|
|
int *d; assert(s); assert(n >= 0);
|
|
d = mallocbvdata(n); *d = n; memcpy(bvdatabytes(d), s, n); return d;
|
|
}
|
|
extern int *allocbytevector(int n, int c);
|
|
int *allocbytevector(int n, int c) {
|
|
int *d; assert(n >= 0);
|
|
d = mallocbvdata(n); *d = n; memset(bvdatabytes(d), c, n);
|
|
return d;
|
|
}
|
|
extern int *dupbytevector(int *d);
|
|
int *dupbytevector(int *d0) {
|
|
int *d1 = mallocbvdata(*d0); *d1 = *d0;
|
|
memcpy(bvdatabytes(d1), bvdatabytes(d0), *d0);
|
|
return d1;
|
|
}
|
|
extern int bytevectoreq(int *d0, int *d1);
|
|
int bytevectoreq(int *d0, int *d1) {
|
|
int l0 = *d0, l1 = *d1;
|
|
return (l0 != l1) ? 0 : memcmp(bvdatabytes(d0), bvdatabytes(d1), l0) == 0;
|
|
}
|
|
extern int *subbytevector(int *d, int from, int to);
|
|
int *subbytevector(int *d0, int from, int to) {
|
|
int n = to-from, *d1; unsigned char *s0, *s1; assert(d0);
|
|
assert(0 <= from && from <= to && to <= *d0);
|
|
d1 = mallocbvdata(n); *d1 = n; s0 = bvdatabytes(d0); s1 = bvdatabytes(d1);
|
|
memcpy(s1, s0+from, n); return d1;
|
|
}
|
|
/* boxes */
|
|
#define BOX_BTAG 2
|
|
#define isbox(o) istagged(o, BOX_BTAG)
|
|
#define boxref(o) *taggedref(o, BOX_BTAG, 0)
|
|
/* null */
|
|
#define NULL_ITAG 3
|
|
#define mknull() mkimm(0, NULL_ITAG)
|
|
#define isnull(o) ((o) == mkimm(0, NULL_ITAG))
|
|
/* pairs and lists */
|
|
#define PAIR_BTAG 3
|
|
#define ispair(o) istagged(o, PAIR_BTAG)
|
|
#define car(o) *taggedref(o, PAIR_BTAG, 0)
|
|
#define cdr(o) *taggedref(o, PAIR_BTAG, 1)
|
|
extern int islist(obj l);
|
|
int islist(obj l) {
|
|
obj s = l;
|
|
for (;;) {
|
|
if (isnull(l)) return 1;
|
|
else if (!ispair(l)) return 0;
|
|
else if ((l = cdr(l)) == s) return 0;
|
|
else if (isnull(l)) return 1;
|
|
else if (!ispair(l)) return 0;
|
|
else if ((l = cdr(l)) == s) return 0;
|
|
else s = cdr(s);
|
|
}
|
|
}
|
|
/* symbols */
|
|
#define SYMBOL_ITAG 4
|
|
#define issymbol(o) (isimm(o, SYMBOL_ITAG))
|
|
#define mksymbol(i) mkimm(i, SYMBOL_ITAG)
|
|
#define getsymbol(o) getimmu(o, SYMBOL_ITAG)
|
|
static struct { char **a; char ***v; size_t sz; size_t u; size_t maxu; } symt;
|
|
static unsigned long hashs(char *s) {
|
|
unsigned long i = 0, l = (unsigned long)strlen(s), h = l;
|
|
while (i < l) h = (h << 4) ^ (h >> 28) ^ s[i++];
|
|
return h ^ (h >> 10) ^ (h >> 20);
|
|
}
|
|
extern char *symbolname(int sym);
|
|
char *symbolname(int sym) {
|
|
assert(sym >= 0); assert(sym < (int)symt.u);
|
|
return symt.a[sym];
|
|
}
|
|
extern int internsym(char *name);
|
|
int internsym(char *name) {
|
|
size_t i, j; /* based on a code (C) 1998, 1999 by James Clark. */
|
|
if (symt.sz == 0) { /* init */
|
|
symt.a = cxm_cknull(calloc(64, sizeof(char*)), "symtab[0]");
|
|
symt.v = cxm_cknull(calloc(64, sizeof(char**)), "symtab[1]");
|
|
symt.sz = 64, symt.maxu = 64 / 2;
|
|
i = hashs(name) & (symt.sz-1);
|
|
} else {
|
|
unsigned long h = hashs(name);
|
|
for (i = h & (symt.sz-1); symt.v[i]; i = (i-1) & (symt.sz-1))
|
|
if (strcmp(name, *symt.v[i]) == 0) return (int)(symt.v[i] - symt.a);
|
|
if (symt.u == symt.maxu) { /* rehash */
|
|
size_t nsz = symt.sz * 2;
|
|
char **na = cxm_cknull(calloc(nsz, sizeof(char*)), "symtab[2]");
|
|
char ***nv = cxm_cknull(calloc(nsz, sizeof(char**)), "symtab[3]");
|
|
for (i = 0; i < symt.sz; i++)
|
|
if (symt.v[i]) {
|
|
for (j = hashs(*symt.v[i]) & (nsz-1); nv[j]; j = (j-1) & (nsz-1)) ;
|
|
nv[j] = symt.v[i] - symt.a + na;
|
|
}
|
|
free(symt.v); symt.v = nv; symt.sz = nsz; symt.maxu = nsz / 2;
|
|
memcpy(na, symt.a, symt.u * sizeof(char*)); free(symt.a); symt.a = na;
|
|
for (i = h & (symt.sz-1); symt.v[i]; i = (i-1) & (symt.sz-1)) ;
|
|
}
|
|
}
|
|
*(symt.v[i] = symt.a + symt.u) =
|
|
strcpy(cxm_cknull(malloc(strlen(name)+1), "symtab[4]"), name);
|
|
return (int)((symt.u)++);
|
|
}
|
|
/* records */
|
|
#define RECORD_BTAG 4
|
|
#define isrecord(o) istagged(o, RECORD_BTAG)
|
|
#define recordrtd(r) *taggedref(r, RECORD_BTAG, 0)
|
|
#define recordref(r, i) *taggedref(r, RECORD_BTAG, (i)+1)
|
|
#define recordlen(r) (taggedlen(r, RECORD_BTAG)-1)
|
|
/* procedures */
|
|
extern int isprocedure(obj o);
|
|
extern int procedurelen(obj o);
|
|
extern obj* procedureref(obj o, int i);
|
|
int isprocedure(obj o) {
|
|
if (!o) return 0;
|
|
else if (isaptr(o) && !isobjptr(o)) return 1;
|
|
else if (!isobjptr(o)) return 0;
|
|
else { obj h = objptr_from_obj(o)[-1];
|
|
return notaptr(h) && size_from_obj(h) >= 1
|
|
&& isaptr(hblkref(o, 0)); }
|
|
}
|
|
int procedurelen(obj o) {
|
|
assert(isprocedure(o));
|
|
return isobjptr(o) ? hblklen(o) : 1;
|
|
}
|
|
obj* procedureref(obj o, int i) {
|
|
int len; assert(isprocedure(o));
|
|
len = isobjptr(o) ? hblklen(o) : 1;
|
|
assert(i >= 0 && i < len);
|
|
return &hblkref(o, i);
|
|
}
|
|
/* apply and dotted lambda list */
|
|
extern obj appcases[];
|
|
/* apply/dotted lambda adapter entry points */
|
|
static obj apphost(obj);
|
|
obj appcases[5] = { (obj)apphost, (obj)apphost, (obj)apphost, (obj)apphost , (obj)apphost };
|
|
/* apphost procedure */
|
|
#define APPLY_MAX_REGS 1024 /* limit on rc for apply & friends */
|
|
static obj apphost(obj pc)
|
|
{
|
|
register obj *r = cxg_regs;
|
|
register obj *hp = cxg_hp;
|
|
register int rc = cxg_rc;
|
|
jump:
|
|
switch (objptr_from_obj(pc)-appcases) {
|
|
|
|
case 0: /* apply */
|
|
/* clo k f arg... arglist */
|
|
assert(rc >= 4);
|
|
{ int i; obj l;
|
|
rreserve(APPLY_MAX_REGS);
|
|
l = r[--rc];
|
|
r[0] = r[2];
|
|
/* k in r[1] */
|
|
for (i = 3; i < rc; ++i) r[i-1] = r[i];
|
|
for (--rc; l != mknull(); l = cdr(l)) r[rc++] = car(l);
|
|
/* f k arg... arg... */
|
|
assert(rc <= APPLY_MAX_REGS);
|
|
pc = objptr_from_obj(r[0])[0];
|
|
goto jump; }
|
|
|
|
case 1: /* dotted lambda adapter */
|
|
/* clo k arg... */
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
int n = fixnum_from_obj(p[1]) + 2;
|
|
r[0] = p[2]; /* f */
|
|
/* k in r[1] */
|
|
assert(rc >= n);
|
|
rreserve(n+1);
|
|
if (rc == n) r[rc++] = mknull();
|
|
else { /* collect rest list */
|
|
obj l = mknull();
|
|
hreserve(hbsz(3)*(rc-n), rc);
|
|
while (rc > n) { *--hp = l; *--hp = r[--rc];
|
|
*--hp = obj_from_size(PAIR_BTAG); l = hendblk(3); }
|
|
r[rc++] = l; }
|
|
/* f k arg... arglist */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
goto jump; }
|
|
|
|
case 2: /* void continuation adapter */
|
|
/* cclo ek arg ... */
|
|
assert(rc >= 2);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[0] = p[1]; /* cont */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
/* ek in r[1] */
|
|
rreserve(3);
|
|
r[2] = obj_from_void(0);
|
|
rc = 3;
|
|
goto jump; }
|
|
|
|
case 3: /* argc dispatcher */
|
|
/* clo k arg... */
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
obj pv = p[1]; int vl = vectorlen(pv); assert(vl > 0);
|
|
if (rc-2 < vl-1) r[0] = vectorref(pv, rc-2); /* matching slot */
|
|
else r[0] = vectorref(pv, vl-1); /* catch-all slot */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
goto jump; }
|
|
|
|
case 4: /* case lambda dispatcher */
|
|
/* clo k arg... */
|
|
{ obj* p = objptr_from_obj(r[0]); int bl = hblklen(p), i;
|
|
for (i = 1; i < bl; i += 3) {
|
|
int min = fixnum_from_obj(hblkref(p, i)), max = fixnum_from_obj(hblkref(p, i+1));
|
|
if (min <= rc-2 && rc-2 <= max) { r[0] = hblkref(p, i+2); break; }
|
|
} assert(i < bl); /* at least one of the cases should match! */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
goto jump; }
|
|
|
|
default: /* inter-host call */
|
|
cxg_hp = hp;
|
|
cxm_rgc(r, 1);
|
|
cxg_rc = rc;
|
|
return pc;
|
|
}
|
|
}
|
|
/* eof */
|
|
#define EOF_ITAG 7
|
|
#define mkeof() mkimm(-1, EOF_ITAG)
|
|
#define iseof(o) ((o) == mkimm(-1, EOF_ITAG))
|
|
/* input ports */
|
|
typedef struct { /* extends cxtype_t */
|
|
const char *tname;
|
|
void (*free)(void*);
|
|
int (*close)(void*);
|
|
int (*getch)(void*);
|
|
int (*ungetch)(int, void*);
|
|
} cxtype_iport_t;
|
|
extern cxtype_t *IPORT_CLOSED_NTAG;
|
|
extern cxtype_t *IPORT_FILE_NTAG;
|
|
extern cxtype_t *IPORT_STRING_NTAG;
|
|
extern cxtype_t *IPORT_BYTEVECTOR_NTAG;
|
|
static cxtype_iport_t *iportvt(obj o) {
|
|
cxtype_t *pt; if (!isobjptr(o)) return NULL;
|
|
pt = (cxtype_t*)objptr_from_obj(o)[-1];
|
|
if (pt != IPORT_CLOSED_NTAG && pt != IPORT_FILE_NTAG &&
|
|
pt != IPORT_STRING_NTAG && pt != IPORT_BYTEVECTOR_NTAG) return NULL;
|
|
else return (cxtype_iport_t*)pt; }
|
|
#define ckiportvt(o) ((cxtype_iport_t*)cxm_cknull(iportvt(o), "iportvt"))
|
|
#define isiport(o) (iportvt(o) != NULL)
|
|
#define iportdata(o) ((void*)(*objptr_from_obj(o)))
|
|
static int iportgetc(obj o) {
|
|
cxtype_iport_t *vt = iportvt(o); void *pp = iportdata(o);
|
|
assert(vt); return vt->getch(pp);
|
|
}
|
|
static int iportpeekc(obj o) {
|
|
cxtype_iport_t *vt = iportvt(o); void *pp = iportdata(o); int c;
|
|
assert(vt); c = vt->getch(pp); if (c != EOF) vt->ungetch(c, pp); return c;
|
|
}
|
|
/* closed input ports */
|
|
static void cifree(void *p) {}
|
|
static int ciclose(void *p) { return 0; }
|
|
static int cigetch(void *p) { return EOF; }
|
|
static int ciungetch(int c) { return c; }
|
|
static cxtype_iport_t cxt_iport_closed = {
|
|
"closed-input-port", (void (*)(void*))cifree, (int (*)(void*))ciclose,
|
|
(int (*)(void*))cigetch, (int (*)(int, void*))ciungetch };
|
|
cxtype_t *IPORT_CLOSED_NTAG = (cxtype_t *)&cxt_iport_closed;
|
|
static void ffree(void *vp) {
|
|
/* FILE *fp = vp; assert(fp); cannot fclose(fp) here because of FILE reuse! */ }
|
|
static cxtype_iport_t cxt_iport_file = {
|
|
"file-input-port", ffree, (int (*)(void*))fclose,
|
|
(int (*)(void*))(fgetc), (int (*)(int, void*))(ungetc) };
|
|
cxtype_t *IPORT_FILE_NTAG = (cxtype_t *)&cxt_iport_file;
|
|
#define mkiport_file(l, fp) hpushptr(fp, IPORT_FILE_NTAG, l)
|
|
/* string input ports */
|
|
typedef struct { char *p; void *base; } sifile_t;
|
|
sifile_t *sialloc(char *p, void *base) {
|
|
sifile_t *fp = cxm_cknull(malloc(sizeof(sifile_t)), "malloc(sifile)");
|
|
fp->p = p; fp->base = base; return fp; }
|
|
extern sifile_t *sialloc(char *p, void *base);
|
|
static void sifree(sifile_t *fp) {
|
|
assert(fp); if (fp->base) free(fp->base); free(fp); }
|
|
static int siclose(sifile_t *fp) {
|
|
assert(fp); if (fp->base) free(fp->base); fp->base = NULL; fp->p = ""; return 0; }
|
|
static int sigetch(sifile_t *fp) {
|
|
int c; assert(fp && fp->p); if (!(c = *(fp->p))) return EOF; ++(fp->p); return c; }
|
|
static int siungetch(int c, sifile_t *fp) {
|
|
assert(fp && fp->p); --(fp->p); assert(c == *(fp->p)); return c; }
|
|
static cxtype_iport_t cxt_iport_string = {
|
|
"string-input-port", (void (*)(void*))sifree, (int (*)(void*))siclose,
|
|
(int (*)(void*))sigetch, (int (*)(int, void*))siungetch };
|
|
cxtype_t *IPORT_STRING_NTAG = (cxtype_t *)&cxt_iport_string;
|
|
#define mkiport_string(l, fp) hpushptr(fp, IPORT_STRING_NTAG, l)
|
|
/* bytevector input ports */
|
|
typedef struct { unsigned char *p, *e; void *base; } bvifile_t;
|
|
bvifile_t *bvialloc(unsigned char *p, unsigned char *e, void *base) {
|
|
bvifile_t *fp = cxm_cknull(malloc(sizeof(bvifile_t)), "malloc(bvifile)");
|
|
fp->p = p; fp->e = e; fp->base = base; return fp; }
|
|
extern bvifile_t *bvialloc(unsigned char *p, unsigned char *e, void *base);
|
|
static void bvifree(bvifile_t *fp) {
|
|
assert(fp); if (fp->base) free(fp->base); free(fp); }
|
|
static int bviclose(bvifile_t *fp) {
|
|
assert(fp); if (fp->base) free(fp->base); fp->base = NULL;
|
|
fp->p = fp->e = (unsigned char *)""; return 0; }
|
|
static int bvigetch(bvifile_t *fp) {
|
|
assert(fp && fp->p && fp->e); return (fp->p >= fp->e) ? EOF : (0xff & *(fp->p)++); }
|
|
static int bviungetch(int c, bvifile_t *fp) {
|
|
assert(fp && fp->p && fp->e); --(fp->p); assert(c == *(fp->p)); return c; }
|
|
static cxtype_iport_t cxt_iport_bytevector = {
|
|
"bytevector-input-port", (void (*)(void*))bvifree, (int (*)(void*))bviclose,
|
|
(int (*)(void*))bvigetch, (int (*)(int, void*))bviungetch };
|
|
cxtype_t *IPORT_BYTEVECTOR_NTAG = (cxtype_t *)&cxt_iport_bytevector;
|
|
#define mkiport_bytevector(l, fp) hpushptr(fp, IPORT_BYTEVECTOR_NTAG, l)
|
|
/* output ports */
|
|
typedef struct { /* extends cxtype_t */
|
|
const char *tname;
|
|
void (*free)(void*);
|
|
int (*close)(void*);
|
|
int (*putch)(int, void*);
|
|
int (*flush)(void*);
|
|
} cxtype_oport_t;
|
|
extern cxtype_t *OPORT_CLOSED_NTAG;
|
|
extern cxtype_t *OPORT_FILE_NTAG;
|
|
extern cxtype_t *OPORT_STRING_NTAG;
|
|
extern cxtype_t *OPORT_BYTEVECTOR_NTAG;
|
|
static cxtype_oport_t *oportvt(obj o) {
|
|
cxtype_t *pt; if (!isobjptr(o)) return NULL;
|
|
pt = (cxtype_t*)objptr_from_obj(o)[-1];
|
|
if (pt != OPORT_CLOSED_NTAG && pt != OPORT_FILE_NTAG &&
|
|
pt != OPORT_STRING_NTAG && pt != OPORT_BYTEVECTOR_NTAG) return NULL;
|
|
else return (cxtype_oport_t*)pt; }
|
|
#define ckoportvt(o) ((cxtype_oport_t*)cxm_cknull(oportvt(o), "oportvt"))
|
|
#define isoport(o) (oportvt(o) != NULL)
|
|
#define oportdata(o) ((void*)(*objptr_from_obj(o)))
|
|
static void oportputc(int c, obj o) {
|
|
cxtype_oport_t *vt = oportvt(o); void *pp = oportdata(o);
|
|
assert(vt); vt->putch(c, pp);
|
|
}
|
|
static void oportputs(char *s, obj o) {
|
|
cxtype_oport_t *vt = oportvt(o); void *pp = oportdata(o);
|
|
assert(vt); while (*s) vt->putch(*s++, pp);
|
|
}
|
|
static void oportwrite(char *s, int n, obj o) {
|
|
cxtype_oport_t *vt = oportvt(o); void *pp = oportdata(o);
|
|
assert(vt); while (n-- > 0) vt->putch(*s++, pp);
|
|
}
|
|
static void oportflush(obj o) {
|
|
cxtype_oport_t *vt = oportvt(o); void *pp = oportdata(o);
|
|
assert(vt); vt->flush(pp);
|
|
}
|
|
/* closed output ports */
|
|
static void cofree(void *p) {}
|
|
static int coclose(void *p) { return 0; }
|
|
static int coputch(int c, void *p) { return EOF; }
|
|
static int coflush(void *p) { return EOF; }
|
|
static cxtype_oport_t cxt_oport_closed = {
|
|
"closed-output-port", (void (*)(void*))cofree, (int (*)(void*))coclose,
|
|
(int (*)(int, void*))coputch, (int (*)(void*))coflush };
|
|
cxtype_t *OPORT_CLOSED_NTAG = (cxtype_t *)&cxt_oport_closed;
|
|
static cxtype_oport_t cxt_oport_file = {
|
|
"file-output-port", ffree, (int (*)(void*))fclose,
|
|
(int (*)(int, void*))(fputc), (int (*)(void*))fflush };
|
|
cxtype_t *OPORT_FILE_NTAG = (cxtype_t *)&cxt_oport_file;
|
|
#define mkoport_file(l, fp) hpushptr(fp, OPORT_FILE_NTAG, l)
|
|
/* string output ports */
|
|
typedef struct cbuf_tag { char *buf; char *fill; char *end; } cbuf_t;
|
|
extern cbuf_t* newcb(void);
|
|
cbuf_t* newcb(void) {
|
|
cbuf_t* pcb = cxm_cknull(malloc(sizeof(cbuf_t)), "malloc(cbuf)");
|
|
pcb->fill = pcb->buf = cxm_cknull(malloc(64), "malloc(cbdata)");
|
|
pcb->end = pcb->buf + 64; return pcb;
|
|
}
|
|
extern void freecb(cbuf_t* pcb);
|
|
void freecb(cbuf_t* pcb) { if (pcb) { free(pcb->buf); free(pcb); } }
|
|
static void cbgrow(cbuf_t* pcb, size_t n) {
|
|
size_t oldsz = pcb->end - pcb->buf, newsz = oldsz*2;
|
|
size_t cnt = pcb->fill - pcb->buf;
|
|
if (oldsz + n > newsz) newsz += n;
|
|
pcb->buf = cxm_cknull(realloc(pcb->buf, newsz), "realloc(cbdata)");
|
|
pcb->fill = pcb->buf + cnt, pcb->end = pcb->buf + newsz;
|
|
}
|
|
extern int cbputc(int c, cbuf_t* pcb);
|
|
int cbputc(int c, cbuf_t* pcb) {
|
|
if ((pcb)->fill == (pcb)->end) cbgrow(pcb, 1); *((pcb)->fill)++ = c; return c;
|
|
}
|
|
static int cbflush(cbuf_t* pcb) { return 0; }
|
|
static int cbclose(cbuf_t* pcb) { free(pcb->buf); pcb->buf = NULL; return 0; }
|
|
extern size_t cblen(cbuf_t* pcb);
|
|
size_t cblen(cbuf_t* pcb) { return pcb->fill - pcb->buf; }
|
|
extern char* cbdata(cbuf_t* pcb);
|
|
char* cbdata(cbuf_t* pcb) {
|
|
if (pcb->fill == pcb->end) cbgrow(pcb, 1); *(pcb->fill) = 0; return pcb->buf;
|
|
}
|
|
static cxtype_oport_t cxt_oport_string = {
|
|
"string-output-port", (void (*)(void*))freecb, (int (*)(void*))cbclose,
|
|
(int (*)(int, void*))cbputc, (int (*)(void*))cbflush };
|
|
cxtype_t *OPORT_STRING_NTAG = (cxtype_t *)&cxt_oport_string;
|
|
#define mkoport_string(l, fp) hpushptr(fp, OPORT_STRING_NTAG, l)
|
|
/* bytevector output ports */
|
|
static cxtype_oport_t cxt_oport_bytevector = {
|
|
"bytevector-output-port", (void (*)(void*))freecb, (int (*)(void*))cbclose,
|
|
(int (*)(int, void*))cbputc, (int (*)(void*))cbflush };
|
|
cxtype_t *OPORT_BYTEVECTOR_NTAG = (cxtype_t *)&cxt_oport_bytevector;
|
|
#define mkoport_bytevector(l, fp) hpushptr(fp, OPORT_BYTEVECTOR_NTAG, l)
|
|
/* eq hash table for circular/sharing checks and safe equal? */
|
|
typedef struct { obj *v; obj *r; size_t sz; size_t u, maxu, c; } stab_t;
|
|
static stab_t *staballoc(void) {
|
|
stab_t *p = cxm_cknull(calloc(1, sizeof(stab_t)), "newstab");
|
|
p->v = cxm_cknull(calloc(64, sizeof(obj)), "newstab[1]");
|
|
p->sz = 64, p->maxu = 64 / 2; return p;
|
|
}
|
|
static stab_t *stabfree(stab_t *p) {
|
|
if (p) { free(p->v); free(p->r); free(p); }
|
|
return NULL;
|
|
}
|
|
static int stabnew(obj o, stab_t *p, int circ) {
|
|
if (!o || notaptr(o) || notobjptr(o) || (circ && isaptr(objptr_from_obj(o)[-1]))) return 0;
|
|
else { /* v[i] is 0 or heap obj, possibly with lower bit set if it's not new */
|
|
unsigned long h = (unsigned long)o; size_t sz = p->sz, i, j;
|
|
for (i = h & (sz-1); p->v[i]; i = (i-1) & (sz-1))
|
|
if ((p->v[i] & ~1) == o) { p->v[i] |= 1; return 0; }
|
|
if (p->u == p->maxu) { /* rehash */
|
|
size_t nsz = sz * 2; obj *nv = cxm_cknull(calloc(nsz, sizeof(obj)), "stabnew");
|
|
for (i = 0; i < sz; ++i) if (p->v[i] & ~1) {
|
|
for (j = (unsigned long)(p->v[i] & ~1) & (nsz-1); nv[j]; j = (j-1) & (nsz-1)) ;
|
|
nv[j] = p->v[i];
|
|
}
|
|
free(p->v); p->v = nv; sz = p->sz = nsz; p->maxu = nsz / 2;
|
|
for (i = h & (sz-1); p->v[i]; i = (i-1) & (sz-1)) ;
|
|
}
|
|
p->v[i] = o; p->u += 1; return 1;
|
|
}
|
|
}
|
|
static void stabdelifu(obj o, stab_t *p) {
|
|
unsigned long h = (unsigned long)o; size_t sz = p->sz, i;
|
|
for (i = h & (sz-1); p->v[i]; i = (i-1) & (sz-1)) if ((p->v[i] & ~1) == o) {
|
|
if (p->v[i] & 1) /* keep */; else p->v[i] = 1; /* del */
|
|
return;
|
|
}
|
|
}
|
|
static void stabpushp(obj o, stab_t *p) {
|
|
obj *r = p->r; if (!r) { p->r = r = cxm_cknull(calloc(sizeof(obj), 12), "stabpushp"); r[1] = 10; }
|
|
else if (r[0] == r[1]) { p->r = r = cxm_cknull(realloc(r, sizeof(obj)*(2+r[1]*2)), "stabpushp"); r[1] *= 2; }
|
|
r[2 + r[0]++] = o;
|
|
}
|
|
static void stabpopp(stab_t *p) {
|
|
obj *r = p->r; assert(r && r[0] > 0); r[0] -= 1;
|
|
}
|
|
static void stabcircular(obj o, stab_t *p) {
|
|
tail: if (stabnew(o, p, 1)) {
|
|
obj *op = objptr_from_obj(o), fo = op[-1];
|
|
if (notaptr(fo)) {
|
|
obj *fop = op + size_from_obj(fo);
|
|
stabpushp(0, p); while (op+1 < fop) stabcircular(*op++, p); stabpopp(p);
|
|
if (op+1 == fop) { stabpushp(o, p); o = *op; goto tail; }
|
|
}
|
|
} else {
|
|
obj *r = p->r; if (r) {
|
|
obj *op = r+2, *fop = op+r[0];
|
|
while (fop > op && fop[-1] != 0) stabdelifu(*--fop, p);
|
|
r[0] = fop - op;
|
|
}
|
|
}
|
|
}
|
|
static void stabshared(obj o, stab_t *p) {
|
|
tail: if (stabnew(o, p, 0)) {
|
|
obj *op = objptr_from_obj(o), fo = op[-1];
|
|
if (notaptr(fo)) {
|
|
obj *fop = op + size_from_obj(fo);
|
|
while (op+1 < fop) stabshared(*op++, p);
|
|
if (op+1 == fop) { o = *op; goto tail; }
|
|
}
|
|
}
|
|
}
|
|
static stab_t *stabend(stab_t *p) {
|
|
size_t nz, i, sz = p->sz;
|
|
for (nz = i = 0; i < sz; ++i) if ((p->v[i] & ~1) && (p->v[i] & 1)) ++nz;
|
|
if (nz) {
|
|
size_t nsz, j; obj *nv; for (nsz = 8; nsz < nz*2; nsz *= 2) ;
|
|
nv = cxm_cknull(calloc(nsz, sizeof(obj)), "stabend");
|
|
for (i = 0; i < sz; ++i) if ((p->v[i] & ~1) && (p->v[i] & 1)) {
|
|
for (j = (unsigned long)(p->v[i] & ~1) & (nsz-1); nv[j]; j = (j-1) & (nsz-1)) ;
|
|
nv[j] = p->v[i];
|
|
}
|
|
free(p->v); p->v = nv; sz = p->sz = nsz; p->maxu = nsz / 2;
|
|
free(p->r); p->r = NULL;
|
|
} else p = stabfree(p);
|
|
return p;
|
|
}
|
|
static long stabri(size_t i, stab_t *p, int upd) {
|
|
obj *pri, ri; if (!p->r) p->r = cxm_cknull(calloc(p->sz, sizeof(obj)), "stabri");
|
|
pri = p->r + i; ri = *pri; if (!ri) *pri = ri = ++(p->c);
|
|
if (upd && ri > 0) *pri = -ri; return (long)ri;
|
|
}
|
|
static long stabref(obj o, stab_t *p, int upd) {
|
|
if (!p || !o || notaptr(o) || notobjptr(o)) return 0; else {
|
|
unsigned long h = (unsigned long)o; size_t sz = p->sz, i;
|
|
for (i = h & (sz-1); p->v[i]; i = (i-1) & (sz-1))
|
|
if ((p->v[i] & ~1) == o) return (p->v[i] & 1) ? stabri(i, p, upd) : 0;
|
|
return 0;
|
|
}
|
|
}
|
|
static int stabufind(obj x, obj y, stab_t *p) {
|
|
size_t sz = p->sz, i, ix=0, iy=0; /* bogus 0 inits to silence gcc */ obj *r = p->r;
|
|
for (i = (unsigned long)x & (sz-1); p->v[i]; i = (i-1) & (sz-1)) if ((p->v[i] & ~1) == x) { ix = i; break; }
|
|
for (i = ix; r[i] >= 0; ) i = (size_t)r[i]; if (i != ix) ix = r[ix] = i;
|
|
for (i = (unsigned long)y & (sz-1); p->v[i]; i = (i-1) & (sz-1)) if ((p->v[i] & ~1) == y) { iy = i; break; }
|
|
for (i = iy; r[i] >= 0; ) i = (size_t)r[i]; if (i != iy) iy = r[iy] = i;
|
|
if (ix == iy) return 1; /* same class, assumed to be equal */
|
|
if (r[ix] < r[iy]) { r[ix] += r[iy]; r[iy] = ix; } else { r[iy] += r[ix]; r[ix] = iy; } return 0;
|
|
}
|
|
static int stabequal(obj x, obj y, stab_t *p) {
|
|
obj h; int i, n; loop: if (x == y) return 1;
|
|
if (!x || !y || notaptr(x) || notaptr(y) || notobjptr(x) || notobjptr(y)) return 0;
|
|
if ((h = objptr_from_obj(x)[-1]) != objptr_from_obj(y)[-1]) return 0;
|
|
if (h == (obj)FLONUM_NTAG) return flonum_from_obj(x) == flonum_from_obj(y);
|
|
if (h == (obj)STRING_NTAG) return strcmp(stringchars(x), stringchars(y)) == 0;
|
|
if (h == (obj)BYTEVECTOR_NTAG) return bytevectoreq(bytevectordata(x), bytevectordata(y));
|
|
if (isaptr(h) || !(n = size_from_obj(h)) || hblkref(x, 0) != hblkref(y, 0)) return 0;
|
|
if (stabufind(x, y, p)) return 1; /* seen before and decided to be equal */
|
|
for (i = 1; i < n-1; ++i) if (!stabequal(hblkref(x, i), hblkref(y, i), p)) return 0;
|
|
if (i == n-1) { x = hblkref(x, i); y = hblkref(y, i); goto loop; } else return 1;
|
|
}
|
|
static int boundequal(obj x, obj y, int fuel) { /* => remaining fuel or <0 on failure */
|
|
obj h; int i, n; loop: assert(fuel > 0); if (x == y) return fuel-1;
|
|
if (!x || !y || notaptr(x) || notaptr(y) || notobjptr(x) || notobjptr(y)) return -1;
|
|
if ((h = objptr_from_obj(x)[-1]) != objptr_from_obj(y)[-1]) return -1;
|
|
if (h == (obj)FLONUM_NTAG) return flonum_from_obj(x) == flonum_from_obj(y) ? fuel-1 : -1;
|
|
if (h == (obj)STRING_NTAG) return strcmp(stringchars(x), stringchars(y)) == 0 ? fuel-1 : -1;
|
|
if (h == (obj)BYTEVECTOR_NTAG) return bytevectoreq(bytevectordata(x), bytevectordata(y)) ? fuel-1 : -1;
|
|
if (isaptr(h) || !(n = size_from_obj(h)) || hblkref(x, 0) != hblkref(y, 0)) return -1;
|
|
if (--fuel == 0) return 0; /* we must spend fuel while comparing objects themselves */
|
|
for (i = 1; i < n-1; ++i) if ((fuel = boundequal(hblkref(x, i), hblkref(y, i), fuel)) <= 0) return fuel;
|
|
if (i == n-1) { x = hblkref(x, i); y = hblkref(y, i); goto loop; } else return fuel;
|
|
}
|
|
extern int iscircular(obj x);
|
|
int iscircular(obj x) {
|
|
if (!x || notaptr(x) || notobjptr(x)) return 0;
|
|
else { stab_t *p = staballoc(); stabcircular(x, p); p = stabend(p); stabfree(p); return p != NULL; }
|
|
}
|
|
extern int iseqv(obj x, obj y);
|
|
int iseqv(obj x, obj y) {
|
|
obj h; if (x == y) return 1;
|
|
if (!x || !y || notaptr(x) || notaptr(y) || notobjptr(x) || notobjptr(y)) return 0;
|
|
if ((h = objptr_from_obj(x)[-1]) != objptr_from_obj(y)[-1]) return 0;
|
|
if (h == (obj)FLONUM_NTAG) return *(flonum_t*)objptr_from_obj(x)[0] == *(flonum_t*)objptr_from_obj(y)[0];
|
|
return 0;
|
|
}
|
|
extern obj ismemv(obj x, obj l);
|
|
obj ismemv(obj x, obj l) {
|
|
if (!x || notaptr(x) || notobjptr(x)) {
|
|
for (; l != mknull(); l = cdr(l))
|
|
{ if (car(l) == x) return l; }
|
|
} else if (is_flonum_obj(x)) {
|
|
flonum_t fx = flonum_from_obj(x);
|
|
for (; l != mknull(); l = cdr(l))
|
|
{ obj y = car(l); if (is_flonum_obj(y) && fx == flonum_from_obj(y)) return l; }
|
|
} else { /* for others, memv == memq */
|
|
for (; l != mknull(); l = cdr(l))
|
|
{ if (car(l) == x) return l; }
|
|
} return 0;
|
|
}
|
|
extern obj isassv(obj x, obj l);
|
|
obj isassv(obj x, obj l) {
|
|
if (!x || notaptr(x) || notobjptr(x)) {
|
|
for (; l != mknull(); l = cdr(l))
|
|
{ obj p = car(l); if (car(p) == x) return p; }
|
|
} else if (is_flonum_obj(x)) {
|
|
flonum_t fx = flonum_from_obj(x);
|
|
for (; l != mknull(); l = cdr(l))
|
|
{ obj p = car(l), y = car(p); if (is_flonum_obj(y) && fx == flonum_from_obj(y)) return p; }
|
|
} else { /* for others, assv == assq */
|
|
for (; l != mknull(); l = cdr(l))
|
|
{ obj p = car(l); if (car(p) == x) return p; }
|
|
} return 0;
|
|
}
|
|
extern int isequal(obj x, obj y);
|
|
int isequal(obj x, obj y) {
|
|
stab_t *p; obj *r; size_t i; int res = boundequal(x, y, 500);
|
|
if (res != 0) return res > 0; /* small/non-circular/easy */
|
|
p = staballoc(); stabshared(x, p); stabshared(y, p);
|
|
r = p->r = cxm_cknull(calloc(p->sz, sizeof(obj)), "isequal");
|
|
for (i = 0; i < p->sz; ++i) if (p->v[i] & ~1) r[i] = -1;
|
|
res = stabequal(x, y, p); stabfree(p); return res;
|
|
}
|
|
extern obj ismember(obj x, obj l);
|
|
obj ismember(obj x, obj l) {
|
|
if (!x || notaptr(x) || notobjptr(x)) {
|
|
for (; l != mknull(); l = cdr(l))
|
|
{ if (car(l) == x) return l; }
|
|
} else if (is_flonum_obj(x)) {
|
|
flonum_t fx = flonum_from_obj(x);
|
|
for (; l != mknull(); l = cdr(l))
|
|
{ obj y = car(l); if (is_flonum_obj(y) && fx == flonum_from_obj(y)) return l; }
|
|
} else if (isstring(x)) {
|
|
char *xs = stringchars(x);
|
|
for (; l != mknull(); l = cdr(l))
|
|
{ obj y = car(l); if (isstring(y) && 0 == strcmp(xs, stringchars(y))) return l; }
|
|
} else {
|
|
for (; l != mknull(); l = cdr(l))
|
|
{ if (isequal(car(l), x)) return l; }
|
|
} return 0;
|
|
}
|
|
extern obj isassoc(obj x, obj l);
|
|
obj isassoc(obj x, obj l) {
|
|
if (!x || notaptr(x) || notobjptr(x)) {
|
|
for (; l != mknull(); l = cdr(l))
|
|
{ obj p = car(l); if (car(p) == x) return p; }
|
|
} else if (is_flonum_obj(x)) {
|
|
flonum_t fx = flonum_from_obj(x);
|
|
for (; l != mknull(); l = cdr(l))
|
|
{ obj p = car(l), y = car(p); if (is_flonum_obj(y) && fx == flonum_from_obj(y)) return p; }
|
|
} else if (isstring(x)) {
|
|
char *xs = stringchars(x);
|
|
for (; l != mknull(); l = cdr(l))
|
|
{ obj p = car(l), y = car(p); if (isstring(y) && 0 == strcmp(xs, stringchars(y))) return p; }
|
|
} else {
|
|
for (; l != mknull(); l = cdr(l))
|
|
{ obj p = car(l); if (isequal(car(p), x)) return p; }
|
|
} return 0;
|
|
}
|
|
/* internal recursive write procedure */
|
|
typedef struct { stab_t *pst; int disp; cxtype_oport_t *vt; void *pp; } wenv_t;
|
|
static void wrc(int c, wenv_t *e) { e->vt->putch(c, e->pp); }
|
|
static void wrs(char *s, wenv_t *e) {
|
|
cxtype_oport_t *vt = e->vt; void *pp = e->pp;
|
|
assert(vt); while (*s) vt->putch(*s++, pp);
|
|
}
|
|
static int cleansymname(char *s) {
|
|
char *inits = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!$%&*/:<=>?@^_~";
|
|
char *subss = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!$%&*/:<=>?@^_~0123456789.@+-";
|
|
if (s[0] == 0 || s[strspn(s, subss)] != 0) return 0; else if (strchr(inits, s[0])) return 1;
|
|
else if (s[0] == '+' || s[0] == '-') return s[1] == 0 || (s[1] == '.' && s[2] && !isdigit(s[2])) || !isdigit(s[1]);
|
|
else return s[0] == '.' && s[1] && !isdigit(s[1]);
|
|
}
|
|
static void wrdatum(obj o, wenv_t *e) {
|
|
long ref;
|
|
tail: ref = stabref(o, e->pst, 1); /* update ref after access */
|
|
if (ref < 0) { char buf[30]; sprintf(buf, "#%ld#", -ref-1); wrs(buf, e); return; }
|
|
if (ref > 0) { char buf[30]; sprintf(buf, "#%ld=", +ref-1); wrs(buf, e); }
|
|
if (is_bool_obj(o)) {
|
|
wrs(bool_from_obj(o) ? "#t" : "#f", e);
|
|
} else if (is_fixnum_obj(o)) {
|
|
char buf[30]; sprintf(buf, "%ld", fixnum_from_obj(o)); wrs(buf, e);
|
|
} else if (is_flonum_obj(o)) {
|
|
char buf[30], *s; double d = flonum_from_obj(o); sprintf(buf, "%.15g", d);
|
|
for (s = buf; *s != 0; s++) if (strchr(".eE", *s)) break;
|
|
if (d != d) strcpy(buf, "+nan.0"); else if (d <= -HUGE_VAL) strcpy(buf, "-inf.0");
|
|
else if (d >= HUGE_VAL) strcpy(buf, "+inf.0"); else if (*s == 'E') *s = 'e';
|
|
else if (*s == 0) { *s++ = '.'; *s++ = '0'; *s = 0; }
|
|
wrs(buf, e);
|
|
} else if (iseof(o)) {
|
|
wrs("#<eof>", e);
|
|
} else if (isiport(o)) {
|
|
char buf[60]; sprintf(buf, "#<%s>", ckiportvt(o)->tname); wrs(buf, e);
|
|
} else if (isoport(o)) {
|
|
char buf[60]; sprintf(buf, "#<%s>", ckoportvt(o)->tname); wrs(buf, e);
|
|
} else if (issymbol(o)) {
|
|
char *s = symbolname(getsymbol(o));
|
|
if (e->disp || cleansymname(s)) wrs(s, e);
|
|
else {
|
|
wrc('|', e);
|
|
while (*s) {
|
|
int c = *s++;
|
|
switch(c) {
|
|
case '|': wrs("\\|", e); break;
|
|
case '\\': wrs("\\\\", e); break;
|
|
default: wrc(c, e); break;
|
|
}
|
|
}
|
|
wrc('|', e);
|
|
}
|
|
|
|
} else if (isnull(o)) {
|
|
wrs("()", e);
|
|
} else if (ispair(o)) {
|
|
wrc('(', e); wrdatum(car(o), e);
|
|
while (ispair(cdr(o)) && !stabref(cdr(o), e->pst, 0)) { wrc(' ', e); o = cdr(o); wrdatum(car(o), e); }
|
|
if (!isnull(cdr(o))) { wrs(" . ", e); wrdatum(cdr(o), e); }
|
|
wrc(')', e);
|
|
} else if (is_char_obj(o)) {
|
|
int c = char_from_obj(o);
|
|
if (e->disp) wrc(c, e);
|
|
else switch(c) {
|
|
case 0x00: wrs("#\\null", e); break;
|
|
case 0x07: wrs("#\\alarm", e); break;
|
|
case 0x08: wrs("#\\backspace", e); break;
|
|
case 0x7f: wrs("#\\delete", e); break;
|
|
case 0x1b: wrs("#\\escape", e); break;
|
|
case '\t': wrs("#\\tab", e); break;
|
|
case '\n': wrs("#\\newline", e); break;
|
|
case '\r': wrs("#\\return", e); break;
|
|
case ' ': wrs("#\\space", e); break;
|
|
default: wrs("#\\", e); wrc(c, e); break;
|
|
}
|
|
} else if (isstring(o)) {
|
|
char *s = stringchars(o);
|
|
if (e->disp) wrs(s, e);
|
|
else {
|
|
wrc('\"', e);
|
|
while (*s) {
|
|
int c = *s++;
|
|
switch(c) {
|
|
case '\"': wrs("\\\"", e); break;
|
|
case '\\': wrs("\\\\", e); break;
|
|
default: wrc(c, e); break;
|
|
}
|
|
}
|
|
wrc('\"', e);
|
|
}
|
|
} else if (isvector(o)) {
|
|
int i, n = vectorlen(o);
|
|
wrs("#(", e);
|
|
for (i = 0; i < n; ++i) {
|
|
if (i) wrc(' ', e); wrdatum(vectorref(o, i), e);
|
|
}
|
|
wrc(')', e);
|
|
} else if (isbytevector(o)) {
|
|
int i, n = bytevectorlen(o);
|
|
wrs("#u8(", e);
|
|
for (i = 0; i < n; ++i) {
|
|
char buf[30]; sprintf(buf, "%d", *bytevectorref(o, i));
|
|
if (i) wrc(' ', e); wrs(buf, e);
|
|
}
|
|
wrc(')', e);
|
|
} else if (isbox(o)) {
|
|
wrs("#&", e); o = boxref(o); goto tail;
|
|
} else if (isrecord(o)) {
|
|
int i, n = recordlen(o);
|
|
wrs("#<record ", e);
|
|
wrdatum(recordrtd(o), e); // TODO: no need to show as shared!
|
|
for (i = 0; i < n; ++i) {
|
|
wrc(' ', e); wrdatum(recordref(o, i), e);
|
|
}
|
|
wrc('>', e);
|
|
} else if (isprocedure(o)) {
|
|
char buf[60]; sprintf(buf, "#<procedure @%p>", objptr_from_obj(o)); wrs(buf, e);
|
|
} else {
|
|
wrs("#<unknown>", e);
|
|
}
|
|
}
|
|
/* S-expression writers */
|
|
extern void oportputsimple(obj x, obj p, int disp);
|
|
extern void oportputcircular(obj x, obj p, int disp);
|
|
extern void oportputshared(obj x, obj p, int disp);
|
|
/* S-expression writers */
|
|
void oportputsimple(obj x, obj p, int disp) {
|
|
wenv_t e; e.pst = NULL; e.disp = disp; e.vt = oportvt(p); e.pp = oportdata(p);
|
|
wrdatum(x, &e);
|
|
}
|
|
void oportputcircular(obj x, obj p, int disp) {
|
|
wenv_t e; e.pst = staballoc(); e.disp = disp; e.vt = oportvt(p); e.pp = oportdata(p);
|
|
stabcircular(x, e.pst); e.pst = stabend(e.pst);
|
|
wrdatum(x, &e);
|
|
stabfree(e.pst);
|
|
}
|
|
void oportputshared(obj x, obj p, int disp) {
|
|
wenv_t e; e.pst = staballoc(); e.disp = disp; e.vt = oportvt(p); e.pp = oportdata(p);
|
|
stabshared(x, e.pst); e.pst = stabend(e.pst);
|
|
wrdatum(x, &e);
|
|
stabfree(e.pst);
|
|
}
|
|
|
|
/* cx globals */
|
|
obj cx__25fail_2Dlambda; /* %fail-lambda */
|
|
obj cx__25residual_2A; /* %residual* */
|
|
obj cx__25residual_2B; /* %residual+ */
|
|
obj cx__25residual_2D; /* %residual- */
|
|
obj cx__25residual_2Dabort; /* %residual-abort */
|
|
obj cx__25residual_2Dabs; /* %residual-abs */
|
|
obj cx__25residual_2Dacos; /* %residual-acos */
|
|
obj cx__25residual_2Dangle; /* %residual-angle */
|
|
obj cx__25residual_2Dappend; /* %residual-append */
|
|
obj cx__25residual_2Dappend_2F2; /* %residual-append/2 */
|
|
obj cx__25residual_2Dargc_2Ddispatch_2Dlambda_3F; /* %residual-argc-dispatch-lambda? */
|
|
obj cx__25residual_2Dargv_2Dref; /* %residual-argv-ref */
|
|
obj cx__25residual_2Dasin; /* %residual-asin */
|
|
obj cx__25residual_2Dassoc; /* %residual-assoc */
|
|
obj cx__25residual_2Dassq; /* %residual-assq */
|
|
obj cx__25residual_2Dassv; /* %residual-assv */
|
|
obj cx__25residual_2Datan; /* %residual-atan */
|
|
obj cx__25residual_2Datom_3F; /* %residual-atom? */
|
|
obj cx__25residual_2Dboolean_3F; /* %residual-boolean? */
|
|
obj cx__25residual_2Dbox; /* %residual-box */
|
|
obj cx__25residual_2Dbox_3F; /* %residual-box? */
|
|
obj cx__25residual_2Dbyte_3F; /* %residual-byte? */
|
|
obj cx__25residual_2Dbytevector; /* %residual-bytevector */
|
|
obj cx__25residual_2Dbytevector_2D_3Elist; /* %residual-bytevector->list */
|
|
obj cx__25residual_2Dbytevector_2Dlength; /* %residual-bytevector-length */
|
|
obj cx__25residual_2Dbytevector_2Du8_2Dref; /* %residual-bytevector-u8-ref */
|
|
obj cx__25residual_2Dbytevector_2Du8_2Dset_21; /* %residual-bytevector-u8-set! */
|
|
obj cx__25residual_2Dbytevector_3D_3F; /* %residual-bytevector=? */
|
|
obj cx__25residual_2Dbytevector_3F; /* %residual-bytevector? */
|
|
obj cx__25residual_2Dcaaaar; /* %residual-caaaar */
|
|
obj cx__25residual_2Dcaaadr; /* %residual-caaadr */
|
|
obj cx__25residual_2Dcaaar; /* %residual-caaar */
|
|
obj cx__25residual_2Dcaadar; /* %residual-caadar */
|
|
obj cx__25residual_2Dcaaddr; /* %residual-caaddr */
|
|
obj cx__25residual_2Dcaadr; /* %residual-caadr */
|
|
obj cx__25residual_2Dcaar; /* %residual-caar */
|
|
obj cx__25residual_2Dcadaar; /* %residual-cadaar */
|
|
obj cx__25residual_2Dcadadr; /* %residual-cadadr */
|
|
obj cx__25residual_2Dcadar; /* %residual-cadar */
|
|
obj cx__25residual_2Dcaddar; /* %residual-caddar */
|
|
obj cx__25residual_2Dcadddr; /* %residual-cadddr */
|
|
obj cx__25residual_2Dcaddr; /* %residual-caddr */
|
|
obj cx__25residual_2Dcadr; /* %residual-cadr */
|
|
obj cx__25residual_2Dcall_2Dwith_2Dvalues; /* %residual-call-with-values */
|
|
obj cx__25residual_2Dcar; /* %residual-car */
|
|
obj cx__25residual_2Dcdaaar; /* %residual-cdaaar */
|
|
obj cx__25residual_2Dcdaadr; /* %residual-cdaadr */
|
|
obj cx__25residual_2Dcdaar; /* %residual-cdaar */
|
|
obj cx__25residual_2Dcdadar; /* %residual-cdadar */
|
|
obj cx__25residual_2Dcdaddr; /* %residual-cdaddr */
|
|
obj cx__25residual_2Dcdadr; /* %residual-cdadr */
|
|
obj cx__25residual_2Dcdar; /* %residual-cdar */
|
|
obj cx__25residual_2Dcddaar; /* %residual-cddaar */
|
|
obj cx__25residual_2Dcddadr; /* %residual-cddadr */
|
|
obj cx__25residual_2Dcddar; /* %residual-cddar */
|
|
obj cx__25residual_2Dcdddar; /* %residual-cdddar */
|
|
obj cx__25residual_2Dcddddr; /* %residual-cddddr */
|
|
obj cx__25residual_2Dcdddr; /* %residual-cdddr */
|
|
obj cx__25residual_2Dcddr; /* %residual-cddr */
|
|
obj cx__25residual_2Dcdr; /* %residual-cdr */
|
|
obj cx__25residual_2Dceiling; /* %residual-ceiling */
|
|
obj cx__25residual_2Dchar_2D_3Einteger; /* %residual-char->integer */
|
|
obj cx__25residual_2Dchar_2Dalphabetic_3F; /* %residual-char-alphabetic? */
|
|
obj cx__25residual_2Dchar_2Dci_3C_3D_3F; /* %residual-char-ci<=? */
|
|
obj cx__25residual_2Dchar_2Dci_3C_3F; /* %residual-char-ci<? */
|
|
obj cx__25residual_2Dchar_2Dci_3D_3F; /* %residual-char-ci=? */
|
|
obj cx__25residual_2Dchar_2Dci_3E_3D_3F; /* %residual-char-ci>=? */
|
|
obj cx__25residual_2Dchar_2Dci_3E_3F; /* %residual-char-ci>? */
|
|
obj cx__25residual_2Dchar_2Ddowncase; /* %residual-char-downcase */
|
|
obj cx__25residual_2Dchar_2Dlower_2Dcase_3F; /* %residual-char-lower-case? */
|
|
obj cx__25residual_2Dchar_2Dnumeric_3F; /* %residual-char-numeric? */
|
|
obj cx__25residual_2Dchar_2Dready_3F; /* %residual-char-ready? */
|
|
obj cx__25residual_2Dchar_2Dupcase; /* %residual-char-upcase */
|
|
obj cx__25residual_2Dchar_2Dupper_2Dcase_3F; /* %residual-char-upper-case? */
|
|
obj cx__25residual_2Dchar_2Dwhitespace_3F; /* %residual-char-whitespace? */
|
|
obj cx__25residual_2Dchar_3C_3D_3F; /* %residual-char<=? */
|
|
obj cx__25residual_2Dchar_3C_3F; /* %residual-char<? */
|
|
obj cx__25residual_2Dchar_3D_3F; /* %residual-char=? */
|
|
obj cx__25residual_2Dchar_3E_3D_3F; /* %residual-char>=? */
|
|
obj cx__25residual_2Dchar_3E_3F; /* %residual-char>? */
|
|
obj cx__25residual_2Dchar_3F; /* %residual-char? */
|
|
obj cx__25residual_2Dcircular_3F; /* %residual-circular? */
|
|
obj cx__25residual_2Dcons; /* %residual-cons */
|
|
obj cx__25residual_2Dcons_2A; /* %residual-cons* */
|
|
obj cx__25residual_2Dcos; /* %residual-cos */
|
|
obj cx__25residual_2Dcurrent_2Derror_2Dport; /* %residual-current-error-port */
|
|
obj cx__25residual_2Dcurrent_2Dinput_2Dport; /* %residual-current-input-port */
|
|
obj cx__25residual_2Dcurrent_2Djiffy; /* %residual-current-jiffy */
|
|
obj cx__25residual_2Dcurrent_2Doutput_2Dport; /* %residual-current-output-port */
|
|
obj cx__25residual_2Dcurrent_2Dsecond; /* %residual-current-second */
|
|
obj cx__25residual_2Ddelete_2Dfile; /* %residual-delete-file */
|
|
obj cx__25residual_2Ddenominator; /* %residual-denominator */
|
|
obj cx__25residual_2Ddisplay; /* %residual-display */
|
|
obj cx__25residual_2Ddisplay_2Dfixnum; /* %residual-display-fixnum */
|
|
obj cx__25residual_2Ddisplay_2Dflonum; /* %residual-display-flonum */
|
|
obj cx__25residual_2Ddisplay_2Dinput_2Dport; /* %residual-display-input-port */
|
|
obj cx__25residual_2Ddisplay_2Doutput_2Dport; /* %residual-display-output-port */
|
|
obj cx__25residual_2Ddisplay_2Dprocedure; /* %residual-display-procedure */
|
|
obj cx__25residual_2Deof_2Dobject; /* %residual-eof-object */
|
|
obj cx__25residual_2Deof_2Dobject_3F; /* %residual-eof-object? */
|
|
obj cx__25residual_2Deq_3F; /* %residual-eq? */
|
|
obj cx__25residual_2Dequal_3F; /* %residual-equal? */
|
|
obj cx__25residual_2Deqv_3F; /* %residual-eqv? */
|
|
obj cx__25residual_2Deven_3F; /* %residual-even? */
|
|
obj cx__25residual_2Dexact; /* %residual-exact */
|
|
obj cx__25residual_2Dexit; /* %residual-exit */
|
|
obj cx__25residual_2Dexp; /* %residual-exp */
|
|
obj cx__25residual_2Dexpt; /* %residual-expt */
|
|
obj cx__25residual_2Dfile_2Dexists_3F; /* %residual-file-exists? */
|
|
obj cx__25residual_2Dfinite_3F; /* %residual-finite? */
|
|
obj cx__25residual_2Dfixnum_2D_3Eflonum; /* %residual-fixnum->flonum */
|
|
obj cx__25residual_2Dfixnum_2Dwidth; /* %residual-fixnum-width */
|
|
obj cx__25residual_2Dfixnum_3F; /* %residual-fixnum? */
|
|
obj cx__25residual_2Dfl_2A; /* %residual-fl* */
|
|
obj cx__25residual_2Dfl_2B; /* %residual-fl+ */
|
|
obj cx__25residual_2Dfl_2D; /* %residual-fl- */
|
|
obj cx__25residual_2Dfl_2F; /* %residual-fl/ */
|
|
obj cx__25residual_2Dfl_3C_3D_3F; /* %residual-fl<=? */
|
|
obj cx__25residual_2Dfl_3C_3F; /* %residual-fl<? */
|
|
obj cx__25residual_2Dfl_3D_3F; /* %residual-fl=? */
|
|
obj cx__25residual_2Dfl_3E_3D_3F; /* %residual-fl>=? */
|
|
obj cx__25residual_2Dfl_3E_3F; /* %residual-fl>? */
|
|
obj cx__25residual_2Dflabs; /* %residual-flabs */
|
|
obj cx__25residual_2Dflacos; /* %residual-flacos */
|
|
obj cx__25residual_2Dflasin; /* %residual-flasin */
|
|
obj cx__25residual_2Dflatan; /* %residual-flatan */
|
|
obj cx__25residual_2Dflceiling; /* %residual-flceiling */
|
|
obj cx__25residual_2Dflcos; /* %residual-flcos */
|
|
obj cx__25residual_2Dfleven_3F; /* %residual-fleven? */
|
|
obj cx__25residual_2Dflexp; /* %residual-flexp */
|
|
obj cx__25residual_2Dflexpt; /* %residual-flexpt */
|
|
obj cx__25residual_2Dflfloor; /* %residual-flfloor */
|
|
obj cx__25residual_2Dflgcd; /* %residual-flgcd */
|
|
obj cx__25residual_2Dflinfinite_3F; /* %residual-flinfinite? */
|
|
obj cx__25residual_2Dflinteger_3F; /* %residual-flinteger? */
|
|
obj cx__25residual_2Dfllog; /* %residual-fllog */
|
|
obj cx__25residual_2Dfllog10; /* %residual-fllog10 */
|
|
obj cx__25residual_2Dflmax; /* %residual-flmax */
|
|
obj cx__25residual_2Dflmin; /* %residual-flmin */
|
|
obj cx__25residual_2Dflmodquo; /* %residual-flmodquo */
|
|
obj cx__25residual_2Dflmodulo; /* %residual-flmodulo */
|
|
obj cx__25residual_2Dflnan_3F; /* %residual-flnan? */
|
|
obj cx__25residual_2Dflnegative_3F; /* %residual-flnegative? */
|
|
obj cx__25residual_2Dflodd_3F; /* %residual-flodd? */
|
|
obj cx__25residual_2Dflonum_2D_3Efixnum; /* %residual-flonum->fixnum */
|
|
obj cx__25residual_2Dflonum_3F; /* %residual-flonum? */
|
|
obj cx__25residual_2Dfloor; /* %residual-floor */
|
|
obj cx__25residual_2Dflpositive_3F; /* %residual-flpositive? */
|
|
obj cx__25residual_2Dflquotient; /* %residual-flquotient */
|
|
obj cx__25residual_2Dflremainder; /* %residual-flremainder */
|
|
obj cx__25residual_2Dflround; /* %residual-flround */
|
|
obj cx__25residual_2Dflsin; /* %residual-flsin */
|
|
obj cx__25residual_2Dflsqrt; /* %residual-flsqrt */
|
|
obj cx__25residual_2Dfltan; /* %residual-fltan */
|
|
obj cx__25residual_2Dfltruncate; /* %residual-fltruncate */
|
|
obj cx__25residual_2Dflush_2Doutput_2Dport; /* %residual-flush-output-port */
|
|
obj cx__25residual_2Dflzero_3F; /* %residual-flzero? */
|
|
obj cx__25residual_2Dfor_2Deach; /* %residual-for-each */
|
|
obj cx__25residual_2Dfx_2A; /* %residual-fx* */
|
|
obj cx__25residual_2Dfx_2B; /* %residual-fx+ */
|
|
obj cx__25residual_2Dfx_2D; /* %residual-fx- */
|
|
obj cx__25residual_2Dfx_2F; /* %residual-fx/ */
|
|
obj cx__25residual_2Dfx_3C_3D_3F; /* %residual-fx<=? */
|
|
obj cx__25residual_2Dfx_3C_3F; /* %residual-fx<? */
|
|
obj cx__25residual_2Dfx_3D_3F; /* %residual-fx=? */
|
|
obj cx__25residual_2Dfx_3E_3D_3F; /* %residual-fx>=? */
|
|
obj cx__25residual_2Dfx_3E_3F; /* %residual-fx>? */
|
|
obj cx__25residual_2Dfxabs; /* %residual-fxabs */
|
|
obj cx__25residual_2Dfxand; /* %residual-fxand */
|
|
obj cx__25residual_2Dfxarithmetic_2Dshift_2Dleft; /* %residual-fxarithmetic-shift-left */
|
|
obj cx__25residual_2Dfxarithmetic_2Dshift_2Dright; /* %residual-fxarithmetic-shift-right */
|
|
obj cx__25residual_2Dfxeuq; /* %residual-fxeuq */
|
|
obj cx__25residual_2Dfxeur; /* %residual-fxeur */
|
|
obj cx__25residual_2Dfxeven_3F; /* %residual-fxeven? */
|
|
obj cx__25residual_2Dfxexpt; /* %residual-fxexpt */
|
|
obj cx__25residual_2Dfxfl_2F; /* %residual-fxfl/ */
|
|
obj cx__25residual_2Dfxgcd; /* %residual-fxgcd */
|
|
obj cx__25residual_2Dfxior; /* %residual-fxior */
|
|
obj cx__25residual_2Dfxmax; /* %residual-fxmax */
|
|
obj cx__25residual_2Dfxmin; /* %residual-fxmin */
|
|
obj cx__25residual_2Dfxmodquo; /* %residual-fxmodquo */
|
|
obj cx__25residual_2Dfxmodulo; /* %residual-fxmodulo */
|
|
obj cx__25residual_2Dfxnegative_3F; /* %residual-fxnegative? */
|
|
obj cx__25residual_2Dfxnot; /* %residual-fxnot */
|
|
obj cx__25residual_2Dfxodd_3F; /* %residual-fxodd? */
|
|
obj cx__25residual_2Dfxpositive_3F; /* %residual-fxpositive? */
|
|
obj cx__25residual_2Dfxquotient; /* %residual-fxquotient */
|
|
obj cx__25residual_2Dfxremainder; /* %residual-fxremainder */
|
|
obj cx__25residual_2Dfxsqrt; /* %residual-fxsqrt */
|
|
obj cx__25residual_2Dfxxor; /* %residual-fxxor */
|
|
obj cx__25residual_2Dfxzero_3F; /* %residual-fxzero? */
|
|
obj cx__25residual_2Dgcd; /* %residual-gcd */
|
|
obj cx__25residual_2Dget_2Ddatum; /* %residual-get-datum */
|
|
obj cx__25residual_2Dget_2Denvironment_2Dvariable; /* %residual-get-environment-variable */
|
|
obj cx__25residual_2Dget_2Doutput_2Dbytevector; /* %residual-get-output-bytevector */
|
|
obj cx__25residual_2Dget_2Doutput_2Dstring; /* %residual-get-output-string */
|
|
obj cx__25residual_2Dgreatest_2Dfixnum; /* %residual-greatest-fixnum */
|
|
obj cx__25residual_2Dimag_2Dpart; /* %residual-imag-part */
|
|
obj cx__25residual_2Dinexact; /* %residual-inexact */
|
|
obj cx__25residual_2Dinfinite_3F; /* %residual-infinite? */
|
|
obj cx__25residual_2Dinput_2Dport_2Dopen_3F; /* %residual-input-port-open? */
|
|
obj cx__25residual_2Dinput_2Dport_3F; /* %residual-input-port? */
|
|
obj cx__25residual_2Dinteger_2D_3Echar; /* %residual-integer->char */
|
|
obj cx__25residual_2Dinteger_3F; /* %residual-integer? */
|
|
obj cx__25residual_2Djiffies_2Dper_2Dsecond; /* %residual-jiffies-per-second */
|
|
obj cx__25residual_2Dlast_2Dpair; /* %residual-last-pair */
|
|
obj cx__25residual_2Dlcm; /* %residual-lcm */
|
|
obj cx__25residual_2Dleast_2Dfixnum; /* %residual-least-fixnum */
|
|
obj cx__25residual_2Dlength; /* %residual-length */
|
|
obj cx__25residual_2Dlist; /* %residual-list */
|
|
obj cx__25residual_2Dlist_2D_3Ebytevector; /* %residual-list->bytevector */
|
|
obj cx__25residual_2Dlist_2D_3Estring; /* %residual-list->string */
|
|
obj cx__25residual_2Dlist_2D_3Evector; /* %residual-list->vector */
|
|
obj cx__25residual_2Dlist_2Dcopy; /* %residual-list-copy */
|
|
obj cx__25residual_2Dlist_2Dref; /* %residual-list-ref */
|
|
obj cx__25residual_2Dlist_2Dtail; /* %residual-list-tail */
|
|
obj cx__25residual_2Dlist_3F; /* %residual-list? */
|
|
obj cx__25residual_2Dlog; /* %residual-log */
|
|
obj cx__25residual_2Dmagnitude; /* %residual-magnitude */
|
|
obj cx__25residual_2Dmake_2Dargc_2Ddispatch_2Dlambda; /* %residual-make-argc-dispatch-lambda */
|
|
obj cx__25residual_2Dmake_2Dbytevector; /* %residual-make-bytevector */
|
|
obj cx__25residual_2Dmake_2Dcase_2Dlambda; /* %residual-make-case-lambda */
|
|
obj cx__25residual_2Dmake_2Dimproper_2Dlambda; /* %residual-make-improper-lambda */
|
|
obj cx__25residual_2Dmake_2Dpolar; /* %residual-make-polar */
|
|
obj cx__25residual_2Dmake_2Drecord; /* %residual-make-record */
|
|
obj cx__25residual_2Dmake_2Drectangular; /* %residual-make-rectangular */
|
|
obj cx__25residual_2Dmake_2Dstring; /* %residual-make-string */
|
|
obj cx__25residual_2Dmake_2Dvector; /* %residual-make-vector */
|
|
obj cx__25residual_2Dmake_2Dvoid_2Dcontinuation; /* %residual-make-void-continuation */
|
|
obj cx__25residual_2Dmap; /* %residual-map */
|
|
obj cx__25residual_2Dmax; /* %residual-max */
|
|
obj cx__25residual_2Dmax_2F2; /* %residual-max/2 */
|
|
obj cx__25residual_2Dmember; /* %residual-member */
|
|
obj cx__25residual_2Dmemq; /* %residual-memq */
|
|
obj cx__25residual_2Dmemv; /* %residual-memv */
|
|
obj cx__25residual_2Dmin; /* %residual-min */
|
|
obj cx__25residual_2Dmin_2F2; /* %residual-min/2 */
|
|
obj cx__25residual_2Dmodquo; /* %residual-modquo */
|
|
obj cx__25residual_2Dmodulo; /* %residual-modulo */
|
|
obj cx__25residual_2Dnan_3F; /* %residual-nan? */
|
|
obj cx__25residual_2Dnegative_3F; /* %residual-negative? */
|
|
obj cx__25residual_2Dnew_2Drecord_2Dtype; /* %residual-new-record-type */
|
|
obj cx__25residual_2Dnewline; /* %residual-newline */
|
|
obj cx__25residual_2Dnot; /* %residual-not */
|
|
obj cx__25residual_2Dnull_3F; /* %residual-null? */
|
|
obj cx__25residual_2Dnumber_2D_3Estring; /* %residual-number->string */
|
|
obj cx__25residual_2Dnumerator; /* %residual-numerator */
|
|
obj cx__25residual_2Dodd_3F; /* %residual-odd? */
|
|
obj cx__25residual_2Dopen_2Dbinary_2Dinput_2Dfile; /* %residual-open-binary-input-file */
|
|
obj cx__25residual_2Dopen_2Dbinary_2Doutput_2Dfile; /* %residual-open-binary-output-file */
|
|
obj cx__25residual_2Dopen_2Dfile_2A; /* %residual-open-file* */
|
|
obj cx__25residual_2Dopen_2Dinput_2Dbytevector; /* %residual-open-input-bytevector */
|
|
obj cx__25residual_2Dopen_2Dinput_2Dfile; /* %residual-open-input-file */
|
|
obj cx__25residual_2Dopen_2Dinput_2Dstring; /* %residual-open-input-string */
|
|
obj cx__25residual_2Dopen_2Doutput_2Dbytevector; /* %residual-open-output-bytevector */
|
|
obj cx__25residual_2Dopen_2Doutput_2Dfile; /* %residual-open-output-file */
|
|
obj cx__25residual_2Dopen_2Doutput_2Dstring; /* %residual-open-output-string */
|
|
obj cx__25residual_2Doutput_2Dport_2Dopen_3F; /* %residual-output-port-open? */
|
|
obj cx__25residual_2Doutput_2Dport_3F; /* %residual-output-port? */
|
|
obj cx__25residual_2Dpair_3F; /* %residual-pair? */
|
|
obj cx__25residual_2Dpeek_2Dchar; /* %residual-peek-char */
|
|
obj cx__25residual_2Dpeek_2Du8; /* %residual-peek-u8 */
|
|
obj cx__25residual_2Dport_3F; /* %residual-port? */
|
|
obj cx__25residual_2Dpositive_3F; /* %residual-positive? */
|
|
obj cx__25residual_2Dprocedure_3F; /* %residual-procedure? */
|
|
obj cx__25residual_2Dquotient; /* %residual-quotient */
|
|
obj cx__25residual_2Drationalize; /* %residual-rationalize */
|
|
obj cx__25residual_2Dread; /* %residual-read */
|
|
obj cx__25residual_2Dread_2Dchar; /* %residual-read-char */
|
|
obj cx__25residual_2Dread_2Du8; /* %residual-read-u8 */
|
|
obj cx__25residual_2Dreal_2D_3Efixnum; /* %residual-real->fixnum */
|
|
obj cx__25residual_2Dreal_2D_3Eflonum; /* %residual-real->flonum */
|
|
obj cx__25residual_2Dreal_2Dpart; /* %residual-real-part */
|
|
obj cx__25residual_2Dreal_3F; /* %residual-real? */
|
|
obj cx__25residual_2Drecord_2Dlength; /* %residual-record-length */
|
|
obj cx__25residual_2Drecord_2Dref; /* %residual-record-ref */
|
|
obj cx__25residual_2Drecord_2Dset_21; /* %residual-record-set! */
|
|
obj cx__25residual_2Drecord_2Dtype_2Ddescriptor; /* %residual-record-type-descriptor */
|
|
obj cx__25residual_2Drecord_3F; /* %residual-record? */
|
|
obj cx__25residual_2Dremainder; /* %residual-remainder */
|
|
obj cx__25residual_2Drename_2Dfile; /* %residual-rename-file */
|
|
obj cx__25residual_2Dreverse; /* %residual-reverse */
|
|
obj cx__25residual_2Dreverse_21; /* %residual-reverse! */
|
|
obj cx__25residual_2Dround; /* %residual-round */
|
|
obj cx__25residual_2Dset_2Dbox_21; /* %residual-set-box! */
|
|
obj cx__25residual_2Dset_2Dcar_21; /* %residual-set-car! */
|
|
obj cx__25residual_2Dset_2Dcdr_21; /* %residual-set-cdr! */
|
|
obj cx__25residual_2Dsin; /* %residual-sin */
|
|
obj cx__25residual_2Dsqrt; /* %residual-sqrt */
|
|
obj cx__25residual_2Dsquare; /* %residual-square */
|
|
obj cx__25residual_2Dstring; /* %residual-string */
|
|
obj cx__25residual_2Dstring_2D_3Efixnum_2Dor_2Dflonum; /* %residual-string->fixnum-or-flonum */
|
|
obj cx__25residual_2Dstring_2D_3Elist; /* %residual-string->list */
|
|
obj cx__25residual_2Dstring_2D_3Enumber; /* %residual-string->number */
|
|
obj cx__25residual_2Dstring_2D_3Esymbol; /* %residual-string->symbol */
|
|
obj cx__25residual_2Dstring_2Dappend; /* %residual-string-append */
|
|
obj cx__25residual_2Dstring_2Dappend_2F2; /* %residual-string-append/2 */
|
|
obj cx__25residual_2Dstring_2Dci_3C_3D_3F; /* %residual-string-ci<=? */
|
|
obj cx__25residual_2Dstring_2Dci_3C_3F; /* %residual-string-ci<? */
|
|
obj cx__25residual_2Dstring_2Dci_3D_3F; /* %residual-string-ci=? */
|
|
obj cx__25residual_2Dstring_2Dci_3E_3D_3F; /* %residual-string-ci>=? */
|
|
obj cx__25residual_2Dstring_2Dci_3E_3F; /* %residual-string-ci>? */
|
|
obj cx__25residual_2Dstring_2Dcopy; /* %residual-string-copy */
|
|
obj cx__25residual_2Dstring_2Dfill_21; /* %residual-string-fill! */
|
|
obj cx__25residual_2Dstring_2Dlength; /* %residual-string-length */
|
|
obj cx__25residual_2Dstring_2Dposition; /* %residual-string-position */
|
|
obj cx__25residual_2Dstring_2Dref; /* %residual-string-ref */
|
|
obj cx__25residual_2Dstring_2Dset_21; /* %residual-string-set! */
|
|
obj cx__25residual_2Dstring_3C_3D_3F; /* %residual-string<=? */
|
|
obj cx__25residual_2Dstring_3C_3F; /* %residual-string<? */
|
|
obj cx__25residual_2Dstring_3D_3F; /* %residual-string=? */
|
|
obj cx__25residual_2Dstring_3E_3D_3F; /* %residual-string>=? */
|
|
obj cx__25residual_2Dstring_3E_3F; /* %residual-string>? */
|
|
obj cx__25residual_2Dstring_3F; /* %residual-string? */
|
|
obj cx__25residual_2Dsubbytevector; /* %residual-subbytevector */
|
|
obj cx__25residual_2Dsubstring; /* %residual-substring */
|
|
obj cx__25residual_2Dsymbol_2D_3Estring; /* %residual-symbol->string */
|
|
obj cx__25residual_2Dsymbol_3D_3F; /* %residual-symbol=? */
|
|
obj cx__25residual_2Dsymbol_3F; /* %residual-symbol? */
|
|
obj cx__25residual_2Dsystem; /* %residual-system */
|
|
obj cx__25residual_2Dtan; /* %residual-tan */
|
|
obj cx__25residual_2Dtruncate; /* %residual-truncate */
|
|
obj cx__25residual_2Du8_2Dready_3F; /* %residual-u8-ready? */
|
|
obj cx__25residual_2Dunbox; /* %residual-unbox */
|
|
obj cx__25residual_2Dvalues; /* %residual-values */
|
|
obj cx__25residual_2Dvector; /* %residual-vector */
|
|
obj cx__25residual_2Dvector_2D_3Elist; /* %residual-vector->list */
|
|
obj cx__25residual_2Dvector_2Dlength; /* %residual-vector-length */
|
|
obj cx__25residual_2Dvector_2Dref; /* %residual-vector-ref */
|
|
obj cx__25residual_2Dvector_2Dset_21; /* %residual-vector-set! */
|
|
obj cx__25residual_2Dvector_3F; /* %residual-vector? */
|
|
obj cx__25residual_2Dvoid; /* %residual-void */
|
|
obj cx__25residual_2Dwrite; /* %residual-write */
|
|
obj cx__25residual_2Dwrite_2Dbytevector; /* %residual-write-bytevector */
|
|
obj cx__25residual_2Dwrite_2Dchar; /* %residual-write-char */
|
|
obj cx__25residual_2Dwrite_2Dstring; /* %residual-write-string */
|
|
obj cx__25residual_2Dwrite_2Du8; /* %residual-write-u8 */
|
|
obj cx__25residual_2Dzero_3F; /* %residual-zero? */
|
|
obj cx__25residual_2F; /* %residual/ */
|
|
obj cx__25residual_3C; /* %residual< */
|
|
obj cx__25residual_3C_3D; /* %residual<= */
|
|
obj cx__25residual_3D; /* %residual= */
|
|
obj cx__25residual_3E; /* %residual> */
|
|
obj cx__25residual_3E_3D; /* %residual>= */
|
|
obj cx__2Acurrent_2Ddynamic_2Dstate_2A; /* *current-dynamic-state* */
|
|
obj cx__2Acurrent_2Derror_2Dport_2A; /* *current-error-port* */
|
|
obj cx__2Acurrent_2Dinput_2Dport_2A; /* *current-input-port* */
|
|
obj cx__2Acurrent_2Doutput_2Dport_2A; /* *current-output-port* */
|
|
obj cx__3Cerror_2Dobject_3E; /* <error-object> */
|
|
obj cx_apply; /* apply */
|
|
obj cx_assertion_2Dviolation; /* assertion-violation */
|
|
obj cx_call_2Dwith_2Dcurrent_2Dcontinuation; /* call-with-current-continuation */
|
|
obj cx_call_2Dwith_2Dinput_2Dfile; /* call-with-input-file */
|
|
obj cx_call_2Dwith_2Doutput_2Dfile; /* call-with-output-file */
|
|
obj cx_call_2Dwith_2Dport; /* call-with-port */
|
|
obj cx_close_2Dinput_2Dport; /* close-input-port */
|
|
obj cx_close_2Doutput_2Dport; /* close-output-port */
|
|
obj cx_close_2Dport; /* close-port */
|
|
obj cx_command_2Dline; /* command-line */
|
|
obj cx_current_2Dexception_2Dhandler; /* current-exception-handler */
|
|
obj cx_dynamic_2Dstate_2Dreroot_21; /* dynamic-state-reroot! */
|
|
obj cx_dynamic_2Dwind; /* dynamic-wind */
|
|
obj cx_error; /* error */
|
|
obj cx_error_2Dobject; /* error-object */
|
|
obj cx_error_2Dobject_2Dirritants; /* error-object-irritants */
|
|
obj cx_error_2Dobject_2Dkind; /* error-object-kind */
|
|
obj cx_error_2Dobject_2Dmessage; /* error-object-message */
|
|
obj cx_error_2Dobject_3F; /* error-object? */
|
|
obj cx_exact_2Dinteger_2Dsqrt; /* exact-integer-sqrt */
|
|
obj cx_file_2Derror; /* file-error */
|
|
obj cx_file_2Derror_3F; /* file-error? */
|
|
obj cx_fixnum_2D_3Estring; /* fixnum->string */
|
|
obj cx_flonum_2D_3Estring; /* flonum->string */
|
|
obj cx_floor_2F; /* floor/ */
|
|
obj cx_lcm_2F2; /* lcm/2 */
|
|
obj cx_make_2Dparameter; /* make-parameter */
|
|
obj cx_make_2Dpromise; /* make-promise */
|
|
obj cx_print_2Derror_2Dmessage; /* print-error-message */
|
|
obj cx_raise; /* raise */
|
|
obj cx_raise_2Dcontinuable; /* raise-continuable */
|
|
obj cx_read_2Ddatum; /* read-datum */
|
|
obj cx_read_2Derror; /* read-error */
|
|
obj cx_read_2Derror_3F; /* read-error? */
|
|
obj cx_reset; /* reset */
|
|
obj cx_set_2Dreset_2Dhandler_21; /* set-reset-handler! */
|
|
obj cx_simple_2Derror; /* simple-error */
|
|
obj cx_string_2D_3Efixnum; /* string->fixnum */
|
|
obj cx_string_2D_3Eflonum; /* string->flonum */
|
|
obj cx_truncate_2F; /* truncate/ */
|
|
obj cx_vector_2Dfill_21; /* vector-fill! */
|
|
obj cx_with_2Dexception_2Dhandler; /* with-exception-handler */
|
|
obj cx_with_2Dinput_2Dfrom_2Dfile; /* with-input-from-file */
|
|
obj cx_with_2Dinput_2Dfrom_2Dport; /* with-input-from-port */
|
|
obj cx_with_2Doutput_2Dto_2Dfile; /* with-output-to-file */
|
|
obj cx_with_2Doutput_2Dto_2Dport; /* with-output-to-port */
|
|
static obj cx__231039; /* constant #1039 */
|
|
static obj cx__231043; /* constant #1043 */
|
|
static obj cx__231054; /* constant #1054 */
|
|
static obj cx__231078; /* constant #1078 */
|
|
static obj cx__231088; /* constant #1088 */
|
|
static obj cx__231092; /* constant #1092 */
|
|
static obj cx__231096; /* constant #1096 */
|
|
static obj cx__231122; /* constant #1122 */
|
|
static obj cx__231143; /* constant #1143 */
|
|
static obj cx__231163; /* constant #1163 */
|
|
static obj cx__231167; /* constant #1167 */
|
|
static obj cx__231171; /* constant #1171 */
|
|
static obj cx__231174; /* constant #1174 */
|
|
static obj cx__231201; /* constant #1201 */
|
|
static obj cx__231217; /* constant #1217 */
|
|
static obj cx__231225; /* constant #1225 */
|
|
static obj cx__231231; /* constant #1231 */
|
|
static obj cx__231241; /* constant #1241 */
|
|
static obj cx__231270; /* constant #1270 */
|
|
static obj cx__231276; /* constant #1276 */
|
|
static obj cx__231279; /* constant #1279 */
|
|
static obj cx__231294; /* constant #1294 */
|
|
static obj cx__231295; /* constant #1295 */
|
|
static obj cx__231298; /* constant #1298 */
|
|
static obj cx__231305; /* constant #1305 */
|
|
static obj cx__231310; /* constant #1310 */
|
|
static obj cx__231315; /* constant #1315 */
|
|
static obj cx__231317; /* constant #1317 */
|
|
static obj cx__231322; /* constant #1322 */
|
|
static obj cx__231363; /* constant #1363 */
|
|
static obj cx__231368; /* constant #1368 */
|
|
static obj cx__231390; /* constant #1390 */
|
|
static obj cx__231439; /* constant #1439 */
|
|
static obj cx__231477; /* constant #1477 */
|
|
static obj cx__231521; /* constant #1521 */
|
|
static obj cx__231522; /* constant #1522 */
|
|
static obj cx__231592; /* constant #1592 */
|
|
static obj cx__231705; /* constant #1705 */
|
|
static obj cx__231759; /* constant #1759 */
|
|
static obj cx__231781; /* constant #1781 */
|
|
static obj cx__231836; /* constant #1836 */
|
|
static obj cx__231848; /* constant #1848 */
|
|
static obj cx__231852; /* constant #1852 */
|
|
static obj cx__232471; /* constant #2471 */
|
|
static obj cx__232488; /* constant #2488 */
|
|
static obj cx__232886; /* constant #2886 */
|
|
static obj cx__232989; /* constant #2989 */
|
|
static obj cx__23888; /* constant #888 */
|
|
static obj cx__23892; /* constant #892 */
|
|
static obj cx__23896; /* constant #896 */
|
|
static obj cx__23900; /* constant #900 */
|
|
static obj cx__23915; /* constant #915 */
|
|
static obj cx__23919; /* constant #919 */
|
|
static obj cx__23922; /* constant #922 */
|
|
static obj cx__23926; /* constant #926 */
|
|
|
|
/* helper functions */
|
|
/* %residual-real->fixnum */
|
|
static obj cxs__25residual_2Dreal_2D_3Efixnum(obj v76_n)
|
|
{
|
|
return ((is_fixnum_obj(v76_n)) ? (v76_n) : obj_from_fixnum(fxflo(flonum_from_obj(v76_n))));
|
|
}
|
|
|
|
/* %residual-real? */
|
|
static obj cxs__25residual_2Dreal_3F(obj v145_x)
|
|
{
|
|
return ((is_fixnum_obj(v145_x)) ? obj_from_bool(is_fixnum_obj(v145_x)) : obj_from_bool(is_flonum_obj(v145_x)));
|
|
}
|
|
|
|
/* %residual-integer? */
|
|
static obj cxs__25residual_2Dinteger_3F(obj v150_x)
|
|
{
|
|
return ((is_fixnum_obj(v150_x)) ? obj_from_bool(is_fixnum_obj(v150_x)) : ((is_flonum_obj(v150_x)) ? obj_from_bool(flisint(flonum_from_obj(v150_x))) : obj_from_bool(0)));
|
|
}
|
|
|
|
/* %residual-exact */
|
|
static obj cxs__25residual_2Dexact(obj v156_x)
|
|
{
|
|
return ((is_fixnum_obj(v156_x)) ? (v156_x) : obj_from_fixnum(fxflo(flonum_from_obj(v156_x))));
|
|
}
|
|
|
|
/* %residual-zero? */
|
|
static obj cxs__25residual_2Dzero_3F(obj v164_x)
|
|
{
|
|
return ((is_fixnum_obj(v164_x)) ? obj_from_bool(fixnum_from_obj(v164_x) == 0) : obj_from_bool(flonum_from_obj(v164_x) == 0.0));
|
|
}
|
|
|
|
/* %residual-positive? */
|
|
static obj cxs__25residual_2Dpositive_3F(obj v169_x)
|
|
{
|
|
return ((is_fixnum_obj(v169_x)) ? obj_from_bool(fixnum_from_obj(v169_x) > 0) : obj_from_bool(flonum_from_obj(v169_x) > 0.0));
|
|
}
|
|
|
|
/* %residual-negative? */
|
|
static obj cxs__25residual_2Dnegative_3F(obj v174_x)
|
|
{
|
|
return ((is_fixnum_obj(v174_x)) ? obj_from_bool(fixnum_from_obj(v174_x) < 0) : obj_from_bool(flonum_from_obj(v174_x) < 0.0));
|
|
}
|
|
|
|
/* %residual-even? */
|
|
static obj cxs__25residual_2Deven_3F(obj v179_x)
|
|
{
|
|
return ((is_fixnum_obj(v179_x)) ? obj_from_bool((fixnum_from_obj(v179_x) & 1) == 0) : obj_from_bool(flisint(flonum_from_obj(v179_x) / 2.0)));
|
|
}
|
|
|
|
/* %residual-odd? */
|
|
static obj cxs__25residual_2Dodd_3F(obj v184_x)
|
|
{
|
|
return ((is_fixnum_obj(v184_x)) ? obj_from_bool((fixnum_from_obj(v184_x) & 1) != 0) : obj_from_bool(flisint((flonum_from_obj(v184_x) + 1.0) / 2.0)));
|
|
}
|
|
|
|
/* %residual-nan? */
|
|
static obj cxs__25residual_2Dnan_3F(obj v189_x)
|
|
{
|
|
if ((is_flonum_obj(v189_x))) {
|
|
{ /* flnan? */
|
|
flonum_t f = flonum_from_obj(v189_x);
|
|
return obj_from_bool(f != f); };
|
|
} else {
|
|
return obj_from_bool(0);
|
|
}
|
|
}
|
|
|
|
/* %residual-infinite? */
|
|
static obj cxs__25residual_2Dinfinite_3F(obj v193_x)
|
|
{
|
|
if ((is_flonum_obj(v193_x))) {
|
|
{ /* flinfinite? */
|
|
flonum_t f = flonum_from_obj(v193_x);
|
|
return obj_from_bool(f <= -HUGE_VAL || f >= HUGE_VAL); };
|
|
} else {
|
|
return obj_from_bool(0);
|
|
}
|
|
}
|
|
|
|
/* %residual-finite? */
|
|
static obj cxs__25residual_2Dfinite_3F(obj v197_x)
|
|
{
|
|
if ((is_fixnum_obj(v197_x))) {
|
|
return obj_from_bool(is_fixnum_obj(v197_x));
|
|
} else {
|
|
{ /* let */
|
|
obj v4042_tmp;
|
|
{ /* flinfinite? */
|
|
flonum_t f = flonum_from_obj(v197_x);
|
|
v4042_tmp = obj_from_bool(f <= -HUGE_VAL || f >= HUGE_VAL); };
|
|
return obj_from_bool(!bool_from_obj(v4042_tmp));
|
|
}
|
|
}
|
|
}
|
|
|
|
/* %residual-numerator */
|
|
static obj cxs__25residual_2Dnumerator(obj v335_n)
|
|
{
|
|
return (v335_n);
|
|
}
|
|
|
|
/* %residual-rationalize */
|
|
static obj cxs__25residual_2Drationalize(obj v340_n, obj v339_d)
|
|
{
|
|
return (v340_n);
|
|
}
|
|
|
|
/* vector-fill! */
|
|
static obj cxs_vector_2Dfill_21(obj v545_v, obj v544_x)
|
|
{
|
|
{ /* letrec */
|
|
obj v549_i;
|
|
{ /* let */
|
|
obj v4041_tmp = obj_from_fixnum(+0);
|
|
/* tail call */
|
|
v549_i = (v4041_tmp);
|
|
goto s_loop;
|
|
}
|
|
s_loop:
|
|
if ((fixnum_from_obj(v549_i) == (vectorlen((v545_v))))) {
|
|
return ((0) ? obj_from_bool(0) : obj_from_void(0));
|
|
} else {
|
|
(void) obj_from_void(vectorref((v545_v), fixnum_from_obj(v549_i)) = (v544_x));
|
|
{ /* let */
|
|
obj v4040_tmp = obj_from_fixnum(fxadd(fixnum_from_obj(v549_i), (+1)));
|
|
/* tail call */
|
|
v549_i = (v4040_tmp);
|
|
goto s_loop;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/* %residual-port? */
|
|
static obj cxs__25residual_2Dport_3F(obj v934_x)
|
|
{
|
|
return ((isiport((v934_x))) ? obj_from_bool(isiport((v934_x))) : obj_from_bool(isoport((v934_x))));
|
|
}
|
|
|
|
/* close-port */
|
|
static obj cxs_close_2Dport(obj v939_p)
|
|
{
|
|
if ((isiport((v939_p)))) {
|
|
{ /* close-input-port */
|
|
obj o = (v939_p); cxtype_iport_t *vt = iportvt(o); assert(vt);
|
|
vt->close(iportdata(o)); vt->free(iportdata(o));
|
|
objptr_from_obj(o)[-1] = (obj)IPORT_CLOSED_NTAG;
|
|
(void) obj_from_void(0); };
|
|
} else {
|
|
(void) obj_from_void(0);
|
|
}
|
|
if ((isoport((v939_p)))) {
|
|
{ /* close-output-port */
|
|
obj o = (v939_p); cxtype_oport_t *vt = oportvt(o); assert(vt);
|
|
vt->close(oportdata(o)); vt->free(oportdata(o));
|
|
objptr_from_obj(o)[-1] = (obj)OPORT_CLOSED_NTAG;
|
|
return obj_from_void(0); };
|
|
} else {
|
|
return obj_from_void(0);
|
|
}
|
|
}
|
|
|
|
/* %residual-eqv? */
|
|
static obj cxs__25residual_2Deqv_3F(obj v988_x, obj v987_y)
|
|
{
|
|
return (((v988_x) == (v987_y)) ? obj_from_bool((v988_x) == (v987_y)) : ((is_flonum_obj(v988_x)) ? ((is_flonum_obj(v987_y)) ? obj_from_bool(flonum_from_obj(v988_x) == flonum_from_obj(v987_y)) : obj_from_bool(0)) : obj_from_bool(0)));
|
|
}
|
|
|
|
/* %residual-real-part */
|
|
static obj cxs__25residual_2Dreal_2Dpart(obj v1868_x)
|
|
{
|
|
return (v1868_x);
|
|
}
|
|
|
|
/* %residual-angle */
|
|
static obj cxs__25residual_2Dangle(obj v1878_x)
|
|
{
|
|
return (bool_from_obj((is_fixnum_obj(v1878_x)) ? obj_from_bool(fixnum_from_obj(v1878_x) < 0) : obj_from_bool(flonum_from_obj(v1878_x) < 0.0)) ? (cx__231852) : obj_from_fixnum(+0));
|
|
}
|
|
|
|
/* gc roots */
|
|
static obj *globv[] = {
|
|
&cx__25fail_2Dlambda,
|
|
&cx__25residual_2A,
|
|
&cx__25residual_2B,
|
|
&cx__25residual_2D,
|
|
&cx__25residual_2Dappend,
|
|
&cx__25residual_2Datan,
|
|
&cx__25residual_2Dbytevector,
|
|
&cx__25residual_2Dchar_2Dready_3F,
|
|
&cx__25residual_2Dcons_2A,
|
|
&cx__25residual_2Dcurrent_2Derror_2Dport,
|
|
&cx__25residual_2Dcurrent_2Dinput_2Dport,
|
|
&cx__25residual_2Dcurrent_2Doutput_2Dport,
|
|
&cx__25residual_2Ddisplay,
|
|
&cx__25residual_2Ddisplay_2Dfixnum,
|
|
&cx__25residual_2Ddisplay_2Dflonum,
|
|
&cx__25residual_2Ddisplay_2Dinput_2Dport,
|
|
&cx__25residual_2Ddisplay_2Doutput_2Dport,
|
|
&cx__25residual_2Ddisplay_2Dprocedure,
|
|
&cx__25residual_2Dexit,
|
|
&cx__25residual_2Dfl_2A,
|
|
&cx__25residual_2Dfl_2B,
|
|
&cx__25residual_2Dfl_2D,
|
|
&cx__25residual_2Dfl_2F,
|
|
&cx__25residual_2Dfl_3C_3D_3F,
|
|
&cx__25residual_2Dfl_3C_3F,
|
|
&cx__25residual_2Dfl_3D_3F,
|
|
&cx__25residual_2Dfl_3E_3D_3F,
|
|
&cx__25residual_2Dfl_3E_3F,
|
|
&cx__25residual_2Dflatan,
|
|
&cx__25residual_2Dflmax,
|
|
&cx__25residual_2Dflmin,
|
|
&cx__25residual_2Dflush_2Doutput_2Dport,
|
|
&cx__25residual_2Dfor_2Deach,
|
|
&cx__25residual_2Dfx_2A,
|
|
&cx__25residual_2Dfx_2B,
|
|
&cx__25residual_2Dfx_2D,
|
|
&cx__25residual_2Dfx_2F,
|
|
&cx__25residual_2Dfx_3C_3D_3F,
|
|
&cx__25residual_2Dfx_3C_3F,
|
|
&cx__25residual_2Dfx_3D_3F,
|
|
&cx__25residual_2Dfx_3E_3D_3F,
|
|
&cx__25residual_2Dfx_3E_3F,
|
|
&cx__25residual_2Dfxmax,
|
|
&cx__25residual_2Dfxmin,
|
|
&cx__25residual_2Dgcd,
|
|
&cx__25residual_2Dlcm,
|
|
&cx__25residual_2Dlist,
|
|
&cx__25residual_2Dlog,
|
|
&cx__25residual_2Dmake_2Dbytevector,
|
|
&cx__25residual_2Dmake_2Dcase_2Dlambda,
|
|
&cx__25residual_2Dmake_2Dstring,
|
|
&cx__25residual_2Dmake_2Dvector,
|
|
&cx__25residual_2Dmap,
|
|
&cx__25residual_2Dmax,
|
|
&cx__25residual_2Dmin,
|
|
&cx__25residual_2Dnewline,
|
|
&cx__25residual_2Dnumber_2D_3Estring,
|
|
&cx__25residual_2Dpeek_2Dchar,
|
|
&cx__25residual_2Dpeek_2Du8,
|
|
&cx__25residual_2Dread,
|
|
&cx__25residual_2Dread_2Dchar,
|
|
&cx__25residual_2Dread_2Du8,
|
|
&cx__25residual_2Drecord_3F,
|
|
&cx__25residual_2Dstring,
|
|
&cx__25residual_2Dstring_2D_3Enumber,
|
|
&cx__25residual_2Dstring_2Dappend,
|
|
&cx__25residual_2Du8_2Dready_3F,
|
|
&cx__25residual_2Dvalues,
|
|
&cx__25residual_2Dvector,
|
|
&cx__25residual_2Dwrite,
|
|
&cx__25residual_2Dwrite_2Dbytevector,
|
|
&cx__25residual_2Dwrite_2Dchar,
|
|
&cx__25residual_2Dwrite_2Dstring,
|
|
&cx__25residual_2Dwrite_2Du8,
|
|
&cx__25residual_2F,
|
|
&cx__25residual_3C,
|
|
&cx__25residual_3C_3D,
|
|
&cx__25residual_3D,
|
|
&cx__25residual_3E,
|
|
&cx__25residual_3E_3D,
|
|
&cx__2Acurrent_2Ddynamic_2Dstate_2A,
|
|
&cx__2Acurrent_2Derror_2Dport_2A,
|
|
&cx__2Acurrent_2Dinput_2Dport_2A,
|
|
&cx__2Acurrent_2Doutput_2Dport_2A,
|
|
&cx__3Cerror_2Dobject_3E,
|
|
&cx_apply,
|
|
&cx_assertion_2Dviolation,
|
|
&cx_current_2Dexception_2Dhandler,
|
|
&cx_error,
|
|
&cx_file_2Derror,
|
|
&cx_make_2Dparameter,
|
|
&cx_read_2Ddatum,
|
|
&cx_read_2Derror,
|
|
&cx_reset,
|
|
&cx_simple_2Derror,
|
|
&cx__231039,
|
|
&cx__231043,
|
|
&cx__231054,
|
|
&cx__231078,
|
|
&cx__231088,
|
|
&cx__231092,
|
|
&cx__231096,
|
|
&cx__231122,
|
|
&cx__231143,
|
|
&cx__231163,
|
|
&cx__231167,
|
|
&cx__231171,
|
|
&cx__231174,
|
|
&cx__231201,
|
|
&cx__231217,
|
|
&cx__231225,
|
|
&cx__231231,
|
|
&cx__231241,
|
|
&cx__231270,
|
|
&cx__231276,
|
|
&cx__231279,
|
|
&cx__231294,
|
|
&cx__231295,
|
|
&cx__231298,
|
|
&cx__231305,
|
|
&cx__231310,
|
|
&cx__231315,
|
|
&cx__231317,
|
|
&cx__231322,
|
|
&cx__231363,
|
|
&cx__231368,
|
|
&cx__231390,
|
|
&cx__231439,
|
|
&cx__231477,
|
|
&cx__231521,
|
|
&cx__231522,
|
|
&cx__231592,
|
|
&cx__231705,
|
|
&cx__231759,
|
|
&cx__231781,
|
|
&cx__231836,
|
|
&cx__231848,
|
|
&cx__231852,
|
|
&cx__232471,
|
|
&cx__232488,
|
|
&cx__232886,
|
|
&cx__232989,
|
|
&cx__23888,
|
|
&cx__23892,
|
|
&cx__23896,
|
|
&cx__23900,
|
|
&cx__23915,
|
|
&cx__23919,
|
|
&cx__23922,
|
|
&cx__23926,
|
|
};
|
|
|
|
static cxroot_t root = {
|
|
sizeof(globv)/sizeof(obj *), globv, NULL
|
|
};
|
|
|
|
/* entry points */
|
|
static obj host(obj);
|
|
static obj cases[533] = {
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host, (obj)host, (obj)host,
|
|
(obj)host, (obj)host, (obj)host,
|
|
};
|
|
|
|
/* host procedure */
|
|
#define MAX_HOSTREGS 52
|
|
static obj host(obj pc)
|
|
{
|
|
register obj *r = cxg_regs;
|
|
register obj *hp = cxg_hp;
|
|
register int rc = cxg_rc;
|
|
rreserve(MAX_HOSTREGS);
|
|
jump:
|
|
switch (case_from_obj(pc)) {
|
|
|
|
case 0: /* load module */
|
|
cx__23888 = (hpushstr(0, newstring("r")));
|
|
cx__23892 = (hpushstr(0, newstring("cannot open input file")));
|
|
cx__23896 = (hpushstr(0, newstring("rb")));
|
|
cx__23900 = (hpushstr(0, newstring("cannot open binary input file")));
|
|
cx__23915 = (hpushstr(0, newstring("w")));
|
|
cx__23919 = (hpushstr(0, newstring("cannot open output file")));
|
|
cx__23922 = (hpushstr(0, newstring("wb")));
|
|
cx__23926 = (hpushstr(0, newstring("cannot open binary output file")));
|
|
cx__231039 = (hpushstr(0, newstring(": ")));
|
|
cx__231043 = (hpushstr(0, newstring(" in ")));
|
|
cx__231054 = (hpushstr(0, newstring("Error")));
|
|
cx__231078 = (hpushstr(0, newstring("Assertion violation")));
|
|
cx__231088 = (hpushstr(0, newstring("right parenthesis")));
|
|
cx__231092 = (hpushstr(0, newstring("right bracket")));
|
|
{ static char s[] = { 34, 32, 46, 32, 34, 0 };
|
|
cx__231096 = (hpushstr(0, newstring(s))); }
|
|
cx__231122 = (hpushstr(0, newstring("unexpected number/symbol char")));
|
|
cx__231143 = (hpushstr(0, newstring("unsupported number syntax (implementation restriction)")));
|
|
cx__231163 = (hpushstr(0, newstring("+")));
|
|
cx__231167 = (hpushstr(0, newstring("-")));
|
|
cx__231171 = (hpushstr(0, newstring("...")));
|
|
cx__231174 = (hpushstr(0, newstring(".")));
|
|
{ static char s[] = { 92, 120, 32, 101, 115, 99, 97, 112, 101, 32, 115, 101, 113, 117, 101, 110, 99, 101, 32, 105, 115, 32, 116, 111, 111, 32, 115, 104, 111, 114, 116, 0 };
|
|
cx__231201 = (hpushstr(0, newstring(s))); }
|
|
{ static char s[] = { 92, 120, 32, 101, 115, 99, 97, 112, 101, 32, 115, 101, 113, 117, 101, 110, 99, 101, 32, 105, 115, 32, 116, 111, 111, 32, 108, 111, 110, 103, 0 };
|
|
cx__231217 = (hpushstr(0, newstring(s))); }
|
|
{ static char s[] = { 117, 110, 101, 120, 112, 101, 99, 116, 101, 100, 32, 99, 104, 97, 114, 32, 105, 110, 32, 92, 120, 32, 101, 115, 99, 97, 112, 101, 32, 115, 101, 113, 117, 101, 110, 99, 101, 0 };
|
|
cx__231225 = (hpushstr(0, newstring(s))); }
|
|
cx__231231 = (hpushstr(0, newstring("end of file within a string")));
|
|
cx__231241 = (hpushstr(0, newstring("invalid char escape in string")));
|
|
cx__231270 = (hpushstr(0, newstring("invalid byte inside bytevector --")));
|
|
cx__231276 = (hpushstr(0, newstring("error inside bytevector --")));
|
|
cx__231279 = (hpushstr(0, newstring("eof inside bytevector")));
|
|
cx__231294 = (hpushstr(0, newstring("error inside list --")));
|
|
cx__231295 = (hpushstr(0, newstring("dot in #(...)")));
|
|
cx__231298 = (hpushstr(0, newstring("randomness after form after dot")));
|
|
cx__231305 = (hpushstr(0, newstring("eof inside list -- unbalanced parentheses")));
|
|
cx__231310 = (hpushstr(0, newstring("missing car -- ( immediately followed by .")));
|
|
cx__231315 = (hpushstr(0, newstring("illegal character read")));
|
|
cx__231317 = (hpushstr(0, newstring("unknown # syntax")));
|
|
{ static char s[] = { 117, 110, 107, 110, 111, 119, 110, 32, 35, 92, 32, 110, 97, 109, 101, 0 };
|
|
cx__231322 = (hpushstr(0, newstring(s))); }
|
|
{ static char s[] = { 101, 110, 100, 32, 111, 102, 32, 102, 105, 108, 101, 32, 97, 102, 116, 101, 114, 32, 35, 92, 0 };
|
|
cx__231363 = (hpushstr(0, newstring(s))); }
|
|
cx__231368 = (hpushstr(0, newstring("invalid bytevector syntax")));
|
|
cx__231390 = (hpushstr(0, newstring("end of file in #| comment")));
|
|
cx__231439 = (hpushstr(0, newstring("end of file after #")));
|
|
cx__231477 = (hpushstr(0, newstring("end of file after ,")));
|
|
cx__231521 = (hpushstr(0, newstring("unexpected token:")));
|
|
cx__231522 = (hpushstr(0, newstring("unexpected end of file")));
|
|
{ static char s[] = { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 33, 36, 37, 38, 42, 47, 58, 60, 61, 62, 63, 94, 95, 126, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 45, 46, 64, 0 };
|
|
cx__231592 = (hpushstr(0, newstring(s))); }
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 0); /* 0 live regs */
|
|
*--hp = (mknull());
|
|
*--hp = (mksymbol(internsym("irritants")));
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[0] = (hendblk(3)); }
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 1); /* 1 live regs */
|
|
*--hp = r[0];
|
|
*--hp = (mksymbol(internsym("message")));
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[0] = (hendblk(3)); }
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 1); /* 1 live regs */
|
|
*--hp = r[0];
|
|
*--hp = (mksymbol(internsym("kind")));
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
cx__231705 = (hendblk(3)); }
|
|
cx__231759 = (hpushstr(0, newstring("unhandled exception")));
|
|
cx__231781 = (hpushstr(0, newstring("exception handler returned")));
|
|
cx__231836 = (hpushstr(0, newstring("nonzero imag part not supported")));
|
|
cx__231848 = (hpushstr(0, newstring("angle not supported")));
|
|
cx__231852 = obj_from_flonum(0, +3.141592653589793238462643e+0);
|
|
cx__232471 = obj_from_flonum(0, +0.0e+0);
|
|
cx__232488 = obj_from_flonum(0, +1.0e+0);
|
|
cx__232886 = (hpushstr(0, newstring("")));
|
|
cx__232989 = (hpushstr(0, newstring("unexpected number of arguments")));
|
|
{ static obj c[] = { obj_from_case(1) }; cx__25residual_2Dvoid = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(2) }; cx__25residual_2Dboolean_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(3) }; cx__25residual_2Dnot = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(4) }; cx__25residual_2Dfixnum_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(5) }; cx__25residual_2Dfixnum_2Dwidth = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(6) }; cx__25residual_2Dleast_2Dfixnum = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(7) }; cx__25residual_2Dgreatest_2Dfixnum = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(8) }; cx__25residual_2Dfxzero_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(9) }; cx__25residual_2Dfxpositive_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(10) }; cx__25residual_2Dfxnegative_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(11) }; cx__25residual_2Dfxodd_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(12) }; cx__25residual_2Dfxeven_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(13) }; cx__25residual_2Dfxquotient = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(14) }; cx__25residual_2Dfxremainder = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(15) }; cx__25residual_2Dfxmodquo = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(16) }; cx__25residual_2Dfxmodulo = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(17) }; cx__25residual_2Dfxeuq = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(18) }; cx__25residual_2Dfxeur = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(19) }; cx__25residual_2Dfxabs = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(20) }; cx__25residual_2Dfxgcd = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(21) }; cx__25residual_2Dfxexpt = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(22) }; cx__25residual_2Dfxsqrt = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(23) }; cx__25residual_2Dfxnot = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(24) }; cx__25residual_2Dfxand = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(25) }; cx__25residual_2Dfxior = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(26) }; cx__25residual_2Dfxxor = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(27) }; cx__25residual_2Dfxarithmetic_2Dshift_2Dleft = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(28) }; cx__25residual_2Dfxarithmetic_2Dshift_2Dright = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(29) }; cx__25residual_2Dflonum_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(30) }; cx__25residual_2Dfixnum_2D_3Eflonum = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(31) }; cx__25residual_2Dflonum_2D_3Efixnum = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(32) }; cx__25residual_2Dreal_2D_3Eflonum = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(33) }; cx__25residual_2Dreal_2D_3Efixnum = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(34) }; cx__25residual_2Dflinteger_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(35) }; cx__25residual_2Dflzero_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(36) }; cx__25residual_2Dflpositive_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(37) }; cx__25residual_2Dflnegative_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(38) }; cx__25residual_2Dflodd_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(39) }; cx__25residual_2Dfleven_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(40) }; cx__25residual_2Dflnan_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(41) }; cx__25residual_2Dflinfinite_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(42) }; cx__25residual_2Dflquotient = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(43) }; cx__25residual_2Dflremainder = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(44) }; cx__25residual_2Dflmodquo = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(45) }; cx__25residual_2Dflmodulo = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(46) }; cx__25residual_2Dflabs = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(47) }; cx__25residual_2Dflgcd = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(48) }; cx__25residual_2Dflfloor = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(49) }; cx__25residual_2Dflceiling = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(50) }; cx__25residual_2Dfltruncate = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(51) }; cx__25residual_2Dflround = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(52) }; cx__25residual_2Dflsqrt = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(53) }; cx__25residual_2Dflexp = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(54) }; cx__25residual_2Dfllog = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(55) }; cx__25residual_2Dfllog10 = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(56) }; cx__25residual_2Dflsin = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(57) }; cx__25residual_2Dflcos = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(58) }; cx__25residual_2Dfltan = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(59) }; cx__25residual_2Dflasin = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(60) }; cx__25residual_2Dflacos = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(61) }; cx__25residual_2Dflexpt = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(62) }; cx__25residual_2Dfxfl_2F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(63) }; cx__25residual_2Dreal_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(64) }; cx__25residual_2Dinteger_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(65) }; cx__25residual_2Dexact = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(66) }; cx__25residual_2Dinexact = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(67) }; cx__25residual_2Dzero_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(68) }; cx__25residual_2Dpositive_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(69) }; cx__25residual_2Dnegative_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(70) }; cx__25residual_2Deven_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(71) }; cx__25residual_2Dodd_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(72) }; cx__25residual_2Dnan_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(73) }; cx__25residual_2Dinfinite_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(74) }; cx__25residual_2Dfinite_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(75) }; cx__25residual_2Dabs = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(76) }; cx__25residual_2Dquotient = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(77) }; cx__25residual_2Dremainder = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(78) }; cx__25residual_2Dmodquo = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(79) }; cx__25residual_2Dmodulo = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(80) }; cx_lcm_2F2 = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(81) }; cx__25residual_2Dnumerator = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(82) }; cx__25residual_2Ddenominator = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(83) }; cx__25residual_2Drationalize = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(84) }; cx__25residual_2Dfloor = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(85) }; cx__25residual_2Dceiling = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(86) }; cx__25residual_2Dtruncate = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(87) }; cx__25residual_2Dround = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(88) }; cx__25residual_2Dsqrt = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(89) }; cx__25residual_2Dexp = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(90) }; cx__25residual_2Dsin = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(91) }; cx__25residual_2Dcos = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(92) }; cx__25residual_2Dtan = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(93) }; cx__25residual_2Dasin = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(94) }; cx__25residual_2Dacos = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(95) }; cx__25residual_2Dexpt = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(96) }; cx__25residual_2Dsquare = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(97) }; cx__25residual_2Dchar_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(98) }; cx__25residual_2Dchar_3D_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(99) }; cx__25residual_2Dchar_3C_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(100) }; cx__25residual_2Dchar_3E_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(101) }; cx__25residual_2Dchar_3C_3D_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(102) }; cx__25residual_2Dchar_3E_3D_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(103) }; cx__25residual_2Dchar_2Dci_3D_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(104) }; cx__25residual_2Dchar_2Dci_3C_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(105) }; cx__25residual_2Dchar_2Dci_3E_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(106) }; cx__25residual_2Dchar_2Dci_3C_3D_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(107) }; cx__25residual_2Dchar_2Dci_3E_3D_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(108) }; cx__25residual_2Dchar_2Dalphabetic_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(109) }; cx__25residual_2Dchar_2Dnumeric_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(110) }; cx__25residual_2Dchar_2Dwhitespace_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(111) }; cx__25residual_2Dchar_2Dupper_2Dcase_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(112) }; cx__25residual_2Dchar_2Dlower_2Dcase_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(113) }; cx__25residual_2Dchar_2D_3Einteger = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(114) }; cx__25residual_2Dinteger_2D_3Echar = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(115) }; cx__25residual_2Dchar_2Dupcase = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(116) }; cx__25residual_2Dchar_2Ddowncase = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(117) }; cx__25residual_2Dstring_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(118) }; cx__25residual_2Dstring_2Dlength = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(119) }; cx__25residual_2Dstring_2Dref = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(120) }; cx__25residual_2Dstring_2Dset_21 = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(121) }; cx__25residual_2Dstring_3D_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(122) }; cx__25residual_2Dstring_3C_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(123) }; cx__25residual_2Dstring_3E_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(124) }; cx__25residual_2Dstring_3C_3D_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(125) }; cx__25residual_2Dstring_3E_3D_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(126) }; cx__25residual_2Dstring_2Dci_3D_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(127) }; cx__25residual_2Dstring_2Dci_3C_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(128) }; cx__25residual_2Dstring_2Dci_3E_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(129) }; cx__25residual_2Dstring_2Dci_3C_3D_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(130) }; cx__25residual_2Dstring_2Dci_3E_3D_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(131) }; cx__25residual_2Dsubstring = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(132) }; cx__25residual_2Dstring_2Dappend_2F2 = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(133) }; cx__25residual_2Dstring_2Dcopy = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(134) }; cx__25residual_2Dstring_2Dfill_21 = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(135) }; cx__25residual_2Dstring_2Dposition = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(136) }; cx__25residual_2Dvector_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(137) }; cx__25residual_2Dmake_2Dvector = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(138) }; cx__25residual_2Dvector_2Dlength = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(139) }; cx__25residual_2Dvector_2Dref = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(140) }; cx__25residual_2Dvector_2Dset_21 = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(141) }; cx_vector_2Dfill_21 = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(142) }; cx__25residual_2Dbyte_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(143) }; cx__25residual_2Dbytevector_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(144) }; cx__25residual_2Dbytevector_2Dlength = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(145) }; cx__25residual_2Dbytevector_2Du8_2Dref = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(146) }; cx__25residual_2Dbytevector_2Du8_2Dset_21 = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(147) }; cx__25residual_2Dbytevector_3D_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(148) }; cx__25residual_2Dsubbytevector = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(149) }; cx__25residual_2Dbox_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(150) }; cx__25residual_2Dbox = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(151) }; cx__25residual_2Dunbox = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(152) }; cx__25residual_2Dset_2Dbox_21 = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(153) }; cx__25residual_2Dnull_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(154) }; cx__25residual_2Dpair_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(155) }; cx__25residual_2Datom_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(156) }; cx__25residual_2Dlist_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(157) }; cx__25residual_2Dcons = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(158) }; cx__25residual_2Dcar = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(159) }; cx__25residual_2Dset_2Dcar_21 = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(160) }; cx__25residual_2Dcdr = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(161) }; cx__25residual_2Dset_2Dcdr_21 = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(162) }; cx__25residual_2Dcaar = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(163) }; cx__25residual_2Dcadr = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(164) }; cx__25residual_2Dcdar = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(165) }; cx__25residual_2Dcddr = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(166) }; cx__25residual_2Dcaaar = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(167) }; cx__25residual_2Dcaadr = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(168) }; cx__25residual_2Dcadar = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(169) }; cx__25residual_2Dcaddr = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(170) }; cx__25residual_2Dcdaar = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(171) }; cx__25residual_2Dcdadr = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(172) }; cx__25residual_2Dcddar = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(173) }; cx__25residual_2Dcdddr = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(174) }; cx__25residual_2Dcaaaar = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(175) }; cx__25residual_2Dcaaadr = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(176) }; cx__25residual_2Dcaadar = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(177) }; cx__25residual_2Dcaaddr = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(178) }; cx__25residual_2Dcadaar = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(179) }; cx__25residual_2Dcadadr = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(180) }; cx__25residual_2Dcaddar = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(181) }; cx__25residual_2Dcadddr = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(182) }; cx__25residual_2Dcdaaar = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(183) }; cx__25residual_2Dcdaadr = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(184) }; cx__25residual_2Dcdadar = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(185) }; cx__25residual_2Dcdaddr = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(186) }; cx__25residual_2Dcddaar = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(187) }; cx__25residual_2Dcddadr = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(188) }; cx__25residual_2Dcdddar = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(189) }; cx__25residual_2Dcddddr = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(190) }; cx__25residual_2Dlength = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(191) }; cx__25residual_2Dreverse = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(192) }; cx__25residual_2Dreverse_21 = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(193) }; cx__25residual_2Dappend_2F2 = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(194) }; cx__25residual_2Dlist_2Dcopy = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(195) }; cx__25residual_2Dlist_2Dref = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(196) }; cx__25residual_2Dlist_2Dtail = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(197) }; cx__25residual_2Dlast_2Dpair = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(198) }; cx__25residual_2Dsymbol_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(199) }; cx__25residual_2Dsymbol_3D_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(200) }; cx__25residual_2Dmake_2Drecord = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(201) }; cx__25residual_2Drecord_2Dtype_2Ddescriptor = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(202) }; cx__25residual_2Drecord_2Dlength = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(203) }; cx__25residual_2Drecord_2Dref = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(204) }; cx__25residual_2Drecord_2Dset_21 = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(205) }; cx__25residual_2Dnew_2Drecord_2Dtype = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(206) }; cx__25residual_2Dsymbol_2D_3Estring = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(207) }; cx__25residual_2Dstring_2D_3Esymbol = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(208) }; cx_fixnum_2D_3Estring = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(209) }; cx_flonum_2D_3Estring = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(210) }; cx_string_2D_3Efixnum = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(211) }; cx_string_2D_3Eflonum = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(212) }; cx__25residual_2Dstring_2D_3Efixnum_2Dor_2Dflonum = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(213) }; cx__25residual_2Dvector_2D_3Elist = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(214) }; cx__25residual_2Dlist_2D_3Evector = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(215) }; cx__25residual_2Dlist_2D_3Estring = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(216) }; cx__25residual_2Dstring_2D_3Elist = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(217) }; cx__25residual_2Dlist_2D_3Ebytevector = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(218) }; cx__25residual_2Dbytevector_2D_3Elist = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(219) }; cx__25residual_2Dprocedure_3F = (obj)c; }
|
|
{ /* define apply */
|
|
static obj c[] = { obj_from_objptr(appcases+0) };
|
|
cx_apply = obj_from_objptr(c); }
|
|
{ static obj c[] = { obj_from_case(220) }; cx__25residual_2Dmake_2Dimproper_2Dlambda = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(221) }; cx__25residual_2Dmake_2Dvoid_2Dcontinuation = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(222) }; cx__25residual_2Dmake_2Dargc_2Ddispatch_2Dlambda = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(223) }; cx__25residual_2Dargc_2Ddispatch_2Dlambda_3F = (obj)c; }
|
|
hreserve(hbsz(0+1), 0); /* 0 live regs */
|
|
*--hp = obj_from_case(224);
|
|
r[0] = (hendblk(0+1));
|
|
hreserve(hbsz(0+1), 1); /* 1 live regs */
|
|
*--hp = obj_from_case(230);
|
|
r[1] = (hendblk(0+1));
|
|
{ /* make-case-lambda */
|
|
hreserve(hbsz(9+1), 2); /* 2 live regs */
|
|
*--hp = (cx__25fail_2Dlambda);
|
|
*--hp = obj_from_fixnum(FIXNUM_MAX);
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = r[0];
|
|
*--hp = obj_from_fixnum(+2);
|
|
*--hp = obj_from_fixnum(+2);
|
|
*--hp = r[1];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+4);
|
|
cx_make_2Dparameter = (hendblk(9+1)); }
|
|
{ static obj c[] = { obj_from_case(234) }; cx_make_2Dpromise = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(237) }; cx__25residual_2Deof_2Dobject = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(238) }; cx__25residual_2Deof_2Dobject_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(239) }; cx__25residual_2Dopen_2Dfile_2A = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(240) }; cx__25residual_2Dinput_2Dport_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(241) }; cx_close_2Dinput_2Dport = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(242) }; cx__25residual_2Dinput_2Dport_2Dopen_3F = (obj)c; }
|
|
cx__2Acurrent_2Dinput_2Dport_2A = (mkiport_file(0, stdin));
|
|
{ static obj c[] = { obj_from_case(243) }; cx__25residual_2Dopen_2Dinput_2Dfile = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(244) }; cx__25residual_2Dopen_2Dbinary_2Dinput_2Dfile = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(245) }; cx__25residual_2Dopen_2Dinput_2Dstring = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(246) }; cx__25residual_2Dopen_2Dinput_2Dbytevector = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(247) }; cx__25residual_2Doutput_2Dport_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(248) }; cx_close_2Doutput_2Dport = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(249) }; cx__25residual_2Doutput_2Dport_2Dopen_3F = (obj)c; }
|
|
cx__2Acurrent_2Doutput_2Dport_2A = (mkoport_file(0, stdout));
|
|
cx__2Acurrent_2Derror_2Dport_2A = (mkoport_file(0, stderr));
|
|
{ static obj c[] = { obj_from_case(250) }; cx__25residual_2Dopen_2Doutput_2Dfile = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(251) }; cx__25residual_2Dopen_2Dbinary_2Doutput_2Dfile = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(252) }; cx__25residual_2Dopen_2Doutput_2Dstring = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(253) }; cx__25residual_2Dget_2Doutput_2Dstring = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(254) }; cx__25residual_2Dopen_2Doutput_2Dbytevector = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(255) }; cx__25residual_2Dget_2Doutput_2Dbytevector = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(256) }; cx__25residual_2Dport_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(257) }; cx_close_2Dport = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(258) }; cx_call_2Dwith_2Dinput_2Dfile = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(260) }; cx_call_2Dwith_2Doutput_2Dfile = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(262) }; cx_with_2Dinput_2Dfrom_2Dport = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(268) }; cx_with_2Doutput_2Dto_2Dport = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(274) }; cx_with_2Dinput_2Dfrom_2Dfile = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(276) }; cx_with_2Doutput_2Dto_2Dfile = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(278) }; cx__25residual_2Dcircular_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(279) }; cx__25residual_2Deq_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(280) }; cx__25residual_2Deqv_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(281) }; cx__25residual_2Dequal_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(282) }; cx__25residual_2Dmemq = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(283) }; cx__25residual_2Dmemv = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(284) }; cx__25residual_2Dmember = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(285) }; cx__25residual_2Dassq = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(286) }; cx__25residual_2Dassv = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(287) }; cx__25residual_2Dassoc = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(288) }; cx_print_2Derror_2Dmessage = (obj)c; }
|
|
hreserve(hbsz(0+1), 0); /* 0 live regs */
|
|
*--hp = obj_from_case(290);
|
|
r[0] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 1); /* 1 live regs */
|
|
*--hp = r[0];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx_simple_2Derror = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 0); /* 0 live regs */
|
|
*--hp = obj_from_case(292);
|
|
r[0] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 1); /* 1 live regs */
|
|
*--hp = r[0];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx_assertion_2Dviolation = (hendblk(3)); }
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 0); /* 0 live regs */
|
|
*--hp = (mknull());
|
|
*--hp = (mksymbol(internsym("reader-token")));
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[0] = (hendblk(3)); }
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 1); /* 1 live regs */
|
|
*--hp = (cx__231088);
|
|
*--hp = r[0];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[1] = (hendblk(3)); }
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 2); /* 2 live regs */
|
|
*--hp = (cx__231092);
|
|
*--hp = r[0];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[2] = (hendblk(3)); }
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = (cx__231096);
|
|
*--hp = r[0];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[3] = (hendblk(3)); }
|
|
hreserve(hbsz(1+1), 4); /* 4 live regs */
|
|
*--hp = r[0];
|
|
*--hp = obj_from_case(294);
|
|
r[4] = (hendblk(1+1));
|
|
hreserve(hbsz(0+1), 5); /* 5 live regs */
|
|
*--hp = obj_from_case(295);
|
|
r[5] = (hendblk(0+1));
|
|
hreserve(hbsz(1+1), 6); /* 6 live regs */
|
|
*--hp = r[5];
|
|
*--hp = obj_from_case(296);
|
|
r[6] = (hendblk(1+1));
|
|
hreserve(hbsz(2+1), 7); /* 7 live regs */
|
|
*--hp = r[3];
|
|
*--hp = r[5];
|
|
*--hp = obj_from_case(300);
|
|
r[7] = (hendblk(2+1));
|
|
hreserve(hbsz(7+1), 8); /* 8 live regs */
|
|
*--hp = r[4];
|
|
*--hp = r[1];
|
|
*--hp = r[2];
|
|
*--hp = r[7];
|
|
*--hp = r[6];
|
|
*--hp = r[5];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(318);
|
|
r[8] = (hendblk(7+1));
|
|
hreserve(hbsz(2+1), 9); /* 9 live regs */
|
|
*--hp = r[4];
|
|
*--hp = r[8];
|
|
*--hp = obj_from_case(303);
|
|
cx_read_2Ddatum = (hendblk(2+1));
|
|
{ static obj c[] = { obj_from_case(339) }; cx__25residual_2Dget_2Ddatum = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(340) }; cx__25residual_2Dfile_2Dexists_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(341) }; cx__25residual_2Ddelete_2Dfile = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(342) }; cx__25residual_2Drename_2Dfile = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(343) }; cx__25residual_2Dcall_2Dwith_2Dvalues = (obj)c; }
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 0); /* 0 live regs */
|
|
*--hp = (mknull());
|
|
*--hp = obj_from_bool(0);
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
cx__2Acurrent_2Ddynamic_2Dstate_2A = (hendblk(3)); }
|
|
{ static obj c[] = { obj_from_case(345) }; cx_call_2Dwith_2Dcurrent_2Dcontinuation = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(348) }; cx_dynamic_2Dwind = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(353) }; cx_dynamic_2Dstate_2Dreroot_21 = (obj)c; }
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 0); /* 0 live regs */
|
|
*--hp = (cx__231705);
|
|
*--hp = (mksymbol(internsym("<error-object>")));
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
cx__3Cerror_2Dobject_3E = (hendblk(3)); }
|
|
{ static obj c[] = { obj_from_case(355) }; cx_error_2Dobject = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(356) }; cx_error_2Dobject_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(357) }; cx_error_2Dobject_2Dkind = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(358) }; cx_error_2Dobject_2Dmessage = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(359) }; cx_error_2Dobject_2Dirritants = (obj)c; }
|
|
hreserve(hbsz(0+1), 0); /* 0 live regs */
|
|
*--hp = obj_from_case(360);
|
|
r[0] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 1); /* 1 live regs */
|
|
*--hp = r[0];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx_error = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 0); /* 0 live regs */
|
|
*--hp = obj_from_case(362);
|
|
r[0] = (hendblk(0+1));
|
|
hreserve(hbsz(1), 1); /* 1 live regs */
|
|
*--hp = obj_from_void(0);
|
|
r[1] = (hendblk(1));
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(531);
|
|
r[2] = (hendblk(0+1));
|
|
hreserve(hbsz(1+1), 3); /* 3 live regs */
|
|
*--hp = r[1];
|
|
*--hp = obj_from_case(532);
|
|
r[3] = (hendblk(1+1));
|
|
{ /* make-case-lambda */
|
|
hreserve(hbsz(9+1), 4); /* 4 live regs */
|
|
*--hp = (cx__25fail_2Dlambda);
|
|
*--hp = obj_from_fixnum(FIXNUM_MAX);
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = r[3];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+4);
|
|
r[2] = (hendblk(9+1)); }
|
|
(void)(objptr_from_obj(r[1])[0] = (r[2]));
|
|
r[1] = (objptr_from_obj(r[1])[0]);
|
|
r[2+0] = (cx_make_2Dparameter);
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = r[0];
|
|
r[2+2] = r[1];
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 1: /* %residual-void k */
|
|
assert(rc == 2);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k */
|
|
r[1+0] = r[0];
|
|
pc = objptr_from_obj(r[1+0])[0];
|
|
r[1+1] = obj_from_ktrap();
|
|
r[1+2] = obj_from_void(0);
|
|
r += 1; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 2: /* %residual-boolean? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(is_bool_obj(r[1]));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 3: /* %residual-not k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(!bool_from_obj(r[1]));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 4: /* %residual-fixnum? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(is_fixnum_obj(r[1]));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 5: /* %residual-fixnum-width k */
|
|
assert(rc == 2);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k */
|
|
r[1+0] = r[0];
|
|
pc = objptr_from_obj(r[1+0])[0];
|
|
r[1+1] = obj_from_ktrap();
|
|
r[1+2] = obj_from_fixnum(FIXNUM_BIT);
|
|
r += 1; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 6: /* %residual-least-fixnum k */
|
|
assert(rc == 2);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k */
|
|
r[1+0] = r[0];
|
|
pc = objptr_from_obj(r[1+0])[0];
|
|
r[1+1] = obj_from_ktrap();
|
|
r[1+2] = obj_from_fixnum(FIXNUM_MIN);
|
|
r += 1; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 7: /* %residual-greatest-fixnum k */
|
|
assert(rc == 2);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k */
|
|
r[1+0] = r[0];
|
|
pc = objptr_from_obj(r[1+0])[0];
|
|
r[1+1] = obj_from_ktrap();
|
|
r[1+2] = obj_from_fixnum(FIXNUM_MAX);
|
|
r += 1; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 8: /* %residual-fxzero? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(fixnum_from_obj(r[1]) == 0);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 9: /* %residual-fxpositive? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(fixnum_from_obj(r[1]) > 0);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 10: /* %residual-fxnegative? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(fixnum_from_obj(r[1]) < 0);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 11: /* %residual-fxodd? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool((fixnum_from_obj(r[1]) & 1) != 0);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 12: /* %residual-fxeven? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool((fixnum_from_obj(r[1]) & 1) == 0);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 13: /* %residual-fxquotient k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_fixnum(fxquo(fixnum_from_obj(r[1]), fixnum_from_obj(r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 14: /* %residual-fxremainder k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_fixnum(fxrem(fixnum_from_obj(r[1]), fixnum_from_obj(r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 15: /* %residual-fxmodquo k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_fixnum(fxmqu(fixnum_from_obj(r[1]), fixnum_from_obj(r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 16: /* %residual-fxmodulo k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_fixnum(fxmlo(fixnum_from_obj(r[1]), fixnum_from_obj(r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 17: /* %residual-fxeuq k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_fixnum(fxeuq(fixnum_from_obj(r[1]), fixnum_from_obj(r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 18: /* %residual-fxeur k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_fixnum(fxeur(fixnum_from_obj(r[1]), fixnum_from_obj(r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 19: /* %residual-fxabs k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_fixnum(fxabs(fixnum_from_obj(r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 20: /* %residual-fxgcd k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_fixnum(fxgcd(fixnum_from_obj(r[1]), fixnum_from_obj(r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 21: /* %residual-fxexpt k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3] = obj_from_fixnum(fxpow(fixnum_from_obj(r[1]), fixnum_from_obj(r[2])));
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 22: /* %residual-fxsqrt k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_fixnum(fxsqrt(fixnum_from_obj(r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 23: /* %residual-fxnot k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_fixnum(~fixnum_from_obj(r[1]));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 24: /* %residual-fxand k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_fixnum(fixnum_from_obj(r[1]) & fixnum_from_obj(r[2]));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 25: /* %residual-fxior k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_fixnum(fixnum_from_obj(r[1]) | fixnum_from_obj(r[2]));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 26: /* %residual-fxxor k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_fixnum(fixnum_from_obj(r[1]) ^ fixnum_from_obj(r[2]));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 27: /* %residual-fxarithmetic-shift-left k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_fixnum(fxasl(fixnum_from_obj(r[1]), fixnum_from_obj(r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 28: /* %residual-fxarithmetic-shift-right k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_fixnum(fxasr(fixnum_from_obj(r[1]), fixnum_from_obj(r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 29: /* %residual-flonum? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(is_flonum_obj(r[1]));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 30: /* %residual-fixnum->flonum k n */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k n */
|
|
r[2] = obj_from_flonum(2, (flonum_t)fixnum_from_obj(r[1]));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 31: /* %residual-flonum->fixnum k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_fixnum(fxflo(flonum_from_obj(r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 32: /* %residual-real->flonum k n */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k n */
|
|
r[2] = ((is_flonum_obj(r[1])) ? (r[1]) : obj_from_flonum(2, (flonum_t)fixnum_from_obj(r[1])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 33: /* %residual-real->fixnum k n */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k n */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (cxs__25residual_2Dreal_2D_3Efixnum((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 34: /* %residual-flinteger? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(flisint(flonum_from_obj(r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 35: /* %residual-flzero? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(flonum_from_obj(r[1]) == 0.0);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 36: /* %residual-flpositive? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(flonum_from_obj(r[1]) > 0.0);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 37: /* %residual-flnegative? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(flonum_from_obj(r[1]) < 0.0);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 38: /* %residual-flodd? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(flisint((flonum_from_obj(r[1]) + 1.0) / 2.0));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 39: /* %residual-fleven? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(flisint(flonum_from_obj(r[1]) / 2.0));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 40: /* %residual-flnan? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
{ /* flnan? */
|
|
flonum_t f = flonum_from_obj(r[1]);
|
|
r[2] = obj_from_bool(f != f); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 41: /* %residual-flinfinite? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
{ /* flinfinite? */
|
|
flonum_t f = flonum_from_obj(r[1]);
|
|
r[2] = obj_from_bool(f <= -HUGE_VAL || f >= HUGE_VAL); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 42: /* %residual-flquotient k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3] = obj_from_flonum(3, flquo(flonum_from_obj(r[1]), flonum_from_obj(r[2])));
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 43: /* %residual-flremainder k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3] = obj_from_flonum(3, flrem(flonum_from_obj(r[1]), flonum_from_obj(r[2])));
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 44: /* %residual-flmodquo k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3] = obj_from_flonum(3, flmqu(flonum_from_obj(r[1]), flonum_from_obj(r[2])));
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 45: /* %residual-flmodulo k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3] = obj_from_flonum(3, flmlo(flonum_from_obj(r[1]), flonum_from_obj(r[2])));
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 46: /* %residual-flabs k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = obj_from_flonum(2, fabs(flonum_from_obj(r[1])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 47: /* %residual-flgcd k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3] = obj_from_flonum(3, flgcd(flonum_from_obj(r[1]), flonum_from_obj(r[2])));
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 48: /* %residual-flfloor k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = obj_from_flonum(2, floor(flonum_from_obj(r[1])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 49: /* %residual-flceiling k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = obj_from_flonum(2, ceil(flonum_from_obj(r[1])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 50: /* %residual-fltruncate k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
{ /* fltruncate */
|
|
flonum_t x = flonum_from_obj(r[1]);
|
|
double i; modf(x, &i);
|
|
r[2] = obj_from_flonum(2, i); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 51: /* %residual-flround k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = obj_from_flonum(2, flround(flonum_from_obj(r[1])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 52: /* %residual-flsqrt k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = obj_from_flonum(2, sqrt(flonum_from_obj(r[1])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 53: /* %residual-flexp k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = obj_from_flonum(2, exp(flonum_from_obj(r[1])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 54: /* %residual-fllog k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = obj_from_flonum(2, log(flonum_from_obj(r[1])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 55: /* %residual-fllog10 k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = obj_from_flonum(2, log10(flonum_from_obj(r[1])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 56: /* %residual-flsin k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = obj_from_flonum(2, sin(flonum_from_obj(r[1])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 57: /* %residual-flcos k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = obj_from_flonum(2, cos(flonum_from_obj(r[1])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 58: /* %residual-fltan k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = obj_from_flonum(2, tan(flonum_from_obj(r[1])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 59: /* %residual-flasin k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = obj_from_flonum(2, asin(flonum_from_obj(r[1])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 60: /* %residual-flacos k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = obj_from_flonum(2, acos(flonum_from_obj(r[1])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 61: /* %residual-flexpt k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3] = obj_from_flonum(3, pow(flonum_from_obj(r[1]), flonum_from_obj(r[2])));
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 62: /* %residual-fxfl/ k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
{ /* fxfl/ */
|
|
fixnum_t x = fixnum_from_obj(r[1]), y = fixnum_from_obj(r[2]);
|
|
long i; double d;
|
|
if (0) r[3] = (0); /* to fool sfc unboxer */
|
|
else if (fxifdv(x, y, &i, &d)) r[3] = obj_from_fixnum(i);
|
|
else r[3] = obj_from_flonum(3, d); }
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 63: /* %residual-real? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (cxs__25residual_2Dreal_3F((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 64: /* %residual-integer? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (cxs__25residual_2Dinteger_3F((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 65: /* %residual-exact k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (cxs__25residual_2Dexact((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 66: /* %residual-inexact k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = ((is_flonum_obj(r[1])) ? (r[1]) : obj_from_flonum(2, (flonum_t)fixnum_from_obj(r[1])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 67: /* %residual-zero? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (cxs__25residual_2Dzero_3F((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 68: /* %residual-positive? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (cxs__25residual_2Dpositive_3F((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 69: /* %residual-negative? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (cxs__25residual_2Dnegative_3F((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 70: /* %residual-even? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (cxs__25residual_2Deven_3F((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 71: /* %residual-odd? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (cxs__25residual_2Dodd_3F((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 72: /* %residual-nan? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (cxs__25residual_2Dnan_3F((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 73: /* %residual-infinite? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (cxs__25residual_2Dinfinite_3F((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 74: /* %residual-finite? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (cxs__25residual_2Dfinite_3F((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 75: /* %residual-abs k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = ((is_fixnum_obj(r[1])) ? obj_from_fixnum(fxabs(fixnum_from_obj(r[1]))) : obj_from_flonum(2, fabs(flonum_from_obj(r[1]))));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 76: /* %residual-quotient k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
if ((is_fixnum_obj(r[1]))) {
|
|
{ const fixnum_t v10691_x = fixnum_from_obj(r[1]);
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
r[3] = obj_from_fixnum(fxquo((v10691_x), fixnum_from_obj(r[2])));
|
|
} else {
|
|
{ const flonum_t v10692_tmp = ((flonum_t)(v10691_x));
|
|
r[3] = obj_from_flonum(3, flquo((v10692_tmp), flonum_from_obj(r[2]))); }
|
|
} }
|
|
} else {
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
{ const flonum_t v10690_tmp = ((flonum_t)fixnum_from_obj(r[2]));
|
|
r[3] = obj_from_flonum(3, flquo(flonum_from_obj(r[1]), (v10690_tmp))); }
|
|
} else {
|
|
r[3] = obj_from_flonum(3, flquo(flonum_from_obj(r[1]), flonum_from_obj(r[2])));
|
|
}
|
|
}
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 77: /* %residual-remainder k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
if ((is_fixnum_obj(r[1]))) {
|
|
{ const fixnum_t v10688_x = fixnum_from_obj(r[1]);
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
r[3] = obj_from_fixnum(fxrem((v10688_x), fixnum_from_obj(r[2])));
|
|
} else {
|
|
{ const flonum_t v10689_tmp = ((flonum_t)(v10688_x));
|
|
r[3] = obj_from_flonum(3, flrem((v10689_tmp), flonum_from_obj(r[2]))); }
|
|
} }
|
|
} else {
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
{ const flonum_t v10687_tmp = ((flonum_t)fixnum_from_obj(r[2]));
|
|
r[3] = obj_from_flonum(3, flrem(flonum_from_obj(r[1]), (v10687_tmp))); }
|
|
} else {
|
|
r[3] = obj_from_flonum(3, flrem(flonum_from_obj(r[1]), flonum_from_obj(r[2])));
|
|
}
|
|
}
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 78: /* %residual-modquo k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
if ((is_fixnum_obj(r[1]))) {
|
|
{ const fixnum_t v10685_x = fixnum_from_obj(r[1]);
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
r[3] = obj_from_fixnum(fxmqu((v10685_x), fixnum_from_obj(r[2])));
|
|
} else {
|
|
{ const flonum_t v10686_tmp = ((flonum_t)(v10685_x));
|
|
r[3] = obj_from_flonum(3, flmqu((v10686_tmp), flonum_from_obj(r[2]))); }
|
|
} }
|
|
} else {
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
{ const flonum_t v10684_tmp = ((flonum_t)fixnum_from_obj(r[2]));
|
|
r[3] = obj_from_flonum(3, flmqu(flonum_from_obj(r[1]), (v10684_tmp))); }
|
|
} else {
|
|
r[3] = obj_from_flonum(3, flmqu(flonum_from_obj(r[1]), flonum_from_obj(r[2])));
|
|
}
|
|
}
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 79: /* %residual-modulo k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
if ((is_fixnum_obj(r[1]))) {
|
|
{ const fixnum_t v10682_x = fixnum_from_obj(r[1]);
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
r[3] = obj_from_fixnum(fxmlo((v10682_x), fixnum_from_obj(r[2])));
|
|
} else {
|
|
{ const flonum_t v10683_tmp = ((flonum_t)(v10682_x));
|
|
r[3] = obj_from_flonum(3, flmlo((v10683_tmp), flonum_from_obj(r[2]))); }
|
|
} }
|
|
} else {
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
{ const flonum_t v10681_tmp = ((flonum_t)fixnum_from_obj(r[2]));
|
|
r[3] = obj_from_flonum(3, flmlo(flonum_from_obj(r[1]), (v10681_tmp))); }
|
|
} else {
|
|
r[3] = obj_from_flonum(3, flmlo(flonum_from_obj(r[1]), flonum_from_obj(r[2])));
|
|
}
|
|
}
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 80: /* lcm/2 k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
gs_lcm_2F2: /* k x y */
|
|
if ((is_fixnum_obj(r[1]))) {
|
|
{ const fixnum_t v10673_x = fixnum_from_obj(r[1]);
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
r[3] = obj_from_fixnum(fxgcd((v10673_x), fixnum_from_obj(r[2])));
|
|
} else {
|
|
{ const flonum_t v10674_tmp = ((flonum_t)(v10673_x));
|
|
r[3] = obj_from_flonum(3, flgcd((v10674_tmp), flonum_from_obj(r[2]))); }
|
|
} }
|
|
} else {
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
{ const flonum_t v10672_tmp = ((flonum_t)fixnum_from_obj(r[2]));
|
|
r[3] = obj_from_flonum(3, flgcd(flonum_from_obj(r[1]), (v10672_tmp))); }
|
|
} else {
|
|
r[3] = obj_from_flonum(3, flgcd(flonum_from_obj(r[1]), flonum_from_obj(r[2])));
|
|
}
|
|
}
|
|
if (((is_fixnum_obj(r[3])) ? (fixnum_from_obj(r[3]) == 0) : (flonum_from_obj(r[3]) == 0.0))) {
|
|
/* r[3] */
|
|
} else {
|
|
r[4] = ((is_fixnum_obj(r[1])) ? obj_from_fixnum(fxabs(fixnum_from_obj(r[1]))) : obj_from_flonum(4, fabs(flonum_from_obj(r[1]))));
|
|
if ((is_fixnum_obj(r[4]))) {
|
|
{ const fixnum_t v10676_a = fixnum_from_obj(r[4]);
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
r[4] = obj_from_fixnum(fxquo((v10676_a), fixnum_from_obj(r[3])));
|
|
} else {
|
|
{ const flonum_t v10677_tmp = ((flonum_t)(v10676_a));
|
|
r[4] = obj_from_flonum(5, flquo((v10677_tmp), flonum_from_obj(r[3]))); }
|
|
} }
|
|
} else {
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
{ const flonum_t v10675_tmp = ((flonum_t)fixnum_from_obj(r[3]));
|
|
r[4] = obj_from_flonum(5, flquo(flonum_from_obj(r[4]), (v10675_tmp))); }
|
|
} else {
|
|
r[4] = obj_from_flonum(5, flquo(flonum_from_obj(r[4]), flonum_from_obj(r[3])));
|
|
}
|
|
}
|
|
r[5] = ((is_fixnum_obj(r[2])) ? obj_from_fixnum(fxabs(fixnum_from_obj(r[2]))) : obj_from_flonum(5, fabs(flonum_from_obj(r[2]))));
|
|
if ((is_fixnum_obj(r[4]))) {
|
|
{ const fixnum_t v10679_a = fixnum_from_obj(r[4]);
|
|
if ((is_fixnum_obj(r[5]))) {
|
|
r[3] = obj_from_fixnum(fxmul((v10679_a), fixnum_from_obj(r[5])));
|
|
} else {
|
|
{ const flonum_t v10680_tmp = ((flonum_t)(v10679_a));
|
|
r[3] = obj_from_flonum(6, (v10680_tmp) * flonum_from_obj(r[5])); }
|
|
} }
|
|
} else {
|
|
if ((is_fixnum_obj(r[5]))) {
|
|
{ const flonum_t v10678_tmp = ((flonum_t)fixnum_from_obj(r[5]));
|
|
r[3] = obj_from_flonum(6, flonum_from_obj(r[4]) * (v10678_tmp)); }
|
|
} else {
|
|
r[3] = obj_from_flonum(6, flonum_from_obj(r[4]) * flonum_from_obj(r[5]));
|
|
}
|
|
}
|
|
}
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 81: /* %residual-numerator k n */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k n */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (cxs__25residual_2Dnumerator((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 82: /* %residual-denominator k n */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k n */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_fixnum(+1);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 83: /* %residual-rationalize k n d */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k n d */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = (cxs__25residual_2Drationalize((r[1]), (r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 84: /* %residual-floor k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = ((is_fixnum_obj(r[1])) ? (r[1]) : obj_from_flonum(2, floor(flonum_from_obj(r[1]))));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 85: /* %residual-ceiling k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = ((is_fixnum_obj(r[1])) ? (r[1]) : obj_from_flonum(2, ceil(flonum_from_obj(r[1]))));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 86: /* %residual-truncate k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
if ((is_fixnum_obj(r[1]))) {
|
|
r[2] = r[1];
|
|
} else {
|
|
{ /* fltruncate */
|
|
flonum_t x = flonum_from_obj(r[1]);
|
|
double i; modf(x, &i);
|
|
r[2] = obj_from_flonum(2, i); }
|
|
}
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 87: /* %residual-round k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = ((is_fixnum_obj(r[1])) ? (r[1]) : obj_from_flonum(2, flround(flonum_from_obj(r[1]))));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 88: /* %residual-sqrt k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = ((is_flonum_obj(r[1])) ? (r[1]) : obj_from_flonum(2, (flonum_t)fixnum_from_obj(r[1])));
|
|
r[2] = obj_from_flonum(3, sqrt(flonum_from_obj(r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 89: /* %residual-exp k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = ((is_flonum_obj(r[1])) ? (r[1]) : obj_from_flonum(2, (flonum_t)fixnum_from_obj(r[1])));
|
|
r[2] = obj_from_flonum(3, exp(flonum_from_obj(r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 90: /* %residual-sin k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = ((is_flonum_obj(r[1])) ? (r[1]) : obj_from_flonum(2, (flonum_t)fixnum_from_obj(r[1])));
|
|
r[2] = obj_from_flonum(3, sin(flonum_from_obj(r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 91: /* %residual-cos k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = ((is_flonum_obj(r[1])) ? (r[1]) : obj_from_flonum(2, (flonum_t)fixnum_from_obj(r[1])));
|
|
r[2] = obj_from_flonum(3, cos(flonum_from_obj(r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 92: /* %residual-tan k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = ((is_flonum_obj(r[1])) ? (r[1]) : obj_from_flonum(2, (flonum_t)fixnum_from_obj(r[1])));
|
|
r[2] = obj_from_flonum(3, tan(flonum_from_obj(r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 93: /* %residual-asin k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = ((is_flonum_obj(r[1])) ? (r[1]) : obj_from_flonum(2, (flonum_t)fixnum_from_obj(r[1])));
|
|
r[2] = obj_from_flonum(3, asin(flonum_from_obj(r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 94: /* %residual-acos k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = ((is_flonum_obj(r[1])) ? (r[1]) : obj_from_flonum(2, (flonum_t)fixnum_from_obj(r[1])));
|
|
r[2] = obj_from_flonum(3, acos(flonum_from_obj(r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 95: /* %residual-expt k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
if (((is_fixnum_obj(r[1])) && ((is_fixnum_obj(r[2])) && (fixnum_from_obj(r[2]) >= (+0))))) {
|
|
r[3] = obj_from_fixnum(fxpow(fixnum_from_obj(r[1]), fixnum_from_obj(r[2])));
|
|
} else {
|
|
r[3] = ((is_flonum_obj(r[1])) ? (r[1]) : obj_from_flonum(3, (flonum_t)fixnum_from_obj(r[1])));
|
|
r[4] = ((is_flonum_obj(r[2])) ? (r[2]) : obj_from_flonum(4, (flonum_t)fixnum_from_obj(r[2])));
|
|
r[3] = obj_from_flonum(5, pow(flonum_from_obj(r[3]), flonum_from_obj(r[4])));
|
|
}
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 96: /* %residual-square k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
if ((is_fixnum_obj(r[1]))) {
|
|
if ((is_fixnum_obj(r[1]))) {
|
|
{ const fixnum_t v10671_x = fixnum_from_obj(r[1]);
|
|
r[2] = obj_from_fixnum(fxmul((v10671_x), (v10671_x))); }
|
|
} else {
|
|
{ const flonum_t v10670_tmp = ((flonum_t)fixnum_from_obj(r[1]));
|
|
r[2] = obj_from_flonum(2, (v10670_tmp) * flonum_from_obj(r[1])); }
|
|
}
|
|
} else {
|
|
if ((is_fixnum_obj(r[1]))) {
|
|
{ const flonum_t v10669_tmp = ((flonum_t)fixnum_from_obj(r[1]));
|
|
r[2] = obj_from_flonum(2, flonum_from_obj(r[1]) * (v10669_tmp)); }
|
|
} else {
|
|
r[2] = obj_from_flonum(2, flonum_from_obj(r[1]) * flonum_from_obj(r[1]));
|
|
}
|
|
}
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 97: /* %residual-char? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(is_char_obj(r[1]));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 98: /* %residual-char=? k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool(char_from_obj(r[1]) == char_from_obj(r[2]));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 99: /* %residual-char<? k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool(char_from_obj(r[1]) < char_from_obj(r[2]));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 100: /* %residual-char>? k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool(char_from_obj(r[1]) > char_from_obj(r[2]));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 101: /* %residual-char<=? k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool(char_from_obj(r[1]) <= char_from_obj(r[2]));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 102: /* %residual-char>=? k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool(char_from_obj(r[1]) >= char_from_obj(r[2]));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 103: /* %residual-char-ci=? k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool(tolower(char_from_obj(r[1])) == tolower(char_from_obj(r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 104: /* %residual-char-ci<? k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool(tolower(char_from_obj(r[1])) < tolower(char_from_obj(r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 105: /* %residual-char-ci>? k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool(tolower(char_from_obj(r[1])) > tolower(char_from_obj(r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 106: /* %residual-char-ci<=? k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool(tolower(char_from_obj(r[1])) <= tolower(char_from_obj(r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 107: /* %residual-char-ci>=? k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool(tolower(char_from_obj(r[1])) >= tolower(char_from_obj(r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 108: /* %residual-char-alphabetic? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isalpha(char_from_obj(r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 109: /* %residual-char-numeric? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isdigit(char_from_obj(r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 110: /* %residual-char-whitespace? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isspace(char_from_obj(r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 111: /* %residual-char-upper-case? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isupper(char_from_obj(r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 112: /* %residual-char-lower-case? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(islower(char_from_obj(r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 113: /* %residual-char->integer k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_fixnum((fixnum_t)char_from_obj(r[1]));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 114: /* %residual-integer->char k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_char((char_t)fixnum_from_obj(r[1]));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 115: /* %residual-char-upcase k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_char(toupper(char_from_obj(r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 116: /* %residual-char-downcase k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_char(tolower(char_from_obj(r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 117: /* %residual-string? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isstring((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 118: /* %residual-string-length k s */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k s */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_fixnum(stringlen((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 119: /* %residual-string-ref k s k */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k s k */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_char(*(unsigned char*)stringref((r[1]), fixnum_from_obj(r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 120: /* %residual-string-set! k s k c */
|
|
assert(rc == 5);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k s k c */
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = obj_from_void(*stringref((r[1]), fixnum_from_obj(r[2])) = char_from_obj(r[3]));
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 121: /* %residual-string=? k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool(strcmp(stringchars((r[1])), stringchars((r[2]))) == 0);
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 122: /* %residual-string<? k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool(strcmp(stringchars((r[1])), stringchars((r[2]))) < 0);
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 123: /* %residual-string>? k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool(strcmp(stringchars((r[1])), stringchars((r[2]))) > 0);
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 124: /* %residual-string<=? k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool(strcmp(stringchars((r[1])), stringchars((r[2]))) <= 0);
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 125: /* %residual-string>=? k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool(strcmp(stringchars((r[1])), stringchars((r[2]))) >= 0);
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 126: /* %residual-string-ci=? k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool(strcmp_ci(stringchars((r[1])), stringchars((r[2]))) == 0);
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 127: /* %residual-string-ci<? k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool(strcmp_ci(stringchars((r[1])), stringchars((r[2]))) < 0);
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 128: /* %residual-string-ci>? k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool(strcmp_ci(stringchars((r[1])), stringchars((r[2]))) > 0);
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 129: /* %residual-string-ci<=? k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool(strcmp_ci(stringchars((r[1])), stringchars((r[2]))) <= 0);
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 130: /* %residual-string-ci>=? k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool(strcmp_ci(stringchars((r[1])), stringchars((r[2]))) >= 0);
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 131: /* %residual-substring k s start end */
|
|
assert(rc == 5);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k s start end */
|
|
{ /* substring */
|
|
int *d = substring(stringdata((r[1])), fixnum_from_obj(r[2]), fixnum_from_obj(r[3]));
|
|
r[4] = (hpushstr(4, d)); }
|
|
r[5+0] = r[0];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = obj_from_ktrap();
|
|
r[5+2] = r[4];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 132: /* %residual-string-append/2 k s1 s2 */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k s1 s2 */
|
|
{ /* string-append */
|
|
int *d = stringcat(stringdata((r[1])), stringdata((r[2])));
|
|
r[3] = (hpushstr(3, d)); }
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 133: /* %residual-string-copy k s */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k s */
|
|
{ /* string-copy */
|
|
int *d = dupstring(stringdata((r[1])));
|
|
r[2] = (hpushstr(2, d)); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 134: /* %residual-string-fill! k s c */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k s c */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_void(stringfill(stringdata((r[1])), char_from_obj(r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 135: /* %residual-string-position k c s */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k c s */
|
|
{ /* string-position */
|
|
char *s = stringchars((r[2])), *p = strchr(s, char_from_obj(r[1]));
|
|
if (p) r[3] = obj_from_fixnum(p-s); else r[3] = obj_from_bool(0); }
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 136: /* %residual-vector? k o */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k o */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isvector((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 137: /* %residual-make-vector k n i */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k n i */
|
|
{ /* make-vector */
|
|
obj o; int i = 0, c = fixnum_from_obj(r[1]);
|
|
hreserve(hbsz(c+1), 3); /* 3 live regs */
|
|
o = r[2]; /* gc-safe */
|
|
while (i++ < c) *--hp = o;
|
|
*--hp = obj_from_size(VECTOR_BTAG);
|
|
r[3] = (hendblk(c+1)); }
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 138: /* %residual-vector-length k v */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k v */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_fixnum(vectorlen((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 139: /* %residual-vector-ref k v i */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k v i */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = (vectorref((r[1]), fixnum_from_obj(r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 140: /* %residual-vector-set! k v i x */
|
|
assert(rc == 5);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k v i x */
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = obj_from_void(vectorref((r[1]), fixnum_from_obj(r[2])) = (r[3]));
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 141: /* vector-fill! k v x */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k v x */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = (cxs_vector_2Dfill_21((r[1]), (r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 142: /* %residual-byte? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(is_byte_obj((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 143: /* %residual-bytevector? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isbytevector((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 144: /* %residual-bytevector-length k bv */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k bv */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_fixnum(bytevectorlen((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 145: /* %residual-bytevector-u8-ref k bv k */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k bv k */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_fixnum(*bytevectorref((r[1]), fixnum_from_obj(r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 146: /* %residual-bytevector-u8-set! k bv k b */
|
|
assert(rc == 5);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k bv k b */
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = obj_from_void(*bytevectorref((r[1]), fixnum_from_obj(r[2])) = byte_from_fixnum(fixnum_from_obj(r[3])));
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 147: /* %residual-bytevector=? k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool(bytevectoreq(bytevectordata((r[1])), bytevectordata((r[2]))));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 148: /* %residual-subbytevector k bv start end */
|
|
assert(rc == 5);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k bv start end */
|
|
{ /* subbytevector */
|
|
int *d = subbytevector(bytevectordata((r[1])), fixnum_from_obj(r[2]), fixnum_from_obj(r[3]));
|
|
r[4] = (hpushu8v(4, d)); }
|
|
r[5+0] = r[0];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = obj_from_ktrap();
|
|
r[5+2] = r[4];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 149: /* %residual-box? k o */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k o */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isbox((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 150: /* %residual-box k o */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k o */
|
|
{ /* box */
|
|
hreserve(hbsz(2), 2); /* 2 live regs */
|
|
*--hp = r[1];
|
|
*--hp = obj_from_size(BOX_BTAG);
|
|
r[2] = (hendblk(2)); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 151: /* %residual-unbox k b */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k b */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (boxref((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 152: /* %residual-set-box! k b o */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k b o */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_void(boxref((r[1])) = (r[2]));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 153: /* %residual-null? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isnull((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 154: /* %residual-pair? k o */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k o */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(ispair((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 155: /* %residual-atom? k o */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k o */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(!ispair((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 156: /* %residual-list? k o */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k o */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(islist((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 157: /* %residual-cons k a d */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k a d */
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = r[1];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[3] = (hendblk(3)); }
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 158: /* %residual-car k p */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k p */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (car((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 159: /* %residual-set-car! k p a */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k p a */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_void(car((r[1])) = (r[2]));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 160: /* %residual-cdr k p */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k p */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (cdr((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 161: /* %residual-set-cdr! k p d */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k p d */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_void(cdr((r[1])) = (r[2]));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 162: /* %residual-caar k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (car((r[1])));
|
|
r[2] = (car((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 163: /* %residual-cadr k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (cdr((r[1])));
|
|
r[2] = (car((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 164: /* %residual-cdar k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (car((r[1])));
|
|
r[2] = (cdr((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 165: /* %residual-cddr k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (cdr((r[1])));
|
|
r[2] = (cdr((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 166: /* %residual-caaar k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (car((r[1])));
|
|
r[2] = (car((r[2])));
|
|
r[2] = (car((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 167: /* %residual-caadr k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (cdr((r[1])));
|
|
r[2] = (car((r[2])));
|
|
r[2] = (car((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 168: /* %residual-cadar k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (car((r[1])));
|
|
r[2] = (cdr((r[2])));
|
|
r[2] = (car((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 169: /* %residual-caddr k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (cdr((r[1])));
|
|
r[2] = (cdr((r[2])));
|
|
r[2] = (car((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 170: /* %residual-cdaar k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (car((r[1])));
|
|
r[2] = (car((r[2])));
|
|
r[2] = (cdr((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 171: /* %residual-cdadr k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (cdr((r[1])));
|
|
r[2] = (car((r[2])));
|
|
r[2] = (cdr((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 172: /* %residual-cddar k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (car((r[1])));
|
|
r[2] = (cdr((r[2])));
|
|
r[2] = (cdr((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 173: /* %residual-cdddr k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (cdr((r[1])));
|
|
r[2] = (cdr((r[2])));
|
|
r[2] = (cdr((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 174: /* %residual-caaaar k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (car((r[1])));
|
|
r[2] = (car((r[2])));
|
|
r[2] = (car((r[2])));
|
|
r[2] = (car((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 175: /* %residual-caaadr k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (cdr((r[1])));
|
|
r[2] = (car((r[2])));
|
|
r[2] = (car((r[2])));
|
|
r[2] = (car((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 176: /* %residual-caadar k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (car((r[1])));
|
|
r[2] = (cdr((r[2])));
|
|
r[2] = (car((r[2])));
|
|
r[2] = (car((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 177: /* %residual-caaddr k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (cdr((r[1])));
|
|
r[2] = (cdr((r[2])));
|
|
r[2] = (car((r[2])));
|
|
r[2] = (car((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 178: /* %residual-cadaar k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (car((r[1])));
|
|
r[2] = (car((r[2])));
|
|
r[2] = (cdr((r[2])));
|
|
r[2] = (car((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 179: /* %residual-cadadr k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (cdr((r[1])));
|
|
r[2] = (car((r[2])));
|
|
r[2] = (cdr((r[2])));
|
|
r[2] = (car((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 180: /* %residual-caddar k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (car((r[1])));
|
|
r[2] = (cdr((r[2])));
|
|
r[2] = (cdr((r[2])));
|
|
r[2] = (car((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 181: /* %residual-cadddr k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (cdr((r[1])));
|
|
r[2] = (cdr((r[2])));
|
|
r[2] = (cdr((r[2])));
|
|
r[2] = (car((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 182: /* %residual-cdaaar k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (car((r[1])));
|
|
r[2] = (car((r[2])));
|
|
r[2] = (car((r[2])));
|
|
r[2] = (cdr((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 183: /* %residual-cdaadr k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (cdr((r[1])));
|
|
r[2] = (car((r[2])));
|
|
r[2] = (car((r[2])));
|
|
r[2] = (cdr((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 184: /* %residual-cdadar k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (car((r[1])));
|
|
r[2] = (cdr((r[2])));
|
|
r[2] = (car((r[2])));
|
|
r[2] = (cdr((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 185: /* %residual-cdaddr k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (cdr((r[1])));
|
|
r[2] = (cdr((r[2])));
|
|
r[2] = (car((r[2])));
|
|
r[2] = (cdr((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 186: /* %residual-cddaar k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (car((r[1])));
|
|
r[2] = (car((r[2])));
|
|
r[2] = (cdr((r[2])));
|
|
r[2] = (cdr((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 187: /* %residual-cddadr k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (cdr((r[1])));
|
|
r[2] = (car((r[2])));
|
|
r[2] = (cdr((r[2])));
|
|
r[2] = (cdr((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 188: /* %residual-cdddar k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (car((r[1])));
|
|
r[2] = (cdr((r[2])));
|
|
r[2] = (cdr((r[2])));
|
|
r[2] = (cdr((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 189: /* %residual-cddddr k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = (cdr((r[1])));
|
|
r[2] = (cdr((r[2])));
|
|
r[2] = (cdr((r[2])));
|
|
r[2] = (cdr((r[2])));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 190: /* %residual-length k l */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k l */
|
|
{ /* length */
|
|
int n; obj l = r[1];
|
|
for (n = 0; l != mknull(); ++n, l = cdr(l)) ;
|
|
r[2] = obj_from_fixnum(n); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 191: /* %residual-reverse k l */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k l */
|
|
{ fixnum_t v10668_tmp;
|
|
{ /* length */
|
|
int n; obj l = r[1];
|
|
for (n = 0; l != mknull(); ++n, l = cdr(l)) ;
|
|
v10668_tmp = (n); }
|
|
{ /* reverse */
|
|
obj l, o = mknull(); int c = (v10668_tmp);
|
|
hreserve(hbsz(3)*c, 2); /* 2 live regs */
|
|
l = r[1]; /* gc-safe */
|
|
for (; l != mknull(); l = cdr(l)) { *--hp = o; *--hp = car(l);
|
|
*--hp = obj_from_size(PAIR_BTAG); o = hendblk(3); }
|
|
r[2] = (o); } }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 192: /* %residual-reverse! k l */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k l */
|
|
{ /* reverse! */
|
|
obj t, v = mknull(), l = r[1];
|
|
while (l != mknull()) t = cdr(l), cdr(l) = v, v = l, l = t;
|
|
r[2] = (v); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 193: /* %residual-append/2 k l o */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k l o */
|
|
{ fixnum_t v10667_tmp;
|
|
{ /* length */
|
|
int n; obj l = r[1];
|
|
for (n = 0; l != mknull(); ++n, l = cdr(l)) ;
|
|
v10667_tmp = (n); }
|
|
{ /* append */
|
|
obj t, l, o, *p, *d; int c = (v10667_tmp);
|
|
hreserve(hbsz(3)*c, 3); /* 3 live regs */
|
|
l = r[1]; t = r[2]; /* gc-safe */
|
|
o = t; p = &o;
|
|
for (; l != mknull(); l = cdr(l)) {
|
|
*--hp = t; d = hp; *--hp = car(l);
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
*p = hendblk(3); p = d; }
|
|
r[3] = (o); } }
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 194: /* %residual-list-copy k l */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k l */
|
|
{ fixnum_t v10666_tmp;
|
|
{ /* length */
|
|
int n; obj l = r[1];
|
|
for (n = 0; l != mknull(); ++n, l = cdr(l)) ;
|
|
v10666_tmp = (n); }
|
|
{ /* append */
|
|
obj t, l, o, *p, *d; int c = (v10666_tmp);
|
|
hreserve(hbsz(3)*c, 2); /* 2 live regs */
|
|
l = r[1]; t = (mknull()); /* gc-safe */
|
|
o = t; p = &o;
|
|
for (; l != mknull(); l = cdr(l)) {
|
|
*--hp = t; d = hp; *--hp = car(l);
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
*p = hendblk(3); p = d; }
|
|
r[2] = (o); } }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 195: /* %residual-list-ref k l n */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k l n */
|
|
{ /* list-ref */
|
|
obj l = r[1]; int c = fixnum_from_obj(r[2]);
|
|
while (c-- > 0) l = cdr(l);
|
|
r[3] = (car(l)); }
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 196: /* %residual-list-tail k l n */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k l n */
|
|
{ /* list-tail */
|
|
obj l = r[1]; int c = fixnum_from_obj(r[2]);
|
|
while (c-- > 0) l = cdr(l);
|
|
r[3] = (l); }
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 197: /* %residual-last-pair k l */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k l */
|
|
{ /* last-pair */
|
|
obj l = (r[1]), p;
|
|
for (p = cdr(l); ispair(p); p = cdr(p)) l = p;
|
|
r[2] = (l); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 198: /* %residual-symbol? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(issymbol((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 199: /* %residual-symbol=? k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool(getsymbol((r[1])) == getsymbol((r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 200: /* %residual-make-record k rtd n */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k rtd n */
|
|
{ /* make-record */
|
|
int i = 0, c = fixnum_from_obj(r[2]);
|
|
hreserve(hbsz(c+2), 3); /* 3 live regs */
|
|
while (i++ < c) *--hp = obj_from_bool(0);
|
|
*--hp = r[1]; /* gc-safe */
|
|
*--hp = obj_from_size(RECORD_BTAG);
|
|
r[3] = (hendblk(c+2)); }
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 201: /* %residual-record-type-descriptor k r */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k r */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (recordrtd((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 202: /* %residual-record-length k r */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k r */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_fixnum(recordlen((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 203: /* %residual-record-ref k r i */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k r i */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = (recordref((r[1]), fixnum_from_obj(r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 204: /* %residual-record-set! k r i x */
|
|
assert(rc == 5);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k r i x */
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = obj_from_void(recordref((r[1]), fixnum_from_obj(r[2])) = (r[3]));
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 205: /* %residual-new-record-type k name fields */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k name fields */
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = r[1];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[3] = (hendblk(3)); }
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 206: /* %residual-symbol->string k s */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k s */
|
|
r[2] = (hpushstr(2, newstring(symbolname(getsymbol((r[1]))))));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 207: /* %residual-string->symbol k s */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k s */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (mksymbol(internsym(stringchars((r[1])))));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 208: /* fixnum->string k n r */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k n r */
|
|
{ /* fixnum->string */
|
|
char buf[35], *s = buf + sizeof(buf) - 1;
|
|
int neg = 0;
|
|
long num = fixnum_from_obj(r[1]);
|
|
long radix = fixnum_from_obj(r[2]);
|
|
if (num < 0) { neg = 1; num = -num; }
|
|
*s = 0;
|
|
do { int d = num % radix; *--s = d < 10 ? d + '0' : d - 10 + 'a'; }
|
|
while (num /= radix);
|
|
if (neg) *--s = '-';
|
|
r[3] = (hpushstr(3, newstring(s))); }
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 209: /* flonum->string k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
{ /* flonum->string */
|
|
char buf[30], *s; double d = flonum_from_obj(r[1]); sprintf(buf, "%.15g", d);
|
|
for (s = buf; *s != 0; s++) if (strchr(".eE", *s)) break;
|
|
if (d != d) strcpy(buf, "+nan.0"); else if (d <= -HUGE_VAL) strcpy(buf, "-inf.0");
|
|
else if (d >= HUGE_VAL) strcpy(buf, "+inf.0"); else if (*s == 'E') *s = 'e';
|
|
else if (*s == 0) { *s++ = '.'; *s++ = '0'; *s = 0; }
|
|
r[2] = (hpushstr(2, newstring(buf))); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 210: /* string->fixnum k s r */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k s r */
|
|
{ /* string->fixnum */
|
|
char *e, *s = stringchars((r[1]));
|
|
int radix = fixnum_from_obj(r[2]); long l;
|
|
if (s[0] == '#' && (s[1] == 'b' || s[1] == 'B')) s += 2, radix = 2;
|
|
else if (s[0] == '#' && (s[1] == 'o' || s[1] == 'O')) s += 2, radix = 8;
|
|
else if (s[0] == '#' && (s[1] == 'd' || s[1] == 'D')) s += 2, radix = 10;
|
|
else if (s[0] == '#' && (s[1] == 'x' || s[1] == 'X')) s += 2, radix = 16;
|
|
l = (errno = 0, strtol(s, &e, radix));
|
|
if (errno || l < FIXNUM_MIN || l > FIXNUM_MAX || e == s || *e) r[3] = obj_from_bool(0);
|
|
else r[3] = obj_from_fixnum(l); }
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 211: /* string->flonum k s */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k s */
|
|
{ /* string->flonum */
|
|
char *e = "", *s = stringchars((r[1])); double d; errno = 0;
|
|
if (*s != '+' && *s != '-') d = strtod(s, &e);
|
|
else if (strcmp_ci(s+1, "inf.0") == 0) d = (*s == '-' ? -HUGE_VAL : HUGE_VAL);
|
|
else if (strcmp_ci(s+1, "nan.0") == 0) d = HUGE_VAL - HUGE_VAL;
|
|
else d = strtod(s, &e);
|
|
if (errno || e == s || *e) r[2] = obj_from_bool(0);
|
|
else r[2] = obj_from_flonum(2, d); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 212: /* %residual-string->fixnum-or-flonum k s r */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k s r */
|
|
{ /* string->fixnum-or-flonum */
|
|
char *s = stringchars((r[1]));
|
|
int radix = fixnum_from_obj(r[2]); long l; double d;
|
|
if (0) r[3] = (0); /* to fool sfc unboxer */
|
|
switch (strtofxfl(s, radix, &l, &d)) {
|
|
case 'e': r[3] = obj_from_fixnum(l); break;
|
|
case 'i': r[3] = obj_from_flonum(3, d); break;
|
|
default : r[3] = obj_from_bool(0); break;
|
|
} }
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 213: /* %residual-vector->list k v */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k v */
|
|
{ /* vector->list */
|
|
obj v, l = mknull(); int c = (vectorlen((r[1])));
|
|
hreserve(hbsz(3)*c, 2); /* 2 live regs */
|
|
v = r[1]; /* gc-safe */
|
|
while (c-- > 0) { *--hp = l; *--hp = hblkref(v, 1+c);
|
|
*--hp = obj_from_size(PAIR_BTAG); l = hendblk(3); }
|
|
r[2] = (l); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 214: /* %residual-list->vector k l */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k l */
|
|
{ fixnum_t v10665_tmp;
|
|
{ /* length */
|
|
int n; obj l = r[1];
|
|
for (n = 0; l != mknull(); ++n, l = cdr(l)) ;
|
|
v10665_tmp = (n); }
|
|
{ /* list->vector */
|
|
obj l; int i, c = (v10665_tmp);
|
|
hreserve(hbsz(c+1), 2); /* 2 live regs */
|
|
l = r[1]; /* gc-safe */
|
|
for (i = 0; i < c; ++i, l = cdr(l)) hp[i-c] = car(l);
|
|
hp -= c; *--hp = obj_from_size(VECTOR_BTAG);
|
|
r[2] = (hendblk(c+1)); } }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 215: /* %residual-list->string k l */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k l */
|
|
{ fixnum_t v10664_tmp;
|
|
{ /* length */
|
|
int n; obj l = r[1];
|
|
for (n = 0; l != mknull(); ++n, l = cdr(l)) ;
|
|
v10664_tmp = (n); }
|
|
{ /* list->string */
|
|
int i, c = (v10664_tmp);
|
|
obj o = hpushstr(2, allocstring(c, ' ')); /* 2 live regs */
|
|
obj l = r[1]; /* gc-safe */
|
|
unsigned char *s = (unsigned char *)stringchars(o);
|
|
for (i = 0; i < c; ++i, l = cdr(l)) s[i] = (unsigned char)char_from_obj(car(l));
|
|
r[2] = (o); } }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 216: /* %residual-string->list k s */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k s */
|
|
{ /* string->list */
|
|
int c = (stringlen((r[1])));
|
|
unsigned char *s; obj l = mknull();
|
|
hreserve(hbsz(3)*c, 2); /* 2 live regs */
|
|
s = (unsigned char *)stringchars((r[1])); /* gc-safe */
|
|
while (c-- > 0) { *--hp = l; *--hp = obj_from_char(s[c]);
|
|
*--hp = obj_from_size(PAIR_BTAG); l = hendblk(3); }
|
|
r[2] = (l); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 217: /* %residual-list->bytevector k l */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k l */
|
|
{ fixnum_t v10663_tmp;
|
|
{ /* length */
|
|
int n; obj l = r[1];
|
|
for (n = 0; l != mknull(); ++n, l = cdr(l)) ;
|
|
v10663_tmp = (n); }
|
|
{ /* list->bytevector */
|
|
int i, c = (v10663_tmp);
|
|
obj o = hpushu8v(2, allocbytevector(c, 0)); /* 2 live regs */
|
|
obj l = r[1]; /* gc-safe */
|
|
unsigned char *s = bytevectorbytes(o);
|
|
for (i = 0; i < c; ++i, l = cdr(l)) s[i] = byte_from_obj(car(l));
|
|
r[2] = (o); } }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 218: /* %residual-bytevector->list k bv */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k bv */
|
|
{ /* bytevector->list */
|
|
int c = (bytevectorlen((r[1])));
|
|
unsigned char *s; obj l = mknull();
|
|
hreserve(hbsz(3)*c, 2); /* 2 live regs */
|
|
s = bytevectorbytes((r[1])); /* gc-safe */
|
|
while (c-- > 0) { *--hp = l; *--hp = obj_from_fixnum(s[c]);
|
|
*--hp = obj_from_size(PAIR_BTAG); l = hendblk(3); }
|
|
r[2] = (l); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 219: /* %residual-procedure? k o */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k o */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isprocedure((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 220: /* %residual-make-improper-lambda k n lam */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k n lam */
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = r[1];
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
r[3] = (hendblk(3)); }
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 221: /* %residual-make-void-continuation k k */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k k */
|
|
{ /* make-void-continuation */
|
|
hreserve(hbsz(2), 2); /* 2 live regs */
|
|
*--hp = r[1];
|
|
*--hp = obj_from_objptr(appcases+2);
|
|
r[2] = (hendblk(2)); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 222: /* %residual-make-argc-dispatch-lambda k pv */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k pv */
|
|
{ /* make-argc-dispatch-lambda */
|
|
hreserve(hbsz(2), 2); /* 2 live regs */
|
|
*--hp = r[1];
|
|
*--hp = obj_from_objptr(appcases+3);
|
|
r[2] = (hendblk(2)); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 223: /* %residual-argc-dispatch-lambda? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
{ /* argc-dispatch-lambda? */
|
|
obj x = r[1];
|
|
r[2] = obj_from_bool(isprocedure(x) && *procedureref(x, 0) == obj_from_objptr(appcases+3)); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 224: /* clo k init converter */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k init converter */
|
|
hreserve(hbsz(2+1), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = r[0];
|
|
*--hp = obj_from_case(225);
|
|
r[3] = (hendblk(2+1));
|
|
r[4+0] = r[2];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = r[3];
|
|
r[4+2] = r[1];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 225: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r k converter */
|
|
hreserve(hbsz(1), 4); /* 4 live regs */
|
|
*--hp = r[1];
|
|
r[4] = (hendblk(1));
|
|
hreserve(hbsz(2+1), 5); /* 5 live regs */
|
|
*--hp = r[4];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(226);
|
|
r[5] = (hendblk(2+1));
|
|
hreserve(hbsz(2+1), 6); /* 6 live regs */
|
|
*--hp = r[4];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(227);
|
|
r[6] = (hendblk(2+1));
|
|
hreserve(hbsz(1+1), 7); /* 7 live regs */
|
|
*--hp = r[4];
|
|
*--hp = obj_from_case(229);
|
|
r[7] = (hendblk(1+1));
|
|
{ /* make-case-lambda */
|
|
hreserve(hbsz(12+1), 8); /* 8 live regs */
|
|
*--hp = (cx__25fail_2Dlambda);
|
|
*--hp = obj_from_fixnum(FIXNUM_MAX);
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = r[5];
|
|
*--hp = obj_from_fixnum(+2);
|
|
*--hp = obj_from_fixnum(+2);
|
|
*--hp = r[6];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = r[7];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+4);
|
|
r[4] = (hendblk(12+1)); }
|
|
r[5+0] = r[2];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = obj_from_ktrap();
|
|
r[5+2] = r[4];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 226: /* clo k x s */
|
|
assert(rc == 4);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+3] = p[1];
|
|
r[1+4] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x s converter value */
|
|
if (bool_from_obj(r[2])) {
|
|
r[5+0] = r[0];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = obj_from_ktrap();
|
|
r[5+2] = (objptr_from_obj(r[4])[0] = (r[1]));
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[5+0] = r[3];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = r[0];
|
|
r[5+2] = r[1];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
|
|
case 227: /* clo k x */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x converter value */
|
|
hreserve(hbsz(2+1), 4); /* 4 live regs */
|
|
*--hp = r[3];
|
|
*--hp = r[0];
|
|
*--hp = obj_from_case(228);
|
|
r[4] = (hendblk(2+1));
|
|
r[5+0] = r[2];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = r[4];
|
|
r[5+2] = r[1];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 228: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r k value */
|
|
r[4+0] = r[2];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = (objptr_from_obj(r[3])[0] = (r[1]));
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 229: /* clo k */
|
|
assert(rc == 2);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+1] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k value */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (objptr_from_obj(r[1])[0]);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 230: /* clo k value */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k value */
|
|
hreserve(hbsz(1), 2); /* 2 live regs */
|
|
*--hp = r[1];
|
|
r[2] = (hendblk(1));
|
|
hreserve(hbsz(1+1), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(231);
|
|
r[3] = (hendblk(1+1));
|
|
hreserve(hbsz(1+1), 4); /* 4 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(232);
|
|
r[4] = (hendblk(1+1));
|
|
hreserve(hbsz(1+1), 5); /* 5 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(233);
|
|
r[5] = (hendblk(1+1));
|
|
{ /* make-case-lambda */
|
|
hreserve(hbsz(12+1), 6); /* 6 live regs */
|
|
*--hp = (cx__25fail_2Dlambda);
|
|
*--hp = obj_from_fixnum(FIXNUM_MAX);
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = r[3];
|
|
*--hp = obj_from_fixnum(+2);
|
|
*--hp = obj_from_fixnum(+2);
|
|
*--hp = r[4];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = r[5];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+4);
|
|
r[2] = (hendblk(12+1)); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 231: /* clo k x s */
|
|
assert(rc == 4);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+3] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x s value */
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = (bool_from_obj(r[2]) ? (objptr_from_obj(r[3])[0] = (r[1])) : (r[1]));
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 232: /* clo k x */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x value */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = (objptr_from_obj(r[2])[0] = (r[1]));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 233: /* clo k */
|
|
assert(rc == 2);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+1] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k value */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (objptr_from_obj(r[1])[0]);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 234: /* make-promise k proc */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k proc */
|
|
hreserve(hbsz(1), 2); /* 2 live regs */
|
|
*--hp = obj_from_bool(0);
|
|
r[2] = (hendblk(1));
|
|
hreserve(hbsz(1), 3); /* 3 live regs */
|
|
*--hp = obj_from_bool(0);
|
|
r[3] = (hendblk(1));
|
|
hreserve(hbsz(3+1), 4); /* 4 live regs */
|
|
*--hp = r[2];
|
|
*--hp = r[3];
|
|
*--hp = r[1];
|
|
*--hp = obj_from_case(235);
|
|
r[2] = (hendblk(3+1));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 235: /* clo k */
|
|
assert(rc == 2);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+1] = p[1];
|
|
r[1+2] = p[2];
|
|
r[1+3] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k proc result result-ready? */
|
|
if (bool_from_obj(objptr_from_obj(r[3])[0])) {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = (objptr_from_obj(r[2])[0]);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
hreserve(hbsz(3+1), 4); /* 4 live regs */
|
|
*--hp = r[3];
|
|
*--hp = r[2];
|
|
*--hp = r[0];
|
|
*--hp = obj_from_case(236);
|
|
r[4] = (hendblk(3+1));
|
|
r[5+0] = r[1];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = r[4];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 2;
|
|
goto jump;
|
|
}
|
|
|
|
case 236: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r k result result-ready? */
|
|
if (bool_from_obj(objptr_from_obj(r[4])[0])) {
|
|
r[5] = (objptr_from_obj(r[3])[0]);
|
|
} else {
|
|
(void)(objptr_from_obj(r[4])[0] = obj_from_bool(1));
|
|
(void)(objptr_from_obj(r[3])[0] = (r[1]));
|
|
r[5] = (objptr_from_obj(r[3])[0]);
|
|
}
|
|
r[6+0] = r[2];
|
|
pc = objptr_from_obj(r[6+0])[0];
|
|
r[6+1] = obj_from_ktrap();
|
|
r[6+2] = r[5];
|
|
r += 6; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 237: /* %residual-eof-object k */
|
|
assert(rc == 2);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k */
|
|
r[1+0] = r[0];
|
|
pc = objptr_from_obj(r[1+0])[0];
|
|
r[1+1] = obj_from_ktrap();
|
|
r[1+2] = (mkeof());
|
|
r += 1; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 238: /* %residual-eof-object? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(iseof((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 239: /* %residual-open-file* k fn mode */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k fn mode */
|
|
r[3] = ((obj)fopen(stringchars((r[1])), stringchars((r[2]))));
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 240: /* %residual-input-port? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isiport((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 241: /* close-input-port k p */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k p */
|
|
{ /* close-input-port */
|
|
obj o = r[1]; cxtype_iport_t *vt = iportvt(o); assert(vt);
|
|
vt->close(iportdata(o)); vt->free(iportdata(o));
|
|
objptr_from_obj(o)[-1] = (obj)IPORT_CLOSED_NTAG;
|
|
r[2] = obj_from_void(0); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 242: /* %residual-input-port-open? k p */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k p */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(ckiportvt((r[1])) != (cxtype_iport_t *)IPORT_CLOSED_NTAG);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 243: /* %residual-open-input-file k fn */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k fn */
|
|
r[2] = ((obj)fopen(stringchars((r[1])), stringchars((cx__23888))));
|
|
if (bool_from_obj(r[2])) {
|
|
r[3] = (mkiport_file(3, (void*)((r[2]))));
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[3];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3+0] = (cx_file_2Derror);
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = r[0];
|
|
r[3+2] = (cx__23892);
|
|
r[3+3] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
}
|
|
|
|
case 244: /* %residual-open-binary-input-file k fn */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k fn */
|
|
r[2] = ((obj)fopen(stringchars((r[1])), stringchars((cx__23896))));
|
|
if (bool_from_obj(r[2])) {
|
|
r[3] = (mkiport_file(3, (void*)((r[2]))));
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[3];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3+0] = (cx_file_2Derror);
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = r[0];
|
|
r[3+2] = (cx__23900);
|
|
r[3+3] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
}
|
|
|
|
case 245: /* %residual-open-input-string k s */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k s */
|
|
{ /* open-input-string */
|
|
int *d = dupstring(stringdata((r[1])));
|
|
r[2] = (mkiport_string(2, sialloc(sdatachars(d), d))); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 246: /* %residual-open-input-bytevector k s */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k s */
|
|
{ /* open-input-bytevector */
|
|
int *d = dupbytevector(bytevectordata((r[1])));
|
|
unsigned char *p = bvdatabytes(d), *e = p + *d;
|
|
r[2] = (mkiport_bytevector(2, bvialloc(p, e, d))); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 247: /* %residual-output-port? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isoport((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 248: /* close-output-port k p */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k p */
|
|
{ /* close-output-port */
|
|
obj o = r[1]; cxtype_oport_t *vt = oportvt(o); assert(vt);
|
|
vt->close(oportdata(o)); vt->free(oportdata(o));
|
|
objptr_from_obj(o)[-1] = (obj)OPORT_CLOSED_NTAG;
|
|
r[2] = obj_from_void(0); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 249: /* %residual-output-port-open? k p */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k p */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(ckoportvt((r[1])) != (cxtype_oport_t *)OPORT_CLOSED_NTAG);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 250: /* %residual-open-output-file k fn */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k fn */
|
|
r[2] = ((obj)fopen(stringchars((r[1])), stringchars((cx__23915))));
|
|
if (bool_from_obj(r[2])) {
|
|
r[3] = (mkoport_file(3, (void*)((r[2]))));
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[3];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3+0] = (cx_file_2Derror);
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = r[0];
|
|
r[3+2] = (cx__23919);
|
|
r[3+3] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
}
|
|
|
|
case 251: /* %residual-open-binary-output-file k fn */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k fn */
|
|
r[2] = ((obj)fopen(stringchars((r[1])), stringchars((cx__23922))));
|
|
if (bool_from_obj(r[2])) {
|
|
r[3] = (mkoport_file(3, (void*)((r[2]))));
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[3];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3+0] = (cx_file_2Derror);
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = r[0];
|
|
r[3+2] = (cx__23926);
|
|
r[3+3] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
}
|
|
|
|
case 252: /* %residual-open-output-string k */
|
|
assert(rc == 2);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k */
|
|
{ /* open-output-string */
|
|
r[1] = (mkoport_string(1, newcb())); }
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = r[1];
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 253: /* %residual-get-output-string k p */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k p */
|
|
{ /* get-output-string */
|
|
obj o = r[1]; cxtype_oport_t *vt = ckoportvt(o);
|
|
if (vt != (cxtype_oport_t *)OPORT_STRING_NTAG &&
|
|
vt != (cxtype_oport_t *)OPORT_BYTEVECTOR_NTAG) r[2] = (mkeof());
|
|
else { cbuf_t *pcb = oportdata(o);
|
|
r[2] = (hpushstr(2, newstring(cbdata(pcb)))); } }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 254: /* %residual-open-output-bytevector k */
|
|
assert(rc == 2);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k */
|
|
{ /* open-output-bytevector */
|
|
r[1] = (mkoport_bytevector(1, newcb())); }
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = r[1];
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 255: /* %residual-get-output-bytevector k p */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k p */
|
|
{ /* get-output-bytevector */
|
|
obj o = r[1]; cxtype_oport_t *vt = ckoportvt(o);
|
|
if (vt != (cxtype_oport_t *)OPORT_BYTEVECTOR_NTAG &&
|
|
vt != (cxtype_oport_t *)OPORT_STRING_NTAG) r[2] = (mkeof());
|
|
else { cbuf_t *pcb = oportdata(o); int len = (int)(pcb->fill - pcb->buf);
|
|
r[2] = (hpushu8v(2, newbytevector((unsigned char *)pcb->buf, len))); } }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 256: /* %residual-port? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (cxs__25residual_2Dport_3F((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 257: /* close-port k p */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k p */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (cxs_close_2Dport((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 258: /* call-with-input-file k fname proc */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
gs_call_2Dwith_2Dinput_2Dfile: /* k fname proc */
|
|
r[3] = ((obj)fopen(stringchars((r[1])), stringchars((cx__23888))));
|
|
if (bool_from_obj(r[3])) {
|
|
r[4] = (mkiport_file(4, (void*)((r[3]))));
|
|
/* r[0] */
|
|
r[1] = r[4];
|
|
/* r[2] */
|
|
goto gs_call_2Dwith_2Dport;
|
|
} else {
|
|
hreserve(hbsz(2+1), 4); /* 4 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(259);
|
|
r[4] = (hendblk(2+1));
|
|
r[5+0] = (cx_file_2Derror);
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = r[4];
|
|
r[5+2] = (cx__23892);
|
|
r[5+3] = r[1];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
}
|
|
|
|
case 259: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r proc k */
|
|
r[0] = r[3];
|
|
/* r[1] */
|
|
/* r[2] */
|
|
goto gs_call_2Dwith_2Dport;
|
|
|
|
case 260: /* call-with-output-file k fname proc */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
gs_call_2Dwith_2Doutput_2Dfile: /* k fname proc */
|
|
r[3] = ((obj)fopen(stringchars((r[1])), stringchars((cx__23915))));
|
|
if (bool_from_obj(r[3])) {
|
|
r[4] = (mkoport_file(4, (void*)((r[3]))));
|
|
/* r[0] */
|
|
r[1] = r[4];
|
|
/* r[2] */
|
|
goto gs_call_2Dwith_2Dport;
|
|
} else {
|
|
hreserve(hbsz(2+1), 4); /* 4 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(261);
|
|
r[4] = (hendblk(2+1));
|
|
r[5+0] = (cx_file_2Derror);
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = r[4];
|
|
r[5+2] = (cx__23919);
|
|
r[5+3] = r[1];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
}
|
|
|
|
case 261: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r proc k */
|
|
r[0] = r[3];
|
|
/* r[1] */
|
|
/* r[2] */
|
|
goto gs_call_2Dwith_2Dport;
|
|
|
|
case 262: /* with-input-from-port k port thunk */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
gs_with_2Dinput_2Dfrom_2Dport: /* k port thunk */
|
|
hreserve(hbsz(2+1), 3); /* 3 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(263);
|
|
r[3] = (hendblk(2+1));
|
|
r[4+0] = (cx__25residual_2Dcurrent_2Dinput_2Dport);
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = r[3];
|
|
r[4+2] = r[1];
|
|
r[4+3] = obj_from_bool(0);
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 263: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r thunk k */
|
|
hreserve(hbsz(3+1), 4); /* 4 live regs */
|
|
*--hp = r[3];
|
|
*--hp = r[1];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(264);
|
|
r[4] = (hendblk(3+1));
|
|
r[0] = (cx__25residual_2Dcurrent_2Dinput_2Dport);
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[4];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 2;
|
|
goto jump;
|
|
|
|
case 264: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r thunk r k */
|
|
hreserve(hbsz(1+1), 5); /* 5 live regs */
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(265);
|
|
r[5] = (hendblk(1+1));
|
|
hreserve(hbsz(1+1), 6); /* 6 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(266);
|
|
r[6] = (hendblk(1+1));
|
|
hreserve(hbsz(1+1), 7); /* 7 live regs */
|
|
*--hp = r[1];
|
|
*--hp = obj_from_case(267);
|
|
r[7] = (hendblk(1+1));
|
|
r[8+0] = r[4];
|
|
r[8+1] = r[5];
|
|
r[8+2] = r[6];
|
|
r[8+3] = r[7];
|
|
r += 8; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto gs_dynamic_2Dwind;
|
|
|
|
case 265: /* clo k */
|
|
assert(rc == 2);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+1] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k r */
|
|
r[2+0] = (cx__25residual_2Dcurrent_2Dinput_2Dport);
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = r[0];
|
|
r[2+2] = r[1];
|
|
r[2+3] = obj_from_bool(1);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 266: /* clo k */
|
|
assert(rc == 2);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+1] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k thunk */
|
|
r[2+0] = r[1];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = r[0];
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 2;
|
|
goto jump;
|
|
|
|
case 267: /* clo k */
|
|
assert(rc == 2);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+1] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k r */
|
|
r[2+0] = (cx__25residual_2Dcurrent_2Dinput_2Dport);
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = r[0];
|
|
r[2+2] = r[1];
|
|
r[2+3] = obj_from_bool(1);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 268: /* with-output-to-port k port thunk */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
gs_with_2Doutput_2Dto_2Dport: /* k port thunk */
|
|
hreserve(hbsz(2+1), 3); /* 3 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(269);
|
|
r[3] = (hendblk(2+1));
|
|
r[4+0] = (cx__25residual_2Dcurrent_2Doutput_2Dport);
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = r[3];
|
|
r[4+2] = r[1];
|
|
r[4+3] = obj_from_bool(0);
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 269: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r thunk k */
|
|
hreserve(hbsz(3+1), 4); /* 4 live regs */
|
|
*--hp = r[3];
|
|
*--hp = r[1];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(270);
|
|
r[4] = (hendblk(3+1));
|
|
r[0] = (cx__25residual_2Dcurrent_2Doutput_2Dport);
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[4];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 2;
|
|
goto jump;
|
|
|
|
case 270: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r thunk r k */
|
|
hreserve(hbsz(1+1), 5); /* 5 live regs */
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(271);
|
|
r[5] = (hendblk(1+1));
|
|
hreserve(hbsz(1+1), 6); /* 6 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(272);
|
|
r[6] = (hendblk(1+1));
|
|
hreserve(hbsz(1+1), 7); /* 7 live regs */
|
|
*--hp = r[1];
|
|
*--hp = obj_from_case(273);
|
|
r[7] = (hendblk(1+1));
|
|
r[8+0] = r[4];
|
|
r[8+1] = r[5];
|
|
r[8+2] = r[6];
|
|
r[8+3] = r[7];
|
|
r += 8; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto gs_dynamic_2Dwind;
|
|
|
|
case 271: /* clo k */
|
|
assert(rc == 2);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+1] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k r */
|
|
r[2+0] = (cx__25residual_2Dcurrent_2Doutput_2Dport);
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = r[0];
|
|
r[2+2] = r[1];
|
|
r[2+3] = obj_from_bool(1);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 272: /* clo k */
|
|
assert(rc == 2);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+1] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k thunk */
|
|
r[2+0] = r[1];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = r[0];
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 2;
|
|
goto jump;
|
|
|
|
case 273: /* clo k */
|
|
assert(rc == 2);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+1] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k r */
|
|
r[2+0] = (cx__25residual_2Dcurrent_2Doutput_2Dport);
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = r[0];
|
|
r[2+2] = r[1];
|
|
r[2+3] = obj_from_bool(1);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 274: /* with-input-from-file k fname thunk */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k fname thunk */
|
|
hreserve(hbsz(1+1), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(275);
|
|
r[3] = (hendblk(1+1));
|
|
/* r[0] */
|
|
/* r[1] */
|
|
r[2] = r[3];
|
|
goto gs_call_2Dwith_2Dinput_2Dfile;
|
|
|
|
case 275: /* clo k p */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k p thunk */
|
|
/* r[0] */
|
|
/* r[1] */
|
|
/* r[2] */
|
|
goto gs_with_2Dinput_2Dfrom_2Dport;
|
|
|
|
case 276: /* with-output-to-file k fname thunk */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k fname thunk */
|
|
hreserve(hbsz(1+1), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(277);
|
|
r[3] = (hendblk(1+1));
|
|
/* r[0] */
|
|
/* r[1] */
|
|
r[2] = r[3];
|
|
goto gs_call_2Dwith_2Doutput_2Dfile;
|
|
|
|
case 277: /* clo k p */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k p thunk */
|
|
/* r[0] */
|
|
/* r[1] */
|
|
/* r[2] */
|
|
goto gs_with_2Doutput_2Dto_2Dport;
|
|
|
|
case 278: /* %residual-circular? k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(iscircular((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 279: /* %residual-eq? k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool((r[1]) == (r[2]));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 280: /* %residual-eqv? k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = (cxs__25residual_2Deqv_3F((r[1]), (r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 281: /* %residual-equal? k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool(isequal((r[1]), (r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 282: /* %residual-memq k x l */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x l */
|
|
{ /* memq */
|
|
obj x = (r[1]), l = r[2];
|
|
for (; l != mknull(); l = cdr(l)) if (car(l) == x) break;
|
|
r[3] = (l == mknull() ? obj_from_bool(0) : l); }
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 283: /* %residual-memv k x l */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x l */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = (ismemv((r[1]), (r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 284: /* %residual-member k x l */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x l */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = (ismember((r[1]), (r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 285: /* %residual-assq k x l */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x l */
|
|
{ /* assq */
|
|
obj x = (r[1]), l = (r[2]), p = mknull();
|
|
for (; l != mknull(); l = cdr(l)) { p = car(l); if (car(p) == x) break; }
|
|
r[3] = (l == mknull() ? obj_from_bool(0) : p); }
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 286: /* %residual-assv k x l */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x l */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = (isassv((r[1]), (r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 287: /* %residual-assoc k x l */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x l */
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = (isassoc((r[1]), (r[2])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 288: /* print-error-message k prefix args ep */
|
|
assert(rc == 5);
|
|
r += 1; /* shift reg. wnd */
|
|
gs_print_2Derror_2Dmessage: /* k prefix args ep */
|
|
(void)(((isstring((r[1]))) || (issymbol((r[1])))) ? (void)(oportputs(stringchars((r[1])), (r[3]))) : (void)(oportputs(stringchars((cx__231054)), (r[3]))));
|
|
hreserve(hbsz(2+1), 4); /* 4 live regs */
|
|
*--hp = r[3];
|
|
*--hp = r[0];
|
|
*--hp = obj_from_case(289);
|
|
r[4] = (hendblk(2+1));
|
|
r[0] = r[4];
|
|
r[1] = r[2];
|
|
r[2] = r[3];
|
|
goto s_pr_2Dwhere;
|
|
|
|
case 289: /* clo ek . */
|
|
assert(rc >= 2);
|
|
r[2] = obj_from_void(0); /* ignored */
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek . k ep */
|
|
r[0] = r[2];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_void(oportputc('\n', (r[3])));
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
s_pr_2Drest: /* k args ep */
|
|
if ((ispair((r[1])))) {
|
|
(void)(oportputc((' '), (r[2])));
|
|
r[3] = (car((r[1])));
|
|
(void)(oportputcircular((r[3]), (r[2]), 0));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
/* r[2] */
|
|
goto s_pr_2Drest;
|
|
} else {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_void(0);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
|
|
s_pr_2Dmsg: /* k args ep */
|
|
if ((ispair((r[1])))) {
|
|
r[3] = (car((r[1])));
|
|
r[3] = obj_from_bool(isstring((r[3])));
|
|
if (bool_from_obj(r[3])) {
|
|
r[3] = (car((r[1])));
|
|
(void)(oportputcircular((r[3]), (r[2]), 1));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
/* r[2] */
|
|
goto s_pr_2Drest;
|
|
} else {
|
|
/* r[0] */
|
|
/* r[1] */
|
|
/* r[2] */
|
|
goto s_pr_2Drest;
|
|
}
|
|
} else {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_void(0);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
|
|
s_pr_2Dwhere: /* k args ep */
|
|
if ((ispair((r[1])))) {
|
|
r[3] = (car((r[1])));
|
|
r[3] = obj_from_bool(!bool_from_obj(r[3]));
|
|
if (bool_from_obj(r[3])) {
|
|
(void)(oportputs(stringchars((cx__231039)), (r[2])));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
/* r[2] */
|
|
goto s_pr_2Dmsg;
|
|
} else {
|
|
r[3] = (car((r[1])));
|
|
r[3] = obj_from_bool(issymbol((r[3])));
|
|
if (bool_from_obj(r[3])) {
|
|
(void)(oportputs(stringchars((cx__231043)), (r[2])));
|
|
r[3] = (car((r[1])));
|
|
(void)(oportputcircular((r[3]), (r[2]), 0));
|
|
(void)(oportputs(stringchars((cx__231039)), (r[2])));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
/* r[2] */
|
|
goto s_pr_2Dmsg;
|
|
} else {
|
|
(void)(oportputs(stringchars((cx__231039)), (r[2])));
|
|
/* r[0] */
|
|
/* r[1] */
|
|
/* r[2] */
|
|
goto s_pr_2Dmsg;
|
|
}
|
|
}
|
|
} else {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_void(0);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
|
|
case 290: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
r[2] = (cx__2Acurrent_2Derror_2Dport_2A);
|
|
(void)(oportputc('\n', (r[2])));
|
|
hreserve(hbsz(1+1), 3); /* 3 live regs */
|
|
*--hp = r[0];
|
|
*--hp = obj_from_case(291);
|
|
r[3] = (hendblk(1+1));
|
|
r[4+0] = r[3];
|
|
r[4+1] = (cx__231054);
|
|
r[4+2] = r[1];
|
|
r[4+3] = r[2];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto gs_print_2Derror_2Dmessage;
|
|
|
|
case 291: /* clo ek . */
|
|
assert(rc >= 2);
|
|
r[2] = obj_from_void(0); /* ignored */
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek . k */
|
|
r[0] = (cx_reset);
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[2];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 2;
|
|
goto jump;
|
|
|
|
case 292: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
r[2] = (cx__2Acurrent_2Derror_2Dport_2A);
|
|
(void)(oportputc('\n', (r[2])));
|
|
hreserve(hbsz(1+1), 3); /* 3 live regs */
|
|
*--hp = r[0];
|
|
*--hp = obj_from_case(293);
|
|
r[3] = (hendblk(1+1));
|
|
r[4+0] = r[3];
|
|
r[4+1] = (cx__231078);
|
|
r[4+2] = r[1];
|
|
r[4+3] = r[2];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto gs_print_2Derror_2Dmessage;
|
|
|
|
case 293: /* clo ek . */
|
|
assert(rc >= 2);
|
|
r[2] = obj_from_void(0); /* ignored */
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek . k */
|
|
{ assert(0); exit(1); r[3] = obj_from_void(0); }
|
|
r[0] = r[2];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[3];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 294: /* clo k form */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k form reader-token-marker */
|
|
if ((ispair((r[1])))) {
|
|
r[3] = (car((r[1])));
|
|
r[3] = obj_from_bool((r[3]) == (r[2]));
|
|
} else {
|
|
r[3] = obj_from_bool(0);
|
|
}
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 295: /* clo k c */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k c */
|
|
{ const char_t v10662_c = char_from_obj(r[1]);
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool((isspace((v10662_c))) || (((v10662_c) == (')')) || (((v10662_c) == ('(')) || (((v10662_c) == (']')) || (((v10662_c) == ('[')) || (((v10662_c) == (34)) || ((v10662_c) == (';'))))))));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump; }
|
|
|
|
case 296: /* clo k p in-string? */
|
|
assert(rc == 4);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+3] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k p in-string? char-delimiter? */
|
|
{ int c = iportpeekc((r[1])); r[4] = (c == EOF ? mkeof() : obj_from_char(c)); }
|
|
hreserve(hbsz(1+1), 5); /* 5 live regs */
|
|
*--hp = r[1];
|
|
*--hp = obj_from_case(297);
|
|
r[5] = (hendblk(1+1));
|
|
r[6+0] = r[0];
|
|
r[6+1] = r[4];
|
|
r[6+2] = (mknull());
|
|
r[6+3] = obj_from_fixnum(+0);
|
|
r[6+4] = r[3];
|
|
r[6+5] = r[5];
|
|
r[6+6] = r[1];
|
|
r[6+7] = r[2];
|
|
r += 6; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto s_loop;
|
|
|
|
case 297: /* clo k l */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k l p */
|
|
if ((isnull((r[1])))) {
|
|
r[3+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = r[0];
|
|
r[3+2] = (cx__231201);
|
|
r[3+3] = (mksymbol(internsym("port:")));
|
|
r[3+4] = (r[2]);
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 5;
|
|
goto jump;
|
|
} else {
|
|
{ /* reverse! */
|
|
obj t, v = mknull(), l = r[1];
|
|
while (l != mknull()) t = cdr(l), cdr(l) = v, v = l, l = t;
|
|
r[3] = (v); }
|
|
{ fixnum_t v10661_tmp;
|
|
{ /* length */
|
|
int n; obj l = r[3];
|
|
for (n = 0; l != mknull(); ++n, l = cdr(l)) ;
|
|
v10661_tmp = (n); }
|
|
{ /* list->string */
|
|
int i, c = (v10661_tmp);
|
|
obj o = hpushstr(4, allocstring(c, ' ')); /* 4 live regs */
|
|
obj l = r[3]; /* gc-safe */
|
|
unsigned char *s = (unsigned char *)stringchars(o);
|
|
for (i = 0; i < c; ++i, l = cdr(l)) s[i] = (unsigned char)char_from_obj(car(l));
|
|
r[3] = (o); } }
|
|
{ /* string->fixnum */
|
|
char *e, *s = stringchars((r[3]));
|
|
int radix = (+16); long l;
|
|
if (s[0] == '#' && (s[1] == 'b' || s[1] == 'B')) s += 2, radix = 2;
|
|
else if (s[0] == '#' && (s[1] == 'o' || s[1] == 'O')) s += 2, radix = 8;
|
|
else if (s[0] == '#' && (s[1] == 'd' || s[1] == 'D')) s += 2, radix = 10;
|
|
else if (s[0] == '#' && (s[1] == 'x' || s[1] == 'X')) s += 2, radix = 16;
|
|
l = (errno = 0, strtol(s, &e, radix));
|
|
if (errno || l < FIXNUM_MIN || l > FIXNUM_MAX || e == s || *e) r[3] = obj_from_bool(0);
|
|
else r[3] = obj_from_fixnum(l); }
|
|
r[3] = obj_from_char((char_t)fixnum_from_obj(r[3]));
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
|
|
case 298: /* clo k c l cc */
|
|
assert(rc == 5);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+4] = p[1];
|
|
r[1+5] = p[2];
|
|
r[1+6] = p[3];
|
|
r[1+7] = p[4]; }
|
|
r += 1; /* shift reg. wnd */
|
|
s_loop: /* k c l cc char-delimiter? rev-digits->char p in-string? */
|
|
if ((iseof((r[1])))) {
|
|
if (bool_from_obj(r[7])) {
|
|
r[8+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[8+0])[0];
|
|
r[8+1] = r[0];
|
|
r[8+2] = (cx__231231);
|
|
r[8+3] = (mksymbol(internsym("port:")));
|
|
r[8+4] = (r[6]);
|
|
r += 8; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 5;
|
|
goto jump;
|
|
} else {
|
|
r[8+0] = r[5];
|
|
pc = objptr_from_obj(r[8+0])[0];
|
|
r[8+1] = r[0];
|
|
r[8+2] = r[2];
|
|
r += 8; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
} else {
|
|
if ((bool_from_obj(r[7]) && (char_from_obj(r[1]) == (';')))) {
|
|
{ int c = iportgetc((r[6])); (void)(c == EOF ? mkeof() : obj_from_char(c)); }
|
|
r[8+0] = r[5];
|
|
pc = objptr_from_obj(r[8+0])[0];
|
|
r[8+1] = r[0];
|
|
r[8+2] = r[2];
|
|
r += 8; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
hreserve(hbsz(4+1), 8); /* 8 live regs */
|
|
*--hp = r[7];
|
|
*--hp = r[6];
|
|
*--hp = r[5];
|
|
*--hp = r[4];
|
|
*--hp = obj_from_case(298);
|
|
r[8] = (hendblk(4+1));
|
|
hreserve(hbsz(7+1), 9); /* 9 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[2];
|
|
*--hp = r[5];
|
|
*--hp = r[1];
|
|
*--hp = r[6];
|
|
*--hp = r[3];
|
|
*--hp = r[8];
|
|
*--hp = obj_from_case(299);
|
|
r[8] = (hendblk(7+1));
|
|
if ((!bool_from_obj(r[7]))) {
|
|
r[9+0] = r[4];
|
|
pc = objptr_from_obj(r[9+0])[0];
|
|
r[9+1] = r[8];
|
|
r[9+2] = r[1];
|
|
r += 9; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
hreserve(hbsz(4+1), 9); /* 9 live regs */
|
|
*--hp = r[7];
|
|
*--hp = r[6];
|
|
*--hp = r[5];
|
|
*--hp = r[4];
|
|
*--hp = obj_from_case(298);
|
|
r[9] = (hendblk(4+1));
|
|
r[10+0] = obj_from_ktrap();
|
|
r[10+1] = obj_from_bool(0);
|
|
r[10+2] = r[9];
|
|
r[10+3] = r[3];
|
|
r[10+4] = r[6];
|
|
r[10+5] = r[1];
|
|
r[10+6] = r[5];
|
|
r[10+7] = r[2];
|
|
r[10+8] = r[0];
|
|
r += 10; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto s_l_v8575;
|
|
}
|
|
}
|
|
}
|
|
|
|
case 299: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3];
|
|
r[1+5] = p[4];
|
|
r[1+6] = p[5];
|
|
r[1+7] = p[6];
|
|
r[1+8] = p[7]; }
|
|
r += 1; /* shift reg. wnd */
|
|
s_l_v8575: /* ek r loop cc p c rev-digits->char l k */
|
|
if (bool_from_obj(r[1])) {
|
|
r[0] = r[6];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[8];
|
|
r[2] = r[7];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
{ const fixnum_t v10660_scalar_2Dvalue = ((fixnum_t)char_from_obj(r[5]));
|
|
r[9] = obj_from_bool(((v10660_scalar_2Dvalue) >= (+48)) && ((v10660_scalar_2Dvalue) <= (+57)));
|
|
if (bool_from_obj(r[9])) {
|
|
/* r[9] */
|
|
} else {
|
|
r[10] = obj_from_bool(((v10660_scalar_2Dvalue) >= (+65)) && ((v10660_scalar_2Dvalue) <= (+70)));
|
|
r[9] = (bool_from_obj(r[10]) ? (r[10]) : obj_from_bool(((v10660_scalar_2Dvalue) >= (+97)) && ((v10660_scalar_2Dvalue) <= (+102))));
|
|
} }
|
|
r[9] = obj_from_bool(!bool_from_obj(r[9]));
|
|
if (bool_from_obj(r[9])) {
|
|
r[9+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[9+0])[0];
|
|
r[9+1] = r[8];
|
|
r[9+2] = (cx__231225);
|
|
r[9+3] = r[5];
|
|
r[9+4] = (mksymbol(internsym("port:")));
|
|
r[9+5] = (r[4]);
|
|
r += 9; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 6;
|
|
goto jump;
|
|
} else {
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
r[9] = obj_from_bool(fixnum_from_obj(r[3]) > (+2));
|
|
} else {
|
|
{ const flonum_t v10659_tmp = ((flonum_t)(+2));
|
|
r[9] = obj_from_bool(flonum_from_obj(r[3]) > (v10659_tmp)); }
|
|
}
|
|
if (bool_from_obj(r[9])) {
|
|
r[0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[8];
|
|
r[2] = (cx__231217);
|
|
r[3] = (mksymbol(internsym("port:")));
|
|
r[4] = (r[4]);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 5;
|
|
goto jump;
|
|
} else {
|
|
{ int c = iportgetc((r[4])); (void)(c == EOF ? mkeof() : obj_from_char(c)); }
|
|
{ int c = iportpeekc((r[4])); r[9] = (c == EOF ? mkeof() : obj_from_char(c)); }
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 10); /* 10 live regs */
|
|
*--hp = r[7];
|
|
*--hp = r[5];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[10] = (hendblk(3)); }
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
r[11] = obj_from_fixnum(fxadd(fixnum_from_obj(r[3]), (+1)));
|
|
} else {
|
|
{ const flonum_t v10658_tmp = ((flonum_t)(+1));
|
|
r[11] = obj_from_flonum(11, flonum_from_obj(r[3]) + (v10658_tmp)); }
|
|
}
|
|
r[12+0] = r[2];
|
|
pc = objptr_from_obj(r[12+0])[0];
|
|
r[12+1] = r[8];
|
|
r[12+2] = r[9];
|
|
r[12+3] = (r[10]);
|
|
r[12+4] = (r[11]);
|
|
r += 12; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 5;
|
|
goto jump;
|
|
}
|
|
}
|
|
}
|
|
|
|
case 300: /* clo k c p */
|
|
assert(rc == 4);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+3] = p[1];
|
|
r[1+4] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k c p char-delimiter? dot */
|
|
{ int c = iportpeekc((r[2])); r[5] = (c == EOF ? mkeof() : obj_from_char(c)); }
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 6); /* 6 live regs */
|
|
*--hp = (mknull());
|
|
*--hp = r[1];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[6] = (hendblk(3)); }
|
|
r[7+0] = r[0];
|
|
r[7+1] = r[5];
|
|
r[7+2] = r[6];
|
|
r[7+3] = obj_from_bool(char_from_obj(r[1]) == ('#'));
|
|
r[7+4] = r[3];
|
|
r[7+5] = r[2];
|
|
r[7+6] = r[4];
|
|
r += 7; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto s_loop_v8550;
|
|
|
|
case 301: /* clo k c l hash? */
|
|
assert(rc == 5);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+4] = p[1];
|
|
r[1+5] = p[2];
|
|
r[1+6] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
s_loop_v8550: /* k c l hash? char-delimiter? p dot */
|
|
hreserve(hbsz(3+1), 7); /* 7 live regs */
|
|
*--hp = r[6];
|
|
*--hp = r[5];
|
|
*--hp = r[4];
|
|
*--hp = obj_from_case(301);
|
|
r[7] = (hendblk(3+1));
|
|
hreserve(hbsz(7+1), 8); /* 8 live regs */
|
|
*--hp = r[2];
|
|
*--hp = r[3];
|
|
*--hp = r[6];
|
|
*--hp = r[0];
|
|
*--hp = r[5];
|
|
*--hp = r[1];
|
|
*--hp = r[7];
|
|
*--hp = obj_from_case(302);
|
|
r[7] = (hendblk(7+1));
|
|
if ((iseof((r[1])))) {
|
|
hreserve(hbsz(3+1), 8); /* 8 live regs */
|
|
*--hp = r[6];
|
|
*--hp = r[5];
|
|
*--hp = r[4];
|
|
*--hp = obj_from_case(301);
|
|
r[8] = (hendblk(3+1));
|
|
r[9+0] = obj_from_ktrap();
|
|
r[9+1] = obj_from_bool(iseof((r[1])));
|
|
r[9+2] = r[8];
|
|
r[9+3] = r[1];
|
|
r[9+4] = r[5];
|
|
r[9+5] = r[0];
|
|
r[9+6] = r[6];
|
|
r[9+7] = r[3];
|
|
r[9+8] = r[2];
|
|
r += 9; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto s_l_v8552;
|
|
} else {
|
|
r[8+0] = r[4];
|
|
pc = objptr_from_obj(r[8+0])[0];
|
|
r[8+1] = r[7];
|
|
r[8+2] = r[1];
|
|
r += 8; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
|
|
case 302: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3];
|
|
r[1+5] = p[4];
|
|
r[1+6] = p[5];
|
|
r[1+7] = p[6];
|
|
r[1+8] = p[7]; }
|
|
r += 1; /* shift reg. wnd */
|
|
s_l_v8552: /* ek r loop c p k dot hash? l */
|
|
if (bool_from_obj(r[1])) {
|
|
{ /* reverse! */
|
|
obj t, v = mknull(), l = r[8];
|
|
while (l != mknull()) t = cdr(l), cdr(l) = v, v = l, l = t;
|
|
r[9] = (v); }
|
|
r[10] = (car((r[9])));
|
|
{ fixnum_t v10655_tmp;
|
|
{ /* length */
|
|
int n; obj l = r[9];
|
|
for (n = 0; l != mknull(); ++n, l = cdr(l)) ;
|
|
v10655_tmp = (n); }
|
|
{ /* list->string */
|
|
int i, c = (v10655_tmp);
|
|
obj o = hpushstr(11, allocstring(c, ' ')); /* 11 live regs */
|
|
obj l = r[9]; /* gc-safe */
|
|
unsigned char *s = (unsigned char *)stringchars(o);
|
|
for (i = 0; i < c; ++i, l = cdr(l)) s[i] = (unsigned char)char_from_obj(car(l));
|
|
r[11] = (o); } }
|
|
if (bool_from_obj(bool_from_obj(r[7]) ? (r[7]) : obj_from_bool((isdigit(char_from_obj(r[10]))) || ((char_from_obj(r[10]) == ('+')) || ((char_from_obj(r[10]) == ('-')) || (char_from_obj(r[10]) == ('.'))))))) {
|
|
if ((strcmp(stringchars((r[11])), stringchars((cx__231174))) == 0)) {
|
|
r[0] = r[5];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[6];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[12] = obj_from_bool(strcmp(stringchars((r[11])), stringchars((cx__231163))) == 0);
|
|
if (bool_from_obj(r[12])) {
|
|
r[12] = (r[12]);
|
|
} else {
|
|
r[13] = obj_from_bool(strcmp(stringchars((r[11])), stringchars((cx__231167))) == 0);
|
|
r[12] = (bool_from_obj(r[13]) ? (r[13]) : obj_from_bool(strcmp(stringchars((r[11])), stringchars((cx__231171))) == 0));
|
|
}
|
|
if (bool_from_obj(r[12])) {
|
|
r[0] = r[5];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = (mksymbol(internsym(stringchars((r[11])))));
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
if ((!bool_from_obj(r[7]))) {
|
|
if (((stringlen((r[11]))) >= (+2))) {
|
|
{ const char_t v10657_tmp = (*(unsigned char*)stringref((r[11]), (+0)));
|
|
r[12] = obj_from_bool((v10657_tmp) == ('-')); }
|
|
if (bool_from_obj(r[12])) {
|
|
{ const char_t v10656_tmp = (*(unsigned char*)stringref((r[11]), (+1)));
|
|
r[12] = obj_from_bool((v10656_tmp) == ('>')); }
|
|
} else {
|
|
r[12] = obj_from_bool(0);
|
|
}
|
|
} else {
|
|
r[12] = obj_from_bool(0);
|
|
}
|
|
} else {
|
|
r[12] = obj_from_bool(0);
|
|
}
|
|
if (bool_from_obj(r[12])) {
|
|
r[0] = r[5];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = (mksymbol(internsym(stringchars((r[11])))));
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
{ /* string->fixnum-or-flonum */
|
|
char *s = stringchars((r[11]));
|
|
int radix = (+10); long l; double d;
|
|
if (0) r[12] = (0); /* to fool sfc unboxer */
|
|
switch (strtofxfl(s, radix, &l, &d)) {
|
|
case 'e': r[12] = obj_from_fixnum(l); break;
|
|
case 'i': r[12] = obj_from_flonum(12, d); break;
|
|
default : r[12] = obj_from_bool(0); break;
|
|
} }
|
|
if (bool_from_obj(r[12])) {
|
|
r[0] = r[5];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = (r[12]);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[13+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[13+0])[0];
|
|
r[13+1] = r[5];
|
|
r[13+2] = (cx__231143);
|
|
r[13+3] = (r[11]);
|
|
r[13+4] = (mksymbol(internsym("port:")));
|
|
r[13+5] = (r[4]);
|
|
r += 13; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 6;
|
|
goto jump;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
r[0] = r[5];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = (mksymbol(internsym(stringchars((r[11])))));
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
} else {
|
|
if ((char_from_obj(r[3]) == ('#'))) {
|
|
{ int c = iportgetc((r[4])); (void)(c == EOF ? mkeof() : obj_from_char(c)); }
|
|
{ int c = iportpeekc((r[4])); r[9] = (c == EOF ? mkeof() : obj_from_char(c)); }
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 10); /* 10 live regs */
|
|
*--hp = r[8];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[10] = (hendblk(3)); }
|
|
r[0] = r[2];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[5];
|
|
r[2] = r[9];
|
|
r[3] = (r[10]);
|
|
r[4] = obj_from_bool(1);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 5;
|
|
goto jump;
|
|
} else {
|
|
{ /* string-position */
|
|
char *s = stringchars((cx__231592)), *p = strchr(s, char_from_obj(r[3]));
|
|
if (p) r[9] = obj_from_fixnum(p-s); else r[9] = obj_from_bool(0); }
|
|
if (bool_from_obj(r[9])) {
|
|
{ int c = iportgetc((r[4])); (void)(c == EOF ? mkeof() : obj_from_char(c)); }
|
|
{ int c = iportpeekc((r[4])); r[9] = (c == EOF ? mkeof() : obj_from_char(c)); }
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 10); /* 10 live regs */
|
|
*--hp = r[8];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[10] = (hendblk(3)); }
|
|
r[0] = r[2];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[5];
|
|
r[2] = r[9];
|
|
r[3] = (r[10]);
|
|
r[4] = r[7];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 5;
|
|
goto jump;
|
|
} else {
|
|
r[9+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[9+0])[0];
|
|
r[9+1] = r[5];
|
|
r[9+2] = (cx__231122);
|
|
r[9+3] = r[3];
|
|
r[9+4] = (mksymbol(internsym("port:")));
|
|
r[9+5] = (r[4]);
|
|
r += 9; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 6;
|
|
goto jump;
|
|
}
|
|
}
|
|
}
|
|
|
|
case 303: /* clo k p */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k p sub-read reader-token? */
|
|
hreserve(hbsz(3+1), 4); /* 4 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[1];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(304);
|
|
r[4] = (hendblk(3+1));
|
|
r[5+0] = r[2];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = r[4];
|
|
r[5+2] = r[1];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 304: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r reader-token? p k */
|
|
hreserve(hbsz(3+1), 5); /* 5 live regs */
|
|
*--hp = r[1];
|
|
*--hp = r[4];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(305);
|
|
r[5] = (hendblk(3+1));
|
|
r[6+0] = r[2];
|
|
pc = objptr_from_obj(r[6+0])[0];
|
|
r[6+1] = r[5];
|
|
r[6+2] = r[1];
|
|
r += 6; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 305: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r p k r */
|
|
if ((!bool_from_obj(r[1]))) {
|
|
r[0] = r[3];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[4];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[5+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = r[3];
|
|
r[5+2] = (cx__231521);
|
|
r[5+3] = (cdr((r[4])));
|
|
r[5+4] = (mksymbol(internsym("port:")));
|
|
r[5+5] = (r[2]);
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 6;
|
|
goto jump;
|
|
}
|
|
|
|
s_sub_2Dread_2Dbyte_2Dlist: /* k p dot char-delimiter? sub-read-x-char-escape sub-read-number-or-symbol close-bracket close-paren reader-token? */
|
|
hreserve(hbsz(7+1), 9); /* 9 live regs */
|
|
*--hp = r[8];
|
|
*--hp = r[7];
|
|
*--hp = r[6];
|
|
*--hp = r[5];
|
|
*--hp = r[4];
|
|
*--hp = r[3];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(318);
|
|
r[9] = (hendblk(7+1));
|
|
hreserve(hbsz(5+1), 10); /* 10 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[1];
|
|
*--hp = r[7];
|
|
*--hp = r[9];
|
|
*--hp = r[8];
|
|
*--hp = obj_from_case(306);
|
|
r[10] = (hendblk(5+1));
|
|
r[0] = (r[10]);
|
|
/* r[1] */
|
|
/* r[2] */
|
|
/* r[3] */
|
|
/* r[4] */
|
|
/* r[5] */
|
|
/* r[6] */
|
|
/* r[7] */
|
|
/* r[8] */
|
|
goto s_sub_2Dread;
|
|
|
|
case 306: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3];
|
|
r[1+5] = p[4];
|
|
r[1+6] = p[5]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r reader-token? sub-read close-paren p k */
|
|
r[0] = r[6];
|
|
/* r[1] */
|
|
/* r[2] */
|
|
/* r[3] */
|
|
/* r[4] */
|
|
/* r[5] */
|
|
goto s_recur;
|
|
|
|
case 307: /* clo k form */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3];
|
|
r[1+5] = p[4]; }
|
|
r += 1; /* shift reg. wnd */
|
|
s_recur: /* k form reader-token? sub-read close-paren p */
|
|
if ((iseof((r[1])))) {
|
|
r[6+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[6+0])[0];
|
|
r[6+1] = r[0];
|
|
r[6+2] = (cx__231279);
|
|
r[6+3] = (mksymbol(internsym("port:")));
|
|
r[6+4] = (r[5]);
|
|
r += 6; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 5;
|
|
goto jump;
|
|
} else {
|
|
if (((r[1]) == (r[4]))) {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = (mknull());
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
hreserve(hbsz(4+1), 6); /* 6 live regs */
|
|
*--hp = r[5];
|
|
*--hp = r[4];
|
|
*--hp = r[3];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(307);
|
|
r[6] = (hendblk(4+1));
|
|
hreserve(hbsz(5+1), 7); /* 7 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[1];
|
|
*--hp = r[5];
|
|
*--hp = r[6];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(308);
|
|
r[6] = (hendblk(5+1));
|
|
r[7+0] = r[2];
|
|
pc = objptr_from_obj(r[7+0])[0];
|
|
r[7+1] = r[6];
|
|
r[7+2] = r[1];
|
|
r += 7; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
}
|
|
|
|
case 308: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3];
|
|
r[1+5] = p[4];
|
|
r[1+6] = p[5]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r sub-read recur p form k */
|
|
if (bool_from_obj(r[1])) {
|
|
r[7+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[7+0])[0];
|
|
r[7+1] = r[6];
|
|
r[7+2] = (cx__231276);
|
|
r[7+3] = (cdr((r[5])));
|
|
r[7+4] = (mksymbol(internsym("port:")));
|
|
r[7+5] = (r[4]);
|
|
r += 7; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 6;
|
|
goto jump;
|
|
} else {
|
|
r[7] = obj_from_bool(!(is_fixnum_obj(r[5])));
|
|
r[7] = (bool_from_obj(r[7]) ? (r[7]) : obj_from_bool((fixnum_from_obj(r[5]) < (+0)) || (fixnum_from_obj(r[5]) > (+255))));
|
|
if (bool_from_obj(r[7])) {
|
|
r[7+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[7+0])[0];
|
|
r[7+1] = r[6];
|
|
r[7+2] = (cx__231270);
|
|
r[7+3] = r[5];
|
|
r[7+4] = (mksymbol(internsym("port:")));
|
|
r[7+5] = (r[4]);
|
|
r += 7; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 6;
|
|
goto jump;
|
|
} else {
|
|
hreserve(hbsz(3+1), 7); /* 7 live regs */
|
|
*--hp = r[5];
|
|
*--hp = r[6];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(309);
|
|
r[7] = (hendblk(3+1));
|
|
r[0] = r[2];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[7];
|
|
r[2] = r[4];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
}
|
|
|
|
case 309: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r recur k form */
|
|
hreserve(hbsz(2+1), 5); /* 5 live regs */
|
|
*--hp = r[4];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(310);
|
|
r[5] = (hendblk(2+1));
|
|
r[6+0] = r[2];
|
|
pc = objptr_from_obj(r[6+0])[0];
|
|
r[6+1] = r[5];
|
|
r[6+2] = r[1];
|
|
r += 6; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 310: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r k form */
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 4); /* 4 live regs */
|
|
*--hp = r[1];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[4] = (hendblk(3)); }
|
|
r[5+0] = r[2];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = obj_from_ktrap();
|
|
r[5+2] = r[4];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
s_sub_2Dread_2Dlist: /* k c p close-token dot? dot char-delimiter? sub-read-x-char-escape sub-read-number-or-symbol close-bracket close-paren reader-token? */
|
|
hreserve(hbsz(7+1), 12); /* 12 live regs */
|
|
*--hp = (r[11]);
|
|
*--hp = (r[10]);
|
|
*--hp = r[9];
|
|
*--hp = r[8];
|
|
*--hp = r[7];
|
|
*--hp = r[6];
|
|
*--hp = r[5];
|
|
*--hp = obj_from_case(318);
|
|
r[12] = (hendblk(7+1));
|
|
hreserve(hbsz(7+1), 13); /* 13 live regs */
|
|
*--hp = (r[11]);
|
|
*--hp = (r[10]);
|
|
*--hp = r[9];
|
|
*--hp = r[8];
|
|
*--hp = r[7];
|
|
*--hp = r[6];
|
|
*--hp = r[5];
|
|
*--hp = obj_from_case(336);
|
|
r[13] = (hendblk(7+1));
|
|
hreserve(hbsz(8+1), 14); /* 14 live regs */
|
|
*--hp = r[5];
|
|
*--hp = r[0];
|
|
*--hp = r[2];
|
|
*--hp = r[3];
|
|
*--hp = r[4];
|
|
*--hp = (r[12]);
|
|
*--hp = (r[13]);
|
|
*--hp = (r[11]);
|
|
*--hp = obj_from_case(311);
|
|
r[13] = (hendblk(8+1));
|
|
r[0] = (r[13]);
|
|
r[1] = r[2];
|
|
r[2] = r[5];
|
|
r[3] = r[6];
|
|
r[4] = r[7];
|
|
r[5] = r[8];
|
|
r[6] = r[9];
|
|
r[7] = (r[10]);
|
|
r[8] = (r[11]);
|
|
goto s_sub_2Dread;
|
|
|
|
case 311: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3];
|
|
r[1+5] = p[4];
|
|
r[1+6] = p[5];
|
|
r[1+7] = p[6];
|
|
r[1+8] = p[7];
|
|
r[1+9] = p[8]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r reader-token? sub-read-carefully sub-read dot? close-token p k dot */
|
|
if (((r[1]) == (r[9]))) {
|
|
r[0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[8];
|
|
r[2] = (cx__231310);
|
|
r[3] = (mksymbol(internsym("port:")));
|
|
r[4] = (r[7]);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 5;
|
|
goto jump;
|
|
} else {
|
|
r[10+0] = r[8];
|
|
r[10+1] = r[1];
|
|
r[10+2] = r[2];
|
|
r[10+3] = r[3];
|
|
r[10+4] = r[4];
|
|
r[10+5] = r[5];
|
|
r[10+6] = r[9];
|
|
r[10+7] = r[6];
|
|
r[10+8] = r[7];
|
|
r += 10; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto s_recur_v8429;
|
|
}
|
|
|
|
case 312: /* clo k form */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3];
|
|
r[1+5] = p[4];
|
|
r[1+6] = p[5];
|
|
r[1+7] = p[6];
|
|
r[1+8] = p[7]; }
|
|
r += 1; /* shift reg. wnd */
|
|
s_recur_v8429: /* k form reader-token? sub-read-carefully sub-read dot? dot close-token p */
|
|
if ((iseof((r[1])))) {
|
|
r[9+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[9+0])[0];
|
|
r[9+1] = r[0];
|
|
r[9+2] = (cx__231305);
|
|
r[9+3] = (mksymbol(internsym("port:")));
|
|
r[9+4] = (r[8]);
|
|
r += 9; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 5;
|
|
goto jump;
|
|
} else {
|
|
if (((r[1]) == (r[7]))) {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = (mknull());
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
if (((r[1]) == (r[6]))) {
|
|
if (bool_from_obj(r[5])) {
|
|
hreserve(hbsz(4+1), 9); /* 9 live regs */
|
|
*--hp = r[7];
|
|
*--hp = r[0];
|
|
*--hp = r[8];
|
|
*--hp = r[4];
|
|
*--hp = obj_from_case(313);
|
|
r[9] = (hendblk(4+1));
|
|
r[10+0] = r[3];
|
|
pc = objptr_from_obj(r[10+0])[0];
|
|
r[10+1] = r[9];
|
|
r[10+2] = r[8];
|
|
r += 10; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[9+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[9+0])[0];
|
|
r[9+1] = r[0];
|
|
r[9+2] = (cx__231295);
|
|
r[9+3] = (mksymbol(internsym("port:")));
|
|
r[9+4] = (r[8]);
|
|
r += 9; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 5;
|
|
goto jump;
|
|
}
|
|
} else {
|
|
hreserve(hbsz(7+1), 9); /* 9 live regs */
|
|
*--hp = r[8];
|
|
*--hp = r[7];
|
|
*--hp = r[6];
|
|
*--hp = r[5];
|
|
*--hp = r[4];
|
|
*--hp = r[3];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(312);
|
|
r[9] = (hendblk(7+1));
|
|
hreserve(hbsz(5+1), 10); /* 10 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[1];
|
|
*--hp = r[8];
|
|
*--hp = r[9];
|
|
*--hp = r[4];
|
|
*--hp = obj_from_case(315);
|
|
r[9] = (hendblk(5+1));
|
|
r[10+0] = r[2];
|
|
pc = objptr_from_obj(r[10+0])[0];
|
|
r[10+1] = r[9];
|
|
r[10+2] = r[1];
|
|
r += 10; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
}
|
|
}
|
|
|
|
case 313: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3];
|
|
r[1+5] = p[4]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r sub-read p k close-token */
|
|
hreserve(hbsz(4+1), 6); /* 6 live regs */
|
|
*--hp = r[5];
|
|
*--hp = r[1];
|
|
*--hp = r[4];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(314);
|
|
r[6] = (hendblk(4+1));
|
|
r[0] = r[2];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[6];
|
|
r[2] = r[3];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 314: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3];
|
|
r[1+5] = p[4]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r p k r close-token */
|
|
if (((r[1]) == (r[5]))) {
|
|
r[0] = r[3];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[4];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[6+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[6+0])[0];
|
|
r[6+1] = r[3];
|
|
r[6+2] = (cx__231298);
|
|
r[6+3] = r[1];
|
|
r[6+4] = (mksymbol(internsym("port:")));
|
|
r[6+5] = (r[2]);
|
|
r += 6; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 6;
|
|
goto jump;
|
|
}
|
|
|
|
case 315: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3];
|
|
r[1+5] = p[4];
|
|
r[1+6] = p[5]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r sub-read recur p form k */
|
|
if (bool_from_obj(r[1])) {
|
|
r[7+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[7+0])[0];
|
|
r[7+1] = r[6];
|
|
r[7+2] = (cx__231294);
|
|
r[7+3] = (cdr((r[5])));
|
|
r[7+4] = (mksymbol(internsym("port:")));
|
|
r[7+5] = (r[4]);
|
|
r += 7; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 6;
|
|
goto jump;
|
|
} else {
|
|
hreserve(hbsz(3+1), 7); /* 7 live regs */
|
|
*--hp = r[5];
|
|
*--hp = r[6];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(316);
|
|
r[7] = (hendblk(3+1));
|
|
r[0] = r[2];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[7];
|
|
r[2] = r[4];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
|
|
case 316: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r recur k form */
|
|
hreserve(hbsz(2+1), 5); /* 5 live regs */
|
|
*--hp = r[4];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(317);
|
|
r[5] = (hendblk(2+1));
|
|
r[6+0] = r[2];
|
|
pc = objptr_from_obj(r[6+0])[0];
|
|
r[6+1] = r[5];
|
|
r[6+2] = r[1];
|
|
r += 6; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 317: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r k form */
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 4); /* 4 live regs */
|
|
*--hp = r[1];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[4] = (hendblk(3)); }
|
|
r[5+0] = r[2];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = obj_from_ktrap();
|
|
r[5+2] = r[4];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 318: /* clo k p */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3];
|
|
r[1+5] = p[4];
|
|
r[1+6] = p[5];
|
|
r[1+7] = p[6];
|
|
r[1+8] = p[7]; }
|
|
r += 1; /* shift reg. wnd */
|
|
s_sub_2Dread: /* k p dot char-delimiter? sub-read-x-char-escape sub-read-number-or-symbol close-bracket close-paren reader-token? */
|
|
hreserve(hbsz(7+1), 9); /* 9 live regs */
|
|
*--hp = r[8];
|
|
*--hp = r[7];
|
|
*--hp = r[6];
|
|
*--hp = r[5];
|
|
*--hp = r[4];
|
|
*--hp = r[3];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(318);
|
|
r[9] = (hendblk(7+1));
|
|
{ int c = iportgetc((r[1])); r[10] = (c == EOF ? mkeof() : obj_from_char(c)); }
|
|
if ((iseof((r[10])))) {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = (r[10]);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
if ((isspace(char_from_obj(r[10])))) {
|
|
/* r[0] */
|
|
/* r[1] */
|
|
/* r[2] */
|
|
/* r[3] */
|
|
/* r[4] */
|
|
/* r[5] */
|
|
/* r[6] */
|
|
/* r[7] */
|
|
/* r[8] */
|
|
goto s_sub_2Dread;
|
|
} else {
|
|
if ((char_from_obj(r[10]) == ('('))) {
|
|
r[11+0] = r[0];
|
|
r[11+1] = (r[10]);
|
|
r[11+2] = r[1];
|
|
r[11+3] = r[7];
|
|
r[11+4] = obj_from_bool(1);
|
|
r[11+5] = r[2];
|
|
r[11+6] = r[3];
|
|
r[11+7] = r[4];
|
|
r[11+8] = r[5];
|
|
r[11+9] = r[6];
|
|
r[11+10] = r[7];
|
|
r[11+11] = r[8];
|
|
r += 11; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto s_sub_2Dread_2Dlist;
|
|
} else {
|
|
if ((char_from_obj(r[10]) == (')'))) {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[7];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
if ((char_from_obj(r[10]) == ('['))) {
|
|
r[11+0] = r[0];
|
|
r[11+1] = (r[10]);
|
|
r[11+2] = r[1];
|
|
r[11+3] = r[6];
|
|
r[11+4] = obj_from_bool(1);
|
|
r[11+5] = r[2];
|
|
r[11+6] = r[3];
|
|
r[11+7] = r[4];
|
|
r[11+8] = r[5];
|
|
r[11+9] = r[6];
|
|
r[11+10] = r[7];
|
|
r[11+11] = r[8];
|
|
r += 11; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto s_sub_2Dread_2Dlist;
|
|
} else {
|
|
if ((char_from_obj(r[10]) == (']'))) {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[6];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
if ((char_from_obj(r[10]) == (39))) {
|
|
hreserve(hbsz(1+1), 11); /* 11 live regs */
|
|
*--hp = r[0];
|
|
*--hp = obj_from_case(319);
|
|
r[11] = (hendblk(1+1));
|
|
r[0] = (r[11]);
|
|
/* r[1] */
|
|
/* r[2] */
|
|
/* r[3] */
|
|
/* r[4] */
|
|
/* r[5] */
|
|
/* r[6] */
|
|
/* r[7] */
|
|
/* r[8] */
|
|
goto s_sub_2Dread_2Dcarefully;
|
|
} else {
|
|
if ((char_from_obj(r[10]) == ('`'))) {
|
|
hreserve(hbsz(1+1), 11); /* 11 live regs */
|
|
*--hp = r[0];
|
|
*--hp = obj_from_case(320);
|
|
r[11] = (hendblk(1+1));
|
|
r[0] = (r[11]);
|
|
/* r[1] */
|
|
/* r[2] */
|
|
/* r[3] */
|
|
/* r[4] */
|
|
/* r[5] */
|
|
/* r[6] */
|
|
/* r[7] */
|
|
/* r[8] */
|
|
goto s_sub_2Dread_2Dcarefully;
|
|
} else {
|
|
{ /* string-position */
|
|
char *s = stringchars((cx__231592)), *p = strchr(s, char_from_obj(r[10]));
|
|
if (p) r[11] = obj_from_fixnum(p-s); else r[11] = obj_from_bool(0); }
|
|
if (bool_from_obj(r[11])) {
|
|
r[11+0] = r[5];
|
|
pc = objptr_from_obj(r[11+0])[0];
|
|
r[11+1] = r[0];
|
|
r[11+2] = (r[10]);
|
|
r[11+3] = r[1];
|
|
r += 11; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
} else {
|
|
if ((char_from_obj(r[10]) == (';'))) {
|
|
{ int c = iportgetc((r[1])); r[11] = (c == EOF ? mkeof() : obj_from_char(c)); }
|
|
hreserve(hbsz(3+1), 12); /* 12 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[1];
|
|
*--hp = r[9];
|
|
*--hp = obj_from_case(321);
|
|
r[12] = (hendblk(3+1));
|
|
r[13+0] = (r[12]);
|
|
r[13+1] = (r[11]);
|
|
r[13+2] = r[1];
|
|
r += 13; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto s_loop_v8399;
|
|
} else {
|
|
if ((char_from_obj(r[10]) == (','))) {
|
|
{ int c = iportpeekc((r[1])); r[11] = (c == EOF ? mkeof() : obj_from_char(c)); }
|
|
if ((iseof((r[11])))) {
|
|
r[12+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[12+0])[0];
|
|
r[12+1] = r[0];
|
|
r[12+2] = (cx__231477);
|
|
r[12+3] = (mksymbol(internsym("port:")));
|
|
r[12+4] = (r[1]);
|
|
r += 12; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 5;
|
|
goto jump;
|
|
} else {
|
|
if ((char_from_obj(r[11]) == ('@'))) {
|
|
{ int c = iportgetc((r[1])); (void)(c == EOF ? mkeof() : obj_from_char(c)); }
|
|
hreserve(hbsz(1+1), 12); /* 12 live regs */
|
|
*--hp = r[0];
|
|
*--hp = obj_from_case(322);
|
|
r[12] = (hendblk(1+1));
|
|
r[0] = (r[12]);
|
|
/* r[1] */
|
|
/* r[2] */
|
|
/* r[3] */
|
|
/* r[4] */
|
|
/* r[5] */
|
|
/* r[6] */
|
|
/* r[7] */
|
|
/* r[8] */
|
|
goto s_sub_2Dread_2Dcarefully;
|
|
} else {
|
|
hreserve(hbsz(1+1), 12); /* 12 live regs */
|
|
*--hp = r[0];
|
|
*--hp = obj_from_case(323);
|
|
r[12] = (hendblk(1+1));
|
|
r[0] = (r[12]);
|
|
/* r[1] */
|
|
/* r[2] */
|
|
/* r[3] */
|
|
/* r[4] */
|
|
/* r[5] */
|
|
/* r[6] */
|
|
/* r[7] */
|
|
/* r[8] */
|
|
goto s_sub_2Dread_2Dcarefully;
|
|
}
|
|
}
|
|
} else {
|
|
if ((char_from_obj(r[10]) == (34))) {
|
|
r[11+0] = r[0];
|
|
r[11+1] = (mknull());
|
|
r[11+2] = r[4];
|
|
r[11+3] = r[1];
|
|
r += 11; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto s_loop_v8364;
|
|
} else {
|
|
if ((char_from_obj(r[10]) == ('#'))) {
|
|
{ int c = iportpeekc((r[1])); r[11] = (c == EOF ? mkeof() : obj_from_char(c)); }
|
|
if ((iseof((r[11])))) {
|
|
r[12+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[12+0])[0];
|
|
r[12+1] = r[0];
|
|
r[12+2] = (cx__231439);
|
|
r[12+3] = (mksymbol(internsym("port:")));
|
|
r[12+4] = (r[1]);
|
|
r += 12; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 5;
|
|
goto jump;
|
|
} else {
|
|
if ((tolower(char_from_obj(r[11])) == tolower(('t')))) {
|
|
{ int c = iportgetc((r[1])); (void)(c == EOF ? mkeof() : obj_from_char(c)); }
|
|
r[12] = obj_from_bool(1);
|
|
r[13+0] = r[0];
|
|
pc = objptr_from_obj(r[13+0])[0];
|
|
r[13+1] = obj_from_ktrap();
|
|
r[13+2] = (r[12]);
|
|
r += 13; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
if ((tolower(char_from_obj(r[11])) == tolower(('f')))) {
|
|
{ int c = iportgetc((r[1])); (void)(c == EOF ? mkeof() : obj_from_char(c)); }
|
|
r[12] = obj_from_bool(0);
|
|
r[13+0] = r[0];
|
|
pc = objptr_from_obj(r[13+0])[0];
|
|
r[13+1] = obj_from_ktrap();
|
|
r[13+2] = (r[12]);
|
|
r += 13; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
if (((tolower(char_from_obj(r[11])) == tolower(('b'))) || ((tolower(char_from_obj(r[11])) == tolower(('o'))) || ((tolower(char_from_obj(r[11])) == tolower(('d'))) || ((tolower(char_from_obj(r[11])) == tolower(('x'))) || ((tolower(char_from_obj(r[11])) == tolower(('i'))) || (tolower(char_from_obj(r[11])) == tolower(('e'))))))))) {
|
|
r[12+0] = r[5];
|
|
pc = objptr_from_obj(r[12+0])[0];
|
|
r[12+1] = r[0];
|
|
r[12+2] = obj_from_char('#');
|
|
r[12+3] = r[1];
|
|
r += 12; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
} else {
|
|
if ((char_from_obj(r[11]) == ('&'))) {
|
|
{ int c = iportgetc((r[1])); (void)(c == EOF ? mkeof() : obj_from_char(c)); }
|
|
hreserve(hbsz(1+1), 12); /* 12 live regs */
|
|
*--hp = r[0];
|
|
*--hp = obj_from_case(327);
|
|
r[12] = (hendblk(1+1));
|
|
r[0] = (r[12]);
|
|
/* r[1] */
|
|
/* r[2] */
|
|
/* r[3] */
|
|
/* r[4] */
|
|
/* r[5] */
|
|
/* r[6] */
|
|
/* r[7] */
|
|
/* r[8] */
|
|
goto s_sub_2Dread_2Dcarefully;
|
|
} else {
|
|
if ((char_from_obj(r[11]) == (';'))) {
|
|
{ int c = iportgetc((r[1])); (void)(c == EOF ? mkeof() : obj_from_char(c)); }
|
|
hreserve(hbsz(3+1), 12); /* 12 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[1];
|
|
*--hp = r[9];
|
|
*--hp = obj_from_case(328);
|
|
r[12] = (hendblk(3+1));
|
|
r[0] = (r[12]);
|
|
/* r[1] */
|
|
/* r[2] */
|
|
/* r[3] */
|
|
/* r[4] */
|
|
/* r[5] */
|
|
/* r[6] */
|
|
/* r[7] */
|
|
/* r[8] */
|
|
goto s_sub_2Dread_2Dcarefully;
|
|
} else {
|
|
if ((char_from_obj(r[11]) == ('|'))) {
|
|
{ int c = iportgetc((r[1])); (void)(c == EOF ? mkeof() : obj_from_char(c)); }
|
|
hreserve(hbsz(3+1), 12); /* 12 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[1];
|
|
*--hp = r[9];
|
|
*--hp = obj_from_case(331);
|
|
r[12] = (hendblk(3+1));
|
|
r[0] = (r[12]);
|
|
/* r[1] */
|
|
goto s_recur_v8343;
|
|
} else {
|
|
if ((char_from_obj(r[11]) == ('('))) {
|
|
{ int c = iportgetc((r[1])); (void)(c == EOF ? mkeof() : obj_from_char(c)); }
|
|
hreserve(hbsz(1+1), 12); /* 12 live regs */
|
|
*--hp = r[0];
|
|
*--hp = obj_from_case(332);
|
|
r[12] = (hendblk(1+1));
|
|
r[13+0] = (r[12]);
|
|
r[13+1] = (r[11]);
|
|
r[13+2] = r[1];
|
|
r[13+3] = r[7];
|
|
r[13+4] = obj_from_bool(0);
|
|
r[13+5] = r[2];
|
|
r[13+6] = r[3];
|
|
r[13+7] = r[4];
|
|
r[13+8] = r[5];
|
|
r[13+9] = r[6];
|
|
r[13+10] = r[7];
|
|
r[13+11] = r[8];
|
|
r += 13; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto s_sub_2Dread_2Dlist;
|
|
} else {
|
|
if ((char_from_obj(r[11]) == ('u'))) {
|
|
{ int c = iportgetc((r[1])); (void)(c == EOF ? mkeof() : obj_from_char(c)); }
|
|
{ int c = iportgetc((r[1])); r[12] = (c == EOF ? mkeof() : obj_from_char(c)); }
|
|
r[12] = obj_from_bool((r[12]) == obj_from_char('8'));
|
|
if (bool_from_obj(r[12])) {
|
|
{ int c = iportgetc((r[1])); r[12] = (c == EOF ? mkeof() : obj_from_char(c)); }
|
|
r[12] = obj_from_bool((r[12]) == obj_from_char('('));
|
|
} else {
|
|
r[12] = obj_from_bool(0);
|
|
}
|
|
if (bool_from_obj(r[12])) {
|
|
hreserve(hbsz(1+1), 12); /* 12 live regs */
|
|
*--hp = r[0];
|
|
*--hp = obj_from_case(333);
|
|
r[12] = (hendblk(1+1));
|
|
r[0] = (r[12]);
|
|
/* r[1] */
|
|
/* r[2] */
|
|
/* r[3] */
|
|
/* r[4] */
|
|
/* r[5] */
|
|
/* r[6] */
|
|
/* r[7] */
|
|
/* r[8] */
|
|
goto s_sub_2Dread_2Dbyte_2Dlist;
|
|
} else {
|
|
r[12+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[12+0])[0];
|
|
r[12+1] = r[0];
|
|
r[12+2] = (cx__231368);
|
|
r[12+3] = (mksymbol(internsym("port:")));
|
|
r[12+4] = (r[1]);
|
|
r += 12; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 5;
|
|
goto jump;
|
|
}
|
|
} else {
|
|
if ((char_from_obj(r[11]) == (92))) {
|
|
{ int c = iportgetc((r[1])); (void)(c == EOF ? mkeof() : obj_from_char(c)); }
|
|
{ int c = iportpeekc((r[1])); r[12] = (c == EOF ? mkeof() : obj_from_char(c)); }
|
|
if ((iseof((r[12])))) {
|
|
r[13+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[13+0])[0];
|
|
r[13+1] = r[0];
|
|
r[13+2] = (cx__231363);
|
|
r[13+3] = (mksymbol(internsym("port:")));
|
|
r[13+4] = (r[1]);
|
|
r += 13; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 5;
|
|
goto jump;
|
|
} else {
|
|
if ((('x') == char_from_obj(r[12]))) {
|
|
{ int c = iportgetc((r[1])); (void)(c == EOF ? mkeof() : obj_from_char(c)); }
|
|
hreserve(hbsz(4+1), 13); /* 13 live regs */
|
|
*--hp = (r[12]);
|
|
*--hp = r[0];
|
|
*--hp = r[1];
|
|
*--hp = r[4];
|
|
*--hp = obj_from_case(334);
|
|
r[13] = (hendblk(4+1));
|
|
{ int c = iportpeekc((r[1])); r[14] = (c == EOF ? mkeof() : obj_from_char(c)); }
|
|
r[15+0] = r[3];
|
|
pc = objptr_from_obj(r[15+0])[0];
|
|
r[15+1] = (r[13]);
|
|
r[15+2] = (r[14]);
|
|
r += 15; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
if ((isalpha(char_from_obj(r[12])))) {
|
|
hreserve(hbsz(3+1), 13); /* 13 live regs */
|
|
*--hp = (r[12]);
|
|
*--hp = r[0];
|
|
*--hp = r[1];
|
|
*--hp = obj_from_case(335);
|
|
r[13] = (hendblk(3+1));
|
|
r[0] = (r[13]);
|
|
/* r[1] */
|
|
/* r[2] */
|
|
/* r[3] */
|
|
/* r[4] */
|
|
/* r[5] */
|
|
/* r[6] */
|
|
/* r[7] */
|
|
/* r[8] */
|
|
goto s_sub_2Dread_2Dcarefully;
|
|
} else {
|
|
{ int c = iportgetc((r[1])); (void)(c == EOF ? mkeof() : obj_from_char(c)); }
|
|
r[13] = (r[12]);
|
|
r[14+0] = r[0];
|
|
pc = objptr_from_obj(r[14+0])[0];
|
|
r[14+1] = obj_from_ktrap();
|
|
r[14+2] = (r[13]);
|
|
r += 14; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
r[12+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[12+0])[0];
|
|
r[12+1] = r[0];
|
|
r[12+2] = (cx__231317);
|
|
r[12+3] = (r[11]);
|
|
r[12+4] = (mksymbol(internsym("port:")));
|
|
r[12+5] = (r[1]);
|
|
r += 12; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 6;
|
|
goto jump;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
r[11+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[11+0])[0];
|
|
r[11+1] = r[0];
|
|
r[11+2] = (cx__231315);
|
|
r[11+3] = (r[10]);
|
|
r[11+4] = (mksymbol(internsym("port:")));
|
|
r[11+5] = (r[1]);
|
|
r += 11; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 6;
|
|
goto jump;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
case 319: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r k */
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = (mknull());
|
|
*--hp = r[1];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[3] = (hendblk(3)); }
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 4); /* 4 live regs */
|
|
*--hp = r[3];
|
|
*--hp = (mksymbol(internsym("quote")));
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[4] = (hendblk(3)); }
|
|
r[0] = r[2];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[4];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 320: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r k */
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = (mknull());
|
|
*--hp = r[1];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[3] = (hendblk(3)); }
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 4); /* 4 live regs */
|
|
*--hp = r[3];
|
|
*--hp = (mksymbol(internsym("quasiquote")));
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[4] = (hendblk(3)); }
|
|
r[0] = r[2];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[4];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
s_loop_v8399: /* k c p */
|
|
if ((iseof((r[1])))) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool(iseof((r[1])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
if ((char_from_obj(r[1]) == (10))) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_bool(char_from_obj(r[1]) == (10));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
{ int c = iportgetc((r[2])); r[3] = (c == EOF ? mkeof() : obj_from_char(c)); }
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
/* r[2] */
|
|
goto s_loop_v8399;
|
|
}
|
|
}
|
|
|
|
case 321: /* clo ek . */
|
|
assert(rc >= 2);
|
|
r[2] = obj_from_void(0); /* ignored */
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek . sub-read p k */
|
|
r[0] = r[2];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[4];
|
|
r[2] = r[3];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 322: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r k */
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = (mknull());
|
|
*--hp = r[1];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[3] = (hendblk(3)); }
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 4); /* 4 live regs */
|
|
*--hp = r[3];
|
|
*--hp = (mksymbol(internsym("unquote-splicing")));
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[4] = (hendblk(3)); }
|
|
r[0] = r[2];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[4];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 323: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r k */
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = (mknull());
|
|
*--hp = r[1];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[3] = (hendblk(3)); }
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 4); /* 4 live regs */
|
|
*--hp = r[3];
|
|
*--hp = (mksymbol(internsym("unquote")));
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[4] = (hendblk(3)); }
|
|
r[0] = r[2];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[4];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 324: /* clo k l */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
s_loop_v8364: /* k l sub-read-x-char-escape p */
|
|
hreserve(hbsz(2+1), 4); /* 4 live regs */
|
|
*--hp = r[3];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(324);
|
|
r[4] = (hendblk(2+1));
|
|
{ int c = iportgetc((r[3])); r[5] = (c == EOF ? mkeof() : obj_from_char(c)); }
|
|
if ((iseof((r[5])))) {
|
|
r[6+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[6+0])[0];
|
|
r[6+1] = r[0];
|
|
r[6+2] = (cx__231231);
|
|
r[6+3] = (mksymbol(internsym("port:")));
|
|
r[6+4] = (r[3]);
|
|
r += 6; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 5;
|
|
goto jump;
|
|
} else {
|
|
if ((char_from_obj(r[5]) == (92))) {
|
|
{ int c = iportgetc((r[3])); r[6] = (c == EOF ? mkeof() : obj_from_char(c)); }
|
|
hreserve(hbsz(6+1), 7); /* 7 live regs */
|
|
*--hp = r[1];
|
|
*--hp = r[0];
|
|
*--hp = r[4];
|
|
*--hp = r[6];
|
|
*--hp = r[3];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(325);
|
|
r[7] = (hendblk(6+1));
|
|
if ((iseof((r[6])))) {
|
|
r[8+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[8+0])[0];
|
|
r[8+1] = r[7];
|
|
r[8+2] = (cx__231231);
|
|
r[8+3] = (mksymbol(internsym("port:")));
|
|
r[8+4] = (r[3]);
|
|
r += 8; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 5;
|
|
goto jump;
|
|
} else {
|
|
r[8+0] = obj_from_ktrap();
|
|
r[8+1] = obj_from_void(0);
|
|
r[8+2] = r[2];
|
|
r[8+3] = r[3];
|
|
r[8+4] = r[6];
|
|
r[8+5] = r[4];
|
|
r[8+6] = r[0];
|
|
r[8+7] = r[1];
|
|
r += 8; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto s_l_v8366;
|
|
}
|
|
} else {
|
|
if ((char_from_obj(r[5]) == (34))) {
|
|
{ /* reverse! */
|
|
obj t, v = mknull(), l = r[1];
|
|
while (l != mknull()) t = cdr(l), cdr(l) = v, v = l, l = t;
|
|
r[6] = (v); }
|
|
{ fixnum_t v10654_tmp;
|
|
{ /* length */
|
|
int n; obj l = r[6];
|
|
for (n = 0; l != mknull(); ++n, l = cdr(l)) ;
|
|
v10654_tmp = (n); }
|
|
{ /* list->string */
|
|
int i, c = (v10654_tmp);
|
|
obj o = hpushstr(7, allocstring(c, ' ')); /* 7 live regs */
|
|
obj l = r[6]; /* gc-safe */
|
|
unsigned char *s = (unsigned char *)stringchars(o);
|
|
for (i = 0; i < c; ++i, l = cdr(l)) s[i] = (unsigned char)char_from_obj(car(l));
|
|
r[6] = (o); } }
|
|
r[7+0] = r[0];
|
|
pc = objptr_from_obj(r[7+0])[0];
|
|
r[7+1] = obj_from_ktrap();
|
|
r[7+2] = r[6];
|
|
r += 7; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 6); /* 6 live regs */
|
|
*--hp = r[1];
|
|
*--hp = r[5];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[6] = (hendblk(3)); }
|
|
/* r[0] */
|
|
r[1] = r[6];
|
|
/* r[2] */
|
|
/* r[3] */
|
|
goto s_loop_v8364;
|
|
}
|
|
}
|
|
}
|
|
|
|
case 325: /* clo ek . */
|
|
assert(rc >= 2);
|
|
r[2] = obj_from_void(0); /* ignored */
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3];
|
|
r[1+5] = p[4];
|
|
r[1+6] = p[5];
|
|
r[1+7] = p[6]; }
|
|
r += 1; /* shift reg. wnd */
|
|
s_l_v8366: /* ek . sub-read-x-char-escape p c loop k l */
|
|
hreserve(hbsz(3+1), 8); /* 8 live regs */
|
|
*--hp = r[7];
|
|
*--hp = r[6];
|
|
*--hp = r[5];
|
|
*--hp = obj_from_case(326);
|
|
r[8] = (hendblk(3+1));
|
|
if (((char_from_obj(r[4]) == (92)) || (char_from_obj(r[4]) == (34)))) {
|
|
r[0] = obj_from_ktrap();
|
|
r[1] = r[4];
|
|
r[2] = r[5];
|
|
r[3] = r[6];
|
|
r[4] = r[7];
|
|
goto s_l_v8368;
|
|
} else {
|
|
if ((char_from_obj(r[4]) == ('a'))) {
|
|
r[0] = obj_from_ktrap();
|
|
r[1] = obj_from_char(7);
|
|
r[2] = r[5];
|
|
r[3] = r[6];
|
|
r[4] = r[7];
|
|
goto s_l_v8368;
|
|
} else {
|
|
if ((char_from_obj(r[4]) == ('b'))) {
|
|
r[0] = obj_from_ktrap();
|
|
r[1] = obj_from_char(8);
|
|
r[2] = r[5];
|
|
r[3] = r[6];
|
|
r[4] = r[7];
|
|
goto s_l_v8368;
|
|
} else {
|
|
if ((char_from_obj(r[4]) == ('t'))) {
|
|
r[0] = obj_from_ktrap();
|
|
r[1] = obj_from_char(9);
|
|
r[2] = r[5];
|
|
r[3] = r[6];
|
|
r[4] = r[7];
|
|
goto s_l_v8368;
|
|
} else {
|
|
if ((char_from_obj(r[4]) == ('n'))) {
|
|
r[0] = obj_from_ktrap();
|
|
r[1] = obj_from_char(10);
|
|
r[2] = r[5];
|
|
r[3] = r[6];
|
|
r[4] = r[7];
|
|
goto s_l_v8368;
|
|
} else {
|
|
if ((char_from_obj(r[4]) == ('v'))) {
|
|
r[0] = obj_from_ktrap();
|
|
r[1] = obj_from_char(11);
|
|
r[2] = r[5];
|
|
r[3] = r[6];
|
|
r[4] = r[7];
|
|
goto s_l_v8368;
|
|
} else {
|
|
if ((char_from_obj(r[4]) == ('f'))) {
|
|
r[0] = obj_from_ktrap();
|
|
r[1] = obj_from_char(12);
|
|
r[2] = r[5];
|
|
r[3] = r[6];
|
|
r[4] = r[7];
|
|
goto s_l_v8368;
|
|
} else {
|
|
if ((char_from_obj(r[4]) == ('r'))) {
|
|
r[0] = obj_from_ktrap();
|
|
r[1] = obj_from_char(13);
|
|
r[2] = r[5];
|
|
r[3] = r[6];
|
|
r[4] = r[7];
|
|
goto s_l_v8368;
|
|
} else {
|
|
if ((char_from_obj(r[4]) == ('x'))) {
|
|
r[0] = r[2];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[8];
|
|
r[2] = r[3];
|
|
r[3] = obj_from_bool(1);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
} else {
|
|
r[9+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[9+0])[0];
|
|
r[9+1] = r[8];
|
|
r[9+2] = (cx__231241);
|
|
r[9+3] = r[4];
|
|
r[9+4] = (mksymbol(internsym("port:")));
|
|
r[9+5] = (r[3]);
|
|
r += 9; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 6;
|
|
goto jump;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
case 326: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
s_l_v8368: /* ek r loop k l */
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 5); /* 5 live regs */
|
|
*--hp = r[4];
|
|
*--hp = r[1];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[5] = (hendblk(3)); }
|
|
r[0] = r[2];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[3];
|
|
r[2] = r[5];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 327: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r k */
|
|
{ /* box */
|
|
hreserve(hbsz(2), 3); /* 3 live regs */
|
|
*--hp = r[1];
|
|
*--hp = obj_from_size(BOX_BTAG);
|
|
r[3] = (hendblk(2)); }
|
|
r[4+0] = r[2];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 328: /* clo ek . */
|
|
assert(rc >= 2);
|
|
r[2] = obj_from_void(0); /* ignored */
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek . sub-read p k */
|
|
r[0] = r[2];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[4];
|
|
r[2] = r[3];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 329: /* clo k */
|
|
assert(rc == 2);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+1] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
s_recur_v8343: /* k p */
|
|
hreserve(hbsz(1+1), 2); /* 2 live regs */
|
|
*--hp = r[1];
|
|
*--hp = obj_from_case(329);
|
|
r[2] = (hendblk(1+1));
|
|
{ int c = iportgetc((r[1])); r[3] = (c == EOF ? mkeof() : obj_from_char(c)); }
|
|
if ((iseof((r[3])))) {
|
|
r[4+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = r[0];
|
|
r[4+2] = (cx__231390);
|
|
r[4+3] = (mksymbol(internsym("port:")));
|
|
r[4+4] = (r[1]);
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 5;
|
|
goto jump;
|
|
} else {
|
|
if ((char_from_obj(r[3]) == ('|'))) {
|
|
{ int c = iportpeekc((r[1])); r[4] = (c == EOF ? mkeof() : obj_from_char(c)); }
|
|
if ((iseof((r[4])))) {
|
|
r[5+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = r[0];
|
|
r[5+2] = (cx__231390);
|
|
r[5+3] = (mksymbol(internsym("port:")));
|
|
r[5+4] = (r[1]);
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 5;
|
|
goto jump;
|
|
} else {
|
|
if ((char_from_obj(r[4]) == ('#'))) {
|
|
{ int c = iportgetc((r[1])); r[5] = (c == EOF ? mkeof() : obj_from_char(c)); }
|
|
r[6+0] = r[0];
|
|
pc = objptr_from_obj(r[6+0])[0];
|
|
r[6+1] = obj_from_ktrap();
|
|
r[6+2] = r[5];
|
|
r += 6; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
/* r[0] */
|
|
/* r[1] */
|
|
goto s_recur_v8343;
|
|
}
|
|
}
|
|
} else {
|
|
if ((char_from_obj(r[3]) == ('#'))) {
|
|
{ int c = iportpeekc((r[1])); r[4] = (c == EOF ? mkeof() : obj_from_char(c)); }
|
|
if ((iseof((r[4])))) {
|
|
r[5+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = r[0];
|
|
r[5+2] = (cx__231390);
|
|
r[5+3] = (mksymbol(internsym("port:")));
|
|
r[5+4] = (r[1]);
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 5;
|
|
goto jump;
|
|
} else {
|
|
if ((char_from_obj(r[4]) == ('|'))) {
|
|
{ int c = iportgetc((r[1])); (void)(c == EOF ? mkeof() : obj_from_char(c)); }
|
|
hreserve(hbsz(2+1), 5); /* 5 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(330);
|
|
r[5] = (hendblk(2+1));
|
|
r[0] = r[5];
|
|
/* r[1] */
|
|
goto s_recur_v8343;
|
|
} else {
|
|
/* r[0] */
|
|
/* r[1] */
|
|
goto s_recur_v8343;
|
|
}
|
|
}
|
|
} else {
|
|
/* r[0] */
|
|
/* r[1] */
|
|
goto s_recur_v8343;
|
|
}
|
|
}
|
|
}
|
|
|
|
case 330: /* clo ek . */
|
|
assert(rc >= 2);
|
|
r[2] = obj_from_void(0); /* ignored */
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek . recur k */
|
|
r[0] = r[2];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[3];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 2;
|
|
goto jump;
|
|
|
|
case 331: /* clo ek . */
|
|
assert(rc >= 2);
|
|
r[2] = obj_from_void(0); /* ignored */
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek . sub-read p k */
|
|
r[0] = r[2];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[4];
|
|
r[2] = r[3];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 332: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r k */
|
|
{ fixnum_t v10653_tmp;
|
|
{ /* length */
|
|
int n; obj l = r[1];
|
|
for (n = 0; l != mknull(); ++n, l = cdr(l)) ;
|
|
v10653_tmp = (n); }
|
|
{ /* list->vector */
|
|
obj l; int i, c = (v10653_tmp);
|
|
hreserve(hbsz(c+1), 3); /* 3 live regs */
|
|
l = r[1]; /* gc-safe */
|
|
for (i = 0; i < c; ++i, l = cdr(l)) hp[i-c] = car(l);
|
|
hp -= c; *--hp = obj_from_size(VECTOR_BTAG);
|
|
r[3] = (hendblk(c+1)); } }
|
|
r[4+0] = r[2];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 333: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r k */
|
|
{ fixnum_t v10652_tmp;
|
|
{ /* length */
|
|
int n; obj l = r[1];
|
|
for (n = 0; l != mknull(); ++n, l = cdr(l)) ;
|
|
v10652_tmp = (n); }
|
|
{ /* list->bytevector */
|
|
int i, c = (v10652_tmp);
|
|
obj o = hpushu8v(3, allocbytevector(c, 0)); /* 3 live regs */
|
|
obj l = r[1]; /* gc-safe */
|
|
unsigned char *s = bytevectorbytes(o);
|
|
for (i = 0; i < c; ++i, l = cdr(l)) s[i] = byte_from_obj(car(l));
|
|
r[3] = (o); } }
|
|
r[4+0] = r[2];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 334: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3];
|
|
r[1+5] = p[4]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r sub-read-x-char-escape p k c */
|
|
if (bool_from_obj(r[1])) {
|
|
r[0] = r[4];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[5];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[0] = r[2];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[4];
|
|
r[2] = r[3];
|
|
r[3] = obj_from_bool(0);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
}
|
|
|
|
case 335: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r p k c */
|
|
{ fixnum_t v10651_a;
|
|
r[5] = (hpushstr(5, newstring(symbolname(getsymbol((r[1]))))));
|
|
v10651_a = (stringlen((r[5])));
|
|
r[5] = obj_from_bool((v10651_a) == (+1)); }
|
|
if (bool_from_obj(r[5])) {
|
|
r[0] = r[3];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[4];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
if ((((r[1]) == (mksymbol(internsym("space")))) && (1))) {
|
|
r[0] = r[3];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_char(' ');
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
if ((((r[1]) == (mksymbol(internsym("alarm")))) && (1))) {
|
|
r[0] = r[3];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_char(7);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
if ((((r[1]) == (mksymbol(internsym("backspace")))) && (1))) {
|
|
r[0] = r[3];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_char(8);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
if ((((r[1]) == (mksymbol(internsym("tab")))) && (1))) {
|
|
r[0] = r[3];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_char(9);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
if ((((r[1]) == (mksymbol(internsym("newline")))) ? (1) : (((r[1]) == (mksymbol(internsym("linefeed")))) && (1)))) {
|
|
r[0] = r[3];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_char(10);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
if ((((r[1]) == (mksymbol(internsym("vtab")))) && (1))) {
|
|
r[0] = r[3];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_char(11);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
if ((((r[1]) == (mksymbol(internsym("page")))) && (1))) {
|
|
r[0] = r[3];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_char(12);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
if ((((r[1]) == (mksymbol(internsym("return")))) && (1))) {
|
|
r[0] = r[3];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_char(13);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[5+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = r[3];
|
|
r[5+2] = (cx__231322);
|
|
r[5+3] = r[1];
|
|
r[5+4] = (mksymbol(internsym("port:")));
|
|
r[5+5] = (r[2]);
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 6;
|
|
goto jump;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
case 336: /* clo k p */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3];
|
|
r[1+5] = p[4];
|
|
r[1+6] = p[5];
|
|
r[1+7] = p[6];
|
|
r[1+8] = p[7]; }
|
|
r += 1; /* shift reg. wnd */
|
|
s_sub_2Dread_2Dcarefully: /* k p dot char-delimiter? sub-read-x-char-escape sub-read-number-or-symbol close-bracket close-paren reader-token? */
|
|
hreserve(hbsz(3+1), 9); /* 9 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[1];
|
|
*--hp = r[8];
|
|
*--hp = obj_from_case(337);
|
|
r[9] = (hendblk(3+1));
|
|
r[0] = r[9];
|
|
/* r[1] */
|
|
/* r[2] */
|
|
/* r[3] */
|
|
/* r[4] */
|
|
/* r[5] */
|
|
/* r[6] */
|
|
/* r[7] */
|
|
/* r[8] */
|
|
goto s_sub_2Dread;
|
|
|
|
case 337: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r reader-token? p k */
|
|
if ((iseof((r[1])))) {
|
|
r[5+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = r[4];
|
|
r[5+2] = (cx__231522);
|
|
r[5+3] = (mksymbol(internsym("port:")));
|
|
r[5+4] = (r[3]);
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 5;
|
|
goto jump;
|
|
} else {
|
|
hreserve(hbsz(3+1), 5); /* 5 live regs */
|
|
*--hp = r[4];
|
|
*--hp = r[1];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(338);
|
|
r[5] = (hendblk(3+1));
|
|
r[6+0] = r[2];
|
|
pc = objptr_from_obj(r[6+0])[0];
|
|
r[6+1] = r[5];
|
|
r[6+2] = r[1];
|
|
r += 6; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
|
|
case 338: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r p r k */
|
|
if (bool_from_obj(r[1])) {
|
|
r[5+0] = (cx_read_2Derror);
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = r[4];
|
|
r[5+2] = (cx__231521);
|
|
r[5+3] = (cdr((r[3])));
|
|
r[5+4] = (mksymbol(internsym("port:")));
|
|
r[5+5] = (r[2]);
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 6;
|
|
goto jump;
|
|
} else {
|
|
r[0] = r[4];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[3];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
|
|
case 339: /* %residual-get-datum k p */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k p */
|
|
r[2+0] = (cx_read_2Ddatum);
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = r[0];
|
|
r[2+2] = r[1];
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 340: /* %residual-file-exists? k fn */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k fn */
|
|
{ /* file-exists? */
|
|
FILE *f = fopen(stringchars((r[1])), "r");
|
|
if (f != NULL) fclose(f);
|
|
r[2] = obj_from_bool(f != NULL); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 341: /* %residual-delete-file k fn */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k fn */
|
|
{ /* delete-file */
|
|
int res = remove(stringchars((r[1])));
|
|
r[2] = obj_from_bool(res == 0); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 342: /* %residual-rename-file k fnold fnnew */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k fnold fnnew */
|
|
{ /* rename-file */
|
|
int res = rename(stringchars((r[1])), stringchars((r[2])));
|
|
r[3] = obj_from_bool(res == 0); }
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 343: /* %residual-call-with-values k producer consumer */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k producer consumer */
|
|
hreserve(hbsz(2+1), 3); /* 3 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(344);
|
|
r[3] = (hendblk(2+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 4); /* 4 live regs */
|
|
*--hp = r[3];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
r[3] = (hendblk(3)); }
|
|
r[4+0] = r[1];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 2;
|
|
goto jump;
|
|
|
|
case 344: /* clo k results */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k results consumer k */
|
|
{ /* define apply */
|
|
static obj c[] = { obj_from_objptr(appcases+0) };
|
|
r[4] = obj_from_objptr(c); }
|
|
r[5+0] = r[4];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = r[3];
|
|
r[5+2] = r[2];
|
|
r[5+3] = r[1];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 345: /* call-with-current-continuation k proc */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
gs_call_2Dwith_2Dcurrent_2Dcontinuation: /* k proc */
|
|
r[2] = (cx__2Acurrent_2Ddynamic_2Dstate_2A);
|
|
hreserve(hbsz(2+1), 3); /* 3 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(346);
|
|
r[3] = (hendblk(2+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 4); /* 4 live regs */
|
|
*--hp = r[3];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
r[3] = (hendblk(3)); }
|
|
r[4+0] = r[1];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = r[0];
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 346: /* clo k results */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k results here k */
|
|
hreserve(hbsz(3+1), 4); /* 4 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[3];
|
|
*--hp = r[1];
|
|
*--hp = obj_from_case(347);
|
|
r[4] = (hendblk(3+1));
|
|
r[0] = r[4];
|
|
r[1] = r[2];
|
|
goto gs_dynamic_2Dstate_2Dreroot_21;
|
|
|
|
case 347: /* clo ek . */
|
|
assert(rc >= 2);
|
|
r[2] = obj_from_void(0); /* ignored */
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek . results k k */
|
|
{ /* define apply */
|
|
static obj c[] = { obj_from_objptr(appcases+0) };
|
|
r[5] = obj_from_objptr(c); }
|
|
r[6+0] = r[5];
|
|
pc = objptr_from_obj(r[6+0])[0];
|
|
r[6+1] = r[4];
|
|
r[6+2] = r[3];
|
|
r[6+3] = r[2];
|
|
r += 6; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 348: /* dynamic-wind k before during after */
|
|
assert(rc == 5);
|
|
r += 1; /* shift reg. wnd */
|
|
gs_dynamic_2Dwind: /* k before during after */
|
|
r[4] = (cx__2Acurrent_2Ddynamic_2Dstate_2A);
|
|
hreserve(hbsz(3+1), 5); /* 5 live regs */
|
|
*--hp = r[4];
|
|
*--hp = r[0];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(349);
|
|
r[5] = (hendblk(3+1));
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 6); /* 6 live regs */
|
|
*--hp = r[3];
|
|
*--hp = r[1];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[6] = (hendblk(3)); }
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 7); /* 7 live regs */
|
|
*--hp = r[4];
|
|
*--hp = r[6];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[6] = (hendblk(3)); }
|
|
r[0] = r[5];
|
|
r[1] = r[6];
|
|
goto gs_dynamic_2Dstate_2Dreroot_21;
|
|
|
|
case 349: /* clo ek . */
|
|
assert(rc >= 2);
|
|
r[2] = obj_from_void(0); /* ignored */
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek . during k here */
|
|
hreserve(hbsz(1+1), 5); /* 5 live regs */
|
|
*--hp = r[4];
|
|
*--hp = obj_from_case(350);
|
|
r[5] = (hendblk(1+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 6); /* 6 live regs */
|
|
*--hp = r[5];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
r[5] = (hendblk(3)); }
|
|
hreserve(hbsz(2+1), 6); /* 6 live regs */
|
|
*--hp = r[3];
|
|
*--hp = r[5];
|
|
*--hp = obj_from_case(352);
|
|
r[6] = (hendblk(2+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 7); /* 7 live regs */
|
|
*--hp = r[6];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
r[6] = (hendblk(3)); }
|
|
r[0] = r[2];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[6];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 2;
|
|
goto jump;
|
|
|
|
case 350: /* clo k results */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k results here */
|
|
hreserve(hbsz(2+1), 3); /* 3 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[1];
|
|
*--hp = obj_from_case(351);
|
|
r[3] = (hendblk(2+1));
|
|
r[0] = r[3];
|
|
r[1] = r[2];
|
|
goto gs_dynamic_2Dstate_2Dreroot_21;
|
|
|
|
case 351: /* clo ek . */
|
|
assert(rc >= 2);
|
|
r[2] = obj_from_void(0); /* ignored */
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek . results k */
|
|
{ /* define apply */
|
|
static obj c[] = { obj_from_objptr(appcases+0) };
|
|
r[4] = obj_from_objptr(c); }
|
|
r[5+0] = r[4];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = r[3];
|
|
r[5+2] = (cx__25residual_2Dvalues);
|
|
r[5+3] = r[2];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 352: /* clo k results */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k results consumer k */
|
|
{ /* define apply */
|
|
static obj c[] = { obj_from_objptr(appcases+0) };
|
|
r[4] = obj_from_objptr(c); }
|
|
r[5+0] = r[4];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = r[3];
|
|
r[5+2] = r[2];
|
|
r[5+3] = r[1];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 353: /* dynamic-state-reroot! k there */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
gs_dynamic_2Dstate_2Dreroot_21: /* k there */
|
|
{ const bool_t v10650_tmp = ((cx__2Acurrent_2Ddynamic_2Dstate_2A) == (r[1]));
|
|
r[2] = obj_from_bool(!(v10650_tmp)); }
|
|
if (bool_from_obj(r[2])) {
|
|
hreserve(hbsz(2+1), 2); /* 2 live regs */
|
|
*--hp = r[1];
|
|
*--hp = r[0];
|
|
*--hp = obj_from_case(354);
|
|
r[2] = (hendblk(2+1));
|
|
r[0] = r[2];
|
|
r[1] = (cdr((r[1])));
|
|
goto gs_dynamic_2Dstate_2Dreroot_21;
|
|
} else {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_void(0);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
|
|
case 354: /* clo ek . */
|
|
assert(rc >= 2);
|
|
r[2] = obj_from_void(0); /* ignored */
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek . k there */
|
|
r[4] = (car((r[3])));
|
|
r[4] = (car((r[4])));
|
|
r[5] = (car((r[3])));
|
|
r[5] = (cdr((r[5])));
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 6); /* 6 live regs */
|
|
*--hp = r[4];
|
|
*--hp = r[5];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[6] = (hendblk(3)); }
|
|
(void)(car((cx__2Acurrent_2Ddynamic_2Dstate_2A)) = (r[6]));
|
|
(void)(cdr((cx__2Acurrent_2Ddynamic_2Dstate_2A)) = (r[3]));
|
|
(void)(car((r[3])) = obj_from_bool(0));
|
|
(void)(cdr((r[3])) = (mknull()));
|
|
cx__2Acurrent_2Ddynamic_2Dstate_2A = r[3];
|
|
r[0] = r[4];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[2];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 2;
|
|
goto jump;
|
|
|
|
case 355: /* error-object k kind message irritants */
|
|
assert(rc == 5);
|
|
r += 1; /* shift reg. wnd */
|
|
gs_error_2Dobject: /* k kind message irritants */
|
|
{ /* make-record */
|
|
int i = 0, c = (+3);
|
|
hreserve(hbsz(c+2), 4); /* 4 live regs */
|
|
while (i++ < c) *--hp = obj_from_bool(0);
|
|
*--hp = (cx__3Cerror_2Dobject_3E); /* gc-safe */
|
|
*--hp = obj_from_size(RECORD_BTAG);
|
|
r[4] = (hendblk(c+2)); }
|
|
(void)(recordref((r[4]), (+0)) = (r[1]));
|
|
(void)(recordref((r[4]), (+1)) = (r[2]));
|
|
(void)(recordref((r[4]), (+2)) = (r[3]));
|
|
/* r[4] */
|
|
r[5+0] = r[0];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = obj_from_ktrap();
|
|
r[5+2] = r[4];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 356: /* error-object? k obj */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k obj */
|
|
{ /* record? */
|
|
obj o = (r[1]), t = (cx__3Cerror_2Dobject_3E);
|
|
if (!isrecord(o)) r[2] = obj_from_bool(0);
|
|
else r[2] = obj_from_bool(recordrtd(o) == t); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 357: /* error-object-kind k obj */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k obj */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (recordref((r[1]), (+0)));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 358: /* error-object-message k obj */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k obj */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (recordref((r[1]), (+1)));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 359: /* error-object-irritants k obj */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k obj */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (recordref((r[1]), (+2)));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 360: /* clo k msg args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k msg args */
|
|
hreserve(hbsz(1+1), 3); /* 3 live regs */
|
|
*--hp = r[0];
|
|
*--hp = obj_from_case(361);
|
|
r[3] = (hendblk(1+1));
|
|
r[4+0] = r[3];
|
|
r[4+1] = obj_from_bool(0);
|
|
r[4+2] = r[1];
|
|
r[4+3] = r[2];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto gs_error_2Dobject;
|
|
|
|
case 361: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r k */
|
|
r[0] = r[2];
|
|
/* r[1] */
|
|
goto gs_raise;
|
|
|
|
case 362: /* clo ek r */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r */
|
|
cx_current_2Dexception_2Dhandler = r[1];
|
|
{ static obj c[] = { obj_from_case(363) }; cx_with_2Dexception_2Dhandler = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(372) }; cx_raise = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(382) }; cx_raise_2Dcontinuable = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(390) }; cx__25residual_2Dabort = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(391) }; cx_reset = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(392) }; cx_set_2Dreset_2Dhandler_21 = (obj)c; }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(393);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx_read_2Derror = (hendblk(3)); }
|
|
{ static obj c[] = { obj_from_case(395) }; cx_read_2Derror_3F = (obj)c; }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(396);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx_file_2Derror = (hendblk(3)); }
|
|
{ static obj c[] = { obj_from_case(398) }; cx_file_2Derror_3F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(399) }; cx__25residual_2Dcurrent_2Djiffy = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(400) }; cx__25residual_2Djiffies_2Dper_2Dsecond = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(401) }; cx__25residual_2Dcurrent_2Dsecond = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(402) }; cx__25residual_2Dargv_2Dref = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(403) }; cx_command_2Dline = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(404) }; cx__25residual_2Dget_2Denvironment_2Dvariable = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(405) }; cx__25residual_2Dsystem = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(406) }; cx__25residual_2Dmake_2Drectangular = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(407) }; cx__25residual_2Dmake_2Dpolar = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(408) }; cx__25residual_2Dreal_2Dpart = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(409) }; cx__25residual_2Dimag_2Dpart = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(410) }; cx__25residual_2Dmagnitude = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(411) }; cx__25residual_2Dangle = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(412) }; cx_truncate_2F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(414) }; cx_floor_2F = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(416) }; cx_exact_2Dinteger_2Dsqrt = (obj)c; }
|
|
{ static obj c[] = { obj_from_case(418) }; cx_call_2Dwith_2Dport = (obj)c; }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(421);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dvalues = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(423);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dfx_3D_3F = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(424);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dfx_3C_3F = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(425);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dfx_3E_3F = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(426);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dfx_3C_3D_3F = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(427);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dfx_3E_3D_3F = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(428);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dfl_3D_3F = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(429);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dfl_3C_3F = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(430);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dfl_3E_3F = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(431);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dfl_3C_3D_3F = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(432);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dfl_3E_3D_3F = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(433);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_3D = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(434);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_3C = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(435);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_3E = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(436);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_3C_3D = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(437);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_3E_3D = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(438);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dfxmax = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(439);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dfxmin = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(440);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dflmax = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(441);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dflmin = (hendblk(3)); }
|
|
{ static obj c[] = { obj_from_case(442) }; cx__25residual_2Dmax_2F2 = (obj)c; }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(443);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dmax = (hendblk(3)); }
|
|
{ static obj c[] = { obj_from_case(446) }; cx__25residual_2Dmin_2F2 = (obj)c; }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(447);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dmin = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(450);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dfx_2B = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(451);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dfx_2A = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(452);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dfl_2B = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(453);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dfl_2A = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(454);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2B = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(455);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2A = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(456);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dgcd = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(457);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dlcm = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(460);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dfx_2D = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(461);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dfx_2F = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(462);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dfl_2D = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(463);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dfl_2F = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(464);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2D = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(465);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2F = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(466);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dlog = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(467);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dflatan = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(468);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Datan = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(469);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+2);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dmap = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(479);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+2);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dfor_2Deach = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(489);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dmake_2Dstring = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(490);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dstring = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(491);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dstring_2Dappend = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(493);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dmake_2Dvector = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(494);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dvector = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(495);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dmake_2Dbytevector = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(496);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dbytevector = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(497);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dlist = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(498);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dcons_2A = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(500);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dappend = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(502);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Drecord_3F = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(503);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dnumber_2D_3Estring = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(504);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dstring_2D_3Enumber = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(505);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25fail_2Dlambda = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(506);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dmake_2Dcase_2Dlambda = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(507);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dcurrent_2Dinput_2Dport = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(508);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dcurrent_2Doutput_2Dport = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(509);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dcurrent_2Derror_2Dport = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(510);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dread_2Dchar = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(511);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dpeek_2Dchar = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(512);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dchar_2Dready_3F = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(513);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Ddisplay_2Dfixnum = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(514);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Ddisplay_2Dflonum = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(515);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Ddisplay_2Dprocedure = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(516);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Ddisplay_2Dinput_2Dport = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(517);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Ddisplay_2Doutput_2Dport = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(518);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dwrite_2Dchar = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(519);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dwrite_2Dstring = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(520);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dnewline = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(521);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dflush_2Doutput_2Dport = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(522);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dread_2Du8 = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(523);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dpeek_2Du8 = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(524);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Du8_2Dready_3F = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(525);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dwrite_2Du8 = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(526);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dwrite_2Dbytevector = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(527);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dwrite = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(528);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Ddisplay = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(529);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dread = (hendblk(3)); }
|
|
hreserve(hbsz(0+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_case(530);
|
|
r[2] = (hendblk(0+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
cx__25residual_2Dexit = (hendblk(3)); }
|
|
r[2] = obj_from_void(0);
|
|
r[3+0] = r[0];
|
|
pc = 0; /* exit from module init */
|
|
r[3+1] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rc = 2;
|
|
goto jump;
|
|
|
|
case 363: /* with-exception-handler k handler thunk */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k handler thunk */
|
|
hreserve(hbsz(3+1), 3); /* 3 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[2];
|
|
*--hp = r[1];
|
|
*--hp = obj_from_case(364);
|
|
r[3] = (hendblk(3+1));
|
|
r[4+0] = (cx_current_2Dexception_2Dhandler);
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 2;
|
|
goto jump;
|
|
|
|
case 364: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r handler thunk k */
|
|
hreserve(hbsz(2+1), 5); /* 5 live regs */
|
|
*--hp = r[4];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(365);
|
|
r[5] = (hendblk(2+1));
|
|
hreserve(hbsz(1+1), 6); /* 6 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(370);
|
|
r[6] = (hendblk(1+1));
|
|
hreserve(hbsz(1+1), 7); /* 7 live regs */
|
|
*--hp = r[1];
|
|
*--hp = obj_from_case(371);
|
|
r[7] = (hendblk(1+1));
|
|
{ /* make-case-lambda */
|
|
hreserve(hbsz(9+1), 8); /* 8 live regs */
|
|
*--hp = (cx__25fail_2Dlambda);
|
|
*--hp = obj_from_fixnum(FIXNUM_MAX);
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = r[6];
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = obj_from_fixnum(+1);
|
|
*--hp = r[7];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+4);
|
|
r[6] = (hendblk(9+1)); }
|
|
r[7+0] = (cx_current_2Dexception_2Dhandler);
|
|
pc = objptr_from_obj(r[7+0])[0];
|
|
r[7+1] = r[5];
|
|
r[7+2] = r[6];
|
|
r[7+3] = obj_from_bool(0);
|
|
r += 7; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 365: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r thunk k */
|
|
hreserve(hbsz(3+1), 4); /* 4 live regs */
|
|
*--hp = r[3];
|
|
*--hp = r[1];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(366);
|
|
r[4] = (hendblk(3+1));
|
|
r[0] = (cx_current_2Dexception_2Dhandler);
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[4];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 2;
|
|
goto jump;
|
|
|
|
case 366: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r thunk r k */
|
|
hreserve(hbsz(1+1), 5); /* 5 live regs */
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(367);
|
|
r[5] = (hendblk(1+1));
|
|
hreserve(hbsz(1+1), 6); /* 6 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(368);
|
|
r[6] = (hendblk(1+1));
|
|
hreserve(hbsz(1+1), 7); /* 7 live regs */
|
|
*--hp = r[1];
|
|
*--hp = obj_from_case(369);
|
|
r[7] = (hendblk(1+1));
|
|
r[8+0] = r[4];
|
|
r[8+1] = r[5];
|
|
r[8+2] = r[6];
|
|
r[8+3] = r[7];
|
|
r += 8; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto gs_dynamic_2Dwind;
|
|
|
|
case 367: /* clo k */
|
|
assert(rc == 2);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+1] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k r */
|
|
r[2+0] = (cx_current_2Dexception_2Dhandler);
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = r[0];
|
|
r[2+2] = r[1];
|
|
r[2+3] = obj_from_bool(1);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 368: /* clo k */
|
|
assert(rc == 2);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+1] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k thunk */
|
|
r[2+0] = r[1];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = r[0];
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 2;
|
|
goto jump;
|
|
|
|
case 369: /* clo k */
|
|
assert(rc == 2);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+1] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k r */
|
|
r[2+0] = (cx_current_2Dexception_2Dhandler);
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = r[0];
|
|
r[2+2] = r[1];
|
|
r[2+3] = obj_from_bool(1);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 370: /* clo k obj */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k obj handler */
|
|
r[3+0] = r[2];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = r[0];
|
|
r[3+2] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 371: /* clo k */
|
|
assert(rc == 2);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+1] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k r */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = r[1];
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 372: /* raise k obj */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
gs_raise: /* k obj */
|
|
hreserve(hbsz(2+1), 2); /* 2 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[1];
|
|
*--hp = obj_from_case(373);
|
|
r[2] = (hendblk(2+1));
|
|
r[3+0] = (cx_current_2Dexception_2Dhandler);
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 2;
|
|
goto jump;
|
|
|
|
case 373: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r obj k */
|
|
hreserve(hbsz(3+1), 4); /* 4 live regs */
|
|
*--hp = r[3];
|
|
*--hp = r[2];
|
|
*--hp = r[1];
|
|
*--hp = obj_from_case(374);
|
|
r[4] = (hendblk(3+1));
|
|
r[0] = r[1];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[4];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 2;
|
|
goto jump;
|
|
|
|
case 374: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r r obj k */
|
|
hreserve(hbsz(3+1), 5); /* 5 live regs */
|
|
*--hp = r[4];
|
|
*--hp = r[3];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(375);
|
|
r[5] = (hendblk(3+1));
|
|
r[6+0] = (cx_current_2Dexception_2Dhandler);
|
|
pc = objptr_from_obj(r[6+0])[0];
|
|
r[6+1] = r[5];
|
|
r[6+2] = r[1];
|
|
r[6+3] = obj_from_bool(0);
|
|
r += 6; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 375: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r r obj k */
|
|
hreserve(hbsz(4+1), 5); /* 5 live regs */
|
|
*--hp = r[4];
|
|
*--hp = r[1];
|
|
*--hp = r[3];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(376);
|
|
r[5] = (hendblk(4+1));
|
|
r[0] = (cx_current_2Dexception_2Dhandler);
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[5];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 2;
|
|
goto jump;
|
|
|
|
case 376: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3];
|
|
r[1+5] = p[4]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r r obj r k */
|
|
hreserve(hbsz(1+1), 6); /* 6 live regs */
|
|
*--hp = r[4];
|
|
*--hp = obj_from_case(377);
|
|
r[6] = (hendblk(1+1));
|
|
hreserve(hbsz(2+1), 7); /* 7 live regs */
|
|
*--hp = r[3];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(378);
|
|
r[7] = (hendblk(2+1));
|
|
hreserve(hbsz(1+1), 8); /* 8 live regs */
|
|
*--hp = r[1];
|
|
*--hp = obj_from_case(381);
|
|
r[8] = (hendblk(1+1));
|
|
r[9+0] = r[5];
|
|
r[9+1] = r[6];
|
|
r[9+2] = r[7];
|
|
r[9+3] = r[8];
|
|
r += 9; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto gs_dynamic_2Dwind;
|
|
|
|
case 377: /* clo k */
|
|
assert(rc == 2);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+1] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k r */
|
|
r[2+0] = (cx_current_2Dexception_2Dhandler);
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = r[0];
|
|
r[2+2] = r[1];
|
|
r[2+3] = obj_from_bool(1);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 378: /* clo k */
|
|
assert(rc == 2);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+1] = p[1];
|
|
r[1+2] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k r obj */
|
|
hreserve(hbsz(3+1), 3); /* 3 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[2];
|
|
*--hp = r[1];
|
|
*--hp = obj_from_case(379);
|
|
r[3] = (hendblk(3+1));
|
|
r[4+0] = r[1];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = r[3];
|
|
r[4+2] = r[2];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 379: /* clo ek . */
|
|
assert(rc >= 2);
|
|
r[2] = obj_from_void(0); /* ignored */
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek . r obj k */
|
|
hreserve(hbsz(1+1), 5); /* 5 live regs */
|
|
*--hp = r[4];
|
|
*--hp = obj_from_case(380);
|
|
r[5] = (hendblk(1+1));
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 6); /* 6 live regs */
|
|
*--hp = (mknull());
|
|
*--hp = r[3];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[6] = (hendblk(3)); }
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 7); /* 7 live regs */
|
|
*--hp = r[6];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[6] = (hendblk(3)); }
|
|
r[7+0] = r[5];
|
|
r[7+1] = (mksymbol(internsym("raise")));
|
|
r[7+2] = (cx__231781);
|
|
r[7+3] = (r[6]);
|
|
r += 7; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto gs_error_2Dobject;
|
|
|
|
case 380: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r k */
|
|
r[0] = r[2];
|
|
/* r[1] */
|
|
goto gs_raise;
|
|
|
|
case 381: /* clo k */
|
|
assert(rc == 2);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+1] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k r */
|
|
r[2+0] = (cx_current_2Dexception_2Dhandler);
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = r[0];
|
|
r[2+2] = r[1];
|
|
r[2+3] = obj_from_bool(1);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 382: /* raise-continuable k obj */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k obj */
|
|
hreserve(hbsz(2+1), 2); /* 2 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[1];
|
|
*--hp = obj_from_case(383);
|
|
r[2] = (hendblk(2+1));
|
|
r[3+0] = (cx_current_2Dexception_2Dhandler);
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 2;
|
|
goto jump;
|
|
|
|
case 383: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r obj k */
|
|
hreserve(hbsz(3+1), 4); /* 4 live regs */
|
|
*--hp = r[3];
|
|
*--hp = r[2];
|
|
*--hp = r[1];
|
|
*--hp = obj_from_case(384);
|
|
r[4] = (hendblk(3+1));
|
|
r[0] = r[1];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[4];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 2;
|
|
goto jump;
|
|
|
|
case 384: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r r obj k */
|
|
hreserve(hbsz(3+1), 5); /* 5 live regs */
|
|
*--hp = r[4];
|
|
*--hp = r[3];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(385);
|
|
r[5] = (hendblk(3+1));
|
|
r[6+0] = (cx_current_2Dexception_2Dhandler);
|
|
pc = objptr_from_obj(r[6+0])[0];
|
|
r[6+1] = r[5];
|
|
r[6+2] = r[1];
|
|
r[6+3] = obj_from_bool(0);
|
|
r += 6; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 385: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r r obj k */
|
|
hreserve(hbsz(4+1), 5); /* 5 live regs */
|
|
*--hp = r[4];
|
|
*--hp = r[1];
|
|
*--hp = r[3];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(386);
|
|
r[5] = (hendblk(4+1));
|
|
r[0] = (cx_current_2Dexception_2Dhandler);
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[5];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 2;
|
|
goto jump;
|
|
|
|
case 386: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3];
|
|
r[1+5] = p[4]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r r obj r k */
|
|
hreserve(hbsz(1+1), 6); /* 6 live regs */
|
|
*--hp = r[4];
|
|
*--hp = obj_from_case(387);
|
|
r[6] = (hendblk(1+1));
|
|
hreserve(hbsz(2+1), 7); /* 7 live regs */
|
|
*--hp = r[3];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(388);
|
|
r[7] = (hendblk(2+1));
|
|
hreserve(hbsz(1+1), 8); /* 8 live regs */
|
|
*--hp = r[1];
|
|
*--hp = obj_from_case(389);
|
|
r[8] = (hendblk(1+1));
|
|
r[9+0] = r[5];
|
|
r[9+1] = r[6];
|
|
r[9+2] = r[7];
|
|
r[9+3] = r[8];
|
|
r += 9; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto gs_dynamic_2Dwind;
|
|
|
|
case 387: /* clo k */
|
|
assert(rc == 2);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+1] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k r */
|
|
r[2+0] = (cx_current_2Dexception_2Dhandler);
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = r[0];
|
|
r[2+2] = r[1];
|
|
r[2+3] = obj_from_bool(1);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 388: /* clo k */
|
|
assert(rc == 2);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+1] = p[1];
|
|
r[1+2] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k r obj */
|
|
r[3+0] = r[1];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = r[0];
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 389: /* clo k */
|
|
assert(rc == 2);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+1] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k r */
|
|
r[2+0] = (cx_current_2Dexception_2Dhandler);
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = r[0];
|
|
r[2+2] = r[1];
|
|
r[2+3] = obj_from_bool(1);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 390: /* %residual-abort k */
|
|
assert(rc == 2);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k */
|
|
r[1+0] = r[0];
|
|
pc = objptr_from_obj(r[1+0])[0];
|
|
r[1+1] = obj_from_ktrap();
|
|
r[1+2] = obj_from_void(exit(1));
|
|
r += 1; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 391: /* reset k */
|
|
assert(rc == 2);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k */
|
|
r[1+0] = r[0];
|
|
pc = objptr_from_obj(r[1+0])[0];
|
|
r[1+1] = obj_from_ktrap();
|
|
r[1+2] = obj_from_void(exit(1));
|
|
r += 1; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 392: /* set-reset-handler! k fn */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k fn */
|
|
cx_reset = r[1];
|
|
r[2] = obj_from_void(0);
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 393: /* clo k msg args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k msg args */
|
|
hreserve(hbsz(1+1), 3); /* 3 live regs */
|
|
*--hp = r[0];
|
|
*--hp = obj_from_case(394);
|
|
r[3] = (hendblk(1+1));
|
|
r[4+0] = r[3];
|
|
r[4+1] = (mksymbol(internsym("read")));
|
|
r[4+2] = (r[1]);
|
|
r[4+3] = (r[2]);
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto gs_error_2Dobject;
|
|
|
|
case 394: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r k */
|
|
r[0] = r[2];
|
|
/* r[1] */
|
|
goto gs_raise;
|
|
|
|
case 395: /* read-error? k obj */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k obj */
|
|
{ /* record? */
|
|
obj o = (r[1]), t = (cx__3Cerror_2Dobject_3E);
|
|
if (!isrecord(o)) r[2] = obj_from_bool(0);
|
|
else r[2] = obj_from_bool(recordrtd(o) == t); }
|
|
if (bool_from_obj(r[2])) {
|
|
r[2] = (recordref((r[1]), (+0)));
|
|
r[2] = obj_from_bool((r[2]) == (mksymbol(internsym("read"))));
|
|
} else {
|
|
r[2] = obj_from_bool(0);
|
|
}
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 396: /* clo k msg args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k msg args */
|
|
hreserve(hbsz(1+1), 3); /* 3 live regs */
|
|
*--hp = r[0];
|
|
*--hp = obj_from_case(397);
|
|
r[3] = (hendblk(1+1));
|
|
r[4+0] = r[3];
|
|
r[4+1] = (mksymbol(internsym("file")));
|
|
r[4+2] = (r[1]);
|
|
r[4+3] = (r[2]);
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto gs_error_2Dobject;
|
|
|
|
case 397: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r k */
|
|
r[0] = r[2];
|
|
/* r[1] */
|
|
goto gs_raise;
|
|
|
|
case 398: /* file-error? k obj */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k obj */
|
|
{ /* record? */
|
|
obj o = (r[1]), t = (cx__3Cerror_2Dobject_3E);
|
|
if (!isrecord(o)) r[2] = obj_from_bool(0);
|
|
else r[2] = obj_from_bool(recordrtd(o) == t); }
|
|
if (bool_from_obj(r[2])) {
|
|
r[2] = (recordref((r[1]), (+0)));
|
|
r[2] = obj_from_bool((r[2]) == (mksymbol(internsym("file"))));
|
|
} else {
|
|
r[2] = obj_from_bool(0);
|
|
}
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 399: /* %residual-current-jiffy k */
|
|
assert(rc == 2);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k */
|
|
r[1] = obj_from_flonum(1, clock());
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = r[1];
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 400: /* %residual-jiffies-per-second k */
|
|
assert(rc == 2);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k */
|
|
r[1] = obj_from_flonum(1, CLOCKS_PER_SEC);
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = r[1];
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 401: /* %residual-current-second k */
|
|
assert(rc == 2);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k */
|
|
r[1] = obj_from_flonum(1, (double)time(NULL));
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = r[1];
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 402: /* %residual-argv-ref k argv i */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k argv i */
|
|
{ /* argv-ref */
|
|
int i = fixnum_from_obj(r[2]);
|
|
char *s = ((char **)((r[1])))[i];
|
|
if (s) r[3] = (hpushstr(3, newstring(s)));
|
|
else r[3] = obj_from_bool(0); }
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 403: /* command-line k */
|
|
assert(rc == 2);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k */
|
|
r[1+0] = r[0];
|
|
r[1+1] = (mknull());
|
|
r[1+2] = obj_from_fixnum(0);
|
|
r += 1; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto s_loop_v7903;
|
|
|
|
s_loop_v7903: /* k r i */
|
|
{ const fixnum_t v10649_i = fixnum_from_obj(r[2]);
|
|
{ /* argv-ref */
|
|
int i = (v10649_i);
|
|
char *s = ((char **)((cxg_argv)))[i];
|
|
if (s) r[3] = (hpushstr(3, newstring(s)));
|
|
else r[3] = obj_from_bool(0); }
|
|
if (bool_from_obj(r[3])) {
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 4); /* 4 live regs */
|
|
*--hp = r[1];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[4] = (hendblk(3)); }
|
|
/* r[0] */
|
|
r[1] = r[4];
|
|
r[2] = obj_from_fixnum(fxadd((v10649_i), (1)));
|
|
goto s_loop_v7903;
|
|
} else {
|
|
{ /* reverse! */
|
|
obj t, v = mknull(), l = r[1];
|
|
while (l != mknull()) t = cdr(l), cdr(l) = v, v = l, l = t;
|
|
r[4] = (v); }
|
|
r[5+0] = r[0];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = obj_from_ktrap();
|
|
r[5+2] = r[4];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} }
|
|
|
|
case 404: /* %residual-get-environment-variable k s */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k s */
|
|
{ /* get-environment-variable */
|
|
char *v = getenv(stringchars((r[1])));
|
|
if (v) r[2] = (hpushstr(2, newstring(v)));
|
|
else r[2] = obj_from_bool(0); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 405: /* %residual-system k cmd */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k cmd */
|
|
{ /* system */
|
|
int res = system(stringchars((r[1])));
|
|
r[2] = obj_from_fixnum(res); }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 406: /* %residual-make-rectangular k r i */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k r i */
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
r[3] = obj_from_bool(fixnum_from_obj(r[2]) == (+0));
|
|
} else {
|
|
{ const flonum_t v10648_tmp = ((flonum_t)(+0));
|
|
r[3] = obj_from_bool(flonum_from_obj(r[2]) == (v10648_tmp)); }
|
|
}
|
|
if (bool_from_obj(r[3])) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3+0] = (cx_error);
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = r[0];
|
|
r[3+2] = (mksymbol(internsym("make-rectangular")));
|
|
r[3+3] = (cx__231836);
|
|
r[3+4] = (r[2]);
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 5;
|
|
goto jump;
|
|
}
|
|
|
|
case 407: /* %residual-make-polar k m a */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k m a */
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
r[3] = obj_from_bool(fixnum_from_obj(r[2]) == (+0));
|
|
} else {
|
|
{ const flonum_t v10647_tmp = ((flonum_t)(+0));
|
|
r[3] = obj_from_bool(flonum_from_obj(r[2]) == (v10647_tmp)); }
|
|
}
|
|
if (bool_from_obj(r[3])) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
{ const fixnum_t v10645_a = fixnum_from_obj(r[2]);
|
|
if ((is_fixnum_obj(cx__231852))) {
|
|
r[3] = obj_from_bool((v10645_a) == fixnum_from_obj(cx__231852));
|
|
} else {
|
|
{ const flonum_t v10646_tmp = ((flonum_t)(v10645_a));
|
|
r[3] = obj_from_bool((v10646_tmp) == flonum_from_obj(cx__231852)); }
|
|
} }
|
|
} else {
|
|
if ((is_fixnum_obj(cx__231852))) {
|
|
{ const flonum_t v10644_tmp = ((flonum_t)fixnum_from_obj(cx__231852));
|
|
r[3] = obj_from_bool(flonum_from_obj(r[2]) == (v10644_tmp)); }
|
|
} else {
|
|
r[3] = obj_from_bool(flonum_from_obj(r[2]) == flonum_from_obj(cx__231852));
|
|
}
|
|
}
|
|
if (bool_from_obj(r[3])) {
|
|
r[3] = ((is_fixnum_obj(r[1])) ? obj_from_fixnum(fxneg(fixnum_from_obj(r[1]))) : obj_from_flonum(3, -flonum_from_obj(r[1])));
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3+0] = (cx_error);
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = r[0];
|
|
r[3+2] = (mksymbol(internsym("make-polar")));
|
|
r[3+3] = (cx__231848);
|
|
r[3+4] = (r[2]);
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 5;
|
|
goto jump;
|
|
}
|
|
}
|
|
|
|
case 408: /* %residual-real-part k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (cxs__25residual_2Dreal_2Dpart((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 409: /* %residual-imag-part k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_fixnum(+0);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 410: /* %residual-magnitude k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2] = ((is_fixnum_obj(r[1])) ? obj_from_fixnum(fxabs(fixnum_from_obj(r[1]))) : obj_from_flonum(2, fabs(flonum_from_obj(r[1]))));
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 411: /* %residual-angle k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (cxs__25residual_2Dangle((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 412: /* truncate/ k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
hreserve(hbsz(2+1), 3); /* 3 live regs */
|
|
*--hp = r[1];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(413);
|
|
r[3] = (hendblk(2+1));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
goto gs_call_2Dwith_2Dcurrent_2Dcontinuation;
|
|
|
|
case 413: /* clo k k */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k k y x */
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
{ const fixnum_t v10642_x = fixnum_from_obj(r[3]);
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
r[4] = obj_from_fixnum(fxquo((v10642_x), fixnum_from_obj(r[2])));
|
|
} else {
|
|
{ const flonum_t v10643_tmp = ((flonum_t)(v10642_x));
|
|
r[4] = obj_from_flonum(4, flquo((v10643_tmp), flonum_from_obj(r[2]))); }
|
|
} }
|
|
} else {
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
{ const flonum_t v10641_tmp = ((flonum_t)fixnum_from_obj(r[2]));
|
|
r[4] = obj_from_flonum(4, flquo(flonum_from_obj(r[3]), (v10641_tmp))); }
|
|
} else {
|
|
r[4] = obj_from_flonum(4, flquo(flonum_from_obj(r[3]), flonum_from_obj(r[2])));
|
|
}
|
|
}
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
{ const fixnum_t v10639_x = fixnum_from_obj(r[3]);
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
r[5] = obj_from_fixnum(fxrem((v10639_x), fixnum_from_obj(r[2])));
|
|
} else {
|
|
{ const flonum_t v10640_tmp = ((flonum_t)(v10639_x));
|
|
r[5] = obj_from_flonum(5, flrem((v10640_tmp), flonum_from_obj(r[2]))); }
|
|
} }
|
|
} else {
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
{ const flonum_t v10638_tmp = ((flonum_t)fixnum_from_obj(r[2]));
|
|
r[5] = obj_from_flonum(5, flrem(flonum_from_obj(r[3]), (v10638_tmp))); }
|
|
} else {
|
|
r[5] = obj_from_flonum(5, flrem(flonum_from_obj(r[3]), flonum_from_obj(r[2])));
|
|
}
|
|
}
|
|
r[6+0] = r[1];
|
|
pc = objptr_from_obj(r[6+0])[0];
|
|
r[6+1] = obj_from_ktrap();
|
|
r[6+2] = r[4];
|
|
r[6+3] = r[5];
|
|
r += 6; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 414: /* floor/ k x y */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x y */
|
|
hreserve(hbsz(2+1), 3); /* 3 live regs */
|
|
*--hp = r[1];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(415);
|
|
r[3] = (hendblk(2+1));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
goto gs_call_2Dwith_2Dcurrent_2Dcontinuation;
|
|
|
|
case 415: /* clo k k */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k k y x */
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
{ const fixnum_t v10636_x = fixnum_from_obj(r[3]);
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
r[4] = obj_from_fixnum(fxmqu((v10636_x), fixnum_from_obj(r[2])));
|
|
} else {
|
|
{ const flonum_t v10637_tmp = ((flonum_t)(v10636_x));
|
|
r[4] = obj_from_flonum(4, flmqu((v10637_tmp), flonum_from_obj(r[2]))); }
|
|
} }
|
|
} else {
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
{ const flonum_t v10635_tmp = ((flonum_t)fixnum_from_obj(r[2]));
|
|
r[4] = obj_from_flonum(4, flmqu(flonum_from_obj(r[3]), (v10635_tmp))); }
|
|
} else {
|
|
r[4] = obj_from_flonum(4, flmqu(flonum_from_obj(r[3]), flonum_from_obj(r[2])));
|
|
}
|
|
}
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
{ const fixnum_t v10633_x = fixnum_from_obj(r[3]);
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
r[5] = obj_from_fixnum(fxmlo((v10633_x), fixnum_from_obj(r[2])));
|
|
} else {
|
|
{ const flonum_t v10634_tmp = ((flonum_t)(v10633_x));
|
|
r[5] = obj_from_flonum(5, flmlo((v10634_tmp), flonum_from_obj(r[2]))); }
|
|
} }
|
|
} else {
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
{ const flonum_t v10632_tmp = ((flonum_t)fixnum_from_obj(r[2]));
|
|
r[5] = obj_from_flonum(5, flmlo(flonum_from_obj(r[3]), (v10632_tmp))); }
|
|
} else {
|
|
r[5] = obj_from_flonum(5, flmlo(flonum_from_obj(r[3]), flonum_from_obj(r[2])));
|
|
}
|
|
}
|
|
r[6+0] = r[1];
|
|
pc = objptr_from_obj(r[6+0])[0];
|
|
r[6+1] = obj_from_ktrap();
|
|
r[6+2] = r[4];
|
|
r[6+3] = r[5];
|
|
r += 6; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 416: /* exact-integer-sqrt k x */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x */
|
|
hreserve(hbsz(2+1), 2); /* 2 live regs */
|
|
*--hp = obj_from_fixnum(fxsqrt(fixnum_from_obj(r[1])));
|
|
*--hp = r[1];
|
|
*--hp = obj_from_case(417);
|
|
r[2] = (hendblk(2+1));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
goto gs_call_2Dwith_2Dcurrent_2Dcontinuation;
|
|
|
|
case 417: /* clo k k */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k k x r */
|
|
{ const fixnum_t v10630_b = (fxmul(fixnum_from_obj(r[3]), fixnum_from_obj(r[3])));
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
r[4] = obj_from_fixnum(fxsub(fixnum_from_obj(r[2]), (v10630_b)));
|
|
} else {
|
|
{ const flonum_t v10631_tmp = ((flonum_t)(v10630_b));
|
|
r[4] = obj_from_flonum(4, flonum_from_obj(r[2]) - (v10631_tmp)); }
|
|
} }
|
|
r[5+0] = r[1];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = obj_from_ktrap();
|
|
r[5+2] = r[3];
|
|
r[5+3] = r[4];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 418: /* call-with-port k port proc */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
gs_call_2Dwith_2Dport: /* k port proc */
|
|
hreserve(hbsz(1+1), 3); /* 3 live regs */
|
|
*--hp = r[1];
|
|
*--hp = obj_from_case(419);
|
|
r[3] = (hendblk(1+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 4); /* 4 live regs */
|
|
*--hp = r[3];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
r[3] = (hendblk(3)); }
|
|
hreserve(hbsz(2+1), 4); /* 4 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(420);
|
|
r[4] = (hendblk(2+1));
|
|
{ /* make-improper-lambda */
|
|
hreserve(hbsz(3), 5); /* 5 live regs */
|
|
*--hp = r[4];
|
|
*--hp = obj_from_fixnum(+0);
|
|
*--hp = obj_from_objptr(appcases+1);
|
|
r[4] = (hendblk(3)); }
|
|
r[5+0] = r[2];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = r[4];
|
|
r[5+2] = r[1];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 419: /* clo k vals */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k vals port */
|
|
(void)(cxs_close_2Dport((r[2])));
|
|
{ /* define apply */
|
|
static obj c[] = { obj_from_objptr(appcases+0) };
|
|
r[3] = obj_from_objptr(c); }
|
|
r[4+0] = r[3];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = r[0];
|
|
r[4+2] = (cx__25residual_2Dvalues);
|
|
r[4+3] = r[1];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 420: /* clo k results */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k results consumer k */
|
|
{ /* define apply */
|
|
static obj c[] = { obj_from_objptr(appcases+0) };
|
|
r[4] = obj_from_objptr(c); }
|
|
r[5+0] = r[4];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = r[3];
|
|
r[5+2] = r[2];
|
|
r[5+3] = r[1];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 421: /* clo k l */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k l */
|
|
hreserve(hbsz(1+1), 2); /* 2 live regs */
|
|
*--hp = r[1];
|
|
*--hp = obj_from_case(422);
|
|
r[2] = (hendblk(1+1));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
goto gs_call_2Dwith_2Dcurrent_2Dcontinuation;
|
|
|
|
case 422: /* clo k k */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k k l */
|
|
{ /* define apply */
|
|
static obj c[] = { obj_from_objptr(appcases+0) };
|
|
r[3] = obj_from_objptr(c); }
|
|
r[4+0] = r[3];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[1];
|
|
r[4+3] = r[2];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 423: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isnull((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
r[2] = r[3];
|
|
goto s_loop_v7766;
|
|
}
|
|
|
|
s_loop_v7766: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(isnull((r[2])));
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
if ((fixnum_from_obj(r[1]) == fixnum_from_obj(r[3]))) {
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7766;
|
|
} else {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(0);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
}
|
|
|
|
case 424: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isnull((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
r[2] = r[3];
|
|
goto s_loop_v7753;
|
|
}
|
|
|
|
s_loop_v7753: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(isnull((r[2])));
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
if ((fixnum_from_obj(r[1]) < fixnum_from_obj(r[3]))) {
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7753;
|
|
} else {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(0);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
}
|
|
|
|
case 425: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isnull((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
r[2] = r[3];
|
|
goto s_loop_v7740;
|
|
}
|
|
|
|
s_loop_v7740: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(isnull((r[2])));
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
if ((fixnum_from_obj(r[1]) > fixnum_from_obj(r[3]))) {
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7740;
|
|
} else {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(0);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
}
|
|
|
|
case 426: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isnull((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
r[2] = r[3];
|
|
goto s_loop_v7727;
|
|
}
|
|
|
|
s_loop_v7727: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(isnull((r[2])));
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
if ((fixnum_from_obj(r[1]) <= fixnum_from_obj(r[3]))) {
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7727;
|
|
} else {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(0);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
}
|
|
|
|
case 427: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isnull((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
r[2] = r[3];
|
|
goto s_loop_v7714;
|
|
}
|
|
|
|
s_loop_v7714: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(isnull((r[2])));
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
if ((fixnum_from_obj(r[1]) >= fixnum_from_obj(r[3]))) {
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7714;
|
|
} else {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(0);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
}
|
|
|
|
case 428: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isnull((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
r[2] = r[3];
|
|
goto s_loop_v7701;
|
|
}
|
|
|
|
s_loop_v7701: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(isnull((r[2])));
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
if ((flonum_from_obj(r[1]) == flonum_from_obj(r[3]))) {
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7701;
|
|
} else {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(0);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
}
|
|
|
|
case 429: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isnull((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
r[2] = r[3];
|
|
goto s_loop_v7688;
|
|
}
|
|
|
|
s_loop_v7688: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(isnull((r[2])));
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
if ((flonum_from_obj(r[1]) < flonum_from_obj(r[3]))) {
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7688;
|
|
} else {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(0);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
}
|
|
|
|
case 430: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isnull((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
r[2] = r[3];
|
|
goto s_loop_v7675;
|
|
}
|
|
|
|
s_loop_v7675: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(isnull((r[2])));
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
if ((flonum_from_obj(r[1]) > flonum_from_obj(r[3]))) {
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7675;
|
|
} else {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(0);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
}
|
|
|
|
case 431: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isnull((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
r[2] = r[3];
|
|
goto s_loop_v7662;
|
|
}
|
|
|
|
s_loop_v7662: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(isnull((r[2])));
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
if ((flonum_from_obj(r[1]) <= flonum_from_obj(r[3]))) {
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7662;
|
|
} else {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(0);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
}
|
|
|
|
case 432: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isnull((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
r[2] = r[3];
|
|
goto s_loop_v7649;
|
|
}
|
|
|
|
s_loop_v7649: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(isnull((r[2])));
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
if ((flonum_from_obj(r[1]) >= flonum_from_obj(r[3]))) {
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7649;
|
|
} else {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(0);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
}
|
|
|
|
case 433: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isnull((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
r[2] = r[3];
|
|
goto s_loop_v7636;
|
|
}
|
|
|
|
s_loop_v7636: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(isnull((r[2])));
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
if ((is_fixnum_obj(r[1]))) {
|
|
{ const fixnum_t v10628_x = fixnum_from_obj(r[1]);
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
r[4] = obj_from_bool((v10628_x) == fixnum_from_obj(r[3]));
|
|
} else {
|
|
{ const flonum_t v10629_tmp = ((flonum_t)(v10628_x));
|
|
r[4] = obj_from_bool((v10629_tmp) == flonum_from_obj(r[3])); }
|
|
} }
|
|
} else {
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
{ const flonum_t v10627_tmp = ((flonum_t)fixnum_from_obj(r[3]));
|
|
r[4] = obj_from_bool(flonum_from_obj(r[1]) == (v10627_tmp)); }
|
|
} else {
|
|
r[4] = obj_from_bool(flonum_from_obj(r[1]) == flonum_from_obj(r[3]));
|
|
}
|
|
}
|
|
if (bool_from_obj(r[4])) {
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7636;
|
|
} else {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(0);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
}
|
|
|
|
case 434: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isnull((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
r[2] = r[3];
|
|
goto s_loop_v7623;
|
|
}
|
|
|
|
s_loop_v7623: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(isnull((r[2])));
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
if ((is_fixnum_obj(r[1]))) {
|
|
{ const fixnum_t v10625_x = fixnum_from_obj(r[1]);
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
r[4] = obj_from_bool((v10625_x) < fixnum_from_obj(r[3]));
|
|
} else {
|
|
{ const flonum_t v10626_tmp = ((flonum_t)(v10625_x));
|
|
r[4] = obj_from_bool((v10626_tmp) < flonum_from_obj(r[3])); }
|
|
} }
|
|
} else {
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
{ const flonum_t v10624_tmp = ((flonum_t)fixnum_from_obj(r[3]));
|
|
r[4] = obj_from_bool(flonum_from_obj(r[1]) < (v10624_tmp)); }
|
|
} else {
|
|
r[4] = obj_from_bool(flonum_from_obj(r[1]) < flonum_from_obj(r[3]));
|
|
}
|
|
}
|
|
if (bool_from_obj(r[4])) {
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7623;
|
|
} else {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(0);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
}
|
|
|
|
case 435: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isnull((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
r[2] = r[3];
|
|
goto s_loop_v7610;
|
|
}
|
|
|
|
s_loop_v7610: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(isnull((r[2])));
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
if ((is_fixnum_obj(r[1]))) {
|
|
{ const fixnum_t v10622_x = fixnum_from_obj(r[1]);
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
r[4] = obj_from_bool((v10622_x) > fixnum_from_obj(r[3]));
|
|
} else {
|
|
{ const flonum_t v10623_tmp = ((flonum_t)(v10622_x));
|
|
r[4] = obj_from_bool((v10623_tmp) > flonum_from_obj(r[3])); }
|
|
} }
|
|
} else {
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
{ const flonum_t v10621_tmp = ((flonum_t)fixnum_from_obj(r[3]));
|
|
r[4] = obj_from_bool(flonum_from_obj(r[1]) > (v10621_tmp)); }
|
|
} else {
|
|
r[4] = obj_from_bool(flonum_from_obj(r[1]) > flonum_from_obj(r[3]));
|
|
}
|
|
}
|
|
if (bool_from_obj(r[4])) {
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7610;
|
|
} else {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(0);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
}
|
|
|
|
case 436: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isnull((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
r[2] = r[3];
|
|
goto s_loop_v7597;
|
|
}
|
|
|
|
s_loop_v7597: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(isnull((r[2])));
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
if ((is_fixnum_obj(r[1]))) {
|
|
{ const fixnum_t v10619_x = fixnum_from_obj(r[1]);
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
r[4] = obj_from_bool((v10619_x) <= fixnum_from_obj(r[3]));
|
|
} else {
|
|
{ const flonum_t v10620_tmp = ((flonum_t)(v10619_x));
|
|
r[4] = obj_from_bool((v10620_tmp) <= flonum_from_obj(r[3])); }
|
|
} }
|
|
} else {
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
{ const flonum_t v10618_tmp = ((flonum_t)fixnum_from_obj(r[3]));
|
|
r[4] = obj_from_bool(flonum_from_obj(r[1]) <= (v10618_tmp)); }
|
|
} else {
|
|
r[4] = obj_from_bool(flonum_from_obj(r[1]) <= flonum_from_obj(r[3]));
|
|
}
|
|
}
|
|
if (bool_from_obj(r[4])) {
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7597;
|
|
} else {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(0);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
}
|
|
|
|
case 437: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isnull((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
r[2] = r[3];
|
|
goto s_loop_v7584;
|
|
}
|
|
|
|
s_loop_v7584: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(isnull((r[2])));
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
if ((is_fixnum_obj(r[1]))) {
|
|
{ const fixnum_t v10616_x = fixnum_from_obj(r[1]);
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
r[4] = obj_from_bool((v10616_x) >= fixnum_from_obj(r[3]));
|
|
} else {
|
|
{ const flonum_t v10617_tmp = ((flonum_t)(v10616_x));
|
|
r[4] = obj_from_bool((v10617_tmp) >= flonum_from_obj(r[3])); }
|
|
} }
|
|
} else {
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
{ const flonum_t v10615_tmp = ((flonum_t)fixnum_from_obj(r[3]));
|
|
r[4] = obj_from_bool(flonum_from_obj(r[1]) >= (v10615_tmp)); }
|
|
} else {
|
|
r[4] = obj_from_bool(flonum_from_obj(r[1]) >= flonum_from_obj(r[3]));
|
|
}
|
|
}
|
|
if (bool_from_obj(r[4])) {
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7584;
|
|
} else {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_bool(0);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
}
|
|
|
|
case 438: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
/* r[0] */
|
|
/* r[1] */
|
|
/* r[2] */
|
|
goto s_loop_v7569;
|
|
|
|
s_loop_v7569: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
r[3] = ((fixnum_from_obj(r[1]) > fixnum_from_obj(r[3])) ? (r[1]) : (r[3]));
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7569;
|
|
}
|
|
|
|
case 439: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
/* r[0] */
|
|
/* r[1] */
|
|
/* r[2] */
|
|
goto s_loop_v7554;
|
|
|
|
s_loop_v7554: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
r[3] = ((fixnum_from_obj(r[1]) < fixnum_from_obj(r[3])) ? (r[1]) : (r[3]));
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7554;
|
|
}
|
|
|
|
case 440: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
/* r[0] */
|
|
/* r[1] */
|
|
/* r[2] */
|
|
goto s_loop_v7539;
|
|
|
|
s_loop_v7539: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
r[3] = ((flonum_from_obj(r[1]) > flonum_from_obj(r[3])) ? (r[1]) : (r[3]));
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7539;
|
|
}
|
|
|
|
case 441: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
/* r[0] */
|
|
/* r[1] */
|
|
/* r[2] */
|
|
goto s_loop_v7524;
|
|
|
|
s_loop_v7524: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
r[3] = ((flonum_from_obj(r[1]) < flonum_from_obj(r[3])) ? (r[1]) : (r[3]));
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7524;
|
|
}
|
|
|
|
case 442: /* %residual-max/2 k a b */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
gs__25residual_2Dmax_2F2: /* k a b */
|
|
if ((is_fixnum_obj(r[1]))) {
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
r[3] = ((fixnum_from_obj(r[1]) > fixnum_from_obj(r[2])) ? (r[1]) : (r[2]));
|
|
} else {
|
|
r[3] = obj_from_flonum(3, (flonum_t)fixnum_from_obj(r[1]));
|
|
r[3] = ((flonum_from_obj(r[3]) > flonum_from_obj(r[2])) ? (r[3]) : (r[2]));
|
|
}
|
|
} else {
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
r[3] = obj_from_flonum(3, (flonum_t)fixnum_from_obj(r[2]));
|
|
r[3] = ((flonum_from_obj(r[1]) > flonum_from_obj(r[3])) ? (r[1]) : (r[3]));
|
|
} else {
|
|
r[3] = ((flonum_from_obj(r[1]) > flonum_from_obj(r[2])) ? (r[1]) : (r[2]));
|
|
}
|
|
}
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 443: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
/* r[0] */
|
|
/* r[1] */
|
|
/* r[2] */
|
|
goto s_loop_v7495;
|
|
|
|
case 444: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
s_loop_v7495: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
hreserve(hbsz(0+1), 3); /* 3 live regs */
|
|
*--hp = obj_from_case(444);
|
|
r[3] = (hendblk(0+1));
|
|
hreserve(hbsz(3+1), 4); /* 4 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[2];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(445);
|
|
r[3] = (hendblk(3+1));
|
|
r[0] = r[3];
|
|
/* r[1] */
|
|
r[2] = (car((r[2])));
|
|
goto gs__25residual_2Dmax_2F2;
|
|
}
|
|
|
|
case 445: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r loop args k */
|
|
r[5+0] = r[2];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = r[4];
|
|
r[5+2] = r[1];
|
|
r[5+3] = (cdr((r[3])));
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 446: /* %residual-min/2 k a b */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
gs__25residual_2Dmin_2F2: /* k a b */
|
|
if ((is_fixnum_obj(r[1]))) {
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
r[3] = ((fixnum_from_obj(r[1]) < fixnum_from_obj(r[2])) ? (r[1]) : (r[2]));
|
|
} else {
|
|
r[3] = obj_from_flonum(3, (flonum_t)fixnum_from_obj(r[1]));
|
|
r[3] = ((flonum_from_obj(r[3]) < flonum_from_obj(r[2])) ? (r[3]) : (r[2]));
|
|
}
|
|
} else {
|
|
if ((is_fixnum_obj(r[2]))) {
|
|
r[3] = obj_from_flonum(3, (flonum_t)fixnum_from_obj(r[2]));
|
|
r[3] = ((flonum_from_obj(r[1]) < flonum_from_obj(r[3])) ? (r[1]) : (r[3]));
|
|
} else {
|
|
r[3] = ((flonum_from_obj(r[1]) < flonum_from_obj(r[2])) ? (r[1]) : (r[2]));
|
|
}
|
|
}
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 447: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
/* r[0] */
|
|
/* r[1] */
|
|
/* r[2] */
|
|
goto s_loop_v7466;
|
|
|
|
case 448: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
s_loop_v7466: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
hreserve(hbsz(0+1), 3); /* 3 live regs */
|
|
*--hp = obj_from_case(448);
|
|
r[3] = (hendblk(0+1));
|
|
hreserve(hbsz(3+1), 4); /* 4 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[2];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(449);
|
|
r[3] = (hendblk(3+1));
|
|
r[0] = r[3];
|
|
/* r[1] */
|
|
r[2] = (car((r[2])));
|
|
goto gs__25residual_2Dmin_2F2;
|
|
}
|
|
|
|
case 449: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r loop args k */
|
|
r[5+0] = r[2];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = r[4];
|
|
r[5+2] = r[1];
|
|
r[5+3] = (cdr((r[3])));
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 450: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_fixnum(+0);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
r[2] = r[3];
|
|
goto s_loop_v7453;
|
|
}
|
|
|
|
s_loop_v7453: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
r[3] = obj_from_fixnum(fxadd(fixnum_from_obj(r[1]), fixnum_from_obj(r[3])));
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7453;
|
|
}
|
|
|
|
case 451: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_fixnum(+1);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
r[2] = r[3];
|
|
goto s_loop_v7440;
|
|
}
|
|
|
|
s_loop_v7440: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
r[3] = obj_from_fixnum(fxmul(fixnum_from_obj(r[1]), fixnum_from_obj(r[3])));
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7440;
|
|
}
|
|
|
|
case 452: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (cx__232471);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
r[2] = r[3];
|
|
goto s_loop_v7427;
|
|
}
|
|
|
|
s_loop_v7427: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
r[3] = obj_from_flonum(4, flonum_from_obj(r[1]) + flonum_from_obj(r[3]));
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7427;
|
|
}
|
|
|
|
case 453: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (cx__232488);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
r[2] = r[3];
|
|
goto s_loop_v7414;
|
|
}
|
|
|
|
s_loop_v7414: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
r[3] = obj_from_flonum(4, flonum_from_obj(r[1]) * flonum_from_obj(r[3]));
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7414;
|
|
}
|
|
|
|
case 454: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_fixnum(+0);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
r[2] = r[3];
|
|
goto s_loop_v7401;
|
|
}
|
|
|
|
s_loop_v7401: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
if ((is_fixnum_obj(r[1]))) {
|
|
{ const fixnum_t v10613_x = fixnum_from_obj(r[1]);
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
r[3] = obj_from_fixnum(fxadd((v10613_x), fixnum_from_obj(r[3])));
|
|
} else {
|
|
{ const flonum_t v10614_tmp = ((flonum_t)(v10613_x));
|
|
r[3] = obj_from_flonum(4, (v10614_tmp) + flonum_from_obj(r[3])); }
|
|
} }
|
|
} else {
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
{ const flonum_t v10612_tmp = ((flonum_t)fixnum_from_obj(r[3]));
|
|
r[3] = obj_from_flonum(4, flonum_from_obj(r[1]) + (v10612_tmp)); }
|
|
} else {
|
|
r[3] = obj_from_flonum(4, flonum_from_obj(r[1]) + flonum_from_obj(r[3]));
|
|
}
|
|
}
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7401;
|
|
}
|
|
|
|
case 455: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_fixnum(+1);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
r[2] = r[3];
|
|
goto s_loop_v7388;
|
|
}
|
|
|
|
s_loop_v7388: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
if ((is_fixnum_obj(r[1]))) {
|
|
{ const fixnum_t v10610_x = fixnum_from_obj(r[1]);
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
r[3] = obj_from_fixnum(fxmul((v10610_x), fixnum_from_obj(r[3])));
|
|
} else {
|
|
{ const flonum_t v10611_tmp = ((flonum_t)(v10610_x));
|
|
r[3] = obj_from_flonum(4, (v10611_tmp) * flonum_from_obj(r[3])); }
|
|
} }
|
|
} else {
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
{ const flonum_t v10609_tmp = ((flonum_t)fixnum_from_obj(r[3]));
|
|
r[3] = obj_from_flonum(4, flonum_from_obj(r[1]) * (v10609_tmp)); }
|
|
} else {
|
|
r[3] = obj_from_flonum(4, flonum_from_obj(r[1]) * flonum_from_obj(r[3]));
|
|
}
|
|
}
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7388;
|
|
}
|
|
|
|
case 456: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_fixnum(+0);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
r[2] = r[3];
|
|
goto s_loop_v7375;
|
|
}
|
|
|
|
s_loop_v7375: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
if ((is_fixnum_obj(r[1]))) {
|
|
{ const fixnum_t v10607_x = fixnum_from_obj(r[1]);
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
r[3] = obj_from_fixnum(fxgcd((v10607_x), fixnum_from_obj(r[3])));
|
|
} else {
|
|
{ const flonum_t v10608_tmp = ((flonum_t)(v10607_x));
|
|
r[3] = obj_from_flonum(4, flgcd((v10608_tmp), flonum_from_obj(r[3]))); }
|
|
} }
|
|
} else {
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
{ const flonum_t v10606_tmp = ((flonum_t)fixnum_from_obj(r[3]));
|
|
r[3] = obj_from_flonum(4, flgcd(flonum_from_obj(r[1]), (v10606_tmp))); }
|
|
} else {
|
|
r[3] = obj_from_flonum(4, flgcd(flonum_from_obj(r[1]), flonum_from_obj(r[3])));
|
|
}
|
|
}
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7375;
|
|
}
|
|
|
|
case 457: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_fixnum(+1);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[3] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
r[2] = r[3];
|
|
goto s_loop_v7356;
|
|
}
|
|
|
|
case 458: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
s_loop_v7356: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
hreserve(hbsz(0+1), 3); /* 3 live regs */
|
|
*--hp = obj_from_case(458);
|
|
r[3] = (hendblk(0+1));
|
|
hreserve(hbsz(3+1), 4); /* 4 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[2];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(459);
|
|
r[3] = (hendblk(3+1));
|
|
r[0] = r[3];
|
|
/* r[1] */
|
|
r[2] = (car((r[2])));
|
|
goto gs_lcm_2F2;
|
|
}
|
|
|
|
case 459: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r loop args k */
|
|
r[5+0] = r[2];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = r[4];
|
|
r[5+2] = r[1];
|
|
r[5+3] = (cdr((r[3])));
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 460: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_fixnum(fxneg(fixnum_from_obj(r[1])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
/* r[0] */
|
|
/* r[1] */
|
|
/* r[2] */
|
|
goto s_loop_v7341;
|
|
}
|
|
|
|
s_loop_v7341: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
r[3] = obj_from_fixnum(fxsub(fixnum_from_obj(r[1]), fixnum_from_obj(r[3])));
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7341;
|
|
}
|
|
|
|
case 461: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = obj_from_fixnum(fxdiv(1, fixnum_from_obj(r[1])));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
/* r[0] */
|
|
/* r[1] */
|
|
/* r[2] */
|
|
goto s_loop_v7326;
|
|
}
|
|
|
|
s_loop_v7326: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
r[3] = obj_from_fixnum(fxdiv(fixnum_from_obj(r[1]), fixnum_from_obj(r[3])));
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7326;
|
|
}
|
|
|
|
case 462: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3] = obj_from_flonum(3, -flonum_from_obj(r[1]));
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
/* r[0] */
|
|
/* r[1] */
|
|
/* r[2] */
|
|
goto s_loop_v7311;
|
|
}
|
|
|
|
s_loop_v7311: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
r[3] = obj_from_flonum(4, flonum_from_obj(r[1]) - flonum_from_obj(r[3]));
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7311;
|
|
}
|
|
|
|
case 463: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3] = obj_from_flonum(3, 1.0/flonum_from_obj(r[1]));
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
/* r[0] */
|
|
/* r[1] */
|
|
/* r[2] */
|
|
goto s_loop_v7296;
|
|
}
|
|
|
|
s_loop_v7296: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
r[3] = obj_from_flonum(4, flonum_from_obj(r[1]) / flonum_from_obj(r[3]));
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7296;
|
|
}
|
|
|
|
case 464: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3] = ((is_fixnum_obj(r[1])) ? obj_from_fixnum(fxneg(fixnum_from_obj(r[1]))) : obj_from_flonum(3, -flonum_from_obj(r[1])));
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
/* r[0] */
|
|
/* r[1] */
|
|
/* r[2] */
|
|
goto s_loop_v7281;
|
|
}
|
|
|
|
s_loop_v7281: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
if ((is_fixnum_obj(r[1]))) {
|
|
{ const fixnum_t v10604_x = fixnum_from_obj(r[1]);
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
r[3] = obj_from_fixnum(fxsub((v10604_x), fixnum_from_obj(r[3])));
|
|
} else {
|
|
{ const flonum_t v10605_tmp = ((flonum_t)(v10604_x));
|
|
r[3] = obj_from_flonum(4, (v10605_tmp) - flonum_from_obj(r[3])); }
|
|
} }
|
|
} else {
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
{ const flonum_t v10603_tmp = ((flonum_t)fixnum_from_obj(r[3]));
|
|
r[3] = obj_from_flonum(4, flonum_from_obj(r[1]) - (v10603_tmp)); }
|
|
} else {
|
|
r[3] = obj_from_flonum(4, flonum_from_obj(r[1]) - flonum_from_obj(r[3]));
|
|
}
|
|
}
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7281;
|
|
}
|
|
|
|
case 465: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
if ((isnull((r[2])))) {
|
|
if ((is_fixnum_obj(r[1]))) {
|
|
{ /* fxfl/ */
|
|
fixnum_t x = (+1), y = fixnum_from_obj(r[1]);
|
|
long i; double d;
|
|
if (0) r[3] = (0); /* to fool sfc unboxer */
|
|
else if (fxifdv(x, y, &i, &d)) r[3] = obj_from_fixnum(i);
|
|
else r[3] = obj_from_flonum(3, d); }
|
|
} else {
|
|
r[3] = obj_from_flonum(3, 1.0/flonum_from_obj(r[1]));
|
|
}
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
/* r[0] */
|
|
/* r[1] */
|
|
/* r[2] */
|
|
goto s_loop_v7266;
|
|
}
|
|
|
|
s_loop_v7266: /* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
if ((is_fixnum_obj(r[1]))) {
|
|
{ const fixnum_t v10601_x = fixnum_from_obj(r[1]);
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
{ /* fxfl/ */
|
|
fixnum_t x = (v10601_x), y = fixnum_from_obj(r[3]);
|
|
long i; double d;
|
|
if (0) r[3] = (0); /* to fool sfc unboxer */
|
|
else if (fxifdv(x, y, &i, &d)) r[3] = obj_from_fixnum(i);
|
|
else r[3] = obj_from_flonum(4, d); }
|
|
} else {
|
|
{ const flonum_t v10602_tmp = ((flonum_t)(v10601_x));
|
|
r[3] = obj_from_flonum(4, (v10602_tmp) / flonum_from_obj(r[3])); }
|
|
} }
|
|
} else {
|
|
if ((is_fixnum_obj(r[3]))) {
|
|
{ const flonum_t v10600_tmp = ((flonum_t)fixnum_from_obj(r[3]));
|
|
r[3] = obj_from_flonum(4, flonum_from_obj(r[1]) / (v10600_tmp)); }
|
|
} else {
|
|
r[3] = obj_from_flonum(4, flonum_from_obj(r[1]) / flonum_from_obj(r[3]));
|
|
}
|
|
}
|
|
r[4] = (cdr((r[2])));
|
|
/* r[0] */
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v7266;
|
|
}
|
|
|
|
case 466: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3] = ((is_flonum_obj(r[1])) ? (r[1]) : obj_from_flonum(3, (flonum_t)fixnum_from_obj(r[1])));
|
|
r[3] = obj_from_flonum(4, log(flonum_from_obj(r[3])));
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
r[3] = obj_from_bool(fixnum_from_obj(r[3]) == (+10));
|
|
if (bool_from_obj(r[3])) {
|
|
r[3] = ((is_flonum_obj(r[1])) ? (r[1]) : obj_from_flonum(3, (flonum_t)fixnum_from_obj(r[1])));
|
|
r[3] = obj_from_flonum(4, log10(flonum_from_obj(r[3])));
|
|
} else {
|
|
{ flonum_t v10599_tmp;
|
|
{ flonum_t v10598_tmp;
|
|
r[3] = ((is_flonum_obj(r[1])) ? (r[1]) : obj_from_flonum(3, (flonum_t)fixnum_from_obj(r[1])));
|
|
v10599_tmp = (log(flonum_from_obj(r[3])));
|
|
r[3] = (car((r[2])));
|
|
r[3] = ((is_flonum_obj(r[3])) ? (r[3]) : obj_from_flonum(4, (flonum_t)fixnum_from_obj(r[3])));
|
|
v10598_tmp = (log(flonum_from_obj(r[3])));
|
|
r[3] = obj_from_flonum(3, (v10599_tmp) / (v10598_tmp)); } }
|
|
}
|
|
}
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 467: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
{ const flonum_t v10597_x = flonum_from_obj(r[1]);
|
|
if ((isnull((r[2])))) {
|
|
r[3] = obj_from_flonum(3, atan((v10597_x)));
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
r[3] = obj_from_flonum(4, atan2((v10597_x), flonum_from_obj(r[3])));
|
|
}
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[3];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump; }
|
|
|
|
case 468: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3] = ((is_flonum_obj(r[1])) ? (r[1]) : obj_from_flonum(3, (flonum_t)fixnum_from_obj(r[1])));
|
|
r[3] = obj_from_flonum(4, atan(flonum_from_obj(r[3])));
|
|
} else {
|
|
r[3] = ((is_flonum_obj(r[1])) ? (r[1]) : obj_from_flonum(3, (flonum_t)fixnum_from_obj(r[1])));
|
|
r[4] = (car((r[2])));
|
|
r[4] = ((is_flonum_obj(r[4])) ? (r[4]) : obj_from_flonum(5, (flonum_t)fixnum_from_obj(r[4])));
|
|
r[3] = obj_from_flonum(5, atan2(flonum_from_obj(r[3]), flonum_from_obj(r[4])));
|
|
}
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 469: /* clo k p l l* */
|
|
assert(rc == 5);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k p l l* */
|
|
if ((isnull((r[3])))) {
|
|
r[4+0] = r[0];
|
|
r[4+1] = r[2];
|
|
r[4+2] = (mknull());
|
|
r[4+3] = r[1];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto s_loop_v7219;
|
|
} else {
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 4); /* 4 live regs */
|
|
*--hp = r[3];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[4] = (hendblk(3)); }
|
|
r[5+0] = r[0];
|
|
r[5+1] = r[4];
|
|
r[5+2] = (mknull());
|
|
r[5+3] = r[1];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto s_loop_v7161;
|
|
}
|
|
|
|
case 470: /* clo k l r */
|
|
assert(rc == 4);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+3] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
s_loop_v7219: /* k l r p */
|
|
if ((ispair((r[1])))) {
|
|
hreserve(hbsz(1+1), 4); /* 4 live regs */
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(470);
|
|
r[4] = (hendblk(1+1));
|
|
hreserve(hbsz(4+1), 5); /* 5 live regs */
|
|
*--hp = r[2];
|
|
*--hp = r[0];
|
|
*--hp = r[1];
|
|
*--hp = r[4];
|
|
*--hp = obj_from_case(471);
|
|
r[4] = (hendblk(4+1));
|
|
r[5+0] = r[3];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = r[4];
|
|
r[5+2] = (car((r[1])));
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
{ /* reverse! */
|
|
obj t, v = mknull(), l = r[2];
|
|
while (l != mknull()) t = cdr(l), cdr(l) = v, v = l, l = t;
|
|
r[4] = (v); }
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[4];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
|
|
case 471: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3];
|
|
r[1+5] = p[4]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r loop l k r */
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 6); /* 6 live regs */
|
|
*--hp = r[5];
|
|
*--hp = r[1];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[6] = (hendblk(3)); }
|
|
r[0] = r[2];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[4];
|
|
r[2] = (cdr((r[3])));
|
|
r[3] = r[6];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 472: /* clo k l* r */
|
|
assert(rc == 4);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+3] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
s_loop_v7161: /* k l* r p */
|
|
hreserve(hbsz(1+1), 4); /* 4 live regs */
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(472);
|
|
r[4] = (hendblk(1+1));
|
|
hreserve(hbsz(5+1), 5); /* 5 live regs */
|
|
*--hp = r[2];
|
|
*--hp = r[0];
|
|
*--hp = r[4];
|
|
*--hp = r[3];
|
|
*--hp = r[1];
|
|
*--hp = obj_from_case(473);
|
|
r[4] = (hendblk(5+1));
|
|
r[0] = r[4];
|
|
/* r[1] */
|
|
goto s_lp;
|
|
|
|
s_lp: /* k l* */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isnull((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[2] = obj_from_bool(ispair((r[2])));
|
|
if (bool_from_obj(r[2])) {
|
|
r[2] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
goto s_lp;
|
|
} else {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(0);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
}
|
|
|
|
case 473: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3];
|
|
r[1+5] = p[4];
|
|
r[1+6] = p[5]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r l* p loop k r */
|
|
if (bool_from_obj(r[1])) {
|
|
hreserve(hbsz(5+1), 7); /* 7 live regs */
|
|
*--hp = r[6];
|
|
*--hp = r[5];
|
|
*--hp = r[4];
|
|
*--hp = r[3];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(475);
|
|
r[7] = (hendblk(5+1));
|
|
r[0] = r[7];
|
|
r[1] = r[2];
|
|
goto s_loop_v7193;
|
|
} else {
|
|
{ /* reverse! */
|
|
obj t, v = mknull(), l = r[6];
|
|
while (l != mknull()) t = cdr(l), cdr(l) = v, v = l, l = t;
|
|
r[7] = (v); }
|
|
r[0] = r[5];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[7];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
|
|
s_loop_v7193: /* k l */
|
|
if ((ispair((r[1])))) {
|
|
r[2] = (cdr((r[1])));
|
|
hreserve(hbsz(2+1), 3); /* 3 live regs */
|
|
*--hp = r[1];
|
|
*--hp = r[0];
|
|
*--hp = obj_from_case(474);
|
|
r[3] = (hendblk(2+1));
|
|
r[0] = r[3];
|
|
r[1] = r[2];
|
|
goto s_loop_v7193;
|
|
} else {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (mknull());
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
|
|
case 474: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r k l */
|
|
r[4] = (car((r[3])));
|
|
r[4] = (cdr((r[4])));
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 5); /* 5 live regs */
|
|
*--hp = r[1];
|
|
*--hp = r[4];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[4] = (hendblk(3)); }
|
|
r[5+0] = r[2];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = obj_from_ktrap();
|
|
r[5+2] = r[4];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 475: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3];
|
|
r[1+5] = p[4];
|
|
r[1+6] = p[5]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r l* p loop k r */
|
|
hreserve(hbsz(5+1), 7); /* 7 live regs */
|
|
*--hp = r[6];
|
|
*--hp = r[5];
|
|
*--hp = r[1];
|
|
*--hp = r[4];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(477);
|
|
r[7] = (hendblk(5+1));
|
|
r[0] = r[7];
|
|
r[1] = r[2];
|
|
goto s_loop_v7178;
|
|
|
|
s_loop_v7178: /* k l */
|
|
if ((ispair((r[1])))) {
|
|
r[2] = (cdr((r[1])));
|
|
hreserve(hbsz(2+1), 3); /* 3 live regs */
|
|
*--hp = r[1];
|
|
*--hp = r[0];
|
|
*--hp = obj_from_case(476);
|
|
r[3] = (hendblk(2+1));
|
|
r[0] = r[3];
|
|
r[1] = r[2];
|
|
goto s_loop_v7178;
|
|
} else {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (mknull());
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
|
|
case 476: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r k l */
|
|
r[4] = (car((r[3])));
|
|
r[4] = (car((r[4])));
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 5); /* 5 live regs */
|
|
*--hp = r[1];
|
|
*--hp = r[4];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[4] = (hendblk(3)); }
|
|
r[5+0] = r[2];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = obj_from_ktrap();
|
|
r[5+2] = r[4];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 477: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3];
|
|
r[1+5] = p[4];
|
|
r[1+6] = p[5]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r p loop r k r */
|
|
{ /* define apply */
|
|
static obj c[] = { obj_from_objptr(appcases+0) };
|
|
r[7] = obj_from_objptr(c); }
|
|
hreserve(hbsz(4+1), 8); /* 8 live regs */
|
|
*--hp = r[6];
|
|
*--hp = r[5];
|
|
*--hp = r[4];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(478);
|
|
r[8] = (hendblk(4+1));
|
|
r[9+0] = r[7];
|
|
pc = objptr_from_obj(r[9+0])[0];
|
|
r[9+1] = r[8];
|
|
r[9+2] = r[2];
|
|
r[9+3] = r[1];
|
|
r += 9; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 478: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3];
|
|
r[1+5] = p[4]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r loop r k r */
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 6); /* 6 live regs */
|
|
*--hp = r[5];
|
|
*--hp = r[1];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[6] = (hendblk(3)); }
|
|
r[0] = r[2];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[4];
|
|
r[2] = r[3];
|
|
r[3] = r[6];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 479: /* clo k p l l* */
|
|
assert(rc == 5);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k p l l* */
|
|
if ((isnull((r[3])))) {
|
|
r[4+0] = r[0];
|
|
r[4+1] = r[2];
|
|
r[4+2] = r[1];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto s_loop_v7140;
|
|
} else {
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 4); /* 4 live regs */
|
|
*--hp = r[3];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[4] = (hendblk(3)); }
|
|
r[5+0] = r[0];
|
|
r[5+1] = r[4];
|
|
r[5+2] = r[1];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
goto s_loop_v7084;
|
|
}
|
|
|
|
case 480: /* clo k l */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
s_loop_v7140: /* k l p */
|
|
if ((ispair((r[1])))) {
|
|
hreserve(hbsz(1+1), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(480);
|
|
r[3] = (hendblk(1+1));
|
|
hreserve(hbsz(3+1), 4); /* 4 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[1];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(481);
|
|
r[3] = (hendblk(3+1));
|
|
r[4+0] = r[2];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = r[3];
|
|
r[4+2] = (car((r[1])));
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_void(0);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
|
|
case 481: /* clo ek . */
|
|
assert(rc >= 2);
|
|
r[2] = obj_from_void(0); /* ignored */
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek . loop l k */
|
|
r[0] = r[2];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = r[4];
|
|
r[2] = (cdr((r[3])));
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 482: /* clo k l* */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
s_loop_v7084: /* k l* p */
|
|
hreserve(hbsz(1+1), 3); /* 3 live regs */
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(482);
|
|
r[3] = (hendblk(1+1));
|
|
hreserve(hbsz(4+1), 4); /* 4 live regs */
|
|
*--hp = r[0];
|
|
*--hp = r[3];
|
|
*--hp = r[1];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(483);
|
|
r[3] = (hendblk(4+1));
|
|
r[0] = r[3];
|
|
/* r[1] */
|
|
goto s_lp_v7131;
|
|
|
|
s_lp_v7131: /* k l* */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(isnull((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[2] = obj_from_bool(ispair((r[2])));
|
|
if (bool_from_obj(r[2])) {
|
|
r[2] = (cdr((r[1])));
|
|
/* r[0] */
|
|
r[1] = r[2];
|
|
goto s_lp_v7131;
|
|
} else {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool(0);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
}
|
|
|
|
case 483: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3];
|
|
r[1+5] = p[4]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r p l* loop k */
|
|
if (bool_from_obj(r[1])) {
|
|
hreserve(hbsz(4+1), 6); /* 6 live regs */
|
|
*--hp = r[5];
|
|
*--hp = r[4];
|
|
*--hp = r[3];
|
|
*--hp = r[2];
|
|
*--hp = obj_from_case(485);
|
|
r[6] = (hendblk(4+1));
|
|
r[0] = r[6];
|
|
r[1] = r[3];
|
|
goto s_loop_v7116;
|
|
} else {
|
|
r[0] = r[5];
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = obj_from_void(0);
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
|
|
s_loop_v7116: /* k l */
|
|
if ((ispair((r[1])))) {
|
|
r[2] = (cdr((r[1])));
|
|
hreserve(hbsz(2+1), 3); /* 3 live regs */
|
|
*--hp = r[1];
|
|
*--hp = r[0];
|
|
*--hp = obj_from_case(484);
|
|
r[3] = (hendblk(2+1));
|
|
r[0] = r[3];
|
|
r[1] = r[2];
|
|
goto s_loop_v7116;
|
|
} else {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (mknull());
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
|
|
case 484: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r k l */
|
|
r[4] = (car((r[3])));
|
|
r[4] = (car((r[4])));
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 5); /* 5 live regs */
|
|
*--hp = r[1];
|
|
*--hp = r[4];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[4] = (hendblk(3)); }
|
|
r[5+0] = r[2];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = obj_from_ktrap();
|
|
r[5+2] = r[4];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 485: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3];
|
|
r[1+5] = p[4]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r p l* loop k */
|
|
{ /* define apply */
|
|
static obj c[] = { obj_from_objptr(appcases+0) };
|
|
r[6] = obj_from_objptr(c); }
|
|
hreserve(hbsz(3+1), 7); /* 7 live regs */
|
|
*--hp = r[5];
|
|
*--hp = r[4];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(486);
|
|
r[7] = (hendblk(3+1));
|
|
r[8+0] = r[6];
|
|
pc = objptr_from_obj(r[8+0])[0];
|
|
r[8+1] = r[7];
|
|
r[8+2] = r[2];
|
|
r[8+3] = r[1];
|
|
r += 8; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 4;
|
|
goto jump;
|
|
|
|
case 486: /* clo ek . */
|
|
assert(rc >= 2);
|
|
r[2] = obj_from_void(0); /* ignored */
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2];
|
|
r[1+4] = p[3]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek . l* loop k */
|
|
hreserve(hbsz(2+1), 5); /* 5 live regs */
|
|
*--hp = r[4];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_case(488);
|
|
r[5] = (hendblk(2+1));
|
|
r[0] = r[5];
|
|
r[1] = r[2];
|
|
goto s_loop_v7097;
|
|
|
|
s_loop_v7097: /* k l */
|
|
if ((ispair((r[1])))) {
|
|
r[2] = (cdr((r[1])));
|
|
hreserve(hbsz(2+1), 3); /* 3 live regs */
|
|
*--hp = r[1];
|
|
*--hp = r[0];
|
|
*--hp = obj_from_case(487);
|
|
r[3] = (hendblk(2+1));
|
|
r[0] = r[3];
|
|
r[1] = r[2];
|
|
goto s_loop_v7097;
|
|
} else {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (mknull());
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
|
|
case 487: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r k l */
|
|
r[4] = (car((r[3])));
|
|
r[4] = (cdr((r[4])));
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 5); /* 5 live regs */
|
|
*--hp = r[1];
|
|
*--hp = r[4];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[4] = (hendblk(3)); }
|
|
r[5+0] = r[2];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = obj_from_ktrap();
|
|
r[5+2] = r[4];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 488: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r loop k */
|
|
r[4+0] = r[2];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = r[3];
|
|
r[4+2] = r[1];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 489: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
{ const fixnum_t v10596_x = fixnum_from_obj(r[1]);
|
|
if ((isnull((r[2])))) {
|
|
r[3] = (hpushstr(3, allocstring((v10596_x), '?')));
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
r[3] = (hpushstr(4, allocstring((v10596_x), char_from_obj(r[3]))));
|
|
}
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[3];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump; }
|
|
|
|
case 490: /* clo k l */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k l */
|
|
{ fixnum_t v10595_tmp;
|
|
{ /* length */
|
|
int n; obj l = r[1];
|
|
for (n = 0; l != mknull(); ++n, l = cdr(l)) ;
|
|
v10595_tmp = (n); }
|
|
{ /* list->string */
|
|
int i, c = (v10595_tmp);
|
|
obj o = hpushstr(2, allocstring(c, ' ')); /* 2 live regs */
|
|
obj l = r[1]; /* gc-safe */
|
|
unsigned char *s = (unsigned char *)stringchars(o);
|
|
for (i = 0; i < c; ++i, l = cdr(l)) s[i] = (unsigned char)char_from_obj(car(l));
|
|
r[2] = (o); } }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 491: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
/* r[0] */
|
|
/* r[1] */
|
|
goto s_loop_v7053;
|
|
|
|
s_loop_v7053: /* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (cx__232886);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (cdr((r[1])));
|
|
r[2] = obj_from_bool(isnull((r[2])));
|
|
if (bool_from_obj(r[2])) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (car((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (cdr((r[1])));
|
|
hreserve(hbsz(2+1), 3); /* 3 live regs */
|
|
*--hp = r[1];
|
|
*--hp = r[0];
|
|
*--hp = obj_from_case(492);
|
|
r[3] = (hendblk(2+1));
|
|
r[0] = r[3];
|
|
r[1] = r[2];
|
|
goto s_loop_v7053;
|
|
}
|
|
}
|
|
|
|
case 492: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r k args */
|
|
{ /* string-append */
|
|
int *d = stringcat(stringdata((car((r[3])))), stringdata((r[1])));
|
|
r[4] = (hpushstr(4, d)); }
|
|
r[5+0] = r[2];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = obj_from_ktrap();
|
|
r[5+2] = r[4];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 493: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
{ const fixnum_t v10594_x = fixnum_from_obj(r[1]);
|
|
if ((isnull((r[2])))) {
|
|
{ /* make-vector */
|
|
obj o; int i = 0, c = (v10594_x);
|
|
hreserve(hbsz(c+1), 3); /* 3 live regs */
|
|
o = obj_from_void(0); /* gc-safe */
|
|
while (i++ < c) *--hp = o;
|
|
*--hp = obj_from_size(VECTOR_BTAG);
|
|
r[3] = (hendblk(c+1)); }
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
{ /* make-vector */
|
|
obj o; int i = 0, c = (v10594_x);
|
|
hreserve(hbsz(c+1), 4); /* 4 live regs */
|
|
o = r[3]; /* gc-safe */
|
|
while (i++ < c) *--hp = o;
|
|
*--hp = obj_from_size(VECTOR_BTAG);
|
|
r[3] = (hendblk(c+1)); }
|
|
}
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[3];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump; }
|
|
|
|
case 494: /* clo k l */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k l */
|
|
{ fixnum_t v10593_tmp;
|
|
{ /* length */
|
|
int n; obj l = r[1];
|
|
for (n = 0; l != mknull(); ++n, l = cdr(l)) ;
|
|
v10593_tmp = (n); }
|
|
{ /* list->vector */
|
|
obj l; int i, c = (v10593_tmp);
|
|
hreserve(hbsz(c+1), 2); /* 2 live regs */
|
|
l = r[1]; /* gc-safe */
|
|
for (i = 0; i < c; ++i, l = cdr(l)) hp[i-c] = car(l);
|
|
hp -= c; *--hp = obj_from_size(VECTOR_BTAG);
|
|
r[2] = (hendblk(c+1)); } }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 495: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
{ const fixnum_t v10592_x = fixnum_from_obj(r[1]);
|
|
if ((isnull((r[2])))) {
|
|
r[3] = (hpushu8v(3, allocbytevector((v10592_x), 0)));
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
r[3] = (hpushu8v(4, allocbytevector((v10592_x), byte_from_fixnum(fixnum_from_obj(r[3])))));
|
|
}
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[3];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump; }
|
|
|
|
case 496: /* clo k l */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k l */
|
|
{ fixnum_t v10591_tmp;
|
|
{ /* length */
|
|
int n; obj l = r[1];
|
|
for (n = 0; l != mknull(); ++n, l = cdr(l)) ;
|
|
v10591_tmp = (n); }
|
|
{ /* list->bytevector */
|
|
int i, c = (v10591_tmp);
|
|
obj o = hpushu8v(2, allocbytevector(c, 0)); /* 2 live regs */
|
|
obj l = r[1]; /* gc-safe */
|
|
unsigned char *s = bytevectorbytes(o);
|
|
for (i = 0; i < c; ++i, l = cdr(l)) s[i] = byte_from_obj(car(l));
|
|
r[2] = (o); } }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 497: /* clo k l */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k l */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = r[1];
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 498: /* clo k x l */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x l */
|
|
/* r[0] */
|
|
/* r[1] */
|
|
/* r[2] */
|
|
goto s_loop_v6998;
|
|
|
|
s_loop_v6998: /* k x l */
|
|
if ((isnull((r[2])))) {
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[1];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
r[4] = (cdr((r[2])));
|
|
hreserve(hbsz(2+1), 5); /* 5 live regs */
|
|
*--hp = r[1];
|
|
*--hp = r[0];
|
|
*--hp = obj_from_case(499);
|
|
r[5] = (hendblk(2+1));
|
|
r[0] = r[5];
|
|
r[1] = r[3];
|
|
r[2] = r[4];
|
|
goto s_loop_v6998;
|
|
}
|
|
|
|
case 499: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r k x */
|
|
{ /* cons */
|
|
hreserve(hbsz(3), 4); /* 4 live regs */
|
|
*--hp = r[1];
|
|
*--hp = r[3];
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
r[4] = (hendblk(3)); }
|
|
r[5+0] = r[2];
|
|
pc = objptr_from_obj(r[5+0])[0];
|
|
r[5+1] = obj_from_ktrap();
|
|
r[5+2] = r[4];
|
|
r += 5; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 500: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
/* r[0] */
|
|
/* r[1] */
|
|
goto s_loop_v6981;
|
|
|
|
s_loop_v6981: /* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (mknull());
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (cdr((r[1])));
|
|
r[2] = obj_from_bool(isnull((r[2])));
|
|
if (bool_from_obj(r[2])) {
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (car((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2] = (cdr((r[1])));
|
|
hreserve(hbsz(2+1), 3); /* 3 live regs */
|
|
*--hp = r[1];
|
|
*--hp = r[0];
|
|
*--hp = obj_from_case(501);
|
|
r[3] = (hendblk(2+1));
|
|
r[0] = r[3];
|
|
r[1] = r[2];
|
|
goto s_loop_v6981;
|
|
}
|
|
}
|
|
|
|
case 501: /* clo ek r */
|
|
assert(rc == 3);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+2] = p[1];
|
|
r[1+3] = p[2]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* ek r k args */
|
|
r[4] = (car((r[3])));
|
|
{ fixnum_t v10590_tmp;
|
|
{ /* length */
|
|
int n; obj l = r[4];
|
|
for (n = 0; l != mknull(); ++n, l = cdr(l)) ;
|
|
v10590_tmp = (n); }
|
|
{ /* append */
|
|
obj t, l, o, *p, *d; int c = (v10590_tmp);
|
|
hreserve(hbsz(3)*c, 5); /* 5 live regs */
|
|
l = r[4]; t = r[1]; /* gc-safe */
|
|
o = t; p = &o;
|
|
for (; l != mknull(); l = cdr(l)) {
|
|
*--hp = t; d = hp; *--hp = car(l);
|
|
*--hp = obj_from_size(PAIR_BTAG);
|
|
*p = hendblk(3); p = d; }
|
|
r[5] = (o); } }
|
|
r[6+0] = r[2];
|
|
pc = objptr_from_obj(r[6+0])[0];
|
|
r[6+1] = obj_from_ktrap();
|
|
r[6+2] = r[5];
|
|
r += 6; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 502: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3] = obj_from_bool(isrecord((r[1])));
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
{ /* record? */
|
|
obj o = (r[1]), t = r[3];
|
|
if (!isrecord(o)) r[3] = obj_from_bool(0);
|
|
else r[3] = obj_from_bool(recordrtd(o) == t); }
|
|
}
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 503: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
if ((isnull((r[2])))) {
|
|
if ((is_fixnum_obj(r[1]))) {
|
|
{ /* fixnum->string */
|
|
char buf[35], *s = buf + sizeof(buf) - 1;
|
|
int neg = 0;
|
|
long num = fixnum_from_obj(r[1]);
|
|
long radix = (+10);
|
|
if (num < 0) { neg = 1; num = -num; }
|
|
*s = 0;
|
|
do { int d = num % radix; *--s = d < 10 ? d + '0' : d - 10 + 'a'; }
|
|
while (num /= radix);
|
|
if (neg) *--s = '-';
|
|
r[3] = (hpushstr(3, newstring(s))); }
|
|
} else {
|
|
{ /* flonum->string */
|
|
char buf[30], *s; double d = flonum_from_obj(r[1]); sprintf(buf, "%.15g", d);
|
|
for (s = buf; *s != 0; s++) if (strchr(".eE", *s)) break;
|
|
if (d != d) strcpy(buf, "+nan.0"); else if (d <= -HUGE_VAL) strcpy(buf, "-inf.0");
|
|
else if (d >= HUGE_VAL) strcpy(buf, "+inf.0"); else if (*s == 'E') *s = 'e';
|
|
else if (*s == 0) { *s++ = '.'; *s++ = '0'; *s = 0; }
|
|
r[3] = (hpushstr(3, newstring(buf))); }
|
|
}
|
|
} else {
|
|
if ((is_fixnum_obj(r[1]))) {
|
|
r[3] = (car((r[2])));
|
|
{ /* fixnum->string */
|
|
char buf[35], *s = buf + sizeof(buf) - 1;
|
|
int neg = 0;
|
|
long num = fixnum_from_obj(r[1]);
|
|
long radix = fixnum_from_obj(r[3]);
|
|
if (num < 0) { neg = 1; num = -num; }
|
|
*s = 0;
|
|
do { int d = num % radix; *--s = d < 10 ? d + '0' : d - 10 + 'a'; }
|
|
while (num /= radix);
|
|
if (neg) *--s = '-';
|
|
r[3] = (hpushstr(4, newstring(s))); }
|
|
} else {
|
|
{ /* flonum->string */
|
|
char buf[30], *s; double d = flonum_from_obj(r[1]); sprintf(buf, "%.15g", d);
|
|
for (s = buf; *s != 0; s++) if (strchr(".eE", *s)) break;
|
|
if (d != d) strcpy(buf, "+nan.0"); else if (d <= -HUGE_VAL) strcpy(buf, "-inf.0");
|
|
else if (d >= HUGE_VAL) strcpy(buf, "+inf.0"); else if (*s == 'E') *s = 'e';
|
|
else if (*s == 0) { *s++ = '.'; *s++ = '0'; *s = 0; }
|
|
r[3] = (hpushstr(3, newstring(buf))); }
|
|
}
|
|
}
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 504: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
if ((isnull((r[2])))) {
|
|
{ /* string->fixnum-or-flonum */
|
|
char *s = stringchars((r[1]));
|
|
int radix = (+10); long l; double d;
|
|
if (0) r[3] = (0); /* to fool sfc unboxer */
|
|
switch (strtofxfl(s, radix, &l, &d)) {
|
|
case 'e': r[3] = obj_from_fixnum(l); break;
|
|
case 'i': r[3] = obj_from_flonum(3, d); break;
|
|
default : r[3] = obj_from_bool(0); break;
|
|
} }
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
{ /* string->fixnum-or-flonum */
|
|
char *s = stringchars((r[1]));
|
|
int radix = fixnum_from_obj(r[3]); long l; double d;
|
|
if (0) r[3] = (0); /* to fool sfc unboxer */
|
|
switch (strtofxfl(s, radix, &l, &d)) {
|
|
case 'e': r[3] = obj_from_fixnum(l); break;
|
|
case 'i': r[3] = obj_from_flonum(4, d); break;
|
|
default : r[3] = obj_from_bool(0); break;
|
|
} }
|
|
}
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 505: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
r[2+0] = (cx_error);
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = r[0];
|
|
r[2+2] = (mksymbol(internsym("case-lambda")));
|
|
r[2+3] = (cx__232989);
|
|
r[2+4] = (r[1]);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 5;
|
|
goto jump;
|
|
|
|
case 506: /* clo k l */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k l */
|
|
{ fixnum_t v10589_tmp;
|
|
{ /* length */
|
|
int n; obj l = r[1];
|
|
for (n = 0; l != mknull(); ++n, l = cdr(l)) ;
|
|
v10589_tmp = (n); }
|
|
{ /* %residual-make-case-lambda */
|
|
obj l; int i, c = (v10589_tmp);
|
|
hreserve(hbsz(c+1), 2); /* 2 live regs */
|
|
l = r[1]; /* gc-safe */
|
|
for (i = 0; i < c; ++i, l = cdr(l)) hp[i-c] = car(l);
|
|
hp -= c; *--hp = obj_from_objptr(appcases+4);
|
|
r[2] = (hendblk(c+1)); } }
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 507: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2] = (cx__2Acurrent_2Dinput_2Dport_2A);
|
|
} else {
|
|
r[2] = (cdr((r[1])));
|
|
r[2] = obj_from_bool(isnull((r[2])));
|
|
if (bool_from_obj(r[2])) {
|
|
cx__2Acurrent_2Dinput_2Dport_2A = (car((r[1])));
|
|
r[2] = obj_from_void(0);
|
|
} else {
|
|
r[2] = (cdr((r[1])));
|
|
r[2] = (car((r[2])));
|
|
if (bool_from_obj(r[2])) {
|
|
cx__2Acurrent_2Dinput_2Dport_2A = (car((r[1])));
|
|
r[2] = obj_from_void(0);
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
}
|
|
}
|
|
}
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 508: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2] = (cx__2Acurrent_2Doutput_2Dport_2A);
|
|
} else {
|
|
r[2] = (cdr((r[1])));
|
|
r[2] = obj_from_bool(isnull((r[2])));
|
|
if (bool_from_obj(r[2])) {
|
|
cx__2Acurrent_2Doutput_2Dport_2A = (car((r[1])));
|
|
r[2] = obj_from_void(0);
|
|
} else {
|
|
r[2] = (cdr((r[1])));
|
|
r[2] = (car((r[2])));
|
|
if (bool_from_obj(r[2])) {
|
|
cx__2Acurrent_2Doutput_2Dport_2A = (car((r[1])));
|
|
r[2] = obj_from_void(0);
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
}
|
|
}
|
|
}
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 509: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2] = (cx__2Acurrent_2Derror_2Dport_2A);
|
|
} else {
|
|
r[2] = (cdr((r[1])));
|
|
r[2] = obj_from_bool(isnull((r[2])));
|
|
if (bool_from_obj(r[2])) {
|
|
cx__2Acurrent_2Derror_2Dport_2A = (car((r[1])));
|
|
r[2] = obj_from_void(0);
|
|
} else {
|
|
r[2] = (cdr((r[1])));
|
|
r[2] = (car((r[2])));
|
|
if (bool_from_obj(r[2])) {
|
|
cx__2Acurrent_2Derror_2Dport_2A = (car((r[1])));
|
|
r[2] = obj_from_void(0);
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
}
|
|
}
|
|
}
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 510: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
{ int c = iportgetc((cx__2Acurrent_2Dinput_2Dport_2A)); r[2] = (c == EOF ? mkeof() : obj_from_char(c)); }
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
{ int c = iportgetc((r[2])); r[2] = (c == EOF ? mkeof() : obj_from_char(c)); }
|
|
}
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 511: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
{ int c = iportpeekc((cx__2Acurrent_2Dinput_2Dport_2A)); r[2] = (c == EOF ? mkeof() : obj_from_char(c)); }
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
{ int c = iportpeekc((r[2])); r[2] = (c == EOF ? mkeof() : obj_from_char(c)); }
|
|
}
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 512: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool((isnull((r[1]))) ? (1) : (1));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 513: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
{ const fixnum_t v10588_x = fixnum_from_obj(r[1]);
|
|
if ((isnull((r[2])))) {
|
|
{ /* display-fixnum */
|
|
char buf[30]; sprintf(buf, "%ld", (v10588_x));
|
|
r[3] = obj_from_void(oportputs(buf, (cx__2Acurrent_2Doutput_2Dport_2A))); }
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
{ /* display-fixnum */
|
|
char buf[30]; sprintf(buf, "%ld", (v10588_x));
|
|
r[3] = obj_from_void(oportputs(buf, (r[3]))); }
|
|
}
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[3];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump; }
|
|
|
|
case 514: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
{ const flonum_t v10587_x = flonum_from_obj(r[1]);
|
|
if ((isnull((r[2])))) {
|
|
{ /* display-flonum */
|
|
char buf[30], *s; double d = (v10587_x); sprintf(buf, "%.15g", d);
|
|
for (s = buf; *s != 0; s++) if (strchr(".eE", *s)) break;
|
|
if (d != d) strcpy(buf, "+nan.0"); else if (d <= -HUGE_VAL) strcpy(buf, "-inf.0");
|
|
else if (d >= HUGE_VAL) strcpy(buf, "+inf.0"); else if (*s == 'E') *s = 'e';
|
|
else if (*s == 0) { *s++ = '.'; *s++ = '0'; *s = 0; }
|
|
r[3] = obj_from_void(oportputs(buf, (cx__2Acurrent_2Doutput_2Dport_2A))); }
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
{ /* display-flonum */
|
|
char buf[30], *s; double d = (v10587_x); sprintf(buf, "%.15g", d);
|
|
for (s = buf; *s != 0; s++) if (strchr(".eE", *s)) break;
|
|
if (d != d) strcpy(buf, "+nan.0"); else if (d <= -HUGE_VAL) strcpy(buf, "-inf.0");
|
|
else if (d >= HUGE_VAL) strcpy(buf, "+inf.0"); else if (*s == 'E') *s = 'e';
|
|
else if (*s == 0) { *s++ = '.'; *s++ = '0'; *s = 0; }
|
|
r[3] = obj_from_void(oportputs(buf, (r[3]))); }
|
|
}
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[3];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump; }
|
|
|
|
case 515: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
if ((isnull((r[2])))) {
|
|
{ /* display-procedure */
|
|
char buf[60]; sprintf(buf, "#<procedure @%p>", objptr_from_obj((r[1])));
|
|
r[3] = obj_from_void(oportputs(buf, (cx__2Acurrent_2Doutput_2Dport_2A))); }
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
{ /* display-procedure */
|
|
char buf[60]; sprintf(buf, "#<procedure @%p>", objptr_from_obj((r[1])));
|
|
r[3] = obj_from_void(oportputs(buf, (r[3]))); }
|
|
}
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 516: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
if ((isnull((r[2])))) {
|
|
{ /* display-input-port */
|
|
char buf[60]; sprintf(buf, "#<%s>", ckiportvt((r[1]))->tname);
|
|
r[3] = obj_from_void(oportputs(buf, (cx__2Acurrent_2Doutput_2Dport_2A))); }
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
{ /* display-input-port */
|
|
char buf[60]; sprintf(buf, "#<%s>", ckiportvt((r[1]))->tname);
|
|
r[3] = obj_from_void(oportputs(buf, (r[3]))); }
|
|
}
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 517: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
if ((isnull((r[2])))) {
|
|
{ /* display-output-port */
|
|
char buf[60]; sprintf(buf, "#<%s>", ckoportvt((r[1]))->tname);
|
|
r[3] = obj_from_void(oportputs(buf, (cx__2Acurrent_2Doutput_2Dport_2A))); }
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
{ /* display-output-port */
|
|
char buf[60]; sprintf(buf, "#<%s>", ckoportvt((r[1]))->tname);
|
|
r[3] = obj_from_void(oportputs(buf, (r[3]))); }
|
|
}
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 518: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
{ const char_t v10586_x = char_from_obj(r[1]);
|
|
if ((isnull((r[2])))) {
|
|
r[3] = obj_from_void(oportputc((v10586_x), (cx__2Acurrent_2Doutput_2Dport_2A)));
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
r[3] = obj_from_void(oportputc((v10586_x), (r[3])));
|
|
}
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[3];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump; }
|
|
|
|
case 519: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3] = obj_from_void(oportputs(stringchars((r[1])), (cx__2Acurrent_2Doutput_2Dport_2A)));
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
r[3] = obj_from_void(oportputs(stringchars((r[1])), (r[3])));
|
|
}
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 520: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2] = obj_from_void(oportputc('\n', (cx__2Acurrent_2Doutput_2Dport_2A)));
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[2] = obj_from_void(oportputc('\n', (r[2])));
|
|
}
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 521: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2] = obj_from_void(oportputc('\n', (cx__2Acurrent_2Doutput_2Dport_2A)));
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[2] = obj_from_void(oportputc('\n', (r[2])));
|
|
}
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 522: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
{ int c = iportgetc((cx__2Acurrent_2Dinput_2Dport_2A)); r[2] = (c == EOF ? mkeof() : obj_from_fixnum(c & 0xff)); }
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
{ int c = iportgetc((r[2])); r[2] = (c == EOF ? mkeof() : obj_from_fixnum(c & 0xff)); }
|
|
}
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 523: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
{ int c = iportpeekc((cx__2Acurrent_2Dinput_2Dport_2A)); r[2] = (c == EOF ? mkeof() : obj_from_fixnum(c & 0xff)); }
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
{ int c = iportpeekc((r[2])); r[2] = (c == EOF ? mkeof() : obj_from_fixnum(c & 0xff)); }
|
|
}
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 524: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = obj_from_bool((isnull((r[1]))) ? (1) : (1));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 525: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
{ const char_t v10585_x = char_from_obj(r[1]);
|
|
if ((isnull((r[2])))) {
|
|
r[3] = obj_from_void(oportputc((v10585_x), (cx__2Acurrent_2Doutput_2Dport_2A)));
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
r[3] = obj_from_void(oportputc((v10585_x), (r[3])));
|
|
}
|
|
/* r[0] */
|
|
pc = objptr_from_obj(r[0])[0];
|
|
r[1] = obj_from_ktrap();
|
|
r[2] = r[3];
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump; }
|
|
|
|
case 526: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3] = obj_from_void(oportputs(stringchars((r[1])), (cx__2Acurrent_2Doutput_2Dport_2A)));
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
r[3] = obj_from_void(oportputs(stringchars((r[1])), (r[3])));
|
|
}
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 527: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3] = obj_from_void(oportputcircular((r[1]), (cx__2Acurrent_2Doutput_2Dport_2A), 0));
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
r[3] = obj_from_void(oportputcircular((r[1]), (r[3]), 0));
|
|
}
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 528: /* clo k x args */
|
|
assert(rc == 4);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k x args */
|
|
if ((isnull((r[2])))) {
|
|
r[3] = obj_from_void(oportputcircular((r[1]), (cx__2Acurrent_2Doutput_2Dport_2A), 1));
|
|
} else {
|
|
r[3] = (car((r[2])));
|
|
r[3] = obj_from_void(oportputcircular((r[1]), (r[3]), 1));
|
|
}
|
|
r[4+0] = r[0];
|
|
pc = objptr_from_obj(r[4+0])[0];
|
|
r[4+1] = obj_from_ktrap();
|
|
r[4+2] = r[3];
|
|
r += 4; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 529: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2+0] = (cx_read_2Ddatum);
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = r[0];
|
|
r[2+2] = (cx__2Acurrent_2Dinput_2Dport_2A);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
} else {
|
|
r[2+0] = (cx_read_2Ddatum);
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = r[0];
|
|
r[2+2] = (car((r[1])));
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
}
|
|
|
|
case 530: /* clo k args */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k args */
|
|
if ((isnull((r[1])))) {
|
|
r[2] = obj_from_void(exit((+0)));
|
|
} else {
|
|
r[2] = (car((r[1])));
|
|
r[2] = obj_from_void(exit(fixnum_from_obj(r[2])));
|
|
}
|
|
r[3+0] = r[0];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = obj_from_ktrap();
|
|
r[3+2] = r[2];
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
case 531: /* clo k obj */
|
|
assert(rc == 3);
|
|
r += 1; /* shift reg. wnd */
|
|
/* k obj */
|
|
{ /* record? */
|
|
obj o = (r[1]), t = (cx__3Cerror_2Dobject_3E);
|
|
if (!isrecord(o)) r[2] = obj_from_bool(0);
|
|
else r[2] = obj_from_bool(recordrtd(o) == t); }
|
|
if (bool_from_obj(r[2])) {
|
|
{ /* define apply */
|
|
static obj c[] = { obj_from_objptr(appcases+0) };
|
|
r[2] = obj_from_objptr(c); }
|
|
r[3+0] = r[2];
|
|
pc = objptr_from_obj(r[3+0])[0];
|
|
r[3+1] = r[0];
|
|
r[3+2] = (cx_simple_2Derror);
|
|
r[3+3] = (recordref((r[1]), (+0)));
|
|
r[3+4] = (recordref((r[1]), (+1)));
|
|
r[3+5] = (recordref((r[1]), (+2)));
|
|
r += 3; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 6;
|
|
goto jump;
|
|
} else {
|
|
r[2+0] = (cx_simple_2Derror);
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = r[0];
|
|
r[2+2] = obj_from_bool(0);
|
|
r[2+3] = (cx__231759);
|
|
r[2+4] = r[1];
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 5;
|
|
goto jump;
|
|
}
|
|
|
|
case 532: /* clo k */
|
|
assert(rc == 2);
|
|
{ obj* p = objptr_from_obj(r[0]);
|
|
r[1+1] = p[1]; }
|
|
r += 1; /* shift reg. wnd */
|
|
/* k default-handler */
|
|
r[2+0] = r[0];
|
|
pc = objptr_from_obj(r[2+0])[0];
|
|
r[2+1] = obj_from_ktrap();
|
|
r[2+2] = (objptr_from_obj(r[1])[0]);
|
|
r += 2; /* shift reg wnd */
|
|
rreserve(MAX_HOSTREGS);
|
|
rc = 3;
|
|
goto jump;
|
|
|
|
default: /* inter-host call */
|
|
cxg_hp = hp;
|
|
cxm_rgc(r, MAX_HOSTREGS);
|
|
cxg_rc = rc;
|
|
return pc;
|
|
}
|
|
}
|
|
|
|
/* module load */
|
|
void MODULE(void)
|
|
{
|
|
obj pc;
|
|
if (!root.next) {
|
|
root.next = cxg_rootp;
|
|
cxg_rootp = &root;
|
|
LOAD();
|
|
pc = obj_from_case(0);
|
|
cxg_rc = 0;
|
|
while (pc) pc = (*(cxhost_t*)pc)(pc);
|
|
assert(cxg_rc == 2);
|
|
}
|
|
}
|