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 >> > |
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 |
(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 > |
Free forum by Nabble | Edit this page |