Speedup overload resolution and some other stuff for faster C++ method calling.
src/method.lisp
Wed Jul 8 22:41:19 CEST 2009 Tobias Rautenkranz <tobias@rautenkranz.ch>
* Speedup overload resolution and some other stuff for faster C++ method calling.
--- old-smoke/src/method.lisp 2014-10-30 08:12:53.000000000 +0100
+++ new-smoke/src/method.lisp 2014-10-30 08:12:53.000000000 +0100
@@ -65,7 +65,6 @@
:lambda-list '(object &rest args))
(export (first symbol-name) :cxx)))
-
(defun setf-method-definition (method)
`(defun (setf ,(lispify (subseq (name method) 3) :cxx)) (new-value object)
(,(lispify (name method) :cxx) object new-value)
@@ -149,8 +148,10 @@
(push export exports))))
`(progn (check-recompile ,smoke)
,@functions
- (eval-startup (:execute)
- (make-smoke-classes ,package ,smoke)
+ (eval-startup (:load-toplevel :execute)
+ ;; eval on startup for class map.
+ (make-smoke-classes ,package ,smoke))
+ (eval-when (:load-toplevel :execute)
(ensure-generic-methods ',(hash-table-alist generics)))
,@constants
(eval-when (:load-toplevel :execute)