fix `compiler/zo-parse', etc. for phase-shift addition

This commit is contained in:
Matthew Flatt 2012-05-13 08:59:36 -06:00
parent dfad46cd7a
commit d93f4214a4
6 changed files with 15 additions and 7 deletions

View File

@ -144,8 +144,8 @@
ignored ignored
alist) alist)
`(,(if has-free-id-renames? 'lexical/free-id=? 'lexical) . ,alist)] `(,(if has-free-id-renames? 'lexical/free-id=? 'lexical) . ,alist)]
[(phase-shift amt src dest) [(phase-shift amt src dest cancel-id)
`(phase-shift ,amt ,src ,dest)] `(phase-shift ,amt ,src ,dest, cancel-id)]
[(wrap-mark val) [(wrap-mark val)
val] val]
[(prune sym) [(prune sym)

View File

@ -416,8 +416,8 @@
(define (encode-wraps wraps) (define (encode-wraps wraps)
(for/list ([wrap (in-list wraps)]) (for/list ([wrap (in-list wraps)])
(match wrap (match wrap
[(struct phase-shift (amt src dest)) [(struct phase-shift (amt src dest cancel-id))
(box (vector amt src dest #f #f))] (box (vector amt src dest #f #f cancel-id))]
[(struct module-rename (phase kind set-id unmarshals renames mark-renames plus-kern?)) [(struct module-rename (phase kind set-id unmarshals renames mark-renames plus-kern?))
(define encoded-kind (eq? kind 'marked)) (define encoded-kind (eq? kind 'marked))
(define encoded-unmarshals (map encode-all-from-module unmarshals)) (define encoded-unmarshals (map encode-all-from-module unmarshals))

View File

@ -689,7 +689,8 @@
[`#(,amt ,src ,dest #f #f ,cancel-id) [`#(,amt ,src ,dest #f #f ,cancel-id)
(make-phase-shift amt (make-phase-shift amt
(parse-module-path-index cp src) (parse-module-path-index cp src)
(parse-module-path-index cp dest))] (parse-module-path-index cp dest)
cancel-id)]
[else (error 'parse "bad phase shift: ~e" a)])] [else (error 'parse "bad phase shift: ~e" a)])]
[else (error 'decode-wraps "bad wrap element: ~e" a)]))) [else (error 'decode-wraps "bad wrap element: ~e" a)])))

View File

@ -193,7 +193,10 @@
(or/c (or/c
(cons/c symbol? (or/c symbol? #f)) (cons/c symbol? (or/c symbol? #f))
free-id-info?)))))])) free-id-info?)))))]))
(define-form-struct (phase-shift wrap) ([amt (or/c exact-integer? #f)] [src (or/c module-path-index? #f)] [dest (or/c module-path-index? #f)])) (define-form-struct (phase-shift wrap) ([amt (or/c exact-integer? #f)]
[src (or/c module-path-index? #f)]
[dest (or/c module-path-index? #f)]
[cancel-id (or/c exact-integer? #f)]))
(define-form-struct (wrap-mark wrap) ([val exact-integer?])) (define-form-struct (wrap-mark wrap) ([val exact-integer?]))
(define-form-struct (prune wrap) ([sym any/c])) (define-form-struct (prune wrap) ([sym any/c]))

View File

@ -531,7 +531,8 @@ structures that are produced by @racket[zo-parse] and consumed by
@defstruct+[(phase-shift wrap) @defstruct+[(phase-shift wrap)
([amt (or/c exact-integer? #f)] ([amt (or/c exact-integer? #f)]
[src module-path-index?] [src module-path-index?]
[dest module-path-index?])]{ [dest module-path-index?]
[cancel-id (or/c exact-integer? #f)])]{
Shifts module bindings later in the wrap set.} Shifts module bindings later in the wrap set.}
@defstruct+[(module-rename wrap) @defstruct+[(module-rename wrap)

View File

@ -1,3 +1,6 @@
Version 5.3.0.7
compiler/zo-struct: added cancel-id field to phase-shift
Version 5.3.0.6 Version 5.3.0.6
racket/flonum: added flexpt racket/flonum: added flexpt
racket/unsafe/ops: added unsafe-flexpt racket/unsafe/ops: added unsafe-flexpt