diff --git a/scheme/last-revision b/scheme/last-revision index ac86b8c..3f04454 100644 --- a/scheme/last-revision +++ b/scheme/last-revision @@ -1 +1 @@ -1857 +1858 diff --git a/scheme/pass-specify-rep-primops.ss b/scheme/pass-specify-rep-primops.ss index f3b278d..1b81245 100644 --- a/scheme/pass-specify-rep-primops.ss +++ b/scheme/pass-specify-rep-primops.ss @@ -1596,6 +1596,7 @@ (define-primop fxarithmetic-shift-right safe [(V x n) (struct-case n + ;;; FIXME: check for known types [(constant i) (cond [(and (fx? i) @@ -1615,7 +1616,7 @@ (interrupt-when (prm '>= n (K (- (* wordsize 8) fx-shift)))) (prm 'sll - (prm 'sra x n) + (prm 'sra (prm 'sra x n) (K fx-shift)) (K fx-shift))))])])