diff --git a/scheme/last-revision b/scheme/last-revision index b0539e9..8d937ef 100644 --- a/scheme/last-revision +++ b/scheme/last-revision @@ -1 +1 @@ -1735 +1736 diff --git a/scheme/pass-specify-rep-primops.ss b/scheme/pass-specify-rep-primops.ss index 266bb82..f498098 100644 --- a/scheme/pass-specify-rep-primops.ss +++ b/scheme/pass-specify-rep-primops.ss @@ -479,7 +479,7 @@ [(constant i) (if (and (fx? i) (>= i 0)) (check-fx idx) - (check-? idx))] + (interrupt))] [(known idx idx-t) (case (T:fixnum? idx-t) [(yes) (check-fx idx)] @@ -591,10 +591,11 @@ [(E x i v) (struct-case i [(constant i) - (unless (fx? i) (interrupt)) - (mem-assign v (T x) - (+ (* i wordsize) - (- disp-vector-data vector-tag)))] + (if (not (fx? i)) + (interrupt) + (mem-assign v (T x) + (+ (* i wordsize) + (- disp-vector-data vector-tag))))] [(known i t) (cogen-effect-$vector-set! x i v)] [else