We do the same for our bootstrapper. First allocate space for the objects used by the metamodel: Metaclass, Class, Behavior, Object, UndefinedObject, True, False, their instances, metaclasses, etc. Each object of its corresponding size.
how do you compute the size?
After that, fill the header and fields of these objects. Finally, new objects can be created by sending messages to objects in this kernel.
I was planning to do the same so I would like to see your code. Tomorrow I want to read it. Stef
Cheers, Javier.
On Wed, Nov 23, 2011 at 10:59 PM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote: Hi
imagine that I want to bootstrap our nice kernel. I will need to somehow create a new nil, true, false, instances of new classes Undefined, True, False. Such instances will then be put on the SpecialObjectArray somehow.
Now I can create a dummy object playing such roles and then use SystemTracer to substitute my placeholder with the true nil falseâ¦. or another trick to swap them. Now anybody has other ideas?
Stef
-- Lic. Javier Pimás Ciudad de Buenos Aires