1.0.6.5: potential CLOS GC safety issue
commit62f25b3b18b66ae67d555ca8a05026dbf03d89e1
authorNikodemus Siivola <nikodemus@random-state.net>
Tue, 29 May 2007 14:36:23 +0000 (29 14:36 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Tue, 29 May 2007 14:36:23 +0000 (29 14:36 +0000)
treed790812098f472e80d1f5bb11de1ca2f503fb2a0
parentc9674c84337b4664d6554a51e7ff11a5433102bc
1.0.6.5: potential CLOS GC safety issue

 * EMIT-FETCH-WRAPPER needs to emit code that checks that it has a
   real standard instance (as opposed to a structure) before it can
   pull the slots: if the structure eg. has no slots at all we would
   be pulling garbage into a lisp variable, which is not good (TM),
   though it should be non-serious on GENCGC platforms.

   To make this fast we add a new slot to LAYOUT: FOR-STD-CLASS-P,
   which is always NIL for layouts, and T for wrappers.

 * Remove one redundant SET-DFUN, which may have been needed in long-gone
   days when cache vectors were resourced, but not anymore.
package-data-list.lisp-expr
src/code/class.lisp
src/pcl/dfun.lisp
src/pcl/dlisp.lisp
src/pcl/low.lisp
src/pcl/methods.lisp
version.lisp-expr