Diff for /gforth/engine/engine.c between versions 1.50 and 1.53

version 1.50, 2002/12/19 23:12:07 version 1.53, 2002/12/24 23:40:29
Line 64 Line 64
 #define SEEK_SET 0  #define SEEK_SET 0
 #endif  #endif
   
   #ifndef HAVE_FSEEKO
   #define fseeko fseek
   #endif
   
   #ifndef HAVE_FTELLO
   #define ftello ftell
   #endif
   
 #define IOR(flag)       ((flag)? -512-errno : 0)  #define IOR(flag)       ((flag)? -512-errno : 0)
   
 struct F83Name {  struct F83Name {
Line 198  extern int gforth_memcmp(const char * s1 Line 206  extern int gforth_memcmp(const char * s1
 /* normal engine */  /* normal engine */
 #define VARIANT(v)      (v)  #define VARIANT(v)      (v)
 #define JUMP(target)    goto I_noop  #define JUMP(target)    goto I_noop
 #define LABEL(name) I_##name:  #define LABEL(name) J_##name: asm(""); I_##name:
   
 #elif ENGINE==2  #elif ENGINE==2
 /* variant with padding between VM instructions for finding out  /* variant with padding between VM instructions for finding out
Line 206  extern int gforth_memcmp(const char * s1 Line 214  extern int gforth_memcmp(const char * s1
 #define engine engine2  #define engine engine2
 #define VARIANT(v)      (v)  #define VARIANT(v)      (v)
 #define JUMP(target)    goto I_noop  #define JUMP(target)    goto I_noop
 #define LABEL(name) J_##name: asm(".skip 16"); I_##name:  #define LABEL(name) J_##name: SKIP16; I_##name:
 #define IN_ENGINE2  #define IN_ENGINE2
   
 #elif ENGINE==3  #elif ENGINE==3
Line 215  extern int gforth_memcmp(const char * s1 Line 223  extern int gforth_memcmp(const char * s1
 #define engine engine3  #define engine engine3
 #define VARIANT(v)      ((v)^0xffffffff)  #define VARIANT(v)      ((v)^0xffffffff)
 #define JUMP(target)    goto K_lit  #define JUMP(target)    goto K_lit
 #define LABEL(name) I_##name:  #define LABEL(name) J_##name: asm(""); I_##name:
 #else  #else
 #error illegal ENGINE value  #error illegal ENGINE value
 #endif /* ENGINE */  #endif /* ENGINE */
Line 270  Label *engine(Xt *ip0, Cell *sp0, Cell * Line 278  Label *engine(Xt *ip0, Cell *sp0, Cell *
 #define INST_ADDR(name) (Label)&&K_##name  #define INST_ADDR(name) (Label)&&K_##name
 #include "prim_lab.i"  #include "prim_lab.i"
 #undef INST_ADDR  #undef INST_ADDR
 #ifdef IN_ENGINE2  
 #define INST_ADDR(name) (Label)&&J_##name  #define INST_ADDR(name) (Label)&&J_##name
 #include "prim_lab.i"  #include "prim_lab.i"
 #undef INST_ADDR  #undef INST_ADDR
 #endif  
   };    };
 #ifdef CPU_DEP2  #ifdef CPU_DEP2
   CPU_DEP2    CPU_DEP2

Removed from v.1.50  
changed lines
  Added in v.1.53


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