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. After that, fill the header and fields of these objects. Finally, new objects can be created by sending messages to objects in this kernel.

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