Remove LAYOUT-PURE slot, read same from DD-PURE
commit7126a517053957fdd63060fbc3ed3642cd22f295
authorDouglas Katzman <dougk@google.com>
Thu, 10 Aug 2017 23:14:47 +0000 (10 19:14 -0400)
committerDouglas Katzman <dougk@google.com>
Thu, 10 Aug 2017 23:14:47 +0000 (10 19:14 -0400)
treef77573ed9ac7c15a1870daea2497d7774390034b
parent8691282d557cec6850d0d9952b81d1c4386e12d8
Remove LAYOUT-PURE slot, read same from DD-PURE

LAYOUT-PURE had Lisp type of (MEMBER T NIL 0) even though 0 would crash purify.
DD-PURE was :UNSPECIFIED by default, changed to the ancestor's value if
inherited, and copied to LAYOUT-PURE only if T either by inheritance or direct
specification. This was too convoluted. Metadata should contain only *actual*
values; parsing should deal with its own concerns. In particular, defstruct
already tracks which options were present, making :UNSPECIFIED superfluous.
src/code/defstruct.lisp
src/code/early-classoid.lisp
src/code/target-defstruct.lisp
src/compiler/generic/genesis.lisp
src/runtime/purify.c