fxsll was missing an interrupt call.

This commit is contained in:
Abdulaziz Ghuloum 2008-08-07 15:02:53 -07:00
parent 9eead5327a
commit 53cc48d23c
3 changed files with 15 additions and 15 deletions

View File

@ -90,25 +90,23 @@
(lambda (c) (lambda (c)
(or (and ($char<= #\a c) ($char<= c #\z)) (or (and ($char<= #\a c) ($char<= c #\z))
(and ($char<= #\A c) ($char<= c #\Z))))) (and ($char<= #\A c) ($char<= c #\Z)))))
(define af?
(lambda (c)
(or (and ($char<= #\a c) ($char<= c #\f))
(and ($char<= #\A c) ($char<= c #\F)))))
(define af->num
(lambda (c)
(if (and ($char<= #\a c) ($char<= c #\f))
(fx+ 10 (fx- ($char->fixnum c) ($char->fixnum #\a)))
(fx+ 10 (fx- ($char->fixnum c) ($char->fixnum #\A))))))
(define special-initial? (define special-initial?
(lambda (c) (lambda (c)
(memq c '(#\! #\$ #\% #\& #\* #\/ #\: #\< #\= #\> #\? #\^ #\_ #\~)))) (memq c '(#\! #\$ #\% #\& #\* #\/ #\: #\< #\= #\> #\? #\^ #\_ #\~))))
(define subsequent?
(lambda (c)
(or (initial? c) (digit? c) (special-subsequent? c)
(memq (char-general-category c) '(Nd Mc Me)))))
(define special-subsequent? (define special-subsequent?
(lambda (c) (lambda (c)
(memq c '(#\+ #\- #\. #\@)))) (memq c '(#\+ #\- #\. #\@))))
(define subsequent?
(lambda (c)
(cond
[($char<= c ($fixnum->char 127))
(or (letter? c)
(digit? c)
(special-initial? c)
(special-subsequent? c))]
[else
(or (unicode-printable-char? c)
(memq (char-general-category c) '(Nd Mc Me)))])))
(define tokenize-identifier (define tokenize-identifier
(lambda (ls p) (lambda (ls p)
(let ([c (peek-char p)]) (let ([c (peek-char p)])

View File

@ -1 +1 @@
1573 1574

View File

@ -1560,7 +1560,9 @@
(let f ([i i]) (let f ([i i])
(cond (cond
[(zero? i) x] [(zero? i) x]
[else (prm 'sll/overflow (f (- i 1)) (K 1))]))] [else
(interrupt)
(prm 'sll/overflow (f (- i 1)) (K 1))]))]
[else [else
(with-tmp ([x2 (prm 'sll x (K i))]) (with-tmp ([x2 (prm 'sll x (K i))])
(interrupt-unless (prm '= (prm 'sra x2 (K i)) x)) (interrupt-unless (prm '= (prm 'sra x2 (K i)) x))