Diff for /gforth/engine/threaded.h between versions 1.8 and 1.14

version 1.8, 2000/12/16 17:19:41 version 1.14, 2002/01/16 10:40:26
Line 103 Line 103
 #  define NEXT_INST     (cfa)  #  define NEXT_INST     (cfa)
 #  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       ({ip++; ca=**cfa;})  #  define NEXT_P1       ({\
     if (cfa<=vm_prims+DOESJUMP || cfa>=vm_prims+npriminfos) \
       fprintf(stderr,"NEXT encountered prim %p at ip=%p\n", cfa, ip); \
     ip++; ca=**cfa;})
 #  define NEXT_P2       ({goto *ca;})  #  define NEXT_P2       ({goto *ca;})
 #  define EXEC(XT)      ({DEF_CA cfa=(XT); ca=**cfa; goto *ca;})  #  define EXEC(XT)      ({DEF_CA cfa=(XT);\
 #  define NEXT1_P1 ({ca = **cfa;})    if (cfa>vm_prims+DOESJUMP && cfa<vm_prims+npriminfos) \
 #  define NEXT1_P2 ({goto *ca;})      fprintf(stderr,"EXEC encountered xt %p at ip=%p, vm_prims=%p, xts=%p\n", cfa, ip, vm_prims, xts); \
    ca=**cfa; goto *ca;})
   
 #else /* !defined(DOUBLY_INDIRECT) */  #else /* !defined(DOUBLY_INDIRECT) */
   
Line 393 Line 397
 #endif /* !defined(DOUBLY_INDIRECT) */  #endif /* !defined(DOUBLY_INDIRECT) */
   
 #define NEXT ({DEF_CA NEXT_P1; NEXT_P2;})  #define NEXT ({DEF_CA NEXT_P1; NEXT_P2;})
   #define IPTOS NEXT_INST

Removed from v.1.8  
changed lines
  Added in v.1.14


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>