[squeak-dev] VM artefacts

tim Rowledge tim at rowledge.org
Mon Feb 4 22:21:19 UTC 2013


On 04-02-2013, at 2:05 PM, Eliot Miranda <eliot.miranda at gmail.com> wrote:
> I'm still not sure I understand the question.  Yes, you can run "one" VM on the three platforms, in fact any one.  Cog runs on all three.  The Interpreter runs on all three.  The StackVM runs on all three.  No, you can't have _just one_ VM because each VM executable is specific to a given OS/processor combination.
> 
> So what are you really asking?  Do you want the "all-in-one" which has three VMs hidden inside it?  Do you want a universal binary?  Or what?

I suspect the thought is that having a 'single' VM that can choose an appropriate core at runtime is desirable. I'm not sure what benefits he is after here; after all if the cog vm can run on your machine, why use either of the others?

On the other hand, I've been trying to interest people in a modular pluggable vm core since I talk to Schiffman about it in '88. It's not a slam-dunk that it is actually worth it these days, since the idea was to allow loading up a simple, slow but fast to start vm and allow cleverer modules to take over if a policy decided that it was worth swapping to a translator (ie this isn't a three seconds and quit script) or a different GC (ie this is a long running job and the machine has oodles of memory or this one has relatively little memory with no virtual mem but it is very fast access). I think it was a more interesting idea in the days when the CPU space wasn't so small. 

tim
--
tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
Strange OpCodes: RJT: Read and Jam Tape




More information about the Squeak-dev mailing list