[squeak-dev] re: The solution of

Igor Stasenko siguctua at gmail.com
Fri Aug 8 13:49:53 UTC 2008


2008/8/8 Igor Stasenko <siguctua at gmail.com>:
> 2008/8/8 tim Rowledge <tim at rowledge.org>:
>>
>> On 7-Aug-08, at 11:21 AM, Igor Stasenko wrote:
>>>
>>>
>>> Maybe i was not precise (sorry for my bad English).
>>> SystemTracer alone doesn't provide any sophisticated means how to
>>> terminate a subgraph by replacing edges to something different,
>>> neither any criteria upon which edges can be replaced/removed etc.
>>> I mean, this is completely up to you - what objects will/can be placed
>>> in swapMap.
>>>
>> It gives you complete and total control over what goes into the wordarray
>> that will be written out as an image, not just what gets swapped or clamped.
>> Making a variant tracer that read a spec from XML (or whatever) and created
>> objects in the 'new OM' is entirely possible. The hardest part (from my
>> point of view) would be reading the xml and understanding it. Oh, and
>> designing the entire spec of an image in XML would be kinda amusing too.
>>
> No XML please.  :)
> Few lines of smalltalk code can do literally same as few megabytes of XML spec.
>
>> Much more sensible would be creating some tools in a decent language
>> (Squeak, duh) to allow us to define a class graph for the new image along
>> with specs for whole it all gets written out. Since the new objects would
>> not need to execute anything in the 'old' image there would be no problem
>> with compatibility. Then you create a script that writes out suitable
>> instances of the essential objects for the new image; you do not need to
>> have ever created them in the old image, though it may well be simpler to do
>> so in most cases.
>>
>> You could create an image with a totally different object format, image
>> layout, class tree, bytecode set, etc this way. And of course you could
>> modify the simulation code so that you could run it all before ever
>> compiling a 'real VM. That's what it is all there for.
>>
>
> Very good. Is it available somewhere (SystemTracer, not SystemTracer2)
> so i can download it as separate package?
>
> As you may guess, i'm not interesting in mutating object formats or
> bytecodes or whatever, but to define a small subset of image (either
> by creating a brand new objects or by reusing already existing
> objects) to be transferred into new image & run within new Hydra
> thread.
>
> In this regard, the most interesting to me - mentioned 'clamping'
> techniques seem completely wiped out from SystemTracer2.
>

Update:

i took a look on SystemTracer in squeak 3.2 image.
Things is not much different comparing to SystemTracer2 : what is
called 'clamping' in SytemTracer is literally same what is called
swapMap in SystemTracer2 - there are same thechnique behind it:
replace one oop with another during tracing.

This is not something, which gives an 'exceptional' boost for
producing smaller images - its just a most basic functionality.
Still, for the rest of things - i'm on my own :)


-- 
Best regards,
Igor Stasenko AKA sig.



More information about the Squeak-dev mailing list