From d0f65b07a30adc989e36a82ddc0ed54d135d638e Mon Sep 17 00:00:00 2001 From: Stas Boukarev Date: Sat, 26 Oct 2013 18:42:22 +0400 Subject: [PATCH] Reduce consing during SUBTYPEP on classes. sb-pcl::class-has-a-forward-referenced-superclass-p, used in the implementation of subtypep on classes, conses because SOME can't perform the required inlining when used on the sequences of unknown type. (See lp#1070635) --- src/pcl/std-class.lisp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/pcl/std-class.lisp b/src/pcl/std-class.lisp index 975acc4..37e3c75 100644 --- a/src/pcl/std-class.lisp +++ b/src/pcl/std-class.lisp @@ -852,7 +852,8 @@ (or (when (forward-referenced-class-p class) class) (some #'class-has-a-forward-referenced-superclass-p - (class-direct-superclasses class)))) + ;; KLUDGE: SOME conses without knowing the type + (the list (class-direct-superclasses class))))) ;;; This is called by :after shared-initialize whenever a class is initialized ;;; or reinitialized. The class may or may not be finalized. -- 1.7.10.4