0.9.15.17:
authorChristophe Rhodes <csr21@cam.ac.uk>
Thu, 17 Aug 2006 15:12:46 +0000 (15:12 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Thu, 17 Aug 2006 15:12:46 +0000 (15:12 +0000)
commit832f3b5652ae1b4a8888829cd4a1b391a8ca9952
tree5a2dc52d4f57c15fa51b8ea98aed1cf61187e082
parent41d822d26e0ffee4be348ebf35e19caff0c858e1
0.9.15.17:
Implement the :FUNCTION initarg for method initialization
... half of the battle here was altering the propagation of
information about methods around the system.  Prior
to this checkin, information was kept in a (non-weak)
hash table holding plists for method functions and
method fast functions.  Instead, we associate the
plist with the method itself.
... implement method-qualifiers as a proper slot reader, rather
than through the plist;
... method-function-get-DIE-DIE-DIE
... constant-method-call and constant-fast-method-call
structures for the special case of constant-value
(e.g. predicate) generic functions
... remove :METHOD-SPEC initarg, since it's useless
... rely more on interning instead of METHOD-FUNCTION-PV-TABLE
... remove dead code (e.g. METHOD-FUNCTION-CLOSURE-GENERATOR,
MAKE-INTERNAL-READER-METHOD-FUNCTION)
... define a %METHOD-FUNCTION funcallable structure, to bind
function and fast-function closely together.
... remove the :FAST-FUNCTION initarg.  Now, if the system wants
a fast-function, it creates a %method-function structure
with the fast-function in the fast-function slot (and
an ordinary method-function as the
funcallable-instance-function)
... some test cases.  (This fixes bug #361 among others, and we
have no current failures against the Closer
mop-feature-tests)
16 files changed:
BUGS
NEWS
src/code/early-fasl.lisp
src/pcl/boot.lisp
src/pcl/braid.lisp
src/pcl/combin.lisp
src/pcl/defs.lisp
src/pcl/dfun.lisp
src/pcl/generic-functions.lisp
src/pcl/low.lisp
src/pcl/methods.lisp
src/pcl/slots-boot.lisp
src/pcl/vector.lisp
tests/mop-24.impure.lisp [new file with mode: 0644]
tests/mop-25.impure.lisp [new file with mode: 0644]
version.lisp-expr