fix problems with references to bindings at higher phases
original commit: 577cf4592e
This commit is contained in:
parent
359eb87abb
commit
4be962e720
|
@ -610,7 +610,8 @@
|
||||||
(out-anything modidx out)
|
(out-anything modidx out)
|
||||||
(out-anything sym out)
|
(out-anything sym out)
|
||||||
(unless (zero? phase)
|
(unless (zero? phase)
|
||||||
(out-number -2 out))
|
(out-number -2 out)
|
||||||
|
(out-number phase out))
|
||||||
(out-number pos out)]
|
(out-number pos out)]
|
||||||
[(struct closure (lam gen-id))
|
[(struct closure (lam gen-id))
|
||||||
(out-byte CPT_CLOSURE out)
|
(out-byte CPT_CLOSURE out)
|
||||||
|
|
|
@ -859,7 +859,7 @@
|
||||||
[pos (read-compact-number cp)])
|
[pos (read-compact-number cp)])
|
||||||
(let-values ([(mod-phase pos)
|
(let-values ([(mod-phase pos)
|
||||||
(if (= pos -2)
|
(if (= pos -2)
|
||||||
(values 1 (read-compact-number cp))
|
(values (read-compact-number cp) (read-compact-number cp))
|
||||||
(values 0 pos))])
|
(values 0 pos))])
|
||||||
(make-module-variable mod var pos mod-phase)))]
|
(make-module-variable mod var pos mod-phase)))]
|
||||||
[(local-unbox)
|
[(local-unbox)
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
(define-form-struct module-variable ([modidx module-path-index?]
|
(define-form-struct module-variable ([modidx module-path-index?]
|
||||||
[sym symbol?]
|
[sym symbol?]
|
||||||
[pos exact-integer?]
|
[pos exact-integer?]
|
||||||
[phase (or/c 0 1)])) ; direct access to exported id
|
[phase exact-nonnegative-integer?]))
|
||||||
|
|
||||||
;; Syntax object
|
;; Syntax object
|
||||||
(define ((alist/c k? v?) l)
|
(define ((alist/c k? v?) l)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user