diff options
author | Andy Wingo <wingo@pobox.com> | 2021-02-25 16:06:09 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2021-02-25 21:24:59 +0100 |
commit | 7e01042337e9637482790d60b1f467a740960655 (patch) | |
tree | 53c5153d39d25e42be6f9f9ee2550d721e1d3d9c /module/system | |
parent | 07f63cf4f3282234fae83f9e9690e87e3b2d9ed4 (diff) | |
download | guile-7e01042337e9637482790d60b1f467a740960655.tar.gz |
Assembler writes vector source properties
* module/system/vm/assembler.scm (intern-constant, link-data): Write the
vector representation of source instead of the alist. Saves a lot of
heap size, object file size, and init time when serializing syntax
objects with source.
Diffstat (limited to 'module/system')
-rw-r--r-- | module/system/vm/assembler.scm | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/module/system/vm/assembler.scm b/module/system/vm/assembler.scm index e5d81525a..8139263a8 100644 --- a/module/system/vm/assembler.scm +++ b/module/system/vm/assembler.scm @@ -1292,7 +1292,7 @@ table, its existing label is used directly." (patch! 1 (syntax-expression obj)) (patch! 2 (syntax-wrap obj)) (patch! 3 (syntax-module obj)) - (patch! 4 (syntax-source obj))) + (patch! 4 (syntax-sourcev obj))) ((stringbuf? obj)) ((static-procedure? obj) ;; Special case, as we can't load the procedure's code using @@ -1986,7 +1986,7 @@ should be .data or .rodata), and return the resulting linker object. (write-constant-reference buf (+ pos (* 3 word-size)) (syntax-module obj)) (write-constant-reference buf (+ pos (* 4 word-size)) - (syntax-source obj))) + (syntax-sourcev obj))) ((number? obj) (write-placeholder asm buf pos)) |