[Vm-dev] InterpreterSimulator

Eliot Miranda eliot.miranda at gmail.com
Tue Mar 8 21:33:58 UTC 2016

Hi Florin,

On Tue, Mar 8, 2016 at 12:46 PM, Florin Mateoc <florin.mateoc at gmail.com>

> Hi,
> Does anybody know the current status of the various simulators?

I can vouch for the simulators in VMMaker.oscog.
StackInterpreterSimulator and CogVMSimulator work.  InterpreterSimulator is
extremely unlikely to any more.

Even the classes are a bit confusing, since their class comments are just
> copied and pasted from their
> siblings/ancestors, so I cannot figure out what is current and what is
> used for what.

They're not in VMMaker.oscog (which is on http://source.squeak.org/VMMaker).
CogVMSimulator's comment is quite different from
StackInterpreterSimulator.  In fact, they could do with being made a little
more similar ;-)

Could some kind soul please summarize which images are supposed to be run
> by which simulator? E.g. is
> InterpreterSimulator (and subclasses) still being used/working?

Not in VMMaker.oscog.  The Interpreter there-in hasn't been touched for
many years.  We have a task when time allows to merge
Interpreter[Simulator] from VMMaker with Interpreter[Simulator] from
VMMaker.oscog, so that for example we can have a Spur context interpreter.

More concretely, I tried to run StackInterpreterSimulator on a 4.5 image,
> since it does not support the current image
> format, but I keep hitting various errors. A particularly confusing kind
> is that NewObjectMemory refers sometimes to its
> interpreter instvar, sometimes to its coInterpreter instvar (sometimes to
> both in the same method), even though only the
> coInterpreter instvar is initialized. Does it need both instvars, and if
> so, what are their roles and how should they be
> initialized?

In VMMaker.oscog that's not the case.

StackInterpreterSimulator allInstVarNames select: [:v| '*terpreter*' match:
v] #('interpreterProxy')

If what you want is to work with the current Squeak, Pharo or Newspeak VMs
then you need to be using VMMaker.oscog.  The latest version is

Name: VMMaker.oscog-nice.1713
Author: nice
Time: 5 March 2016, 3:15:22.817 am
UUID: ac270981-d3ba-4c42-a2b1-3a83693776be
Ancestors: VMMaker.oscog-nice.1712

The size of [unsigned] long long was not infered...

VM fool proofing:

Fix a missing guard in SmartSyntaxPlugin like explained at

Fix two missing guards in VM profiling primitives: one should not use the
result of stackObjectValue: before checking for success, otherwise a null
pointer exception will occur in case of failure.

Thank you,
> Florin

best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20160308/49c8192f/attachment.htm

More information about the Vm-dev mailing list