[Vm-dev] VMMaker small problem for pharo developper
siguctua at gmail.com
Thu Mar 18 13:20:32 UTC 2010
On 18 March 2010 14:06, Henrik Johansen <henrik.s.johansen at veloxit.no> wrote:
> 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:
>>> 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 :)
Sorry, i missed the whole discussion around that fix, so i can't guess
what would be best solution.
Or why you had to make VM to behave differently than for Pharo than for Squeak.
My only guess, that a proper solution would be to propose fix for VM,
then do appropriate fixes in squeak and pharo.
Otherwise, we're going to fork VMs, with all consequences.
Igor Stasenko AKA sig.
More information about the Vm-dev