1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-29 19:30:36 +02:00
guile/module
Ludovic Courtès de1ac71850 psyntax: Pass source vectors to tree-il constructors.
Avoiding systematic conversion from source vectors to property alists
saves 20% on the final heap size of a process doing:

  (compile-file FILE #:optimization-level 1)

where FILE is large.

* module/language/tree-il.scm (tree-il-src/ensure-alist): New procedure
with setter.  Export as 'tree-il-src'.
* module/ice-9/psyntax.scm (build-void, build-call)
(build-conditional, build-lexical-reference, build-lexical-assignment)
(build-global-reference, build-global-assignment)
(build-global-definition, build-simple-lambda, build-case-lambda)
(build-lambda-case, build-primcall, build-primref)
(build-data, build-sequence, build-let, build-named-let)
(build-letrec, expand-body): Remove (sourcev->alist src) calls.
* module/ice-9/psyntax-pp.scm: Regenerate.
* module/language/tree-il/analyze.scm (shadowed-toplevel-analysis): Use
'tree-il-src' instead of accessing the 'src' slot directly.
* module/system/vm/assembler.scm (link-debug): Adjust so PC can be
followed by a vector or an alist.
2022-02-06 22:59:41 +01:00
..
ice-9 psyntax: Pass source vectors to tree-il constructors. 2022-02-06 22:59:41 +01:00
language psyntax: Pass source vectors to tree-il constructors. 2022-02-06 22:59:41 +01:00
oop goops: Preserve all slot options in redefinable classes. 2021-03-19 21:45:53 +01:00
rnrs Write a proper vector-map and vector-for-each for (rnrs base) 2021-03-09 21:10:04 +01:00
scheme Add function vector-copy! to core 2021-08-06 17:13:21 +02:00
scripts Bump copyright years for user-visible copyright messages 2021-01-07 13:00:46 +01:00
srfi New function srfi-4-vector-type-size in (srfi srfi-4 gnu) 2021-12-06 14:00:03 +01:00
sxml sxml: Make parser thread-safe. 2021-10-22 13:52:40 +02:00
system psyntax: Pass source vectors to tree-il constructors. 2022-02-06 22:59:41 +01:00
texinfo texinfo: Add basic support for @w{...}. 2020-06-18 00:30:30 +02:00
web web: 'tls-wrap' returns an unbuffered custom port. 2021-03-19 14:13:31 +01:00
Makefile.am Rework bootstrap to be reproducible 2022-02-01 14:50:40 +01:00
rnrs.scm Define top-level bindings for aux syntax: else, =>, _, ... 2019-09-12 21:50:51 +02:00
statprof.scm Statprof reports primitive names 2020-06-04 11:46:34 +02:00
texinfo.scm texinfo: Add basic support for @w{...}. 2020-06-18 00:30:30 +02:00