From 7b0682b8d07bf81dd75ef3af623d9670232c835b Mon Sep 17 00:00:00 2001 From: Vincent St-Amour Date: Thu, 26 Aug 2010 17:44:21 -0400 Subject: [PATCH] Use sandboxes instead of duplicate files to test results when optimizing. original commit: 46b2a2113af3e6f8174379880620f7add5b0f079 --- .../optimizer/generic/apply-plus.rkt | 3 +- .../optimizer/generic/begin-float.rkt | 9 +++-- .../optimizer/generic/binary-fixnum.rkt | 11 +++--- .../generic/binary-nonzero-fixnum.rkt | 7 ++-- .../typed-scheme/optimizer/generic/box.rkt | 3 +- .../optimizer/generic/dead-else.rkt | 3 +- .../optimizer/generic/dead-substructs.rkt | 3 +- .../optimizer/generic/dead-then.rkt | 3 +- .../optimizer/generic/define-begin-float.rkt | 9 +++-- .../optimizer/generic/define-call-float.rkt | 7 ++-- .../optimizer/generic/define-float.rkt | 7 ++-- .../optimizer/generic/define-pair.rkt | 7 ++-- .../optimizer/generic/different-langs.rkt | 5 ++- .../optimizer/generic/double-float.rkt | 7 ++-- .../optimizer/generic/exact-inexact.rkt | 7 ++-- .../optimizer/generic/fixnum-comparison.rkt | 7 ++-- .../optimizer/generic/float-comp.rkt | 7 ++-- .../optimizer/generic/float-fun.rkt | 12 +++--- .../optimizer/generic/float-promotion.rkt | 9 +++-- .../optimizer/generic/flvector-length.rkt | 7 ++-- .../typed-scheme/optimizer/generic/fx-fl.rkt | 7 ++-- .../optimizer/generic/in-bytes.rkt | 3 +- .../optimizer/generic/in-list.rkt | 9 +++-- .../optimizer/generic/in-string.rkt | 3 +- .../optimizer/generic/in-vector.rkt | 3 +- .../generic/inexact-complex-conjugate-top.rkt | 3 +- .../generic/inexact-complex-fixnum.rkt | 3 +- .../generic/invalid-binary-nonzero-fixnum.rkt | 9 +++-- .../generic/invalid-exact-inexact.rkt | 5 ++- .../optimizer/generic/invalid-float-comp.rkt | 7 ++-- .../generic/invalid-float-promotion.rkt | 5 ++- .../generic/invalid-inexact-complex-parts.rkt | 5 ++- .../generic/invalid-make-flrectangular.rkt | 5 ++- .../optimizer/generic/invalid-make-polar.rkt | 3 +- .../optimizer/generic/invalid-mpair.rkt | 3 +- .../optimizer/generic/invalid-sqrt.rkt | 5 ++- .../optimizer/generic/invalid-unboxed-let.rkt | 3 +- .../generic/invalid-unboxed-let2.rkt | 3 +- .../optimizer/generic/invalid-vector-ref.rkt | 9 +++-- .../optimizer/generic/invalid-vector-set.rkt | 9 +++-- .../optimizer/generic/known-vector-length.rkt | 7 ++-- .../optimizer/generic/let-float.rkt | 9 +++-- .../optimizer/generic/let-rhs.rkt | 3 +- .../optimizer/generic/literal-int.rkt | 3 +- .../optimizer/generic/magnitude.rkt | 3 +- .../optimizer/generic/make-flrectangular.rkt | 9 +++-- .../optimizer/generic/make-polar.rkt | 3 +- .../optimizer/generic/maybe-exact-complex.rkt | 3 +- .../typed-scheme/optimizer/generic/mpair.rkt | 3 +- .../optimizer/generic/n-ary-float.rkt | 7 ++-- .../optimizer/generic/nested-float.rkt | 7 ++-- .../optimizer/generic/nested-float2.rkt | 7 ++-- .../optimizer/generic/nested-let-loop.rkt | 3 +- .../optimizer/generic/nested-pair1.rkt | 7 ++-- .../optimizer/generic/nested-pair2.rkt | 7 ++-- .../optimizer/generic/nested-unboxed-let.rkt | 3 +- .../optimizer/generic/one-arg-arith.rkt | 3 +- .../optimizer/generic/pair-fun.rkt | 15 ++++---- .../typed-scheme/optimizer/generic/quote.rkt | 5 ++- .../optimizer/generic/real-part-loop.rkt | 3 +- .../optimizer/generic/simple-float.rkt | 7 ++-- .../optimizer/generic/simple-pair.rkt | 7 ++-- .../optimizer/generic/sqrt-segfault.rkt | 3 +- .../typed-scheme/optimizer/generic/sqrt.rkt | 11 +++--- .../optimizer/generic/string-length.rkt | 3 +- .../optimizer/generic/structs.rkt | 13 ++++--- .../optimizer/generic/unary-fixnum-nested.rkt | 7 ++-- .../optimizer/generic/unary-fixnum.rkt | 7 ++-- .../optimizer/generic/unary-float.rkt | 7 ++-- .../optimizer/generic/unboxed-for.rkt | 3 +- .../generic/unboxed-let-functions1.rkt | 3 +- .../generic/unboxed-let-functions2.rkt | 3 +- .../generic/unboxed-let-functions3.rkt | 3 +- .../generic/unboxed-let-functions4.rkt | 3 +- .../generic/unboxed-let-functions5.rkt | 3 +- .../generic/unboxed-let-functions6.rkt | 3 +- .../generic/unboxed-let-functions7.rkt | 3 +- .../generic/unboxed-let-functions8.rkt | 3 +- .../optimizer/generic/unboxed-let.rkt | 3 +- .../optimizer/generic/unboxed-let2.rkt | 3 +- .../optimizer/generic/unboxed-let3.rkt | 3 +- .../unboxed-letrec-syntaxes+values.rkt | 3 +- .../optimizer/generic/unboxed-letrec.rkt | 9 +++-- .../generic/unboxed-make-rectangular.rkt | 3 +- .../generic/vector-length-nested.rkt | 15 ++++---- .../optimizer/generic/vector-length.rkt | 7 ++-- .../optimizer/generic/vector-ref-set-ref.rkt | 15 ++++---- .../optimizer/generic/vector-ref.rkt | 7 ++-- .../optimizer/generic/vector-ref2.rkt | 7 ++-- .../optimizer/generic/vector-set-quote.rkt | 11 +++--- .../optimizer/generic/vector-set.rkt | 11 +++--- .../optimizer/generic/vector-set2.rkt | 7 ++-- .../typed-scheme/optimizer/generic/zero.rkt | 3 +- collects/tests/typed-scheme/optimizer/run.rkt | 37 +++++++++++++++---- 94 files changed, 348 insertions(+), 233 deletions(-) diff --git a/collects/tests/typed-scheme/optimizer/generic/apply-plus.rkt b/collects/tests/typed-scheme/optimizer/generic/apply-plus.rkt index 800f688e..19479ca7 100644 --- a/collects/tests/typed-scheme/optimizer/generic/apply-plus.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/apply-plus.rkt @@ -1,4 +1,5 @@ -#lang typed/racket #:optimize +#lang typed/racket +#:optimize (require racket/unsafe/ops) (apply + (map add1 (list 1 2 3))) (apply * (map add1 (list 1 2 3))) diff --git a/collects/tests/typed-scheme/optimizer/generic/begin-float.rkt b/collects/tests/typed-scheme/optimizer/generic/begin-float.rkt index a3bb961e..791e75b3 100644 --- a/collects/tests/typed-scheme/optimizer/generic/begin-float.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/begin-float.rkt @@ -1,4 +1,5 @@ -(module begin-float typed/scheme #:optimize - (require racket/unsafe/ops) - (begin (- 2.0 3.0) - (* 2.0 3.0))) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(begin (- 2.0 3.0) + (* 2.0 3.0)) diff --git a/collects/tests/typed-scheme/optimizer/generic/binary-fixnum.rkt b/collects/tests/typed-scheme/optimizer/generic/binary-fixnum.rkt index 6c1dcba3..3f7f72d4 100644 --- a/collects/tests/typed-scheme/optimizer/generic/binary-fixnum.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/binary-fixnum.rkt @@ -1,5 +1,6 @@ -(module binary-fixnum typed/scheme #:optimize - (require racket/unsafe/ops) - (: f (All (X) ((Vectorof X) -> Natural))) - (define (f v) - (bitwise-and (vector-length v) 1))) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(: f (All (X) ((Vectorof X) -> Natural))) +(define (f v) + (bitwise-and (vector-length v) 1)) diff --git a/collects/tests/typed-scheme/optimizer/generic/binary-nonzero-fixnum.rkt b/collects/tests/typed-scheme/optimizer/generic/binary-nonzero-fixnum.rkt index 0e5c46a6..6c82520d 100644 --- a/collects/tests/typed-scheme/optimizer/generic/binary-nonzero-fixnum.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/binary-nonzero-fixnum.rkt @@ -1,3 +1,4 @@ -(module binary-nonzero-fixnum typed/scheme #:optimize - (require racket/unsafe/ops) - (quotient (vector-length '#(1 2 3)) 2)) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(quotient (vector-length '#(1 2 3)) 2) diff --git a/collects/tests/typed-scheme/optimizer/generic/box.rkt b/collects/tests/typed-scheme/optimizer/generic/box.rkt index aa6695de..44dd0a01 100644 --- a/collects/tests/typed-scheme/optimizer/generic/box.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/box.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/dead-else.rkt b/collects/tests/typed-scheme/optimizer/generic/dead-else.rkt index 6e2868ef..9ec67d3d 100644 --- a/collects/tests/typed-scheme/optimizer/generic/dead-else.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/dead-else.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) (display (if (number? 3) (+ 2.0 3.0) diff --git a/collects/tests/typed-scheme/optimizer/generic/dead-substructs.rkt b/collects/tests/typed-scheme/optimizer/generic/dead-substructs.rkt index a01a5e5b..796076c4 100644 --- a/collects/tests/typed-scheme/optimizer/generic/dead-substructs.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/dead-substructs.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize ;; originally from nucleic3 ;; cond on substructs, branches were considered dead diff --git a/collects/tests/typed-scheme/optimizer/generic/dead-then.rkt b/collects/tests/typed-scheme/optimizer/generic/dead-then.rkt index c4ec905b..ddcf70e5 100644 --- a/collects/tests/typed-scheme/optimizer/generic/dead-then.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/dead-then.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) (display (if (number? "eh") (+ 2.0 3.0) diff --git a/collects/tests/typed-scheme/optimizer/generic/define-begin-float.rkt b/collects/tests/typed-scheme/optimizer/generic/define-begin-float.rkt index 508bd0e5..6c214e4b 100644 --- a/collects/tests/typed-scheme/optimizer/generic/define-begin-float.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/define-begin-float.rkt @@ -1,4 +1,5 @@ -(module define-begin-float typed/scheme #:optimize - (require racket/unsafe/ops) - (define a (begin (display (- 2.0 3.0)) - (* 2.0 3.0)))) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(define a (begin (display (- 2.0 3.0)) + (* 2.0 3.0))) diff --git a/collects/tests/typed-scheme/optimizer/generic/define-call-float.rkt b/collects/tests/typed-scheme/optimizer/generic/define-call-float.rkt index fe2ff165..0b0b3112 100644 --- a/collects/tests/typed-scheme/optimizer/generic/define-call-float.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/define-call-float.rkt @@ -1,3 +1,4 @@ -(module define-call-float typed/scheme #:optimize - (require racket/unsafe/ops) - (define x (cons (+ 1.0 2.0) 3.0))) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(define x (cons (+ 1.0 2.0) 3.0)) diff --git a/collects/tests/typed-scheme/optimizer/generic/define-float.rkt b/collects/tests/typed-scheme/optimizer/generic/define-float.rkt index 9dfeb431..fb4e85ec 100644 --- a/collects/tests/typed-scheme/optimizer/generic/define-float.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/define-float.rkt @@ -1,3 +1,4 @@ -(module define-float typed/scheme #:optimize - (require racket/unsafe/ops) - (define x (+ 1.0 2.0))) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(define x (+ 1.0 2.0)) diff --git a/collects/tests/typed-scheme/optimizer/generic/define-pair.rkt b/collects/tests/typed-scheme/optimizer/generic/define-pair.rkt index ec30e20c..f32efdc1 100644 --- a/collects/tests/typed-scheme/optimizer/generic/define-pair.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/define-pair.rkt @@ -1,3 +1,4 @@ -(module define-pair typed/scheme #:optimize - (require racket/unsafe/ops) - (define x (car '(1 3)))) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(define x (car '(1 3))) diff --git a/collects/tests/typed-scheme/optimizer/generic/different-langs.rkt b/collects/tests/typed-scheme/optimizer/generic/different-langs.rkt index 9754b392..2d52084c 100644 --- a/collects/tests/typed-scheme/optimizer/generic/different-langs.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/different-langs.rkt @@ -1,4 +1,5 @@ +#lang typed/scheme +#:optimize ;; to see if the harness supports having the 2 versions of a test being ;; written in different languages -(module different-langs typed/scheme #:optimize - (+ 1 2)) +(+ 1 2) diff --git a/collects/tests/typed-scheme/optimizer/generic/double-float.rkt b/collects/tests/typed-scheme/optimizer/generic/double-float.rkt index 1d686451..a46f1de8 100644 --- a/collects/tests/typed-scheme/optimizer/generic/double-float.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/double-float.rkt @@ -1,3 +1,4 @@ -(module double-float typed/scheme #:optimize - (require racket/unsafe/ops) - (+ 2.0 2.0 2.0)) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(+ 2.0 2.0 2.0) diff --git a/collects/tests/typed-scheme/optimizer/generic/exact-inexact.rkt b/collects/tests/typed-scheme/optimizer/generic/exact-inexact.rkt index f19e3812..66b5cd34 100644 --- a/collects/tests/typed-scheme/optimizer/generic/exact-inexact.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/exact-inexact.rkt @@ -1,3 +1,4 @@ -(module exact-inexact typed/scheme #:optimize - (require racket/flonum) - (exact->inexact (expt 10 100))) ; must not be a fixnum +#lang typed/scheme +#:optimize +(require racket/flonum) +(exact->inexact (expt 10 100)) ; must not be a fixnum diff --git a/collects/tests/typed-scheme/optimizer/generic/fixnum-comparison.rkt b/collects/tests/typed-scheme/optimizer/generic/fixnum-comparison.rkt index 905b4c8b..9f959d12 100644 --- a/collects/tests/typed-scheme/optimizer/generic/fixnum-comparison.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/fixnum-comparison.rkt @@ -1,3 +1,4 @@ -(module fixnum-comparison typed/scheme #:optimize - (require racket/unsafe/ops) - (< (vector-length '#(1 2 3)) (string-length "asdf"))) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(< (vector-length '#(1 2 3)) (string-length "asdf")) diff --git a/collects/tests/typed-scheme/optimizer/generic/float-comp.rkt b/collects/tests/typed-scheme/optimizer/generic/float-comp.rkt index d644a1c9..2d67b7ec 100644 --- a/collects/tests/typed-scheme/optimizer/generic/float-comp.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/float-comp.rkt @@ -1,3 +1,4 @@ -(module float-comp typed/scheme #:optimize - (require racket/unsafe/ops) - (< 1.0 2.0)) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(< 1.0 2.0) diff --git a/collects/tests/typed-scheme/optimizer/generic/float-fun.rkt b/collects/tests/typed-scheme/optimizer/generic/float-fun.rkt index 788a2181..4aaa4a1e 100644 --- a/collects/tests/typed-scheme/optimizer/generic/float-fun.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/float-fun.rkt @@ -1,5 +1,7 @@ -(module float-fun typed/scheme #:optimize - (require racket/unsafe/ops) - (: f (Float -> Float)) - (define (f x) - (+ x 1.0))) +#lang typed/racket +#:optimize + +(require racket/unsafe/ops) +(: f (Float -> Float)) +(define (f x) + (+ x 1.0)) diff --git a/collects/tests/typed-scheme/optimizer/generic/float-promotion.rkt b/collects/tests/typed-scheme/optimizer/generic/float-promotion.rkt index 09d106f4..134bd64d 100644 --- a/collects/tests/typed-scheme/optimizer/generic/float-promotion.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/float-promotion.rkt @@ -1,4 +1,5 @@ -(module float-promotion typed/scheme #:optimize - (require racket/unsafe/ops racket/flonum) - (+ (quotient 1 1) 2.0) - (+ (expt 100 100) 2.0)) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops racket/flonum) +(+ (quotient 1 1) 2.0) +(+ (expt 100 100) 2.0) diff --git a/collects/tests/typed-scheme/optimizer/generic/flvector-length.rkt b/collects/tests/typed-scheme/optimizer/generic/flvector-length.rkt index 34add429..35af6f4f 100644 --- a/collects/tests/typed-scheme/optimizer/generic/flvector-length.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/flvector-length.rkt @@ -1,3 +1,4 @@ -(module flvector-length typed/scheme #:optimize - (require racket/unsafe/ops racket/flonum) - (flvector-length (flvector 0.0 1.2))) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops racket/flonum) +(flvector-length (flvector 0.0 1.2)) diff --git a/collects/tests/typed-scheme/optimizer/generic/fx-fl.rkt b/collects/tests/typed-scheme/optimizer/generic/fx-fl.rkt index ee505dfd..f72ed808 100644 --- a/collects/tests/typed-scheme/optimizer/generic/fx-fl.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/fx-fl.rkt @@ -1,3 +1,4 @@ -(module fx-fl typed/scheme #:optimize - (require racket/unsafe/ops) - (exact->inexact 1)) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(exact->inexact 1) diff --git a/collects/tests/typed-scheme/optimizer/generic/in-bytes.rkt b/collects/tests/typed-scheme/optimizer/generic/in-bytes.rkt index 4abbe294..3ee63e31 100644 --- a/collects/tests/typed-scheme/optimizer/generic/in-bytes.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/in-bytes.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) (for: ((i : Integer #"123")) (display i)) diff --git a/collects/tests/typed-scheme/optimizer/generic/in-list.rkt b/collects/tests/typed-scheme/optimizer/generic/in-list.rkt index 6d9dde83..4aec40c8 100644 --- a/collects/tests/typed-scheme/optimizer/generic/in-list.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/in-list.rkt @@ -1,4 +1,5 @@ -(module in-list typed/scheme #:optimize - (require racket/unsafe/ops) - (for: ((i : Natural '(1 2 3))) - (display i))) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(for: ((i : Natural '(1 2 3))) + (display i)) diff --git a/collects/tests/typed-scheme/optimizer/generic/in-string.rkt b/collects/tests/typed-scheme/optimizer/generic/in-string.rkt index 5a17acc3..4b0bc6f2 100644 --- a/collects/tests/typed-scheme/optimizer/generic/in-string.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/in-string.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) (for: ((i : Char "123")) (display i)) diff --git a/collects/tests/typed-scheme/optimizer/generic/in-vector.rkt b/collects/tests/typed-scheme/optimizer/generic/in-vector.rkt index 6cddafcf..c86d3f32 100644 --- a/collects/tests/typed-scheme/optimizer/generic/in-vector.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/in-vector.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) (for: ((i : Integer (vector 1 2 3))) (display i)) diff --git a/collects/tests/typed-scheme/optimizer/generic/inexact-complex-conjugate-top.rkt b/collects/tests/typed-scheme/optimizer/generic/inexact-complex-conjugate-top.rkt index 3e9b4090..98896f9b 100644 --- a/collects/tests/typed-scheme/optimizer/generic/inexact-complex-conjugate-top.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/inexact-complex-conjugate-top.rkt @@ -1,3 +1,4 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) (conjugate (+ 1.0+2.0i 2.0+4.0i)) diff --git a/collects/tests/typed-scheme/optimizer/generic/inexact-complex-fixnum.rkt b/collects/tests/typed-scheme/optimizer/generic/inexact-complex-fixnum.rkt index 796242a9..11a63667 100644 --- a/collects/tests/typed-scheme/optimizer/generic/inexact-complex-fixnum.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/inexact-complex-fixnum.rkt @@ -1,3 +1,4 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) (+ (quotient 2 1) 1.0+2.0i 3.0+6.0i) diff --git a/collects/tests/typed-scheme/optimizer/generic/invalid-binary-nonzero-fixnum.rkt b/collects/tests/typed-scheme/optimizer/generic/invalid-binary-nonzero-fixnum.rkt index e1e94c47..389c47d4 100644 --- a/collects/tests/typed-scheme/optimizer/generic/invalid-binary-nonzero-fixnum.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/invalid-binary-nonzero-fixnum.rkt @@ -1,4 +1,5 @@ -(module invalid-binary-nonzero-fixnum typed/scheme #:optimize - (: f ( -> Void)) - (define (f) ; in a function, to prevent evaluation - (display (quotient 4 0)))) ; 2 fixnums, but the second is 0, cannot optimize +#lang typed/scheme +#:optimize +(: f ( -> Void)) +(define (f) ; in a function, to prevent evaluation + (display (quotient 4 0))) ; 2 fixnums, but the second is 0, cannot optimize diff --git a/collects/tests/typed-scheme/optimizer/generic/invalid-exact-inexact.rkt b/collects/tests/typed-scheme/optimizer/generic/invalid-exact-inexact.rkt index f0fec025..be9df5ae 100644 --- a/collects/tests/typed-scheme/optimizer/generic/invalid-exact-inexact.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/invalid-exact-inexact.rkt @@ -1,2 +1,3 @@ -(module exact-inexact typed/scheme #:optimize - (exact->inexact 1.0)) ; not an integer, can't optimize +#lang typed/scheme +#:optimize +(exact->inexact 1.0) ; not an integer, can't optimize diff --git a/collects/tests/typed-scheme/optimizer/generic/invalid-float-comp.rkt b/collects/tests/typed-scheme/optimizer/generic/invalid-float-comp.rkt index 1f972d6b..058e9568 100644 --- a/collects/tests/typed-scheme/optimizer/generic/invalid-float-comp.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/invalid-float-comp.rkt @@ -1,3 +1,4 @@ -(module float-comp typed/scheme #:optimize - (require racket/unsafe/ops) - (< 1.0 2)) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(< 1.0 2) diff --git a/collects/tests/typed-scheme/optimizer/generic/invalid-float-promotion.rkt b/collects/tests/typed-scheme/optimizer/generic/invalid-float-promotion.rkt index 169909be..ef72d390 100644 --- a/collects/tests/typed-scheme/optimizer/generic/invalid-float-promotion.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/invalid-float-promotion.rkt @@ -1,2 +1,3 @@ -(module float-promotion typed/scheme #:optimize - (/ 1 2.0)) ; result is not a float, can't optimize +#lang typed/scheme +#:optimize +(/ 1 2.0) ; result is not a float, can't optimize diff --git a/collects/tests/typed-scheme/optimizer/generic/invalid-inexact-complex-parts.rkt b/collects/tests/typed-scheme/optimizer/generic/invalid-inexact-complex-parts.rkt index b0a2ab9d..6a3345d3 100644 --- a/collects/tests/typed-scheme/optimizer/generic/invalid-inexact-complex-parts.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/invalid-inexact-complex-parts.rkt @@ -1,2 +1,3 @@ -(module invalid-inexact-complex-parts.rkt typed/scheme #:optimize - (real-part 1+2i)) +#lang typed/scheme +#:optimize +(real-part 1+2i) diff --git a/collects/tests/typed-scheme/optimizer/generic/invalid-make-flrectangular.rkt b/collects/tests/typed-scheme/optimizer/generic/invalid-make-flrectangular.rkt index ce166151..45995fcc 100644 --- a/collects/tests/typed-scheme/optimizer/generic/invalid-make-flrectangular.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/invalid-make-flrectangular.rkt @@ -1,2 +1,3 @@ -(module invalid-make-flrectangular typed/scheme #:optimize - (make-rectangular 1 2)) +#lang typed/scheme +#:optimize +(make-rectangular 1 2) diff --git a/collects/tests/typed-scheme/optimizer/generic/invalid-make-polar.rkt b/collects/tests/typed-scheme/optimizer/generic/invalid-make-polar.rkt index f6a646b6..cd94a758 100644 --- a/collects/tests/typed-scheme/optimizer/generic/invalid-make-polar.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/invalid-make-polar.rkt @@ -1,3 +1,4 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (make-polar 0 0) diff --git a/collects/tests/typed-scheme/optimizer/generic/invalid-mpair.rkt b/collects/tests/typed-scheme/optimizer/generic/invalid-mpair.rkt index a7a74511..54fd281b 100644 --- a/collects/tests/typed-scheme/optimizer/generic/invalid-mpair.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/invalid-mpair.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (: f ((MListof Integer) -> Integer)) (define (f x) (mcar x)) diff --git a/collects/tests/typed-scheme/optimizer/generic/invalid-sqrt.rkt b/collects/tests/typed-scheme/optimizer/generic/invalid-sqrt.rkt index 39b0336c..bd4182fa 100644 --- a/collects/tests/typed-scheme/optimizer/generic/invalid-sqrt.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/invalid-sqrt.rkt @@ -1,2 +1,3 @@ -(module invalid-sqrt typed/scheme #:optimize - (sqrt -2.0)) ; not a nonnegative flonum, can't optimize +#lang typed/scheme +#:optimize +(sqrt -2.0) ; not a nonnegative flonum, can't optimize diff --git a/collects/tests/typed-scheme/optimizer/generic/invalid-unboxed-let.rkt b/collects/tests/typed-scheme/optimizer/generic/invalid-unboxed-let.rkt index 4039f652..532ea426 100644 --- a/collects/tests/typed-scheme/optimizer/generic/invalid-unboxed-let.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/invalid-unboxed-let.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/invalid-unboxed-let2.rkt b/collects/tests/typed-scheme/optimizer/generic/invalid-unboxed-let2.rkt index f41ef094..2d4b6144 100644 --- a/collects/tests/typed-scheme/optimizer/generic/invalid-unboxed-let2.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/invalid-unboxed-let2.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/invalid-vector-ref.rkt b/collects/tests/typed-scheme/optimizer/generic/invalid-vector-ref.rkt index 74714405..d0a39f04 100644 --- a/collects/tests/typed-scheme/optimizer/generic/invalid-vector-ref.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/invalid-vector-ref.rkt @@ -1,4 +1,5 @@ -(module invalid-vector-ref typed/scheme #:optimize - (: f ((Vectorof Integer) -> Integer)) - (define (f x) - (vector-ref x 0))) ; type is (Vectorof Integer), length is unknown, can't optimize +#lang typed/scheme +#:optimize +(: f ((Vectorof Integer) -> Integer)) +(define (f x) + (vector-ref x 0)) ; type is (Vectorof Integer), length is unknown, can't optimize diff --git a/collects/tests/typed-scheme/optimizer/generic/invalid-vector-set.rkt b/collects/tests/typed-scheme/optimizer/generic/invalid-vector-set.rkt index b02fbdc0..391b1940 100644 --- a/collects/tests/typed-scheme/optimizer/generic/invalid-vector-set.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/invalid-vector-set.rkt @@ -1,4 +1,5 @@ -(module invalid-vector-set typed/scheme #:optimize - (: f ((Vectorof Integer) -> Void)) - (define (f x) - (vector-set! x 0 2))) ; type is (Vectorof Integer), length is ot known, can't optimize +#lang typed/scheme +#:optimize +(: f ((Vectorof Integer) -> Void)) +(define (f x) + (vector-set! x 0 2)) ; type is (Vectorof Integer), length is ot known, can't optimize diff --git a/collects/tests/typed-scheme/optimizer/generic/known-vector-length.rkt b/collects/tests/typed-scheme/optimizer/generic/known-vector-length.rkt index 083d8730..08483637 100644 --- a/collects/tests/typed-scheme/optimizer/generic/known-vector-length.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/known-vector-length.rkt @@ -1,3 +1,4 @@ -(module known-vector-length typed/scheme #:optimize - (require racket/unsafe/ops) - (+ 2 (vector-length (ann (vector 1 2) (Vector Integer Integer))))) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(+ 2 (vector-length (ann (vector 1 2) (Vector Integer Integer)))) diff --git a/collects/tests/typed-scheme/optimizer/generic/let-float.rkt b/collects/tests/typed-scheme/optimizer/generic/let-float.rkt index 98e6a9fe..bfc23b14 100644 --- a/collects/tests/typed-scheme/optimizer/generic/let-float.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/let-float.rkt @@ -1,4 +1,5 @@ -(module let-float typed/scheme #:optimize - (require racket/unsafe/ops) - (let ((x (+ 3.0 2.0))) - (* 9.0 x))) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(let ((x (+ 3.0 2.0))) + (* 9.0 x)) diff --git a/collects/tests/typed-scheme/optimizer/generic/let-rhs.rkt b/collects/tests/typed-scheme/optimizer/generic/let-rhs.rkt index e9f58d5d..d93d5c2a 100644 --- a/collects/tests/typed-scheme/optimizer/generic/let-rhs.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/let-rhs.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/literal-int.rkt b/collects/tests/typed-scheme/optimizer/generic/literal-int.rkt index 6d6d6b8a..8cd8fd7d 100644 --- a/collects/tests/typed-scheme/optimizer/generic/literal-int.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/literal-int.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/magnitude.rkt b/collects/tests/typed-scheme/optimizer/generic/magnitude.rkt index aa0f1fc5..1ba1330b 100644 --- a/collects/tests/typed-scheme/optimizer/generic/magnitude.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/magnitude.rkt @@ -1,4 +1,5 @@ -#lang typed/racket/base #:optimize +#lang typed/racket/base +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/make-flrectangular.rkt b/collects/tests/typed-scheme/optimizer/generic/make-flrectangular.rkt index b9250d0e..130f19d6 100644 --- a/collects/tests/typed-scheme/optimizer/generic/make-flrectangular.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/make-flrectangular.rkt @@ -1,4 +1,5 @@ -(module make-flrectangular typed/scheme #:optimize - (require racket/unsafe/ops racket/flonum) - (make-rectangular 1.0 2.2) - (make-flrectangular 1.0 2.2)) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops racket/flonum) +(make-rectangular 1.0 2.2) +(make-flrectangular 1.0 2.2) diff --git a/collects/tests/typed-scheme/optimizer/generic/make-polar.rkt b/collects/tests/typed-scheme/optimizer/generic/make-polar.rkt index 137f0b17..6916033f 100644 --- a/collects/tests/typed-scheme/optimizer/generic/make-polar.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/make-polar.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/maybe-exact-complex.rkt b/collects/tests/typed-scheme/optimizer/generic/maybe-exact-complex.rkt index 7201c0d4..fdf7e3a6 100644 --- a/collects/tests/typed-scheme/optimizer/generic/maybe-exact-complex.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/maybe-exact-complex.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/mpair.rkt b/collects/tests/typed-scheme/optimizer/generic/mpair.rkt index 5fc67a69..5734c82b 100644 --- a/collects/tests/typed-scheme/optimizer/generic/mpair.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/mpair.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) (: x (MPairof Integer Float)) (define x (mcons 1 1.0)) diff --git a/collects/tests/typed-scheme/optimizer/generic/n-ary-float.rkt b/collects/tests/typed-scheme/optimizer/generic/n-ary-float.rkt index 54b59581..d93384be 100644 --- a/collects/tests/typed-scheme/optimizer/generic/n-ary-float.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/n-ary-float.rkt @@ -1,3 +1,4 @@ -(module n-ary-float typed/scheme #:optimize - (require racket/unsafe/ops) - (+ 1.0 2.0 3.0)) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(+ 1.0 2.0 3.0) diff --git a/collects/tests/typed-scheme/optimizer/generic/nested-float.rkt b/collects/tests/typed-scheme/optimizer/generic/nested-float.rkt index 04950423..290db71b 100644 --- a/collects/tests/typed-scheme/optimizer/generic/nested-float.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/nested-float.rkt @@ -1,3 +1,4 @@ -(module nested-float typed/scheme #:optimize - (require racket/unsafe/ops) - (+ 2.0 (+ 3.0 4.0))) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(+ 2.0 (+ 3.0 4.0)) diff --git a/collects/tests/typed-scheme/optimizer/generic/nested-float2.rkt b/collects/tests/typed-scheme/optimizer/generic/nested-float2.rkt index ebe30a18..ec44730a 100644 --- a/collects/tests/typed-scheme/optimizer/generic/nested-float2.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/nested-float2.rkt @@ -1,3 +1,4 @@ -(module nested-float typed/scheme #:optimize - (require racket/unsafe/ops) - (+ 2.0 (* 3.0 4.0))) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(+ 2.0 (* 3.0 4.0)) diff --git a/collects/tests/typed-scheme/optimizer/generic/nested-let-loop.rkt b/collects/tests/typed-scheme/optimizer/generic/nested-let-loop.rkt index a63ed243..0a8dfc63 100644 --- a/collects/tests/typed-scheme/optimizer/generic/nested-let-loop.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/nested-let-loop.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/nested-pair1.rkt b/collects/tests/typed-scheme/optimizer/generic/nested-pair1.rkt index 744d0c83..bfe2d3c3 100644 --- a/collects/tests/typed-scheme/optimizer/generic/nested-pair1.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/nested-pair1.rkt @@ -1,3 +1,4 @@ -(module nested-pair typed/scheme #:optimize - (require racket/unsafe/ops) - (car (cdr '(1 2)))) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(car (cdr '(1 2))) diff --git a/collects/tests/typed-scheme/optimizer/generic/nested-pair2.rkt b/collects/tests/typed-scheme/optimizer/generic/nested-pair2.rkt index a4c429d1..15baf314 100644 --- a/collects/tests/typed-scheme/optimizer/generic/nested-pair2.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/nested-pair2.rkt @@ -1,3 +1,4 @@ -(module nested-pair2 typed/scheme #:optimize - (require racket/unsafe/ops) - (car (cdr (cons 3 (cons (cons 2 '()) 1))))) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(car (cdr (cons 3 (cons (cons 2 '()) 1)))) diff --git a/collects/tests/typed-scheme/optimizer/generic/nested-unboxed-let.rkt b/collects/tests/typed-scheme/optimizer/generic/nested-unboxed-let.rkt index c16bdebb..9d1529e4 100644 --- a/collects/tests/typed-scheme/optimizer/generic/nested-unboxed-let.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/nested-unboxed-let.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/one-arg-arith.rkt b/collects/tests/typed-scheme/optimizer/generic/one-arg-arith.rkt index 990036e4..686ca154 100644 --- a/collects/tests/typed-scheme/optimizer/generic/one-arg-arith.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/one-arg-arith.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/pair-fun.rkt b/collects/tests/typed-scheme/optimizer/generic/pair-fun.rkt index 2fea5497..505f290c 100644 --- a/collects/tests/typed-scheme/optimizer/generic/pair-fun.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/pair-fun.rkt @@ -1,7 +1,8 @@ -(module pair-fun typed/scheme #:optimize - (require racket/unsafe/ops) - (: f ((Listof Integer) -> Integer)) - (define (f x) - (if (null? x) - 1 - (car x)))) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(: f ((Listof Integer) -> Integer)) +(define (f x) + (if (null? x) + 1 + (car x))) diff --git a/collects/tests/typed-scheme/optimizer/generic/quote.rkt b/collects/tests/typed-scheme/optimizer/generic/quote.rkt index 2d62416f..cedbcaf9 100644 --- a/collects/tests/typed-scheme/optimizer/generic/quote.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/quote.rkt @@ -1,2 +1,3 @@ -(module quote typed/scheme #:optimize - '(+ 1.0 2.0)) +#lang typed/scheme +#:optimize +'(+ 1.0 2.0) diff --git a/collects/tests/typed-scheme/optimizer/generic/real-part-loop.rkt b/collects/tests/typed-scheme/optimizer/generic/real-part-loop.rkt index 3b333b19..adf87802 100644 --- a/collects/tests/typed-scheme/optimizer/generic/real-part-loop.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/real-part-loop.rkt @@ -1,4 +1,5 @@ -#lang typed/racket/base #:optimize +#lang typed/racket/base +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/simple-float.rkt b/collects/tests/typed-scheme/optimizer/generic/simple-float.rkt index 90676b7a..850c34c9 100644 --- a/collects/tests/typed-scheme/optimizer/generic/simple-float.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/simple-float.rkt @@ -1,3 +1,4 @@ -(module simple-float typed/scheme #:optimize - (require racket/unsafe/ops) - (+ 2.0 3.0)) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(+ 2.0 3.0) diff --git a/collects/tests/typed-scheme/optimizer/generic/simple-pair.rkt b/collects/tests/typed-scheme/optimizer/generic/simple-pair.rkt index e5f69f70..b7020283 100644 --- a/collects/tests/typed-scheme/optimizer/generic/simple-pair.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/simple-pair.rkt @@ -1,3 +1,4 @@ -(module simple-pair typed/scheme #:optimize - (require racket/unsafe/ops) - (car (cons 1 2))) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(car (cons 1 2)) diff --git a/collects/tests/typed-scheme/optimizer/generic/sqrt-segfault.rkt b/collects/tests/typed-scheme/optimizer/generic/sqrt-segfault.rkt index 887eb629..af42b1ff 100644 --- a/collects/tests/typed-scheme/optimizer/generic/sqrt-segfault.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/sqrt-segfault.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/sqrt.rkt b/collects/tests/typed-scheme/optimizer/generic/sqrt.rkt index 411ff900..9ff52d70 100644 --- a/collects/tests/typed-scheme/optimizer/generic/sqrt.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/sqrt.rkt @@ -1,5 +1,6 @@ -(module sqrt typed/scheme #:optimize - (require racket/unsafe/ops) - (: f (Nonnegative-Float -> Nonnegative-Float)) - (define (f x) - (sqrt x))) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(: f (Nonnegative-Float -> Nonnegative-Float)) +(define (f x) + (sqrt x)) diff --git a/collects/tests/typed-scheme/optimizer/generic/string-length.rkt b/collects/tests/typed-scheme/optimizer/generic/string-length.rkt index 30210100..b3053d04 100644 --- a/collects/tests/typed-scheme/optimizer/generic/string-length.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/string-length.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/structs.rkt b/collects/tests/typed-scheme/optimizer/generic/structs.rkt index 4fb39c9d..7ea3763b 100644 --- a/collects/tests/typed-scheme/optimizer/generic/structs.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/structs.rkt @@ -1,6 +1,7 @@ -(module structs typed/scheme #:optimize - (require racket/unsafe/ops) - (define-struct: pt ((x : Integer) (y : Integer)) #:mutable) - (define a (pt 3 4)) - (pt-x a) - (set-pt-y! a 5)) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(define-struct: pt ((x : Integer) (y : Integer)) #:mutable) +(define a (pt 3 4)) +(pt-x a) +(set-pt-y! a 5) diff --git a/collects/tests/typed-scheme/optimizer/generic/unary-fixnum-nested.rkt b/collects/tests/typed-scheme/optimizer/generic/unary-fixnum-nested.rkt index 710197af..054dcc37 100644 --- a/collects/tests/typed-scheme/optimizer/generic/unary-fixnum-nested.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/unary-fixnum-nested.rkt @@ -1,3 +1,4 @@ -(module unary-fixnum-nested typed/scheme #:optimize - (require racket/unsafe/ops racket/fixnum) - (abs (bitwise-not (length '(1 2 3))))) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops racket/fixnum) +(abs (bitwise-not (length '(1 2 3)))) diff --git a/collects/tests/typed-scheme/optimizer/generic/unary-fixnum.rkt b/collects/tests/typed-scheme/optimizer/generic/unary-fixnum.rkt index b9309084..c6183cbe 100644 --- a/collects/tests/typed-scheme/optimizer/generic/unary-fixnum.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/unary-fixnum.rkt @@ -1,3 +1,4 @@ -(module unary-fixnum typed/scheme #:optimize - (require racket/unsafe/ops) - (bitwise-not 4)) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(bitwise-not 4) diff --git a/collects/tests/typed-scheme/optimizer/generic/unary-float.rkt b/collects/tests/typed-scheme/optimizer/generic/unary-float.rkt index d57f3950..0f9075a0 100644 --- a/collects/tests/typed-scheme/optimizer/generic/unary-float.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/unary-float.rkt @@ -1,3 +1,4 @@ -(module float-unary typed/scheme #:optimize - (require racket/unsafe/ops) - (sin 2.0)) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(sin 2.0) diff --git a/collects/tests/typed-scheme/optimizer/generic/unboxed-for.rkt b/collects/tests/typed-scheme/optimizer/generic/unboxed-for.rkt index 24e60d24..ebc3fc37 100644 --- a/collects/tests/typed-scheme/optimizer/generic/unboxed-for.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/unboxed-for.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions1.rkt b/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions1.rkt index 2c3ec851..ae8623a4 100644 --- a/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions1.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions1.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions2.rkt b/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions2.rkt index 9c923800..1b2b401f 100644 --- a/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions2.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions2.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions3.rkt b/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions3.rkt index 9bc0f44c..32a0c2d8 100644 --- a/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions3.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions3.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions4.rkt b/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions4.rkt index eef46901..ec577333 100644 --- a/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions4.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions4.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions5.rkt b/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions5.rkt index 7b685942..fb5da8d2 100644 --- a/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions5.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions5.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions6.rkt b/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions6.rkt index b50c6e86..31fae6f1 100644 --- a/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions6.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions6.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops racket/flonum) diff --git a/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions7.rkt b/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions7.rkt index 792b46a5..b60a7eec 100644 --- a/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions7.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions7.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops racket/flonum) diff --git a/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions8.rkt b/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions8.rkt index 124b4cbd..88610a8c 100644 --- a/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions8.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/unboxed-let-functions8.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/unboxed-let.rkt b/collects/tests/typed-scheme/optimizer/generic/unboxed-let.rkt index bfa8fff1..faa7be8a 100644 --- a/collects/tests/typed-scheme/optimizer/generic/unboxed-let.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/unboxed-let.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/unboxed-let2.rkt b/collects/tests/typed-scheme/optimizer/generic/unboxed-let2.rkt index f5f8c2a5..fc47b9a2 100644 --- a/collects/tests/typed-scheme/optimizer/generic/unboxed-let2.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/unboxed-let2.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/unboxed-let3.rkt b/collects/tests/typed-scheme/optimizer/generic/unboxed-let3.rkt index b52e893c..2ca3e9d1 100644 --- a/collects/tests/typed-scheme/optimizer/generic/unboxed-let3.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/unboxed-let3.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/unboxed-letrec-syntaxes+values.rkt b/collects/tests/typed-scheme/optimizer/generic/unboxed-letrec-syntaxes+values.rkt index f0923031..ae3c43b4 100644 --- a/collects/tests/typed-scheme/optimizer/generic/unboxed-letrec-syntaxes+values.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/unboxed-letrec-syntaxes+values.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/unboxed-letrec.rkt b/collects/tests/typed-scheme/optimizer/generic/unboxed-letrec.rkt index aed81a45..c70b05d2 100644 --- a/collects/tests/typed-scheme/optimizer/generic/unboxed-letrec.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/unboxed-letrec.rkt @@ -1,8 +1,9 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) -(letrec ((#{f : (Any -> Any)} (lambda: ((x : Any)) (f x))) - (#{x : Inexact-Complex} 1.0+2.0i) - (#{y : Inexact-Complex} (+ 2.0+4.0i 3.0+6.0i))) +(letrec: ((f : (Any -> Any) (lambda: ((x : Any)) (f x))) + (x : Inexact-Complex 1.0+2.0i) + (y : Inexact-Complex (+ 2.0+4.0i 3.0+6.0i))) (+ x y)) diff --git a/collects/tests/typed-scheme/optimizer/generic/unboxed-make-rectangular.rkt b/collects/tests/typed-scheme/optimizer/generic/unboxed-make-rectangular.rkt index 87d3f05d..eeffd93a 100644 --- a/collects/tests/typed-scheme/optimizer/generic/unboxed-make-rectangular.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/unboxed-make-rectangular.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) diff --git a/collects/tests/typed-scheme/optimizer/generic/vector-length-nested.rkt b/collects/tests/typed-scheme/optimizer/generic/vector-length-nested.rkt index ade363e1..81bf26b2 100644 --- a/collects/tests/typed-scheme/optimizer/generic/vector-length-nested.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/vector-length-nested.rkt @@ -1,7 +1,8 @@ -(module vector-length typed/scheme #:optimize - (require racket/unsafe/ops) - (vector-length - (vector-ref - (ann (vector (vector 1 2) 2 3) - (Vector (Vectorof Integer) Integer Integer)) - 0))) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(vector-length + (vector-ref + (ann (vector (vector 1 2) 2 3) + (Vector (Vectorof Integer) Integer Integer)) + 0)) diff --git a/collects/tests/typed-scheme/optimizer/generic/vector-length.rkt b/collects/tests/typed-scheme/optimizer/generic/vector-length.rkt index 51093a09..7992fb63 100644 --- a/collects/tests/typed-scheme/optimizer/generic/vector-length.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/vector-length.rkt @@ -1,3 +1,4 @@ -(module vector-length typed/scheme #:optimize - (require racket/unsafe/ops) - (vector-length (vector 1 2 3))) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(vector-length (vector 1 2 3)) diff --git a/collects/tests/typed-scheme/optimizer/generic/vector-ref-set-ref.rkt b/collects/tests/typed-scheme/optimizer/generic/vector-ref-set-ref.rkt index 711633ea..8833301a 100644 --- a/collects/tests/typed-scheme/optimizer/generic/vector-ref-set-ref.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/vector-ref-set-ref.rkt @@ -1,7 +1,8 @@ -(module vector-ref-set-ref typed/scheme #:optimize - (require racket/unsafe/ops) - (: x (Vector Integer String)) - (define x (vector 1 "1")) - (vector-ref x 0) - (vector-set! x 1 "2") - (vector-ref x 1)) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(: x (Vector Integer String)) +(define x (vector 1 "1")) +(vector-ref x 0) +(vector-set! x 1 "2") +(vector-ref x 1) diff --git a/collects/tests/typed-scheme/optimizer/generic/vector-ref.rkt b/collects/tests/typed-scheme/optimizer/generic/vector-ref.rkt index 00261f8a..1f149356 100644 --- a/collects/tests/typed-scheme/optimizer/generic/vector-ref.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/vector-ref.rkt @@ -1,3 +1,4 @@ -(module vector-ref typed/scheme #:optimize - (require racket/unsafe/ops) - (vector-ref (ann (vector 1 2) (Vector Integer Integer)) 0)) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(vector-ref (ann (vector 1 2) (Vector Integer Integer)) 0) diff --git a/collects/tests/typed-scheme/optimizer/generic/vector-ref2.rkt b/collects/tests/typed-scheme/optimizer/generic/vector-ref2.rkt index 434fa07c..e9cf5ee5 100644 --- a/collects/tests/typed-scheme/optimizer/generic/vector-ref2.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/vector-ref2.rkt @@ -1,3 +1,4 @@ -(module vector-ref2 typed/scheme #:optimize - (require racket/unsafe/ops) - (vector-ref (vector 1 2 3) 0)) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(vector-ref (vector 1 2 3) 0) diff --git a/collects/tests/typed-scheme/optimizer/generic/vector-set-quote.rkt b/collects/tests/typed-scheme/optimizer/generic/vector-set-quote.rkt index 063b78d3..5243c3f3 100644 --- a/collects/tests/typed-scheme/optimizer/generic/vector-set-quote.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/vector-set-quote.rkt @@ -1,5 +1,6 @@ -(module vector-set-quote typed/scheme #:optimize - (require racket/unsafe/ops) - (vector-set! (ann (vector '(1 2)) (Vector Any)) - 0 - '(+ 1.0 2.0))) ; we should not optimize under quote +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(vector-set! (ann (vector '(1 2)) (Vector Any)) + 0 + '(+ 1.0 2.0)) ; we should not optimize under quote diff --git a/collects/tests/typed-scheme/optimizer/generic/vector-set.rkt b/collects/tests/typed-scheme/optimizer/generic/vector-set.rkt index 5f29aa5e..d01f53c5 100644 --- a/collects/tests/typed-scheme/optimizer/generic/vector-set.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/vector-set.rkt @@ -1,5 +1,6 @@ -(module vector-set typed/scheme #:optimize - (require racket/unsafe/ops) - (vector-set! (ann (vector 1 2) (Vector Integer Integer)) - 0 - 1)) +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(vector-set! (ann (vector 1 2) (Vector Integer Integer)) + 0 + 1) diff --git a/collects/tests/typed-scheme/optimizer/generic/vector-set2.rkt b/collects/tests/typed-scheme/optimizer/generic/vector-set2.rkt index 910575d5..d66ff004 100644 --- a/collects/tests/typed-scheme/optimizer/generic/vector-set2.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/vector-set2.rkt @@ -1,3 +1,4 @@ -(module invalid-vector-set typed/scheme #:optimize - (require racket/unsafe/ops) - (vector-set! (vector 1 2) 0 2)) ; type is (Vectorof Integer), length is ot known, can't optimize +#lang typed/scheme +#:optimize +(require racket/unsafe/ops) +(vector-set! (vector 1 2) 0 2) ; type is (Vectorof Integer), length is ot known, can't optimize diff --git a/collects/tests/typed-scheme/optimizer/generic/zero.rkt b/collects/tests/typed-scheme/optimizer/generic/zero.rkt index dc78943c..e853019b 100644 --- a/collects/tests/typed-scheme/optimizer/generic/zero.rkt +++ b/collects/tests/typed-scheme/optimizer/generic/zero.rkt @@ -1,4 +1,5 @@ -#lang typed/scheme #:optimize +#lang typed/scheme +#:optimize (require racket/unsafe/ops) (zero? 1) (zero? (sqrt 3.0)) diff --git a/collects/tests/typed-scheme/optimizer/run.rkt b/collects/tests/typed-scheme/optimizer/run.rkt index d089824f..29dd9088 100644 --- a/collects/tests/typed-scheme/optimizer/run.rkt +++ b/collects/tests/typed-scheme/optimizer/run.rkt @@ -1,5 +1,5 @@ #lang racket -(require racket/runtime-path) +(require racket/runtime-path racket/sandbox) ;; since Typed Scheme's optimizer does source to source transformations, ;; we compare the expansion of automatically optimized and hand optimized @@ -23,6 +23,33 @@ #'(#f #f #f (#f)))]) ; for cadddr (expand (with-input-from-file file read-syntax)))))))) + +;; the first line must be the #lang line +;; the second line must be #:optimize +(define (evaluator file #:optimize [optimize? #f]) + (call-with-trusted-sandbox-configuration + (lambda () + (parameterize ([current-load-relative-directory + (build-path here "generic")] + [sandbox-memory-limit #f] ; TR needs memory + [sandbox-output 'string] + [sandbox-namespace-specs + (list (car (sandbox-namespace-specs)) + 'typed/racket + 'typed/scheme)]) + (let* ((lines (cdr (file->lines file))) ;; drop the #lang line + (in (if optimize? + lines + (cdr lines))) ;; drop the #:optimize + (evaluator + (make-evaluator 'typed/racket + (foldl (lambda (acc new) + (string-append new "\n" acc)) + "" in))) + (out (get-output evaluator))) + (kill-evaluator evaluator) + out))))) + (define (test gen) (let-values (((base name _) (split-path gen))) (or (regexp-match ".*~" name) ; we ignore backup files @@ -39,13 +66,7 @@ #f)) ;; optimized and non-optimized versions must evaluate to the ;; same thing - (or (equal? (with-output-to-string - (lambda () - (dynamic-require gen #f))) - (with-output-to-string - (lambda () - (let ((non-opt-dir (build-path here "non-optimized"))) - (dynamic-require (build-path non-opt-dir name) #f))))) + (or (equal? (evaluator gen) (evaluator gen #:optimize #t)) (begin (printf "~a failed: result mismatch\n\n" name) #f))))))