fix check for arity wrapper and non-fixnum-width arg count

Closes racket/racket#2746

original commit: 633cab4d38d8d22a0425f5554d80faba925dfdde
This commit is contained in:
Matthew Flatt 2019-07-17 16:43:32 -06:00
parent 463677304a
commit ed8794d83d
2 changed files with 2 additions and 1 deletions

View File

@ -5303,6 +5303,7 @@
'(1 2 3))
(error? ((make-arity-wrapper-procedure (lambda args args) 1 #f) 1 2 3))
(error? ((make-arity-wrapper-procedure (lambda args args) (expt 2 100) #f) 1 2 3))
(equal? (make-list 100 'ok) (apply (make-arity-wrapper-procedure (lambda args args) -1 #f) (make-list 100 'ok)))
(equal? (procedure-arity-mask (make-wrapper-procedure (lambda args args) 1 #f))
1)

View File

@ -12882,7 +12882,7 @@
,(fail)))
;; Arg count is > fixnum width; allow if the fixnum
;; is negative
(if ,(%inline u< ,%ts (immediate 0))
(if ,(%inline < ,%ts (immediate 0))
,e
,(fail)))
;; Arity is a bignum...