1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-28 14:00:31 +02:00
guile/module/language/cps/guile-vm
Andy Wingo 1ad31adf30 Better compilation for symbol->keyword, keyword->symbol
* module/language/tree-il/primitives.scm (*interesting-primitive-names*):
(*effect-free-primitives*): Recognize keyword->symbol, symbol->keyword.
* module/language/tree-il/cps-primitives.scm: Plumb through to CPS.
(keyword->symbol):
* module/language/cps/effects-analysis.scm: New prims have no effect.
Fix effects for string->symbol.
(annotation->memory-kind): Add keywords.
* module/language/cps/guile-vm/lower-primcalls.scm (keyword->symbol):
Lower to scm-ref/immediate.
* module/language/cps/types.scm (annotation->type): Add case for
keywords.
* module/language/tree-il/compile-cps.scm: Add converters for new prims,
with type guards.
2023-09-18 12:32:33 +02:00
..
loop-instrumentation.scm Introduce target-runtime parameter for backend-specific CPS lowering 2023-08-17 14:16:12 +02:00
lower-primcalls.scm Better compilation for symbol->keyword, keyword->symbol 2023-09-18 12:32:33 +02:00
reify-primitives.scm Better compilation for symbol->string 2023-09-15 10:18:50 +02:00