Size limit to changes
Allen_Wirfs-Brock at Instantiations.com
Thu Aug 13 01:46:32 UTC 1998
At 09:42 AM 8/12/98 -0700, you wrote:
>I'd encourage this. At the cost of 1 by te per method (and if my algebra is
>correct, only 1/2 byte per method if objects are 16-bit padded and 1/4 byte
>per method if 32-bit), this could be a hook for interesting source
>experiments. Enabling interesting work for low cost seems very Squeaky to me.
I would also highly encourage the use of a true object reference for the
source reference. This was done in Tektronix Smalltalk and also in most
versions of Digitalk Smalltalk from about 1992 onwards. If you do this you
will find that you suddenly have incredible flexibility available for
managing source. It's remarkable what a little object can do for you.
The object reference can be added as Glenn suggests in the literal frame or
with more work in the CompiledMethod object. This is really is an
implementation detail. In either case public protocol (for example,
#sourceObject) for accessing the source object should be in CompiledMethod.
The object reference can be used to either store a SmallInteger that
encodes a source file reference in the traditional way or an object that
encodes a source reference in an open ended way. You will get the greatest
flexibility if you define an abstract protocol for source objects and have
the #sourceObject method automatically convert integer source file
references to an appropriate object that support that protocols.
More information about the Squeak-dev