[Vm-dev] VMMaker small problem for pharo developper

Henrik Johansen henrik.s.johansen at veloxit.no
Thu Mar 18 12:06:13 UTC 2010

On Mar 18, 2010, at 11:20 39AM, Igor Stasenko wrote:

> On 18 March 2010 12:11, Jean Baptiste Arnaud <jbaptiste.arnaud at gmail.com> wrote:
>> hi,
>> I have see the immutability bit implementation and i think, it can be easily integrate in the actual VM, the main problem is VMMaker, especially the difference existing between Pharo and Squeak, using VMMaker on Pharo imply to patch it (only small difference, deprecated method, changing method name ), then the main problem is i can change the VM on pharo without creating a incompatible VM for squeak(cause of the patching).
>> Then i just want to find a solution to have exactly the same version of VMMaker on squeak and pharo. then if someone want to contribute, he can, regardless of this environment .
>> Then i want to contribute, but i can't.
>> any solution ?
> VMMaker is a standalone project.
> -- 
> Best regards,
> Igor Stasenko AKA sig.

Almost, but not entirely. 
Certain plugins have their methods implemented in the base image, such as MiscPrimitivePlugin>>primitiveFindSubstring .
When the method containing the actual implementation is renamed (as was done in Pharo, and is what Jean Baptiste refers to) the translatedPrimitives mapping in VMMaker no longer works. 

The renaming was done to avoid changing all users of findSubstring: in: startingAt: matchTable: , since the primitive returns erroneous results if the substring is a WideString. 
In Squeak, (well, code is the same in Pharo actually), senders have instead been rewritten to contain guard clauses checking classes of arguments... 
Let's just hope someone not familiar with the bug decides to use the method for something else, and forgets to add a clause :)


More information about the Vm-dev mailing list