version 1.13, 2002/01/14 08:40:24
|
version 1.14, 2002/01/16 10:40:26
|
Line 104
|
Line 104
|
# define INC_IP(const_inc) ({cfa=IP[const_inc]; ip+=(const_inc);}) |
# define INC_IP(const_inc) ({cfa=IP[const_inc]; ip+=(const_inc);}) |
# define DEF_CA Label ca; |
# define DEF_CA Label ca; |
# define NEXT_P1 ({\ |
# define NEXT_P1 ({\ |
if (cfa<=vm_prims+DOESJUMP || cfa>=vm_prims+sizeof(routines)) \ |
if (cfa<=vm_prims+DOESJUMP || cfa>=vm_prims+npriminfos) \ |
fprintf(stderr,"NEXT encountered prim %p at ip=%p\n", cfa, ip); \ |
fprintf(stderr,"NEXT encountered prim %p at ip=%p\n", cfa, ip); \ |
ip++; ca=**cfa;}) |
ip++; ca=**cfa;}) |
# define NEXT_P2 ({goto *ca;}) |
# define NEXT_P2 ({goto *ca;}) |
# define EXEC(XT) ({DEF_CA cfa=(XT);\ |
# define EXEC(XT) ({DEF_CA cfa=(XT);\ |
if (cfa>vm_prims+DOESJUMP && cfa<vm_prims+sizeof(routines)) \ |
if (cfa>vm_prims+DOESJUMP && cfa<vm_prims+npriminfos) \ |
fprintf(stderr,"EXEC encountered xt %p at ip=%p\n", cfa, ip); \ |
fprintf(stderr,"EXEC encountered xt %p at ip=%p, vm_prims=%p, xts=%p\n", cfa, ip, vm_prims, xts); \ |
ca=**cfa; goto *ca;}) |
ca=**cfa; goto *ca;}) |
|
|
#else /* !defined(DOUBLY_INDIRECT) */ |
#else /* !defined(DOUBLY_INDIRECT) */ |