[squeak-dev] Re: The solution of (Was: Creating an image from first
principles)
Andreas Raab
andreas.raab at gmx.de
Wed Aug 6 23:20:02 UTC 2008
Igor Stasenko wrote:
> Okay, let me review the steps, how i seeing it with doing everything
> in same interpreter without the need of simulation:
>
>> Read a series of class definitions (you can use either MC class defs or
>> simply parse simple class definitions from sources) that are sufficient to
>> define all of the kernel structures that are required by the running VM
>> (incl. Object, Behavior, Class, Integer, Array, Process, CompiledMethod,
>> ContextPart, Semaphore etc. etc. etc.).
>
> - use a ClassBuilder, or add single method to Behavior to be able to
> create the abovementioned classes, but without installing/registering
> them anywhere (SystemDictionary etc) and treat them as anonymous
> classes.
This doesn't work (try it sometime). It is impossible to create an empty
metaclass hierarchy since you can't send any messages to it. Which is
why you need a simulator to do it because the simulator can operate on
the data structures without requiring any of the objects to understand
any message. Most of the steps in your proposal have similar fundamental
flaws (like creating "new" SmallInteger instances etc).
FWIW, I've followed a similar set of ideas for a while back in 2002 and
the end result was dead-ugly and impossible to bootstrap cleanly. Every
step of your proposal is a mine field and the only recommendation I have
is to try it sometime and you'll be *amazed* how difficult the process
is that you are describing.
Cheers,
- Andreas
More information about the Squeak-dev
mailing list
|