Bring RoarVM-ideas to the standard SqueakVM stack-interpreter

Mentor: Stefan Marr
Second mentor:
Level: Advanced
Invited students:
Students interested: vipin tiwari(very), Lars Wassermann


The RoarVM uses a simple static approach to parallelism. The number of cores that are used is defined at startup time which allows to decrease the necessary complexity for thread support significantly. This approach could be applied relatively straightforwardly to the Squeak interpreter and eventually the CogVM. Existing libraries and approaches can be reused, but need to be ported to Squeak's Slang-based implementation.

Technical Details

Since the RoarVM is implemented in C++, the main part is to identify where which part of the RoarVM belongs in the Slang implementation. Furthermore, some of the libraries need to be translated from C++ to slang.

Benefits to the Student

Getting a deeper knowledge of a bytecode interpreting VM and low-level concurrency and performance issues.

Benefits to the Community

Enabling parallel execution of Smalltalk on a 100% compatible platform that has the same performance characteristics as the current VMs.

Updated: 18.3.2012