[Vm-dev] discuss: [Squeak 0001144]: [ENH]
SmartSyntaxInterpreterPlugin
Martin Kuball
martinkuball at web.de
Sat Aug 19 19:17:11 UTC 2006
Hi!
I know this is more than a year in the past. But some things take
their time and I'v just now resumed my work on the Xvid plugin.
When evaluating my sugested changes, Andreas made the following
comment:
> The main reason for concern is that this creates a dangerous
> precedent for plugins. Thus far, all plugins have been "safe" in
> such that they were used with unforgeable object references.
> Allowing arbitrary pointers in *plugin* interfaces means that the
> whole idea of "plugins are secure, FFI is not" becomes moot.
>
> Suddenly we need to be aware which plugins abuse what pointers and I
> think we should really avoid this. I have not looked at the specific
> reason for wanting to pass a pointer instead of an object reference
> but the only reason I can imagine is that the pointer was
> originally obtained by some FFI call. In which case I'd say "stick
> with FFI" instead of plugins (after all it's no harder to export a C
> function from a plugin than to write the named primitive).
>
> There are no good reasons that I can think of to suddenly start
> using C pointers in plugins (lazyness on behalf of the plugin writer
> does not count) and there are many good reasons against it.
Unfortunately I do not realy understand his arguments. From the code
of the plugins that come with VMMaker I can see that there are
plugins that use c-pointers and do pass them to smalltalk. E.g. the
Mpeg3 Plugin does it and the OsProecess plugin is another example.
I would be very glad if someone could explain to me what is allowed
and what is forbidden regarding this matter.
Thanks.
Martin
More information about the Vm-dev
mailing list