update for revised bytecode

This commit is contained in:
Matthew Flatt 2015-07-21 13:29:15 -06:00
parent c431d34955
commit 6933512ec2
2 changed files with 15 additions and 4 deletions

View File

@ -1265,9 +1265,19 @@
null null
#f)) #f))
(hash-set! ht s sc) (hash-set! ht s sc)
(unless (number? v) (define bindings-l
(if (= kind 1) ; has multi owner
(match v
[(cons (? number?) (cons multi bindings-l))
(set-scope-multi-owner! sc (decode-multi-scope multi ht))
bindings-l])
(match v
[(? number?) #f]
[(cons (? number?) bindings-l)
bindings-l])))
(when bindings-l
(define-values (bulk-bindings end) (define-values (bulk-bindings end)
(let loop ([l (cdr v)] [bulk-bindings null]) (let loop ([l bindings-l] [bulk-bindings null])
(cond (cond
[(pair? l) [(pair? l)
(loop (cdr l) (cons (list (decode-scope-set (caar l) ht) (loop (cdr l) (cons (list (decode-scope-set (caar l) ht)
@ -1410,7 +1420,8 @@
[(= (add1 i) (vector-length ms)) null] [(= (add1 i) (vector-length ms)) null]
[else [else
(define s (decode-scope (vector-ref ms (add1 i)) ht)) (define s (decode-scope (vector-ref ms (add1 i)) ht))
(when (scope-multi-owner s) (when (and (scope-multi-owner s)
(not (eq? (scope-multi-owner s) multi)))
(error 'decode-wrap "bad scope owner: ~e while reading ~e" (error 'decode-wrap "bad scope owner: ~e while reading ~e"
(scope-multi-owner s) (scope-multi-owner s)
multi)) multi))

View File

@ -2,7 +2,7 @@
(define collection 'multi) (define collection 'multi)
(define deps '("base")) (define deps '(["base" #:version "6.2.900.5"]))
(define pkg-desc "Libraries for handling zo files") (define pkg-desc "Libraries for handling zo files")