0.9.15.32:
authorChristophe Rhodes <csr21@cam.ac.uk>
Tue, 15 Aug 2006 08:49:51 +0000 (08:49 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Tue, 15 Aug 2006 08:49:51 +0000 (08:49 +0000)
commit71922347ca66f2a3ad4c55092ccb3ad86a14c754
treee9e1c9813994cfb1037c6e73ac64b4bd26bf06eb
parent055c3ee36775efa5770393f37995ea3db8af044b
0.9.15.32:
More baby steps to the removal of the :fast-function initarg.
This time, some permutation vector cleanups, partly motivated by
similar changes in CMUCL and partly by the need to communicate
information between a method function and the other method
initargs.
... remove the "interning" of permutation vectors themselves.
... the first element of a permutation vector is no longer "for
information"
... destructively update the slots of a pv when the class
changes.  (NB: this has threadsafety implications:
revisit when the dust settles.)
... delete the PV-TABLE-SYMBOL code; replace the somewhat crufty
fashion of getting access to the method's pv-table
(using symbol-value of an uninterned symbol, which is
SET by INITIALIZE-METHOD-FUNCTION) by a LOAD-TIME-VALUE,
relying on INTERN-PV-TABLE to, well, intern a PV table.
(NB: this has performance implications if method
functions are not compiled.)
... some test cases: some simple tests of class redefinition and
slot value, and some where there is a make-method-lambda
customization.  Also log a failing case where the PV
slot-value optimization is broken.
src/pcl/boot.lisp
src/pcl/slots-boot.lisp
src/pcl/vector.lisp
tests/clos-1.impure.lisp [new file with mode: 0644]
tests/clos.impure.lisp
tests/mop-23.impure.lisp
version.lisp-expr