update another test for the VM identifier in bytecode

This commit is contained in:
Matthew Flatt 2018-10-22 19:47:22 -06:00
parent cbd195201a
commit 7481eb6fed
3 changed files with 9 additions and 7 deletions

View File

@ -12,7 +12,7 @@
(define collection 'multi)
(define version "7.1.0.1")
(define version "7.1.0.2")
(define deps `("racket-lib"
["racket" #:version ,version]))

View File

@ -1035,9 +1035,10 @@
(write (compile e) o)
(define s (get-output-bytes o))
(define vlen (bytes-ref s 2))
(define vmlen (bytes-ref s (+ 3 vlen)))
;; Add a hash, so that loading this module in two contexts tries to
;; use the same loaded bytecode and same JIT-generated code:
(bytes-copy! s (+ 4 vlen)
(bytes-copy! s (+ 5 vlen vmlen)
(subbytes
(bytes-append (string->bytes/utf-8 (format "~s" (bytes-length s)))
(make-bytes 20 0))
@ -1356,17 +1357,18 @@ case of module-leve bindings; it doesn't cover local bindings.
(define (install-module-hashes! s start len c)
(define vlen (bytes-ref s (+ start 2)))
(define mode (integer->char (bytes-ref s (+ start 3 vlen))))
(define vslen (bytes-ref s (+ start 3 vlen)))
(define mode (integer->char (bytes-ref s (+ start 4 vlen vslen))))
(case mode
[(#\B)
(define h (make-bytes 20 (+ 42 c)))
(bytes-copy! s (+ start 4 vlen) h)]
(bytes-copy! s (+ start 5 vlen vslen) h)]
[(#\D)
(define (read-num rel-pos)
(define pos (+ start rel-pos))
(integer-bytes->integer s #t #f pos (+ pos 4)))
(define count (read-num (+ 4 vlen)))
(for/fold ([pos (+ 8 vlen)]) ([i (in-range count)])
(define count (read-num (+ 5 vlen vslen)))
(for/fold ([pos (+ 9 vlen vslen)]) ([i (in-range count)])
(define pos-pos (+ pos 4 (read-num pos)))
(define mod-start (read-num pos-pos))
(define mod-len (read-num (+ pos-pos 4)))

View File

@ -3895,7 +3895,7 @@ static Scheme_Object *read_compiled(Scheme_Object *port,
if (!params->skip_zo_vers_check)
if (strcmp(buf, MZSCHEME_VM))
scheme_read_err(port,
"read (compiled): wrong virtusal machine for compiled code\n"
"read (compiled): wrong virtual machine for compiled code\n"
" compiled version: %s\n"
" expected version: %s",
(buf[0] ? buf : "???"), MZSCHEME_VM);