Changeset 8009


Ignore:
Timestamp:
Jan 7, 2008, 4:11:48 PM (12 years ago)
Author:
gb
Message:

check-min-max-args: use the same anchor in both anchored UUOs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/working-0711/ccl/compiler/X86/X8664/x8664-vinsns.lisp

    r7936 r8009  
    309309
    310310(define-x8664-vinsn check-min-nargs (()
    311                                        ((n :u16const)))
     311                                       ((min :u16const)))
    312312  :resume
    313   (rcmpw (:%w x8664::nargs) (:$w (:apply ash n x8664::word-shift)))
    314   (jb :bad)
     313  ((:pred = min 1)
     314   (testw (:%w x8664::nargs) (:%w x8664::nargs))
     315   (je :toofew))
     316  ((:not (:pred = min 1))
     317   (rcmpw (:%w x8664::nargs) (:$w (:apply ash min x8664::word-shift)))
     318   (jb :toofew)) 
    315319 
    316320  (:anchored-uuo-section :resume)
    317   :bad
     321  :toofew
    318322  (:anchored-uuo (uuo-error-too-few-args)))
    319323
     
    326330  (:anchored-uuo-section :resume)
    327331  :bad
     332  (:anchored-uuo (uuo-error-too-many-args)))
     333
     334
     335(define-x8664-vinsn check-min-max-nargs (()
     336                                         ((min :u16const)
     337                                          (max :u16)))
     338  :resume
     339  ((:pred = min 1)
     340   (testw (:%w x8664::nargs) (:%w x8664::nargs))
     341   (je :toofew))
     342  ((:not (:pred = min 1))
     343   (rcmpw (:%w x8664::nargs) (:$w (:apply ash min x8664::word-shift)))
     344   (jb :toofew))
     345  (rcmpw (:%w x8664::nargs) (:$w (:apply ash max x8664::word-shift)))
     346  (jg :toomany)
     347 
     348  (:anchored-uuo-section :resume)
     349  :toofew
     350  (:anchored-uuo (uuo-error-too-few-args))
     351  :toomany
    328352  (:anchored-uuo (uuo-error-too-many-args)))
    329353
Note: See TracChangeset for help on using the changeset viewer.