Diff for /gforth/vmgen-ex/mini.h between versions 1.5 and 1.8

version 1.5, 2002/07/30 20:55:11 version 1.8, 2002/12/27 15:51:28
Line 21 Line 21
   
 #include <stdio.h>  #include <stdio.h>
   
   typedef long Cell;
 #ifdef __GNUC__  #ifdef __GNUC__
 typedef void *Label;  typedef void *Label;
 typedef void *Inst; /* for direct threading, the same as Label */  typedef Label Inst; /* we could "typedef Cell Inst", removing the need
                          for casts in a few places, but requiring a few
                          casts etc. in other places */
 #else  #else
 typedef long Label;  typedef long Label;
 typedef long Inst;  typedef long Inst;
 #endif  #endif
 typedef long Cell;  
   
 extern Inst *vm_prim;  extern Inst *vm_prim;
 extern int locals;  extern int locals;
Line 50  void vm_disassemble(Inst *ip, Inst *endp Line 52  void vm_disassemble(Inst *ip, Inst *endp
 void vm_count_block(Inst *ip);  void vm_count_block(Inst *ip);
 struct block_count *block_insert(Inst *ip);  struct block_count *block_insert(Inst *ip);
 void vm_print_profile(FILE *file);  void vm_print_profile(FILE *file);
   
   /* type change macros; these are specific to the types you use, so you
      have to change this part */
   #define vm_Cell2i(_cell,x)      ((x)=(long)(_cell))
   #define vm_Cell2target(_cell,x) ((x)=(Inst *)(_cell))
   #define vm_Cell2a(_cell,x)      ((x)=(char *)(_cell))
   #define vm_i2Cell(x,_cell)      ((_cell)=(Cell)(x))
   #define vm_target2Cell(x,_cell) ((_cell)=(Cell)(x))
   #define vm_a2Cell(x,_cell)      ((_cell)=(Cell)(x))
   #define vm_Cell2Cell(_x,_y) ((_y)=(Cell)(_x))
   /* the cast in vm_Cell2Cell is needed because the base type for
      inst-stream is Cell, but *IP is an Inst */
   
   /* for future extensions */
   #define IMM_ARG(access,value)           (access)
   
 #define VM_IS_INST(inst, n) ((inst) == vm_prim[n])  #define VM_IS_INST(inst, n) ((inst) == vm_prim[n])
   
 /* mini type-specific support functions */  /* mini type-specific support functions */

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


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