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.htmlhttp://lists.squeakfoundation.org/pipermail/squeak-dev/2007-October/122043.htmlhttp://lists.squeakfoundation.org/pipermail/squeak-dev/2007-October/122180.htmlCheers,
- Andreas