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

change to instance structure protocol



    Date: Thu, 29 Nov 1990 17:36 EST
    From:	Jon L White <jonl@lucid.com>

    re:  In Symbolics' implementation notinline SLOT-VALUE
	does not call SLOT-VALUE-USING-CLASS for the standard metaclass.

    I thought it was supposed to, so that the user could hang hooks.
    Or, are you simly referring to an optimization of the notinline
    case when there are no user-defined methods?

That's right.  When SLOT-VALUE gets an instance, it loads a special slot
in the instance information.  This slot contains a special table of slot
names which can be accessed quickly in the instance.  We do a blindingly
fast linear search for the slot name in the table.  If it is found, the
offset in the table is the offset of the slot in the instance (or
something like that).  If a class has shared slots, the shared slots are
left out of the table.  The bug (which could be fixed easily enough) is
that you also have to leave out slot names for any slots which are
affected by a method on SLOT-VALUE-USING-CLASS.  There are a number of
simple ways that this mechanism could be extended.

    -- JonL --