mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-29 14:30:34 +02:00
free-ref, free-set take immediate parameters
* module/language/cps/closure-conversion.scm (convert-one): * module/language/cps/compile-bytecode.scm (compile-function): * module/language/cps/effects-analysis.scm (define-primitive-effects*) (expression-effects, primitive-effects): Only fall back to passing constant table if the immediate parameter is false. Adapt closure effects analysis. * module/language/cps/slot-allocation.scm (compute-needs-slot): Remove special cases for free-ref/free-set!.
This commit is contained in:
parent
6be04684e6
commit
2f45cfcb9c
4 changed files with 21 additions and 33 deletions
|
@ -335,10 +335,6 @@ the definitions that are live before and after LABEL, as intsets."
|
|||
empty-intset)
|
||||
;; FIXME: Move all of these instructions to use $primcall
|
||||
;; params.
|
||||
(($ $primcall 'free-ref #f (closure slot))
|
||||
(defs+ closure))
|
||||
(($ $primcall 'free-set! #f (closure slot value))
|
||||
(defs+* (intset closure value)))
|
||||
(($ $primcall 'make-vector/immediate #f (len init))
|
||||
(defs+ init))
|
||||
(($ $primcall 'vector-ref/immediate #f (v i))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue