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