[Vm-dev] primitive external call

David T. Lewis lewis at mail.msen.com
Sun Jun 1 13:47:26 UTC 2014


On Sun, Jun 01, 2014 at 11:13:28AM +0200, Helmut Rohregger wrote:
> 
> 
> Am 31.05.2014 17:03, schrieb Bert Freudenberg:
> >The 'LargeIntegers' module is implemented by the class LargeIntegersPlugin 
> >in the VMMaker package.
> >
> >These modules can be linked into the VM executable itself ("built-in 
> >modules") or distributed as separate files ("external modules"). In the 
> >latter case they are dynamic libraries (DLLs on Windows, *.so files on 
> >Linux etc.)
> >
> 
> Are these modules written in Smalltalk and translated somehow to C code?
> 

Yes, that's right. In fact, some VM plugins are written entirely in Smalltalk
that is tranlated to C to produce the compiled VM. LargeIntegersPlugin is
an example of this.

Here are some links that will give you a better idea of how this works.

  The "Back to the Future" paper by Dan Ingalls et al:
  http://ftp.squeak.org/docs/OOPSLA.Squeak.html
  
  The VMMaker page on the swiki by Tim Rowledge:
  http://wiki.squeak.org/squeak/2105
  
  "A Tour of the Squeak Object Engine" also by Tim:
  http://www.rowledge.org/resources/tim%27s-Home-page/Squeak/OE-Tour.pdf

  The Cog Blog by Eliot Miranda:
  http://www.mirandabanda.org/cogblog/

  General information about the Squeak VM:
  http://squeakvm.org/index.html

You should definitely start with the Back to the Future paper. I find that
it is worth reading about once per year.

Dave



More information about the Vm-dev mailing list