Quoting Guillermo Polito <[email protected]>: 

> On Thu, Apr 26, 2012 at 1:52 PM, Pavel Krivanek <[email protected]> 
> wrote:
>
>
> > Great news!
> >
> > I tried it on fresh 1.4 and I got:
> > SmalltalkImage(Object)>>doesNotUnderstand: #shutDownImage:
> > HzImageWriter>>writeImage:
>
>
> Oups, bad packaging :).  Will fix that asap.
>
>
> > Do you plan to create a loader too? To be able to load objects from
> > different image file.
>
>
> Hmm it's kind of the inverse operation :P.  Don't think it's an important 
> path for the project, but I can do it after for the lulz :).

 This could allow extracting objects from broken images (that are unable to 
start)? That would be great!

BTW, this is a great project. Thank you!

Cheers,
Juan Vuletich

> > -- Pavel
> >
> > On Thu, Apr 26, 2012 at 1:00 PM, Guillermo Polito
> > <[email protected]> wrote:
> > > First public push of the first step of the hazelnut GSoC project :)
> > >
> > > In a nutshell
> > >
> > > For those who didn't know SystemTracer (the father):
> > > It is a tool that traces a graph of objects and writes an image from it.
> > >
> > > ImageWriter is a refactored, renamed and repackaged version of 
> > > SystemTracer2
> > > with the following changes:
> > > - The image format can be provided as a parameter.
> > > - You have to provide an SmalltalkImage object as root to write the image
> > > (so in the future we can write bootstrap with this).
> > > - The object format was reified in objects.  So the code is easier to
> > > understand + change, and people can learn how are our objects in memory
> > > easily :D.
> > >
> > > Right now, only 32 bit image format is supported.
> > >
> > > Structure
> > >
> > > - ImageWriter-Core has the image formats and the image writer in itself
> > > - ImageWriter-ObjectFormats contains objects that represent the memory
> > > layout of the objects and it's headers.
> > > - ImageWriter-Tests has some tests.
> > >
> > > Tests done
> > >
> > >  - Only tested in Pharo-1.4
> > >  - There are specific tests written for the size and headers of the 
> > > objects
> > >  - Also, I've written a Pharo-1.4 image and then run the tests in the 
> > > copied
> > > image.  Only one failure compared to the original :)
> > >
> > > Known Bugs :)
> > >
> > >  - WeakRegistryTest>>#testFinalizationWithOnFork is failing, and when I 
> > > run
> > > it manually it works :/.  In the image I use to write, it does not happen,
> > > only in the clone.
> > >  - When opening the new image, the window is too small.  It is not
> > > respecting the original image size.  Don't know yet what is the problem.
> > >
> > > How To Download
> > >
> > > Gofer it
> > >     squeaksource3: 'ImageWriter';
> > >     package: 'ImageWriter-Core';
> > >     package: 'ImageWriter-ObjectFormats';
> > >     package: 'ImageWriter-Tests';
> > >     load
> > >
> > > How to Use it
> > >
> > >   HzImageWriter new
> > >     format: HzCogImageFormat new; "or HzInterpreterImageFormat new"
> > >     imageFileName: 'someFile.image';
> > >     onInitializeDo: [ "Some initialization?" ];   "this is optional,
> > > probably the same as an startup script, probably nonsense"
> > >     writeImage: Smalltalk  "Yes, we provide the our lovely global 
> > > Smalltak,
> > > but any SmalltalkImage instance could be"
> > >
> > > Next steps on this direction
> > >
> > >  - support to write an isolated image different from the host one (I'll 
> > > know
> > > what I need later, hehe)
> > >  - class comments!
> > >  - metacello configuration
> > >  - better api :)
> > >
> > > Links
> > >
> > > http://ss3.gemstone.com/ss/ImageWriter.html
> > >
> > >
> > > Cheers,
> > > Guille

Cheers,
Juan Vuletich

Reply via email to