[Vm-dev] InterpreterSimulator

Eliot Miranda eliot.miranda at gmail.com
Sat Mar 12 15:15:25 UTC 2016

Hi Florin,

> On Mar 11, 2016, at 7:37 PM, Florin Mateoc <florin.mateoc at gmail.com> wrote:
>> On 3/11/2016 9:31 PM, Eliot Miranda wrote:
>> Then maybe we can pull you into some Sista work.  Eventually it will make sense to work in closed world translations, especially if, as Gerardo and Xavier did, one wants to write the VM in pure Smalltalk and have it translate itself (bootstrap itself) to external code.  But that may be quite an effort and be something we can collaborate on.  But right now the focus is on making what else have now fast and complete.  The "perfect" solution can wait until we can afford the opportunity cost.
> Well, if there is Sista work that does not involve C, I am interested in that as well

None of Sista involves C.  First, the vast majority of Sista is image level.  It is an SSA based analyser that rewrites bytecode methods to bytecode methods that include unsafe bytecodes.  Second, the JIT fir tgose bytecode methods is all Smalltalk and targets machine code via an abstract assembler-like intermediate language augmented with a model of the stack that also functions as a register allocator.

Sista is developed directly in Smalltalk with no limitations from Slang, or having to generate a VM.  It exists in the image just like the bytecode compiler.

The JIT is developed in the context of the VM simulator.  It does have to obey Slang's restrictions.  But machine code execution etc is via safe simulators such as Bochs so again the development experience is dynamic and safe.

C only enters the picture when generating and compiling a production VM and us a very small part of the overall experience.

More information about the Vm-dev mailing list