Diff for /gforth/prims2x.fs between versions 1.170 and 1.174

version 1.170, 2009/01/18 18:41:55 version 1.174, 2011/11/13 00:45:20
Line 1 Line 1
 \ converts primitives to, e.g., C code   \ converts primitives to, e.g., C code 
   
 \ Copyright (C) 1995,1996,1997,1998,2000,2003,2004,2005,2006,2007 Free Software Foundation, Inc.  \ Copyright (C) 1995,1996,1997,1998,2000,2003,2004,2005,2006,2007,2009,2010 Free Software Foundation, Inc.
   
 \ This file is part of Gforth.  \ This file is part of Gforth.
   
Line 921  stack inst-stream IP Cell Line 921  stack inst-stream IP Cell
 : stack-pointer-update { stack -- }  : stack-pointer-update { stack -- }
     \ and moves      \ and moves
     \ stacks grow downwards      \ stacks grow downwards
   \    ." /* stack pointer update " stack stack-pointer 2@ type ."  */" cr
     stack stack-prim-stacks-sync @ if      stack stack-prim-stacks-sync @ if
   \       ." /* synced "  stack stack-in ? stack stack-out ? stack state-in  stack-offset . ." */" cr
         stack stack-in @          stack stack-in @
         stack state-in  stack-offset -          stack state-in  stack-offset -
         stack swap update-stack-pointer          stack swap update-stack-pointer
     else      else
   \       ." /* unsynced "  stack stack-in ? stack stack-out ? ." */" cr
         stack stack-diff ( in-out )          stack stack-diff ( in-out )
         stack state-in  stack-offset -          stack state-in  stack-offset -
         stack state-out stack-offset + ( [in-in_offset]-[out-out_offset] )          stack state-out stack-offset + ( [in-in_offset]-[out-out_offset] )
Line 937  stack inst-stream IP Cell Line 940  stack inst-stream IP Cell
     ['] stack-pointer-update map-stacks ;      ['] stack-pointer-update map-stacks ;
   
 : stack-pointer-update2 { stack -- }  : stack-pointer-update2 { stack -- }
   \    ." /* stack pointer update2 " stack stack-pointer 2@ type ."  */" cr
     stack stack-prim-stacks-sync @ if      stack stack-prim-stacks-sync @ if
         stack state-out stack-offset          stack state-out stack-offset
         stack stack-out @ -          stack stack-out @ -
Line 1053  variable tail-nextp2 \ xt to execute for Line 1057  variable tail-nextp2 \ xt to execute for
     tail-nextp2 @ output-c-tail1-no-stores ;      tail-nextp2 @ output-c-tail1-no-stores ;
   
 : output-c-tail2-no-stores ( -- )  : output-c-tail2-no-stores ( -- )
       prim prim-c-code 2@ s" VM_JUMP(" search nip nip abort" Currently VM_JUMP is not supported in static superinstructions"
     ['] output-label2 output-c-tail1-no-stores ;      ['] output-label2 output-c-tail1-no-stores ;
   
 : type-c-code ( c-addr u xt -- )  : type-c-code ( c-addr u xt -- )
Line 1348  is output-c-prim-num Line 1353  is output-c-prim-num
 \  NEXT_P2;  \  NEXT_P2;
   
 : init-combined ( -- )  : init-combined ( -- )
       ['] clear-prim-stacks-sync map-stacks
     prim to combined      prim to combined
     0 num-combined !      0 num-combined !
     current-depth max-stacks cells erase      current-depth max-stacks cells erase

Removed from v.1.170  
changed lines
  Added in v.1.174


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