Diff for /gforth/kernel/comp.fs between versions 1.98 and 1.99

version 1.98, 2009/12/31 15:32:36 version 1.99, 2010/01/08 18:54:34
Line 116  defer header ( -- ) \ gforth Line 116  defer header ( -- ) \ gforth
     \G puts down string as longcstring      \G puts down string as longcstring
     dup , here swap chars dup allot move ;      dup , here swap chars dup allot move ;
   
   [IFDEF] prelude-mask
 variable next-prelude  variable next-prelude
   
 : prelude, ( -- )  : prelude, ( -- )
     next-prelude @ if      next-prelude @ if
         align next-prelude @ ,          align next-prelude @ ,
     then ;      then ;
   [THEN]
   
 : header, ( c-addr u -- ) \ gforth  : header, ( c-addr u -- ) \ gforth
     name-too-long?      name-too-long?
     dup max-name-length @ max max-name-length !      dup max-name-length @ max max-name-length !
     prelude,      [ [IFDEF] prelude-mask ] prelude, [ [THEN] ]
     align here last !      align here last !
 [ has? ec [IF] ]  [ has? ec [IF] ]
     -1 A,      -1 A,
Line 259  defer basic-block-end ( -- ) Line 261  defer basic-block-end ( -- )
 is basic-block-end  is basic-block-end
 [THEN]  [THEN]
   
 has? peephole [IF]  has? primcentric [IF]
       has? peephole [IF]
           \ dynamic only    
           : peephole-compile, ( xt -- )
               \ compile xt, appending its code to the current dynamic superinstruction
               here swap , compile-prim1 ;
       [ELSE]
           : peephole-compile, ( xt -- addr ) @ , ;
       [THEN]
   
 \ dynamic only      
 : peephole-compile, ( xt -- )  
     \ compile xt, appending its code to the current dynamic superinstruction  
     here swap , compile-prim1 ;  
       
 : compile-to-prims, ( xt -- )  : compile-to-prims, ( xt -- )
     \G compile xt to use primitives (and their peephole optimization)      \G compile xt to use primitives (and their peephole optimization)
     \G instead of ","-ing the xt.      \G instead of ","-ing the xt.
Line 362  has? peephole [IF] Line 367  has? peephole [IF]
 \ \ compiler loop  \ \ compiler loop
   
 : compiler1 ( c-addr u -- ... xt )  : compiler1 ( c-addr u -- ... xt )
     2dup find-name run-prelude dup      2dup find-name [ [IFDEF] prelude-mask ] run-prelude [ [THEN] ] dup
     if ( c-addr u nt )      if ( c-addr u nt )
         nip nip name>comp          nip nip name>comp
     else      else

Removed from v.1.98  
changed lines
  Added in v.1.99


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