From d93f4214a4c60a24ce142cdcb38f21a1befb9c81 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 13 May 2012 08:59:36 -0600 Subject: [PATCH] fix `compiler/zo-parse', etc. for phase-shift addition --- collects/compiler/decompile.rkt | 4 ++-- collects/compiler/zo-marshal.rkt | 4 ++-- collects/compiler/zo-parse.rkt | 3 ++- collects/compiler/zo-structs.rkt | 5 ++++- collects/scribblings/raco/zo-struct.scrbl | 3 ++- doc/release-notes/racket/HISTORY.txt | 3 +++ 6 files changed, 15 insertions(+), 7 deletions(-) diff --git a/collects/compiler/decompile.rkt b/collects/compiler/decompile.rkt index ac8808a940..ff3d99c342 100644 --- a/collects/compiler/decompile.rkt +++ b/collects/compiler/decompile.rkt @@ -144,8 +144,8 @@ ignored alist) `(,(if has-free-id-renames? 'lexical/free-id=? 'lexical) . ,alist)] - [(phase-shift amt src dest) - `(phase-shift ,amt ,src ,dest)] + [(phase-shift amt src dest cancel-id) + `(phase-shift ,amt ,src ,dest, cancel-id)] [(wrap-mark val) val] [(prune sym) diff --git a/collects/compiler/zo-marshal.rkt b/collects/compiler/zo-marshal.rkt index a05194725d..a9a1179f88 100644 --- a/collects/compiler/zo-marshal.rkt +++ b/collects/compiler/zo-marshal.rkt @@ -416,8 +416,8 @@ (define (encode-wraps wraps) (for/list ([wrap (in-list wraps)]) (match wrap - [(struct phase-shift (amt src dest)) - (box (vector amt src dest #f #f))] + [(struct phase-shift (amt src dest cancel-id)) + (box (vector amt src dest #f #f cancel-id))] [(struct module-rename (phase kind set-id unmarshals renames mark-renames plus-kern?)) (define encoded-kind (eq? kind 'marked)) (define encoded-unmarshals (map encode-all-from-module unmarshals)) diff --git a/collects/compiler/zo-parse.rkt b/collects/compiler/zo-parse.rkt index 84e5082332..ca9776446d 100644 --- a/collects/compiler/zo-parse.rkt +++ b/collects/compiler/zo-parse.rkt @@ -689,7 +689,8 @@ [`#(,amt ,src ,dest #f #f ,cancel-id) (make-phase-shift amt (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 'decode-wraps "bad wrap element: ~e" a)]))) diff --git a/collects/compiler/zo-structs.rkt b/collects/compiler/zo-structs.rkt index 03b53d31dc..39da7d1fb2 100644 --- a/collects/compiler/zo-structs.rkt +++ b/collects/compiler/zo-structs.rkt @@ -193,7 +193,10 @@ (or/c (cons/c symbol? (or/c symbol? #f)) 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 (prune wrap) ([sym any/c])) diff --git a/collects/scribblings/raco/zo-struct.scrbl b/collects/scribblings/raco/zo-struct.scrbl index 5b7d11f30b..494c150a99 100644 --- a/collects/scribblings/raco/zo-struct.scrbl +++ b/collects/scribblings/raco/zo-struct.scrbl @@ -531,7 +531,8 @@ structures that are produced by @racket[zo-parse] and consumed by @defstruct+[(phase-shift wrap) ([amt (or/c exact-integer? #f)] [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.} @defstruct+[(module-rename wrap) diff --git a/doc/release-notes/racket/HISTORY.txt b/doc/release-notes/racket/HISTORY.txt index 21622a159d..d52afe317f 100644 --- a/doc/release-notes/racket/HISTORY.txt +++ b/doc/release-notes/racket/HISTORY.txt @@ -1,3 +1,6 @@ +Version 5.3.0.7 +compiler/zo-struct: added cancel-id field to phase-shift + Version 5.3.0.6 racket/flonum: added flexpt racket/unsafe/ops: added unsafe-flexpt