[Vm-dev] [commit][3673] Provide VM hooks for testing Integer class in plugins

Eliot Miranda eliot.miranda at gmail.com
Thu Apr 21 16:45:41 UTC 2016


Hi Bert, Hi David,


> On Apr 21, 2016, at 6:32 AM, Bert Freudenberg <bert at freudenbergs.de> wrote:
> 
>> On 21.04.2016, at 03:33, David T. Lewis <lewis at mail.msen.com> wrote:
>> 
>> SmartSyntaxInterpreterPlugin
>> was designed to make it easy for end users to write plugins (*) without
>> needing to worry about type declarations and stack organization. 
>> 
>> (*) I still think this is a very worthwhile objective, and I think
>> we should make it easier for ordinary users to write plugins and
>> primitives. If you care about reliability and maintainability, it's
>> hard to beat a plugin. But for some reason, people think it is hard
>> to do. It should not be hard to do, it should be easy.
> 
> +100
> 
> - Bert -

100% agreed on both points.  We're /not/ changing the programmer API for plugins.  We're changing the plugin compiler to get much more performance (and we're talking about a factor of two here, not a few percent).  The generated C is more complicated, but only in the declaration of the VirtualMachine API, not in the primitive functions themselves which are unchanged. Igor and I first eliminated the double indirection to call VM functions through the VirtualMachine table of functions from internal and external plugins.  This set of changes then eliminates the overhead of looking up certain key classes in the specialObjectsArray and class table.  All of this without changing how programmers write plugin primitives or how Slang generates the C functions implementing those primitives.

So worry not.


More information about the Vm-dev mailing list