Changeset 9360


Ignore:
Timestamp:
May 5, 2008, 4:29:59 PM (11 years ago)
Author:
gz
Message:

Don't optimize typep if has explicit env arg

Location:
branches/working-0711/ccl
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/working-0711/ccl/compiler/optimizers.lisp

    r9359 r9360  
    15371537
    15381538(define-compiler-macro typep  (&whole call &environment env thing type &optional e)
    1539   (declare (ignore e))
    15401539  (if (quoted-form-p type)
    15411540    (if (and (constantp thing) (specifier-type-if-known type env))
    1542       (typep (if (quoted-form-p thing) (%cadr thing) thing) (%cadr type))
    1543       (or (optimize-typep thing (%cadr type) env)
     1541      (typep (if (quoted-form-p thing) (%cadr thing) thing) (%cadr type) env)
     1542      (or (and (null e) (optimize-typep thing (%cadr type) env))
    15441543          call))
    15451544    (if (eq type t)
  • branches/working-0711/ccl/level-1/l1-clos-boot.lisp

    r9349 r9360  
    30323032                                               *standard-class-class*)))
    30333033         (meta-spec (if (quoted-form-p meta-arg) (%cadr meta-arg) meta-arg))
    3034          (meta (if (typep meta-spec 'class) meta-spec (find-class meta-spec))))
    3035     (compute-initargs-vector class meta (list #'initialize-instance #'allocate-instance #'shared-initialize) t)))
     3034         (meta (if (typep meta-spec 'class) meta-spec (find-class meta-spec nil))))
     3035    (if (and meta (not (typep meta 'forward-referenced-class)))
     3036      (compute-initargs-vector class meta (list #'initialize-instance #'allocate-instance #'shared-initialize) t)
     3037      t)))
    30363038
    30373039(defun compute-initargs-vector (instance class functions &optional require-rest)
Note: See TracChangeset for help on using the changeset viewer.