Diff for /gforth/prims2x.fs between versions 1.115 and 1.116

version 1.115, 2002/09/22 09:54:19 version 1.116, 2002/09/22 14:21:30
Line 89  variable out-nls \ newlines in output (f Line 89  variable out-nls \ newlines in output (f
 variable store-optimization \ use store optimization?  variable store-optimization \ use store optimization?
 store-optimization off  store-optimization off
   
   variable include-skipped-insts
   \ does the threaded code for a combined instruction include the cells
   \ for the component instructions (true) or only the cells for the
   \ inline arguments (false)
   include-skipped-insts off
   
 : th ( addr1 n -- addr2 )  : th ( addr1 n -- addr2 )
     cells + ;      cells + ;
Line 947  stack inst-stream IP Cell Line 952  stack inst-stream IP Cell
     prim to combined      prim to combined
     0 num-combined !      0 num-combined !
     current-depth max-stacks cells erase      current-depth max-stacks cells erase
       include-skipped-insts @ current-depth 0 th !
     max-depth     max-stacks cells erase      max-depth     max-stacks cells erase
     min-depth     max-stacks cells erase      min-depth     max-stacks cells erase
     prim prim-effect-in  prim prim-effect-in-end  !      prim prim-effect-in  prim prim-effect-in-end  !
Line 958  stack inst-stream IP Cell Line 964  stack inst-stream IP Cell
 : min! ( n addr -- )  : min! ( n addr -- )
     tuck @ min swap ! ;      tuck @ min swap ! ;
   
   : inst-stream-correction ( nin1 nstack -- nin2 )
       0= if
           include-skipped-insts @ -
       endif ;
   
 : add-depths { p -- }  : add-depths { p -- }
     \ combine stack effect of p with *-depths      \ combine stack effect of p with *-depths
     max-stacks 0 ?do      max-stacks 0 ?do
         current-depth i th @          current-depth i th @
         p prim-stacks-in  i th @ +          p prim-stacks-in  i th @ + i inst-stream-correction
         dup max-depth i th max!          dup max-depth i th max!
         p prim-stacks-out i th @ -          p prim-stacks-out i th @ -
         dup min-depth i th min!          dup min-depth i th min!
Line 1110  stack inst-stream IP Cell Line 1121  stack inst-stream IP Cell
   
 \ This is intended as initializer for a structure like this  \ This is intended as initializer for a structure like this
   
 \  struct super {  \  struct cost {
 \    int loads;       /* number of stack loads */  \    int loads;       /* number of stack loads */
 \    int stores;      /* number of stack stores */  \    int stores;      /* number of stack stores */
 \    int updates;     /* number of stack pointer updates */  \    int updates;     /* number of stack pointer updates */

Removed from v.1.115  
changed lines
  Added in v.1.116


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