Fwd: AW: Runtime obesity

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Fwd: AW: Runtime obesity

Colin Putney
I think Alejandro meant to send this to the list.

Begin forwarded message:

> From: "Alejandro F. Reimondo" <[hidden email]>
> Date: March 8, 2006 12:14:36 PM EST
> To: "Colin Putney" <[hidden email]>
> Subject: Re: AW: Runtime obesity
>
>
> Hi all,
>
>> Basically, the SystemTracer walks over some objects and writes them
>> to an image file. It's used for situations where a normal snapshot
>> isn't quite what you want. With Squeak it's used to convert between
>> image formats: the original conversion from Apple Smalltalk to Squeak
>> was done this way, for example, and more recently to convert images
>> for use with 64-bit VMs.
>
> The tracer is also used when you want to make a change
>  in a class that can´t be realized while there exists running
>  instances of the class (like a massive mutation of shape
>  of basic classes).
>
>> If I understand Alejandro's work correctly, he is doing a snapshot of
>> a subset of the system.
>
> yes, you are right!
> The child environment is dumped (walking down on referenced objects)
>  onto a new image file.
> The main diference with snapshot is that it is NOT a primitive
>  operation, and any change or refinement can be realized while  
> dumping.
> Also, any refinement to the tracer can be done by subclasification...
>
>> He builds up an image by adding objects to
>> it: a SystemDictionary, classes, methods, "cannonical" objects like
>> true, false, and nil, processes and their activation contexts, etc.
>
> Correct.
> Also a startup method can be used to build the running
>  process on child image.
> The mechanism I used for building child images, is a refinement
>  of traditional SystemTracer (adapted to cut links to parent
>  environment and do mutations required by target VM engines;
>  I used the gestation framework to build images
>  of another smalltalk platform)
>
> I must also say, that tools for testing the
>  child image while in "nutrition stage" are
>  important and a mechanism for automatic
>  migration of methods from parent to child
>  make the process more confortable (declarative
>  definition of a minimal system can be hard
>  and error prone). Also senders, implementors
>  & brwsers of child image are important tools
>  during development.
>
>> Then he runs a SystemTracer over these objects,
>> and writes them out  to an image file.
>> Alejandro, do you also convert to VisualSmalltalk's image format when
>> you run the SystemTracer?
>
> I couldn´t do that for VisualSmalltalk because
>  the image format is not known for me.
> If anyone knows the image format, I will be very happy
>  to implement a port to VS.
> It is also important for me to know the format of boot
>  SLLs of VisualSmalltalk; becasue I think that this technique
>  can be used to make interesting adaptions to VS for custom
>  uses like vs4web ( http://www.aleReimondo.com.ar/VS4WEB ).
>
> best,
> Ale.
>
>
>
> ----- Original Message -----
> From: "Colin Putney" <[hidden email]>
> To: "Vwnc" <[hidden email]>
> Sent: Wednesday, March 08, 2006 1:49 PM
> Subject: Re: AW: Runtime obesity
>
>
>>
>> On Mar 8, 2006, at 10:47 AM, Charles A. Monteiro wrote:
>>
>>> I am not familiar with the SystemTracer and I'm curious how it is
>>> different from "snapshoting" to a new image. Is it that with a
>>> SystemTracer one could actually "snapshot" a subset of the current
>>> image?
>>
>> Basically, the SystemTracer walks over some objects and writes them
>> to an image file. It's used for situations where a normal snapshot
>> isn't quite what you want. With Squeak it's used to convert between
>> image formats: the original conversion from Apple Smalltalk to Squeak
>> was done this way, for example, and more recently to convert images
>> for use with 64-bit VMs.
>>
>> If I understand Alejandro's work correctly, he is doing a snapshot of
>> a subset of the system. He builds up an image by adding objects to
>> it: a SystemDictionary, classes, methods, "cannonical" objects like
>> true, false, and nil, processes and their activation contexts, etc.
>> Then he runs a SystemTracer over these objects, and writes them out
>> to an image file.
>>
>> Alejandro, do you also convert to VisualSmalltalk's image format when
>> you run the SystemTracer?
>>
>> Colin
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: Fwd: AW: Runtime obesity

Charles A. Monteiro-2
So how hard would it be to port for starters the Squeak SystemTracer to VW?

On Wed, 08 Mar 2006 12:43:44 -0500, Colin Putney <[hidden email]>  
wrote:

> I think Alejandro meant to send this to the list.
>
> Begin forwarded message:
>
>> From: "Alejandro F. Reimondo" <[hidden email]>
>> Date: March 8, 2006 12:14:36 PM EST
>> To: "Colin Putney" <[hidden email]>
>> Subject: Re: AW: Runtime obesity
>>
>>
>> Hi all,
>>
>>> Basically, the SystemTracer walks over some objects and writes them
>>> to an image file. It's used for situations where a normal snapshot
>>> isn't quite what you want. With Squeak it's used to convert between
>>> image formats: the original conversion from Apple Smalltalk to Squeak
>>> was done this way, for example, and more recently to convert images
>>> for use with 64-bit VMs.
>>
>> The tracer is also used when you want to make a change
>>  in a class that can´t be realized while there exists running
>>  instances of the class (like a massive mutation of shape
>>  of basic classes).
>>
>>> If I understand Alejandro's work correctly, he is doing a snapshot of
>>> a subset of the system.
>>
>> yes, you are right!
>> The child environment is dumped (walking down on referenced objects)
>>  onto a new image file.
>> The main diference with snapshot is that it is NOT a primitive
>>  operation, and any change or refinement can be realized while dumping.
>> Also, any refinement to the tracer can be done by subclasification...
>>
>>> He builds up an image by adding objects to
>>> it: a SystemDictionary, classes, methods, "cannonical" objects like
>>> true, false, and nil, processes and their activation contexts, etc.
>>
>> Correct.
>> Also a startup method can be used to build the running
>>  process on child image.
>> The mechanism I used for building child images, is a refinement
>>  of traditional SystemTracer (adapted to cut links to parent
>>  environment and do mutations required by target VM engines;
>>  I used the gestation framework to build images
>>  of another smalltalk platform)
>>
>> I must also say, that tools for testing the
>>  child image while in "nutrition stage" are
>>  important and a mechanism for automatic
>>  migration of methods from parent to child
>>  make the process more confortable (declarative
>>  definition of a minimal system can be hard
>>  and error prone). Also senders, implementors
>>  & brwsers of child image are important tools
>>  during development.
>>
>>> Then he runs a SystemTracer over these objects,
>>> and writes them out  to an image file.
>>> Alejandro, do you also convert to VisualSmalltalk's image format when
>>> you run the SystemTracer?
>>
>> I couldn´t do that for VisualSmalltalk because
>>  the image format is not known for me.
>> If anyone knows the image format, I will be very happy
>>  to implement a port to VS.
>> It is also important for me to know the format of boot
>>  SLLs of VisualSmalltalk; becasue I think that this technique
>>  can be used to make interesting adaptions to VS for custom
>>  uses like vs4web ( http://www.aleReimondo.com.ar/VS4WEB ).
>>
>> best,
>> Ale.
>>
>>
>>
>> ----- Original Message -----
>> From: "Colin Putney" <[hidden email]>
>> To: "Vwnc" <[hidden email]>
>> Sent: Wednesday, March 08, 2006 1:49 PM
>> Subject: Re: AW: Runtime obesity
>>
>>
>>>
>>> On Mar 8, 2006, at 10:47 AM, Charles A. Monteiro wrote:
>>>
>>>> I am not familiar with the SystemTracer and I'm curious how it is
>>>> different from "snapshoting" to a new image. Is it that with a
>>>> SystemTracer one could actually "snapshot" a subset of the current
>>>> image?
>>>
>>> Basically, the SystemTracer walks over some objects and writes them
>>> to an image file. It's used for situations where a normal snapshot
>>> isn't quite what you want. With Squeak it's used to convert between
>>> image formats: the original conversion from Apple Smalltalk to Squeak
>>> was done this way, for example, and more recently to convert images
>>> for use with 64-bit VMs.
>>>
>>> If I understand Alejandro's work correctly, he is doing a snapshot of
>>> a subset of the system. He builds up an image by adding objects to
>>> it: a SystemDictionary, classes, methods, "cannonical" objects like
>>> true, false, and nil, processes and their activation contexts, etc.
>>> Then he runs a SystemTracer over these objects, and writes them out
>>> to an image file.
>>>
>>> Alejandro, do you also convert to VisualSmalltalk's image format when
>>> you run the SystemTracer?
>>>
>>> Colin
>>>
>>



--
Charles A. Monteiro

Reply | Threaded
Open this post in threaded view
|

Re: Fwd: AW: Runtime obesity

Alejandro F. Reimondo

(thank you Colin for forwarding
 my answer to the list)

> So how hard would it be to port for starters
> the Squeak SystemTracer to VW?

The format of the image file and how an object
 is stored in image must be known to implement
 the storage of each object in a new image file.
If a complete specification of the image file (and
 stored objects bits) are known, it is simple to
 adapt the tracer to any smalltalk version.

Most image formats have a header structure
 for storing special objects (oops for true, false,
 Smalltalk, nil, ... and other objects well known
 for the VM) and a sequential dump of objects (each
 object with a header with internal bits and
 object fields following the header).
The VM start an image loading the header and
 the dumped objects in memory; then continue
 execution of the startup process (or process
 running when the image was saved).

In some situations where the image is saved in binary
 format (as memory dump); the VM can support a flag
 in the header to signal a standard or blob format
 to perform the correct initialization of object spaces.

best,
Ale.



----- Original Message -----
From: "Charles A. Monteiro" <[hidden email]>
To: "Colin Putney" <[hidden email]>; "Vwnc" <[hidden email]>
Sent: Wednesday, March 08, 2006 2:57 PM
Subject: Re: Fwd: AW: Runtime obesity


> So how hard would it be to port for starters the Squeak SystemTracer to
VW?

>
> On Wed, 08 Mar 2006 12:43:44 -0500, Colin Putney <[hidden email]>
> wrote:
>
> > I think Alejandro meant to send this to the list.
> >
> > Begin forwarded message:
> >
> >> From: "Alejandro F. Reimondo" <[hidden email]>
> >> Date: March 8, 2006 12:14:36 PM EST
> >> To: "Colin Putney" <[hidden email]>
> >> Subject: Re: AW: Runtime obesity
> >>
> >>
> >> Hi all,
> >>
> >>> Basically, the SystemTracer walks over some objects and writes them
> >>> to an image file. It's used for situations where a normal snapshot
> >>> isn't quite what you want. With Squeak it's used to convert between
> >>> image formats: the original conversion from Apple Smalltalk to Squeak
> >>> was done this way, for example, and more recently to convert images
> >>> for use with 64-bit VMs.
> >>
> >> The tracer is also used when you want to make a change
> >>  in a class that can´t be realized while there exists running
> >>  instances of the class (like a massive mutation of shape
> >>  of basic classes).
> >>
> >>> If I understand Alejandro's work correctly, he is doing a snapshot of
> >>> a subset of the system.
> >>
> >> yes, you are right!
> >> The child environment is dumped (walking down on referenced objects)
> >>  onto a new image file.
> >> The main diference with snapshot is that it is NOT a primitive
> >>  operation, and any change or refinement can be realized while dumping.
> >> Also, any refinement to the tracer can be done by subclasification...
> >>
> >>> He builds up an image by adding objects to
> >>> it: a SystemDictionary, classes, methods, "cannonical" objects like
> >>> true, false, and nil, processes and their activation contexts, etc.
> >>
> >> Correct.
> >> Also a startup method can be used to build the running
> >>  process on child image.
> >> The mechanism I used for building child images, is a refinement
> >>  of traditional SystemTracer (adapted to cut links to parent
> >>  environment and do mutations required by target VM engines;
> >>  I used the gestation framework to build images
> >>  of another smalltalk platform)
> >>
> >> I must also say, that tools for testing the
> >>  child image while in "nutrition stage" are
> >>  important and a mechanism for automatic
> >>  migration of methods from parent to child
> >>  make the process more confortable (declarative
> >>  definition of a minimal system can be hard
> >>  and error prone). Also senders, implementors
> >>  & brwsers of child image are important tools
> >>  during development.
> >>
> >>> Then he runs a SystemTracer over these objects,
> >>> and writes them out  to an image file.
> >>> Alejandro, do you also convert to VisualSmalltalk's image format when
> >>> you run the SystemTracer?
> >>
> >> I couldn´t do that for VisualSmalltalk because
> >>  the image format is not known for me.
> >> If anyone knows the image format, I will be very happy
> >>  to implement a port to VS.
> >> It is also important for me to know the format of boot
> >>  SLLs of VisualSmalltalk; becasue I think that this technique
> >>  can be used to make interesting adaptions to VS for custom
> >>  uses like vs4web ( http://www.aleReimondo.com.ar/VS4WEB ).
> >>
> >> best,
> >> Ale.
> >>
> >>
> >>
> >> ----- Original Message -----
> >> From: "Colin Putney" <[hidden email]>
> >> To: "Vwnc" <[hidden email]>
> >> Sent: Wednesday, March 08, 2006 1:49 PM
> >> Subject: Re: AW: Runtime obesity
> >>
> >>
> >>>
> >>> On Mar 8, 2006, at 10:47 AM, Charles A. Monteiro wrote:
> >>>
> >>>> I am not familiar with the SystemTracer and I'm curious how it is
> >>>> different from "snapshoting" to a new image. Is it that with a
> >>>> SystemTracer one could actually "snapshot" a subset of the current
> >>>> image?
> >>>
> >>> Basically, the SystemTracer walks over some objects and writes them
> >>> to an image file. It's used for situations where a normal snapshot
> >>> isn't quite what you want. With Squeak it's used to convert between
> >>> image formats: the original conversion from Apple Smalltalk to Squeak
> >>> was done this way, for example, and more recently to convert images
> >>> for use with 64-bit VMs.
> >>>
> >>> If I understand Alejandro's work correctly, he is doing a snapshot of
> >>> a subset of the system. He builds up an image by adding objects to
> >>> it: a SystemDictionary, classes, methods, "cannonical" objects like
> >>> true, false, and nil, processes and their activation contexts, etc.
> >>> Then he runs a SystemTracer over these objects, and writes them out
> >>> to an image file.
> >>>
> >>> Alejandro, do you also convert to VisualSmalltalk's image format when
> >>> you run the SystemTracer?
> >>>
> >>> Colin
> >>>
> >>
>
>
>
> --
> Charles A. Monteiro
>