[armedbear-cvs] r13997 - trunk/abcl/src/org/armedbear/lisp
rschlatte at common-lisp.net
rschlatte at common-lisp.net
Sun Jul 8 15:30:34 UTC 2012
Author: rschlatte
Date: Sun Jul 8 08:30:33 2012
New Revision: 13997
Log:
Fix fast-function optimization when only standard method function is given.
- This was the last error / missing feature exposed by the MOP test suite.
Modified:
trunk/abcl/src/org/armedbear/lisp/clos.lisp
Modified: trunk/abcl/src/org/armedbear/lisp/clos.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/clos.lisp Sun Jul 8 03:57:21 2012 (r13996)
+++ trunk/abcl/src/org/armedbear/lisp/clos.lisp Sun Jul 8 08:30:33 2012 (r13997)
@@ -2099,11 +2099,11 @@
((= number-required 1)
(cond
((and (eq (method-combination-name (sys:%generic-function-method-combination gf)) 'standard)
- (= (length (sys:%generic-function-methods gf)) 1))
+ (= (length (sys:%generic-function-methods gf)) 1)
+ (std-method-fast-function (%car (sys:%generic-function-methods gf))))
(let* ((method (%car (sys:%generic-function-methods gf)))
(specializer (car (std-method-specializers method)))
- (function (or (std-method-fast-function method)
- (std-method-function method))))
+ (function (std-method-fast-function method)))
(if (typep specializer 'eql-specializer)
(let ((specializer-object (eql-specializer-object specializer)))
#'(lambda (arg)
More information about the armedbear-cvs
mailing list