Diff for /gforth/prim between versions 1.74 and 1.80

version 1.74, 2001/02/24 13:44:39 version 1.80, 2001/03/18 22:20:27
Line 74 Line 74
 \ xt.*          XT  \ xt.*          XT
 \ f83name.*     F83Name *  \ f83name.*     F83Name *
   
   \E stack data-stack   sp Cell
   \E stack fp-stack     fp Float
   \E stack return-stack rp Cell
   \E
 \E get-current prefixes set-current  \E get-current prefixes set-current
 \E   \E 
 \E s" Bool"             single data-stack type-prefix f  \E s" Bool"             single data-stack type-prefix f
Line 126 Line 130
 \ these m4 macros would collide with identifiers  \ these m4 macros would collide with identifiers
 undefine(`index')  undefine(`index')
 undefine(`shift')  undefine(`shift')
   undefine(`symbols')
   
 noop    ( -- )          gforth  noop    ( -- )          gforth
 :  :
Line 139  execute ( xt -- )  core Line 144  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 152  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 1422  cache."" Line 1429  cache.""
 FLUSH_ICACHE(c_addr,u);  FLUSH_ICACHE(c_addr,u);
   
 (bye)   ( n -- )        gforth  paren_bye  (bye)   ( n -- )        gforth  paren_bye
   SUPER_END;
 return (Label *)n;  return (Label *)n;
   
 (system)        ( c_addr u -- wretval wior )    gforth  peren_system  (system)        ( c_addr u -- wretval wior )    gforth  peren_system
Line 2343  while(a_addr != NULL) Line 2351  while(a_addr != NULL)
   
 \+  \+
   
   \+peephole
   
 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 2370  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.80


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