Remotely evaluate bytecode

Andreas Raab andreas.raab at gmx.de
Tue Nov 20 18:33:57 UTC 2007


Bergel, Alexandre wrote:
> I was wondering whether there has been some attempts in dispatching 
> bytecode instructions to several virtual machine.

Unless I'm missing something I cannot see how this could possibly work 
on a bytecode level - given that most bytecodes are strictly serial in 
nature (by manipulating the stack or by relying on having something on 
the stack already) it seems like there is nothing to be gained at this 
level.

For example, consider "ivar := temp", e.g., a push temp followed by a 
pop ivar bytecode. While you may be able to *dispatch* them to different 
VMs (CPUs, cores) you can't execute the second instruction before the 
first one completed. The same goes, say for "self foo: temp" which would 
be represented by push self, push temp, send #foo:. None of the 
instructions can be executed in parallel (the second push depends on the 
stack pointer being modified by the previous push, the send depends on 
both values being on the stack).

Or do you have something different in mind? If so please elaborate.

> What would be a Squeak for multi-core cpu?

Did you miss all the recent discussions? Lengthy threads can be found 
here (the last link is my personal proposal for how multi-core Squeak 
will look like):

http://lists.squeakfoundation.org/pipermail/squeak-dev/2007-October/121560.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2007-October/122043.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2007-October/122180.html

Cheers,
   - Andreas



More information about the Squeak-dev mailing list