summaryrefslogtreecommitdiff
path: root/module/language/cps/compile-bytecode.scm
diff options
context:
space:
mode:
Diffstat (limited to 'module/language/cps/compile-bytecode.scm')
-rw-r--r--module/language/cps/compile-bytecode.scm7
1 files changed, 4 insertions, 3 deletions
diff --git a/module/language/cps/compile-bytecode.scm b/module/language/cps/compile-bytecode.scm
index 839313870..f7c8fbb5e 100644
--- a/module/language/cps/compile-bytecode.scm
+++ b/module/language/cps/compile-bytecode.scm
@@ -81,8 +81,9 @@
(_ forwarding-labels)))
cps empty-intmap)))
-(define (compile-function cps asm)
- (let* ((allocation (allocate-slots cps))
+(define (compile-function cps asm opts)
+ (let* ((allocation (allocate-slots cps #:precolor-calls?
+ (kw-arg-ref opts #:precolor-calls? #t)))
(forwarding-labels (compute-forwarding-labels cps allocation))
(frame-size (lookup-nlocals allocation)))
(define (forward-label k)
@@ -600,7 +601,7 @@
(define (emit-bytecode exp env opts)
(let ((asm (make-assembler)))
(intmap-for-each (lambda (kfun body)
- (compile-function (intmap-select exp body) asm))
+ (compile-function (intmap-select exp body) asm opts))
(compute-reachable-functions exp 0))
(values (link-assembly asm #:page-aligned? (kw-arg-ref opts #:to-file? #f))
env