cs & zo-parse: preserve marshaled bytes
To support `zo-marshal`, keep original byte-string form of linklets.
This commit is contained in:
parent
3b3bc7ce95
commit
41175b7e05
|
@ -861,11 +861,16 @@
|
||||||
|
|
||||||
(make-reader-graph (read-compact cp))]
|
(make-reader-graph (read-compact cp))]
|
||||||
[(equal? vm #"chez-scheme")
|
[(equal? vm #"chez-scheme")
|
||||||
|
(define len (read-simple-number port))
|
||||||
|
(define bstr (read-bytes len port))
|
||||||
(cond
|
(cond
|
||||||
[(eq? 'chez-scheme (system-type 'vm))
|
[(eq? 'chez-scheme (system-type 'vm))
|
||||||
((vm-primitive 'read-linklet-bundle-hash) port)]
|
(hash-set ((vm-primitive 'read-linklet-bundle-hash)
|
||||||
|
(open-input-bytes (bytes-append
|
||||||
|
(integer->integer-bytes len 4 #f #f)
|
||||||
|
bstr)))
|
||||||
|
'opaque bstr)]
|
||||||
[else
|
[else
|
||||||
(define bstr (read-bytes (read-simple-number port) port))
|
|
||||||
(hash 'opaque bstr)])]
|
(hash 'opaque bstr)])]
|
||||||
[else
|
[else
|
||||||
(error 'zo-parse "cannot parse for virtual machine: ~s" vm)]))
|
(error 'zo-parse "cannot parse for virtual machine: ~s" vm)]))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user