ObjectAsMethods, MethodWrappers, and #perform:

Markus Gaelli gaelli at emergent.de
Tue Apr 20 07:18:54 UTC 2004


Hi Romain,

> 	I've implemented a MethodWrapper (using Markus' ode, using Andreas' 
> in turn),
> which catches and report to a registry the argument and return types 
> of all wrapped
> messages.
Did you have a look on Robert Hirschfelds MethodWrappers as he is 
explicitly excluding lots of messages which give problems when wrapped 
due to recursiveness?
I did not include that mechanism yet but I am afraid, that it is 
neccessary, as it is easy to crash otherwise.

On the other hand you could also do a lot with
	 ContextPart >> runSimulated: aBlock contextAtEachStep: block2

I am using this mechanism now for my experiments and it works quite 
well. (Though inlined methods are not detected, like in the normal 
debugger...)
If you are interested, I can send you the code so far.
> So I have to deal with the perform problem : it seems that wrapped 
> method
> can't be performed, they are failing.
>
> So I'd like to know if there is a way to have perform work (Markus, 
> you said that you were working on a vm change ?), or to know when 
> accurately when a perform has occured and
> failed, or when a perform is about to occur.
As far as I know Tim included the existing change in the latest 
VM-maker, but the vms are not yet official.
Tim wrote April the 1st:
>> The latest VMMaker package is now available on my website.
>>
>> This is for 3.7 and is the second beta release. For now (due to lack 
>> of
>> effective sourceforge access) you will have to also fetch 
>> CrossPatch.zip
>> and put the three files it contains into your copy of
>> platfors/Cross/vm. If someone (Ned perhaps?) could upload the files it
>> would be useful.
>>
>> Go to http://sumeru.stanford.edu/tim/pooters/SqFiles/packages/VMMaker
>> and grab VMMaker3-7b2.sar and CrossPatch.zip
>>
>> This is experimental. VMs built from this code have been tried on
>> several platforms with apparent success. That doesn't mean there will 
>> be
>> no problems. Performance seems to be slightly improved according to
>> tests so far. I have not seen nor heard of any crashes caused by the
>> new code.
>>
>> It is NOT currently on SM since it is not yet the official release.
>>
Cheers,

Markus




More information about the Squeak-dev mailing list