summaryrefslogtreecommitdiff
path: root/module/system
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2023-09-15 10:07:40 +0200
committerAndy Wingo <wingo@pobox.com>2023-09-15 10:18:50 +0200
commit6756aeff9514bff792e9804217161a7d8ca61fe5 (patch)
treebd377742cbe2a23123ab77d523ef67712571424c /module/system
parentc0715e09033de4697013e5ddc62ab06296d1ae82 (diff)
downloadguile-6756aeff9514bff792e9804217161a7d8ca61fe5.tar.gz
Better compilation for symbol->string
* libguile/intrinsics.c (scm_bootstrap_intrinsics): * libguile/intrinsics.h (SCM_FOR_ALL_VM_INTRINSICS): Add symbol->string intrinsic. * module/language/cps/guile-vm/reify-primitives.scm (compute-known-primitives): * module/language/tree-il/compile-bytecode.scm (+): * module/language/tree-il/compile-cps.scm (symbol->string): * module/language/tree-il/cps-primitives.scm (symbol->string): * module/language/cps/effects-analysis.scm (symbol->string): * module/language/cps/types.scm (symbol->keyword): * module/system/vm/assembler.scm (symbol->string): Add the necessary code to compile symbol->string.
Diffstat (limited to 'module/system')
-rw-r--r--module/system/vm/assembler.scm2
1 files changed, 2 insertions, 0 deletions
diff --git a/module/system/vm/assembler.scm b/module/system/vm/assembler.scm
index ef67c1846..aa1d324a2 100644
--- a/module/system/vm/assembler.scm
+++ b/module/system/vm/assembler.scm
@@ -258,6 +258,7 @@
emit-lookup-bound-private
emit-define!
emit-current-module
+ emit-symbol->string
;; Intrinsics for use by the baseline compiler.
emit-$car
@@ -1572,6 +1573,7 @@ returned instead."
(define-scm<-scmn-scmn-intrinsic lookup-bound-private)
(define-scm<-scm-scm-intrinsic define!)
(define-scm<-thread-intrinsic current-module)
+(define-scm<-scm-intrinsic symbol->string)
(define-scm<-scm-intrinsic $car)
(define-scm<-scm-intrinsic $cdr)