mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 20:00:19 +02:00
* module/language/cps/closure-conversion.scm (compute-elidable-closures): New function. (convert-one, convert-closures): Add ability to set "self" variable of $kfun to $f, hopefully avoiding passing that argument in some cases. * module/language/cps/compile-bytecode.scm (compile-function): Pass the has-closure? bit on through to the assembler. * module/system/vm/assembler.scm (begin-standard-arity) (begin-opt-arity, begin-kw-arity): Only reserve space for the closure as appropriate. * module/language/cps/slot-allocation.scm (allocate-args) (compute-defs-and-uses, compute-needs-slot) (compute-var-representations): Allow for closure slot allocation differences. * module/language/cps/cse.scm (compute-defs): * module/language/cps/dce.scm (compute-live-code): * module/language/cps/renumber.scm (renumber, compute-renaming): (allocate-args): * module/language/cps/specialize-numbers.scm (compute-significant-bits): (compute-defs): * module/language/cps/split-rec.scm (compute-free-vars): * module/language/cps/types.scm (infer-types): * module/language/cps/utils.scm (compute-max-label-and-var): * module/language/cps/verify.scm (check-distinct-vars): (compute-available-definitions): Allow closure to be #f. |
||
---|---|---|
.. | ||
base | ||
repl | ||
vm | ||
foreign-object.scm | ||
foreign.scm | ||
syntax.scm | ||
xref.scm |