[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

change to instance structure protocol

    Date: Thu, 29 Nov 1990 15:35 EST
    From:	Moon@stony-brook.scrc.symbolics.com

	Date: Thu, 22 Nov 1990 15:59 EST
	From:	Gregor Kiczales <Gregor@parc.xerox.com>
	There is an elegant solution, but I have refrained from proposing it for
	some time.  Now, it really seems worth proposing.

	The basic idea is to change the last (slot-name) argument to all of the
	SLOT-XXX-USING-CLASS generic functions.  The new value would be the
	actual effective slot definition metaobject rather than the slot name.

    In my opinion your proposal is clearly the right thing.

    By the way, I verified that adopting this proposal would not slow down
    SLOT-VALUE in the inline optimized case nor in the notinline optimized
    case in Symbolics' implementation.  I'm not sure why JonL thought it
    would slow down the notinline case, although Lucid's implementation may
    work differently.  In Symbolics' implementation notinline SLOT-VALUE
    does not call SLOT-VALUE-USING-CLASS for the standard metaclass.

In all this, remember that SLOT-VALUE-USING-CLASS can also have its
first argument EQL specialized on a particular class.  We don't handle
that case correctly, but I think our optimizations could work around it
if they bothered to check for it.