summaryrefslogtreecommitdiff
path: root/Lisp/memory-management.lisp
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2007-09-14 21:32:59 +0200
committerMatthias Benkard <code@mail.matthias.benkard.de>2007-09-14 21:32:59 +0200
commit213250b363705b9be3acdd90f604169c0e23b355 (patch)
tree1d0d2f50b40ea50b57d15eacc6662a0537251d14 /Lisp/memory-management.lisp
parent25cc1a489ff21bedae0a9ebfc9b462113ccc56c7 (diff)
Use PRIMITIVE-INVOKE in memory management and clean the codebase up a bit.
darcs-hash:a0d7f10b0b4e7fe43271fcce37523424f43480da
Diffstat (limited to 'Lisp/memory-management.lisp')
-rw-r--r--Lisp/memory-management.lisp8
1 files changed, 4 insertions, 4 deletions
diff --git a/Lisp/memory-management.lisp b/Lisp/memory-management.lisp
index 1a3055b..4dec98e 100644
--- a/Lisp/memory-management.lisp
+++ b/Lisp/memory-management.lisp
@@ -18,8 +18,8 @@
`(lambda ()
(defmethod make-instance ((class (eql ',type)) &rest initargs &key)
(let* ((hash-table ,(ecase type
- ((id) '*id-objects*)
- ((objc-class) '*class-objects*)
+ ((id) '*id-objects*)
+ ((objc-class) '*class-objects*)
((exception) '*exception-objects*)))
(hash-key (pointer-address (getf initargs :pointer)))
(obj (weak-gethash hash-key hash-table nil)))
@@ -30,7 +30,7 @@
:incomplete)
(let ((new-obj (call-next-method)))
(unless *skip-retaining*
- (invoke-by-name new-obj "retain"))
+ (primitive-invoke new-obj "retain" :id))
(unless *skip-finalization*
;; We only put the new object into the hash
;; table if it is a regular wrapper object
@@ -56,7 +56,7 @@
(*skip-retaining* t))
(make-instance saved-type
:pointer saved-pointer))))
- (invoke-by-name temp "release"))))
+ (primitive-invoke temp "release" :id))))
(trivial-garbage:finalize new-obj #'finalizer))))
new-obj))
(t obj))))