Update of /cvsroot/win32forth/win32forth-stc/src
In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv29335/win32forth-stc/src
Modified Files:
asmwin32.f primutil.f
Log Message:
gah:Fix a bug where code definitions wouldn't inline. Modified OFFSET to work with the DOES> and inlined a short word in task.f
Index: asmwin32.f
===================================================================
RCS file: /cvsroot/win32forth/win32forth-stc/src/asmwin32.f,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** asmwin32.f 27 Sep 2006 21:38:36 -0000 1.4
--- asmwin32.f 7 Nov 2006 11:04:50 -0000 1.5
***************
*** 34,38 ****
code-header hide
!csp init-asm
! code-here to ofa ;
' (_code) is code
--- 34,39 ----
code-header hide
!csp init-asm
! code-here to ofa
! 0 to tail-call ;
' (_code) is code
Index: primutil.f
===================================================================
RCS file: /cvsroot/win32forth/win32forth-stc/src/primutil.f,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** primutil.f 4 Nov 2006 11:19:10 -0000 1.17
--- primutil.f 7 Nov 2006 11:04:50 -0000 1.18
***************
*** 119,125 ****
0 swap execute postpone literal postpone + ;
: offset ( n1 <-name-> -- ) \ compiling
( n2 -- n3 ) \ runtime n3=n1+n2
! create , ['] (comp-offs) compiles-last does> @ + ;
: field+ ( n1 n2 <-name-> -- n3 ) \ compiling n3=n1+n2 stored offset=n1
--- 119,129 ----
0 swap execute postpone literal postpone + ;
+ : (offset) ( n1 <-name-> -- ) \ compiling
+ ( n2 -- n3 ) \ runtime n3=n1+n2
+ create , does> @ + ;
+
: offset ( n1 <-name-> -- ) \ compiling
( n2 -- n3 ) \ runtime n3=n1+n2
! (offset) ['] (comp-offs) compiles-last ;
: field+ ( n1 n2 <-name-> -- n3 ) \ compiling n3=n1+n2 stored offset=n1
***************
*** 138,142 ****
: asciiz ( addr len -- z-buf )
! \ *G Place string addr len in buffer z-buf and null terminate it. Note only one string
\ ** per task can used at a time.
z-buf ascii-z ;
--- 142,146 ----
: asciiz ( addr len -- z-buf )
! \ *G Place string addr len in buffer z-buf and nuul terminate it. Note only one string
\ ** per task can used at a time.
z-buf ascii-z ;
|