1.0.40.4: slight performance enhancement in gf initialisation
authorChristophe Rhodes <csr21@cantab.net>
Mon, 19 Jul 2010 06:40:24 +0000 (06:40 +0000)
committerChristophe Rhodes <csr21@cantab.net>
Mon, 19 Jul 2010 06:40:24 +0000 (06:40 +0000)
in RAISE-METATYPE, use special variables to access system classes
rather than FIND-CLASS.  (LOAD-TIME-VALUE of FIND-CLASS doesn't work
as it is too early in the PCL bootstrap...)

src/pcl/early-low.lisp
src/pcl/wrapper.lisp
version.lisp-expr

index b69c592..cbe9c77 100644 (file)
                   *the-class-std-class*
                   *the-class-standard-class*
                   *the-class-funcallable-standard-class*
+                  *the-class-forward-referenced-class*
                   *the-class-method*
                   *the-class-standard-method*
                   *the-class-standard-reader-method*
index 9027877..d7e804e 100644 (file)
 ;;;  specialize cache implementation or discrimination nets, but this
 ;;;  has not occurred as yet.
 (defun raise-metatype (metatype new-specializer)
-  (let ((slot      (find-class 'slot-class))
-        (standard  (find-class 'standard-class))
-        (fsc       (find-class 'funcallable-standard-class))
-        (condition (find-class 'condition-class))
-        (structure (find-class 'structure-class))
-        (built-in  (find-class 'built-in-class))
-        (frc       (find-class 'forward-referenced-class)))
+  (let ((slot      *the-class-slot-class*)
+        (standard  *the-class-standard-class*)
+        (fsc       *the-class-funcallable-standard-class*)
+        (condition *the-class-condition-class*)
+        (structure *the-class-structure-class*)
+        (built-in  *the-class-built-in-class*)
+        (frc       *the-class-forward-referenced-class*))
     (flet ((specializer->metatype (x)
              (let* ((specializer-class (if (eq **boot-state** 'complete)
                                            (specializer-class-or-nil x)
index d07ced6..00ce366 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.40.3"
+"1.0.40.4"