compiler.cfg.builder: emit less crap after a #terminate node

db4
Slava Pestov 2009-06-30 23:03:25 -05:00
parent 3385e50c43
commit 72b6bef19d
1 changed files with 3 additions and 3 deletions

View File

@ -67,14 +67,14 @@ GENERIC: emit-node ( node -- )
] with-variable ] with-variable
] keep ; ] keep ;
: local-recursive-call ( basic-block -- ) : emit-loop-call ( basic-block -- )
##branch ##branch
basic-block get successors>> push basic-block get successors>> push
basic-block off ; basic-block off ;
: emit-call ( word -- ) : emit-call ( word -- )
dup loops get key? dup loops get key?
[ loops get at local-recursive-call ] [ loops get at emit-loop-call ]
[ ##call ##branch begin-basic-block ] [ ##call ##branch begin-basic-block ]
if ; if ;
@ -177,7 +177,7 @@ M: #return-recursive emit-node
[ ##epilogue ##return ] unless ; [ ##epilogue ##return ] unless ;
! #terminate ! #terminate
M: #terminate emit-node drop ##no-tco ; M: #terminate emit-node drop ##no-tco basic-block off ;
! FFI ! FFI
: return-size ( ctype -- n ) : return-size ( ctype -- n )