compiler.cfg.builder: emit less crap after a #terminate node
parent
3385e50c43
commit
72b6bef19d
|
@ -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 )
|
||||||
|
|
Loading…
Reference in New Issue