[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