[squeak-dev] Why not just get rid of the sources file entirely (was: The Inbox: System-dtl.1277.mcz)
David T. Lewis
lewis at mail.msen.com
Wed Jan 19 00:44:09 UTC 2022
On Tue, Jan 18, 2022 at 12:26:03PM -0800, Eliot Miranda wrote:
> ASs a post-script I like what we did in VisualWorks for parcels. We
> changes the format of a file pointer so that it could include an arbitrary
> file index and offset, so one could encode index 27, offset 1000000, etc.
> Then when a parcel was loaded its source file was added to the source files
> array, an extensible OrderedCollection of files, and the methods in that
> parcel had their source pointers swizzled to index the relevant source
> file. Hence loading packages didn't pollute the changes file. I'm not
> suggesting we go this route for Saueak but if we did I would preserve
> Squeak's version support and save to a new package all previous versions of
> methods. Again, because the source is external there's no space overhead
> in the image for supporting conveniently browsable versions. And with both
> binary loading and compilation the swizzling of source pointers can be done
> as each compiled method is being instantiated; it does not imply a second
> pass over the loaded methods to adjust their pointers.
I like this idea. There's no particular need for SourcesFiles to be of size two.
More information about the Squeak-dev