Interpreter Plugins
Ken Dickey
kend at apple.com
Fri Apr 10 00:16:14 UTC 1998
>Even more, we could build customized VMs for certain application domains
>which might not include networking, sound, or even file support (if its
>running a bare chip system). Also, adding new stuff would be probably much
>easier - you would not have to modify the Interpreter but could just
>create a new plugin which can be translated into C code. Finally, a lot of
>duplicate work could be removed by the plugins because if each new
>Interpreter implementation implements the plugin interface it should run
>immediately. BTW, I think that the sqUserPrims.h file already gives a good
>impression about what is needed to access the Interpreter from such a
>plugin.
>
>Comments?
Andreas,
I tried a couple of years ago to get the Java(Soft) folks interested in
pluggable VMs to be able to run Smalltalk, etc. on the Java VM. I guess
it was not really in their interest. But we could certainly do the
reverse trick! The basic idea is to register VMs then have special
'switch' bytecodes to dynamically swap between bytecode dispatchers (e.g.
for page layout, mathematics, Java, etc., etc.). The VMs--you could
think of them as custom microcode machines--could even be dynamically
loaded, at least on systems which support dynamic loading. It is very
modular and if you can keep a VM small enough to stay in cash, probably
as fast as native code.
Hey, I like the idea. So it must be good! 8^)
Cheers,
-Ken
More information about the Squeak-dev
mailing list
|