Speedup overload resolution and some other stuff for faster C++ method calling.
src/objects/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/objects/method.lisp 2014-10-30 08:12:58.000000000 +0100
+++ new-smoke/src/objects/method.lisp 2014-10-30 08:12:58.000000000 +0100
@@ -133,6 +133,7 @@
(defun return-type (method)
"Returns the return type of METHOD."
+ (declare (optimize (speed 3)))
(make-instance 'smoke-type
:id (method-slot-value method 'return-type)
:smoke (smoke-method-smoke method)))
@@ -206,7 +207,7 @@
(declare (optimize (speed 3)))
(mem-aref (smoke-module-argument-list (smoke argument))
'smoke-index
- (call-next-method)))
+ (the smoke-index (call-next-method))))
(defun last-p (argument)
"Returns T when ARGUMENT is the last argument and NIL otherwise."