Forward referenced classoid-cells can now be loaded from FASLs.
authorStas Boukarev <stassats@gmail.com>
Thu, 3 Oct 2013 16:28:05 +0000 (20:28 +0400)
committerStas Boukarev <stassats@gmail.com>
Thu, 3 Oct 2013 16:28:05 +0000 (20:28 +0400)
commit993c261469bbf6201c6fae04fcdf255d38cf419d
treee87466b93972c31029f1bb05f9c59c5c30bb9471
parent83de338570dd0d867a9a247213ac16f0ab85c123
Forward referenced classoid-cells can now be loaded from FASLs.

When
(defun x (x)
  (typep x 'bar))

(defclass bar ()
  ())

is compiled twice, the typecheck is optimized and a classoid-cell is
dumped into the FASL, but upon load in a new instance it's
reconstructed using FIND-CLASSOID-CELL with :errorp t, resulting in an
error, defeating the stated reason for indirection.

Fixes lp#746132.
NEWS
src/code/class.lisp
src/code/early-type.lisp