NumberedPrimitives must die! (Was: Re: [Vm-dev] VM Maker: VMMaker.oscog-topa.1900.mcz)

tim Rowledge tim at rowledge.org
Mon Jul 11 17:59:16 UTC 2016


> On 11-07-2016, at 10:49 AM, Levente Uzonyi <leves at caesar.elte.hu> wrote:
> 
> IIRC numbered primitives are still a lot quicker (in some important cases), because they can directly access the VM internals. I may be wrong though.

Nah, once the primitive is ‘captured’ and the function pointer is installed in the appropriate place there is no difference at all. The only difference these days is that *external* modules are a tiny bit slower because they have to go via the interpreterProxy to  query or set vm stuff. Internal modules directly pillage the vm. I *think* that it’s an OS issue really - for example it would be easy under RISC OS to make external modules use the same approach as internal ones and the runtime loader would deal with the connecting of addresses. Surely other OSs could do something like that?

It’s not the number/name difference that is important here.

tim
--
tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
Strange OpCodes: REP: Randomly Execute Programmers




More information about the Vm-dev mailing list