[Pharo-project] sqInt setCompilerInitialized(sqInt newFlag)

Igor Stasenko siguctua at gmail.com
Sun Feb 20 17:42:30 CET 2011


On 20 February 2011 08:59, Stéphane Ducasse <stephane.ducasse at inria.fr> wrote:
> Tx
>
>> Hi Stéf,
>>
>>     it is an initializer for the old jitter VM.
>
> which one?
> The one that marcus worked on with Ian in 2001?
>
>>  It is not used and simply set to zero in the Cog VMs.  It is still included in sqVirtualMachine.c because that's the way that interface works (that VirtualMachine is a struct of function pointers).
>
> I did not get it.
>
the virtual machine public interface is a list of function pointers in
specific order.
You can't remove something from list, otherwise it will become
non-compatible with older versions.
Therefore you can only add new function pointers to the end of list.

The problem is that plugin assuming that if VM has greater version
than it was compiled once, its API is backwards compatible.
I think we should move away from this binding, and use name lookup
mechanism, which i implemented in Hydra.
Plugin just asks VM for providing a function with given name. If there
is no such function, plugin will fail to initialize and refuse to
work.
So, this means that pluign don't needs to be bound to VM version anymore.


-- 
Best regards,
Igor Stasenko AKA sig.




More information about the Pharo-project mailing list