Changeset 10617


Ignore:
Timestamp:
Sep 5, 2008, 9:40:31 AM (12 years ago)
Author:
gb
Message:

Propagate r10616 to working-0711.

(Fix for <http://trac.clozure.com/openmcl/ticket/329> )

File:
1 edited

Legend:

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

    r10390 r10617  
    15451545                                `(structure-typep ,thing ',(find-class-cell type t)))
    15461546                               ((find-class type nil env)
     1547                                ;; If we know for sure that the class
     1548                                ;; is one whose instances are all
     1549                                ;; STANDARD-INSTANCEs (not funcallable,
     1550                                ;; not foreign), we can use
     1551                                ;; STD-INSTANCE-CLASS-CELL-TYPEP, which
     1552                                ;; can be a little faster then the more
     1553                                ;; general CLASS-CELL-TYPEP.  We can
     1554                                ;; only be sure of that if the class
     1555                                ;; exists (as a non-COMPILE-TIME-CLASS)
    15471556                                (let* ((class (find-class type nil nil))
    15481557                                       (fname
    1549                                         (if (or (null class)
    1550                                                 (and (subtypep class 'standard-object)
    1551                                                      (not (subtypep class 'foreign-standard-object))))
     1558                                        (if (and class
     1559                                                 (subtypep class 'standard-object)
     1560                                                 (not (subtypep class 'foreign-standard-object))
     1561                                                 (not (subtypep class 'funcallable-standard-object)))
    15521562                                          'std-instance-class-cell-typep
    15531563                                          'class-cell-typep)))
Note: See TracChangeset for help on using the changeset viewer.