Diff for /gforth/prim between versions 1.74 and 1.76

version 1.74, 2001/02/24 13:44:39 version 1.76, 2001/02/27 21:17:10
Line 139  execute ( xt -- )  core Line 139  execute ( xt -- )  core
 ""Perform the semantics represented by the execution token, @i{xt}.""  ""Perform the semantics represented by the execution token, @i{xt}.""
 ip=IP;  ip=IP;
 IF_spTOS(spTOS = sp[0]);  IF_spTOS(spTOS = sp[0]);
   SUPER_END;
 EXEC(xt);  EXEC(xt);
   
 perform ( a_addr -- )   gforth  perform ( a_addr -- )   gforth
Line 146  perform ( a_addr -- ) gforth Line 147  perform ( a_addr -- ) gforth
 /* and pfe */  /* and pfe */
 ip=IP;  ip=IP;
 IF_spTOS(spTOS = sp[0]);  IF_spTOS(spTOS = sp[0]);
   SUPER_END;
 EXEC(*(Xt *)a_addr);  EXEC(*(Xt *)a_addr);
 :  :
  @ execute ;   @ execute ;
Line 2346  while(a_addr != NULL) Line 2348  while(a_addr != NULL)
 primtable       ( -- wprimtable )       new  primtable       ( -- wprimtable )       new
 ""wprimtable is a table containing the xts of the primitives indexed  ""wprimtable is a table containing the xts of the primitives indexed
 by sequence-number in prim (for use in prepare-peephole-table).""  by sequence-number in prim (for use in prepare-peephole-table).""
 wprimtable = (Cell)primtable(symbols+DOESJUMP+1,MAX_SYMBOLS);  wprimtable = (Cell)primtable(symbols+DOESJUMP+1,MAX_SYMBOLS-DOESJUMP-1);
   
 prepare-peephole-table  ( wprimtable -- wpeeptable ) new prepare_peephole_opt  prepare-peephole-table  ( wprimtable -- wpeeptable ) new prepare_peephole_opt
 ""wpeeptable is a data structure used by @code{peephole-opt}; it is  ""wpeeptable is a data structure used by @code{peephole-opt}; it is
Line 2360  they cannot be combined, xt is 0."" Line 2362  they cannot be combined, xt is 0.""
 xt = peephole_opt(xt1, xt2, wpeeptable);  xt = peephole_opt(xt1, xt2, wpeeptable);
   
 lit_plus = lit +  lit_plus = lit +
   
   call    ( #a_callee -- R:a_retaddr )
   ""Call callee (a variant of docol with inline argument).""
   a_retaddr = (Cell *)IP;
   SET_IP((Xt *)a_callee);
   
   useraddr        ( #u -- a_addr )
   a_addr = (Cell *)(up+u);
   
   
   

Removed from v.1.74  
changed lines
  Added in v.1.76


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