faster SLOT-VALUE &co with variable slot names
authorNikodemus Siivola <nikodemus@random-state.net>
Mon, 27 Aug 2007 15:13:27 +0000 (15:13 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Mon, 27 Aug 2007 15:13:27 +0000 (15:13 +0000)
commit157e21959c8023f146d6b03206aea6daa60e7b0d
treefd2efe79b093557a356c4304ddc813d57fbf2cc8
parent8bb34dad31b73a7bd4ca17b1630f4f5bdc94f347
faster SLOT-VALUE &co with variable slot names

* Cache the slot-location and typecheckfun in the class-slots-vector
  in addition to the slot-definition for STANDARD-CLASS and
  FUNCALLABLE-STANDARD-CLASS.

* New function CHECK-OBSOLETE-INSTANCE/CLASS-OF, which combines the
  two. Faster then calling both separately, since both need to grab
  the wrapper -- used by SLOT-VALUE &co.

* Unoptimized SLOT-VALUE, (SETF SLOT-VALUE), SLOT-BOUNDP, and
  SLOT-MAKUNBOUND can now directly access instance and class slots the
  typecheckfun in normal cases, giving upto 20-25% performance boost
  for these functions.

* Obsolete-instance protocol tests using variable slot-names.
NEWS
src/pcl/braid.lisp
src/pcl/slots-boot.lisp
src/pcl/slots.lisp
src/pcl/std-class.lisp
src/pcl/wrapper.lisp
tests/clos.impure.lisp
version.lisp-expr