summaryrefslogtreecommitdiff
path: root/Lisp/method-invocation.lisp
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2007-09-17 22:57:13 +0200
committerMatthias Benkard <code@mail.matthias.benkard.de>2007-09-17 22:57:13 +0200
commita49631ce9185a362f48bb31578287fbe705f9ee6 (patch)
treeaab810ede90d36073713679347a2bbf52fc43dc6 /Lisp/method-invocation.lisp
parent0ec83cb4b02d2d7f827e4aa5bd9f32a01e5011de (diff)
Cache the return values of RETRIEVE-METHOD-SIGNATURE-INFO.
darcs-hash:17a199077cab37197bbcbc48d58100c4dd73e76e
Diffstat (limited to 'Lisp/method-invocation.lisp')
-rw-r--r--Lisp/method-invocation.lisp4
1 files changed, 3 insertions, 1 deletions
diff --git a/Lisp/method-invocation.lisp b/Lisp/method-invocation.lisp
index 4c5abac..d851f63 100644
--- a/Lisp/method-invocation.lisp
+++ b/Lisp/method-invocation.lisp
@@ -275,7 +275,9 @@ Returns: *result* --- the return value of the method invocation.
return-c-type)))))))))))
-(defun retrieve-method-signature-info (class selector)
+(define-cached-function retrieve-method-signature-info (class selector)
+ (cons (cffi:pointer-address (pointer-to class))
+ (cffi:pointer-address (pointer-to selector)))
(let* ((signature (primitive-invoke class
:instance-method-signature-for-selector
'id