comment, since it's not immediately clear why I'm not unboxing the value in the closure

This commit is contained in:
Danny Yoo 2011-03-13 21:28:24 -04:00
parent 01b307829b
commit 8f2d928e08

View File

@ -157,8 +157,9 @@
(machine-proc m)]))
(: lookup-env-reference (machine EnvReference -> SlotValue))
(define (lookup-env-reference m ref)
(: lookup-env-reference/closure-capture (machine EnvReference -> SlotValue))
;; Capture values for the closure, given a set of environment references.
(define (lookup-env-reference/closure-capture m ref)
(cond [(EnvLexicalReference? ref)
(if (EnvLexicalReference-unbox? ref)
(ensure-primitive-value-box (env-ref m (EnvLexicalReference-depth ref)))
@ -256,7 +257,7 @@
(target-updater! m (make-closure (MakeCompiledProcedure-label op)
(MakeCompiledProcedure-arity op)
(map (lambda: ([r : EnvReference])
(lookup-env-reference m r))
(lookup-env-reference/closure-capture m r))
(MakeCompiledProcedure-closed-vals op))))]
[(ApplyPrimitiveProcedure? op)