|
414 | 414 | (define-syntax bind-type-object-type ; NB: caller must bind expr |
415 | 415 | (syntax-rules () |
416 | 416 | [(_ ([id expr]) body) |
417 | | - (build-and |
418 | | - (%type-check mask-typed-object type-typed-object ,expr) |
419 | | - (bind #t ([id (%mref ,expr ,(constant typed-object-type-disp))]) |
420 | | - body))])) |
| 417 | + (bind #t ([id (%mref ,expr ,(constant typed-object-type-disp))]) |
| 418 | + body)])) |
421 | 419 | (define lift-fp-unboxed |
422 | 420 | (lambda (k) |
423 | 421 | (lambda (e) |
|
3115 | 3113 | (build-and |
3116 | 3114 | (%type-check mask-flonum type-flonum ,e) |
3117 | 3115 | `(call ,(make-info-call src sexpr #f #f #f) #f ,(lookup-primref 3 'flfinite?) ,e)) |
3118 | | - (bind-type-object-type ([t e]) |
3119 | | - (build-simple-or |
3120 | | - (%type-check mask-bignum type-bignum ,t) |
3121 | | - (%type-check mask-ratnum type-ratnum ,t))))))]) |
| 3116 | + (build-and |
| 3117 | + (%type-check mask-typed-object type-typed-object ,e) |
| 3118 | + (bind-type-object-type ([t e]) |
| 3119 | + (build-simple-or |
| 3120 | + (%type-check mask-bignum type-bignum ,t) |
| 3121 | + (%type-check mask-ratnum type-ratnum ,t)))))))]) |
3122 | 3122 | (define-inline 2 real? |
3123 | 3123 | [(e) (bind #t (e) |
3124 | 3124 | (build-simple-or |
3125 | 3125 | (%type-check mask-fixnum type-fixnum ,e) |
3126 | 3126 | (build-simple-or |
3127 | 3127 | (%type-check mask-flonum type-flonum ,e) |
| 3128 | + (build-and |
| 3129 | + (%type-check mask-typed-object type-typed-object ,e) |
3128 | 3130 | (bind-type-object-type ([t e]) |
3129 | 3131 | (build-simple-or |
3130 | 3132 | (%type-check mask-bignum type-bignum ,t) |
3131 | | - (%type-check mask-ratnum type-ratnum ,t))))))]) |
| 3133 | + (%type-check mask-ratnum type-ratnum ,t)))))))]) |
3132 | 3134 | (define-inline 2 inexact? |
3133 | 3135 | [(e) (bind #t (e) |
3134 | 3136 | (build-and |
|
0 commit comments