schemify: deterministic order for some cross-inline info

This commit is contained in:
Matthew Flatt 2019-12-06 15:50:39 -07:00
parent baab2b9974
commit 2e53a4c4ff

View File

@ -229,7 +229,7 @@
(known-procedure/can-inline/need-imports (known-procedure/can-inline/need-imports
(known-procedure-arity-mask k) (known-procedure-arity-mask k)
(if serializable? (wrap-truncate-paths expr) expr) (if serializable? (wrap-truncate-paths expr) expr)
(hash->list needed))])] (needed->list needed))])]
[(known-field-accessor? k) [(known-field-accessor? k)
(define needed (needed-imports (known-field-accessor-type-id k) prim-knowns imports exports '() '#hasheq())) (define needed (needed-imports (known-field-accessor-type-id k) prim-knowns imports exports '() '#hasheq()))
(cond (cond
@ -238,7 +238,7 @@
(known-accessor-type k) (known-accessor-type k)
(known-field-accessor-type-id k) (known-field-accessor-type-id k)
(known-field-accessor-pos k) (known-field-accessor-pos k)
(hash->list needed))] (needed->list needed))]
[else [else
(known-accessor (known-procedure-arity-mask k) (known-accessor (known-procedure-arity-mask k)
(known-accessor-type k))])] (known-accessor-type k))])]
@ -250,7 +250,7 @@
(known-mutator-type k) (known-mutator-type k)
(known-field-mutator-type-id k) (known-field-mutator-type-id k)
(known-field-mutator-pos k) (known-field-mutator-pos k)
(hash->list needed))] (needed->list needed))]
[else [else
(known-mutator (known-procedure-arity-mask k) (known-mutator (known-procedure-arity-mask k)
(known-mutator-type k))])] (known-mutator-type k))])]
@ -343,6 +343,5 @@
[else [else
(cons (unwrap args) env)])) (cons (unwrap args) env)]))
(define (hash->list needed) (define (needed->list needed)
(for/list ([(k v) (in-hash needed)]) (hash-map needed cons #t))
(cons k v)))