[Vm-dev] primitive external call

tim Rowledge tim at rowledge.org
Mon Jun 2 03:20:57 UTC 2014


On 01-06-2014, at 6:47 AM, David T. Lewis <lewis at mail.msen.com> wrote:

> 
> 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.

You can also write the code all in C (or any other language with compatible calling rules) or any mix. Some of the bitbltplugin is written in ARM assembler, for example. Well, for the Raspberry Pi.

tim
--
tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
"How many Motie Warriors does it take to change a lightbulb?" "None. One of the dead ones will do it."




More information about the Vm-dev mailing list