From: Christophe R. <cr...@us...> - 2003-05-15 16:03:36
|
Update of /cvsroot/sbcl/sbcl/src/pcl In directory sc8-pr-cvs1:/tmp/cvs-serv2752/src/pcl Modified Files: methods.lisp Log Message: 0.8alpha.0.30: Bandage over compiler overenthusiasm for EQL-specialized methods ... reduction in annoyance for contrib/ users probably more important than informing developers that they should be using EQL on SINGLE-FLOAT, not T, for best performance. Index: methods.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/pcl/methods.lisp,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- methods.lisp 12 May 2003 14:10:31 -0000 1.24 +++ methods.lisp 15 May 2003 16:03:33 -0000 1.25 @@ -1182,15 +1182,19 @@ (defmacro mlookup (key info default &optional eq-p type) (unless (or (eq eq-p t) (null eq-p)) - (error "Invalid eq-p argument")) + (bug "Invalid eq-p argument: ~S" eq-p)) (ecase type (:simple - `(if (,(if eq-p 'eq 'eql) ,key (car ,info)) + `(if (locally + (declare (optimize (inhibit-warnings 3))) + (,(if eq-p 'eq 'eql) ,key (car ,info))) (cdr ,info) ,default)) (:assoc `(dolist (e ,info ,default) - (when (,(if eq-p 'eq 'eql) (car e) ,key) + (when (locally + (declare (optimize (inhibit-warnings 3))) + (,(if eq-p 'eq 'eql) (car e) ,key)) (return (cdr e))))) (:hash-table `(gethash ,key ,info ,default)))) |