[Vm-dev] RSqueak/VM 0.2 release

Tim Felgentreff timfelgentreff at gmail.com
Sat Dec 24 12:13:25 UTC 2016


Hi,

just in time for Christmas, we're releasing RSqueak/VM version 0.2. This is
another alpha-quality release for the brave.

Bundles with prepared images can be found at
https://www.hpi.uni-potsdam.de/swa/artefacts/rsqueak/bundle/RSqueak.tar.gz
<https://www.hpi.uni-potsdam.de/hirschfeld/artefacts/rsqueak/bundle/RSqueak.tar.gz>
or https://www.hpi.uni-potsdam.de/swa/artefacts/rsqueak/bundle/RSqueak.zip
<https://www.hpi.uni-potsdam.de/hirschfeld/artefacts/rsqueak/bundle/RSqueak.zip>.
These start with a Help browser to explain a bit about RSqueak/VM and some
of the features we have.

This release includes many bug fixes, performance improvements, and new
features.
- We are now closer to using RSqueak/VM for development, but our main
objective is still to make code fast that we think is likely to be run in
production, rather than at development time. We run benchmarks every day on
http://speed.squeak.org/.
- We have added and are currently working on optional, non-standard plugins
that enable tail-call optimization, JIT profiling, and integration of a
Ruby and a SQLite runtime directly with the VM and its JIT (so code across
the language boundaries is also JITed).
- We have worked to improve RSqueak/VM's test coverage with unit tests from
previously ~50% to over 80%. This helps us give students a more reliable
base to work against in our teaching with RSqueak/VM and is also meant to
make it easier for other new contributors to approach the code base (over
30% of the code is now in tests).
- Since the first alpha release, we have fixed many bugs and crashes, and
are now able to run all but two tests in the default Squeak image. Of the
two tests that do not work, one segfaults (TestValueWithinFix) and one
hangs (SUnit>>testTimeoutLoop). Of the remaining tests (~4500) about 300
produce errors (many due to incomplete features, such as Sockets) and about
200 fail (some of those failures assert things that we believe should not
be part of the language definition, but that's another story).

As before, RSqueak/VM is still being tested on a regular basis to work with
images starting with Squeak 2 (the mini.image) up to the most recent Spur
images. We still do not include BitBlt or Balloon as plugins, so we rely on
the Slang code or some other fallback code for those plugins to be loaded
into the image. As of now, running those plugins in Smalltalk rather than
compiling them as a plugin can be between 5-100x slower compared to Cog,
with 32-bit operations being on the faster end of that spectrum and
blitting between different color depths (some bitmapped fonts are 16-bit)
being on the slower end.

All RSqueak/VMs by default work with 32-bit images, so even the 64-bit VMs
for Linux and macOS run off a 32-bit image. Image saving for older image
versions is still in its early stages, so make sure to have backups of any
image you test.

The bundle only includes 64-bit Linux, 64-bit macOS, and 32-bit Windows
VMs. 32-bit x86 and ARM VMs for Linux are available separately from our
Github page: https://github.com/HPI-SWA-Lab/RSqueak

Season's Greetings and a Happy New Year
from the people at HPI's Software Architecture Group
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20161224/87c84ad5/attachment.html>


More information about the Vm-dev mailing list