Image Builder (Re: Mythical small kernel images?)
PhiHo Hoang
phiho.hoang at rogers.com
Wed Feb 12 03:05:20 UTC 2003
Alejandro,
> You can know the primitives that the image use and build
> the VM contaning only this primitives.
Yes, now I get it. I also thought of Interpreter/InterpreterEx
and Primitives/PrimitivesEx plugins ;-)
> Here I attach our very first running image (15kb).
> It only has the quitPrimitive method and do 3+4.
> We use this image to test the proper initialization
> of running process and context; and it run during
> the second try!
> It was VERY exiting.
> Debuggin the VM and seen de bytecodes for 3+4
> was lived as an unique event!
Thanks a lot. I can't wait to play with your tools.
Cheers,
PhiHo.
----- Original Message -----
From: "Alejandro F. Reimondo" <aleReimondo at smalltalking.net>
To: "The general-purpose Squeak developers list"
<squeak-dev at lists.squeakfoundation.org>
Sent: Tuesday, February 11, 2003 8:16 PM
Subject: Re: Image Builder (Re: Mythical small kernel images?)
> Hi,
>
> > > Out images can determine the minimum requirements for the VM...
> > > They can also be used to build the minimum VM that can run them.
> > Would you please elaborate on this.
>
> You can know the primitives that the image use and build
> the VM contaning only this primitives.
>
> > BTW, I put your 'sample2.image' thru the analyzer :
> > 1/- There are 124 classes in the image.
>
> They are not the minimal set of classes...
> An image with minimal classes are aprox 15kb.
> Here I attach an image that do a garbageCollect and exit
> and a "3+4" image (only do 3+4 and exit)
>
> > 1/- 34 classes with 0 instances (so shouldn't be in the
image):
> > - ProtoObject Class
> > -ArrayedCollection
> .....
> > -Win32Console
> > -Win32Handle
>
> Most classes are mantained to preserve Squeak hierarchy.
> The only thing you must preserve is the critic classes shape
> for the VM to work as usual.
>
> > 2/- Consequently :
> > - 33 classes of above classes respectively
> > are not needed in the image.
> ........
> > 3/- The rest of the classes (57) and number of instances are:
> > (What is that sole instance of Float, Point is doing
> > in this sample2.image ?
>
> They are prototipycal instances required by the VM; but they can be
replaced
> by nil in this images because we do not instantiate the classes during
> runtime...
>
> > For that matter, would you please verify that these 57
> > classes are really needed ?
>
> There are classes that can be removed, but other are really needed to
build
> the image (e.g. MethodDictionary, Array, Symbol)
>
> >and what does Fenix mean ?)
> It is our extension to environments (simple changes to work as we want).
> (Smalltalk is a FenixEnvironment in our image)
>
> > If you can spare sometime, would you please confirm or deny
> > the validity of this analysis. It would be very helpful for me
> > to fine tune the analyzer.
>
> The contents are provably fine, but some classes can´t be
> removed without breaking the image.
>
> > Also, if the analysis is correct, can your technology create an
> > image without 'cruft' and micro-kitchen-sink ;-)
> >
> > I heard a lot about the '3 + 4' image but never saw one.
>
> Here I attach our very first running image (15kb).
> It only has the quitPrimitive method and do 3+4.
> We use this image to test the proper initialization
> of running process and context; and it run during
> the second try!
> It was VERY exiting.
> Debuggin the VM and seen de bytecodes for 3+4
> was lived as an unique event!
>
> > Thanks a lot for your time and effort, my dream
> > of an ImageBuilder is now coming true.
>
> cheers,
> Ale.
>
----------------------------------------------------------------------------
----
>
>
More information about the Squeak-dev
mailing list
|