Update of /cvsroot/win32forth/win32forth-stc/src
In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv12049/src
Modified Files:
optinline.f optliterals.f
Log Message:
arm: variable inline length control, support stack effects properly
Index: optliterals.f
===================================================================
RCS file: /cvsroot/win32forth/win32forth-stc/src/optliterals.f,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** optliterals.f 15 Mar 2007 17:55:15 -0000 1.13
--- optliterals.f 22 Mar 2007 02:13:56 -0000 1.14
***************
*** 148,159 ****
: lits>1? ( -- n ) lits sdepth 1 > ;
! variable in-sync in-sync off \ to stop recursion in sync-code
: litsync ( -- ) \ called when code is about to be generated
in-sync @ 0= if \ recursing?
in-sync on \ no, so set
stk-adjust
lits>0? dup if \ anything to do?
! -4 tos->n[ebp] \ save tos
lits spop 0 #n->stk[] \ load tos
lits sdepth 0 ?do \ do for n-1 entries
--- 148,160 ----
: lits>1? ( -- n ) lits sdepth 1 > ;
! variable in-sync in-sync off \ to stop recursion in sync-code
: litsync ( -- ) \ called when code is about to be generated
in-sync @ 0= if \ recursing?
in-sync on \ no, so set
+ [ also assembler ] a; [ previous ] \ make sure assembler has finished
stk-adjust
lits>0? dup if \ anything to do?
! -4 tos->n[ebp] \ save tos
lits spop 0 #n->stk[] \ load tos
lits sdepth 0 ?do \ do for n-1 entries
Index: optinline.f
===================================================================
RCS file: /cvsroot/win32forth/win32forth-stc/src/optinline.f,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** optinline.f 13 Nov 2006 00:49:19 -0000 1.5
--- optinline.f 22 Mar 2007 02:13:56 -0000 1.6
***************
*** 39,43 ****
also optimise definitions
!
\ set some optimisation for constants in the kernel
--- 39,43 ----
also optimise definitions
! -1 to xt-inline-max \ set maximum length of inline here; -1 is unlimited
\ set some optimisation for constants in the kernel
|