0.7.12.38:
PCL accessors/SLOT-MISSING fixes:
Remove some package fragility of generated accessor functions
... define a new generalized function name class:
SB-PCL::SLOT-ACCESSOR
... s/SLOT-READER-SYMBOL/SLOT-READER-NAME/, and use the new
generalized function names
... now SB-SLOT-ACCESSOR-NAME and *SLOT-ACCESSOR-NAME-PACKAGE*
can go away
Ensure that SLOT-MISSING is called in all required situations.
The easy way would just have been to adjust ASV-FUNCALL slightly,
but that would have been no fun, so include an
optimization due to Gerd Moellmann:
... new LOAD-TIME-VALUE logic that ensures that the relevant
accessor name is always FBOUNDP, so the FBOUNDP check
can be elided at runtime
By this stage, it's all working, but
... while we're at it, also include the
ASV-FUNCALL-as-was/ENSURE-ACCESSOR optimization for
SLOT-BOUNDP, which was not included in historical PCL.
... also, ensure that fast discriminating functions are
constructed, conditional on
*OPTIMIZE-CACHE-FUNCTIONS-P*: eventually, this can
probably be made either unconditional or conditional on
the compilation policy when a generic function is
compiled.
Include a simple test for SLOT-MISSING behaviour.
... this version has also been tested against Gerd Moellmann's
test suite, with no regressions found.
19 files changed: