racket/pkgs/compiler-lib/compiler
Matthew Flatt f07c2fea71 cs: simplify and improve handling of literals
Use data instead of code to shrink ".zo" sizes by 10-30%.

When Racket code contains a literal that cannot be serialized directly
by Chez Scheme (such as a keyword or an immutable string that should
be datum-interned), the old approach was to generate Scheme code to
construct the literal through a lifted `let` binding. To handle paths
associated with procedures, however, Chez Scheme's `fasl-write` had
been extended to allow arbitrary values to be intercepted during fasl
and passed back in to `fasl-read`. Using that strategy for all Racket
literals simplifies the implementation and reduces compiled code. It
also makes closures smaller, while increases the number of
relocations. DrRacket's foorprint shrinks by about 1%, but the main
affect is on disk space for a Racket installation.
2020-11-22 06:02:40 -07:00
..
commands cs & raco decompile: expose more fasl content 2020-11-21 07:26:08 -07:00
demodularizer Change else in match to _ 2020-08-25 09:37:02 -06:00
private cs: simplify and improve handling of literals 2020-11-22 06:02:40 -07:00
bundle-dist.rkt Move to correct directories. 2016-05-27 17:20:35 -04:00
compiler-unit.rkt Move to correct directories. 2016-05-27 17:20:35 -04:00
decompile.rkt cs: simplify and improve handling of literals 2020-11-22 06:02:40 -07:00
embed-sig.rkt Move to correct directories. 2016-05-27 17:20:35 -04:00
embed-unit.rkt Move to correct directories. 2016-05-27 17:20:35 -04:00
option-unit.rkt Move to correct directories. 2016-05-27 17:20:35 -04:00
sig.rkt Move to correct directories. 2016-05-27 17:20:35 -04:00