diff options
author | Matthias Benkard <code@mail.matthias.benkard.de> | 2007-08-04 21:06:28 +0200 |
---|---|---|
committer | Matthias Benkard <code@mail.matthias.benkard.de> | 2007-08-04 21:06:28 +0200 |
commit | 424402274218149eb9ff7fc560b55534c4b2b70c (patch) | |
tree | 924ad45b6026cfbfb820c56fba28a83f7b74c5e5 /Lisp/memory-management.lisp | |
parent | 3836edaccf2d9027d01b9d7c7b7a29df512b8d7c (diff) |
Allegro CL compatibility.
darcs-hash:04fca2e78b76d10a855512ab7716cb74a3e414c1
Diffstat (limited to 'Lisp/memory-management.lisp')
-rw-r--r-- | Lisp/memory-management.lisp | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/Lisp/memory-management.lisp b/Lisp/memory-management.lisp index 600e079..8331932 100644 --- a/Lisp/memory-management.lisp +++ b/Lisp/memory-management.lisp @@ -6,36 +6,6 @@ (defvar *exception-objects* (make-weak-value-hash-table)) -#+cmu -(progn - (declaim (inline make-weak-value-hash-table)) - - (defun make-weak-value-hash-table () - (make-hash-table :test 'eql)) - - (defun weak-gethash (key hash-table &optional (default nil)) - (let ((pointer (gethash key hash-table default))) - (or (and (trivial-garbage:weak-pointer-p pointer) - (trivial-garbage:weak-pointer-value pointer)) - (prog1 default - ;; Clean up. - (remhash key hash-table))))) - - (defun (setf weak-gethash) (value key hash-table) - (setf (gethash key hash-table) - (trivial-garbage:make-weak-pointer value)))) - -#-cmu -(progn - (declaim (inline make-weak-value-hash-table)) - - (defun make-weak-value-hash-table () - (trivial-garbage:make-weak-hash-table :weakness :value - :test 'eql)) - - (setf (fdefinition 'weak-gethash) (fdefinition 'gethash) - (fdefinition '(setf weak-gethash)) (fdefinition '(setf gethash)))) - ;; We call the `retain' method on every object that we receive from a ;; method call or otherwise except non-convenience constructor methods ;; (i.e. those whose name starts with `alloc' or `new'). Upon |