Dear happy Pharoers,
First we wish you a good 2021 year. We really hope that we will get out of this
situation.
On the Pharo side we have excellent news.
Pharo 90 is continuing to follow its roadmap and it will be another
version a massive amount of
improvements. We will mention them in the Pharo 90 announce but we can
cite a few: Spec2, new tools, new debugger framework,
better parser, general speedup, new optimisations, full block and clean
block closures, support for large images, new fluid class syntax, ...
The key and important advance is that the VM roadmap is delivering. We
have been working on the implementation of a MIT-licensed ARMv8
Just-In-Time compiler for Pharo VM. We are very happy with the
advance on this subject, as we have not only implemented a new backend but we
added more than 2500 tests to the JIT, the primitives, code
generation, plugins and the VM in general. In the process we fixed many
problems.
We are currently fixing ephemerons since they never really worked in
Pharo. We are stressing the infrastructure with more than 50000
ephemerons. Also, we are improving and cleaning up the primitive
invocation scheme to fix heap corruption issues, and fixing many open issues in
the VM.
Finally, we are working a lot to have a reproducible build in all the
platforms and easing the path to VM development,
we are still far from our objective but the improvements are starting
to show.
We are happy that following the roadmap that was decided during General
assembly of PharoDays is successful.
We have been investing in the Pharo VM and that our efforts are greatly paying
off.
This is the current status around the VM
- We implemented a full backend for the JIT compiler targeting ARMv8
(AARCH64)
- We launched the beta version for Windows, Linux and raspberry
of the new 64 JIT ARM.
- We are waiting to receive a new mac machine to be able to
test our new JIT on it.
- All the image side was adapted to run on it, tested on Ubuntu ARM 64
bits and Windows ARM.
- We have support for all third party libraries in these platforms:
Iceberg (Libgit) / Athens (Cairo) / SDL / GTK.
- We implemented a LibFFI-based FFI backend as the default one for
Pharo 9 in aarch64 (It is also present in other platforms, keeping the existing
one as fallback, e.g. used when the VM is not the latest).
- We revisited the complete compilation chain on Windows to use CMake
and avoid Cigwin dependency.
- We are starting to use OBS to build for multiple Unix and Linux
distributions (Debian-like is Done, More distributios to come).
- Many bugs on the VM have been fixed, for all these bugs tests have
been written to detect regressions and to to document the solution.
- We are always performing clean-ups of the VM base code: removing
dead-code and experiments from the main branch. All removed code is kept in the
history and it is accessible to revisit or to improve to the level that is
required to be integrated (e.g., Newspeak Support, Lowcode)
- We improved the implementation of Windows Network primitives, and we
have done a clean-up of the event handling code allowing an IDLE VM.
- We are starting to improve the JIT compiler. We are applying some
approaches developed in modern compiler such as bloc representation.
- We are working in statistics collection to characterize the behavior
of different components of the VM.
- We are planning to generate a set of benchmarks that correctly
represents the workload of applications using the VM (e.g, Web Server,
Interactive Applications, FFI intensive applications).
It means that in the near future we expect to be able to improve even more our
VM applying a scientific approach: measure, assess, improve.
- We expect that for Pharo 10, we will continue to clean the VM code
and be more agile.
- We will able to look again at Sista.
All these steps show that we are in much better situation. We drastically
reduce the truck factor around the VM.
It particularly means that the consortium now does not depend of the good will
and knowledge of other people.
We want to thank every member of the consortium.
Now we have a particular thank to Lifeware that renewed their contract and
Schmidt Buro for their original contract.
A last word — do not hesitate to contact us, we are here to help you growing
your business.
S. Ducasse on the behalf of the Pharo consortium
--------------------------------------------
Stéphane Ducasse
http://stephane.ducasse.free.fr <http://stephane.ducasse.free.fr/> /
http://www.pharo.org <http://www.pharo.org/>
03 59 35 87 52
Assistant: Aurore Dalle
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley,
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France
--------------------------------------------
Stéphane Ducasse
http://stephane.ducasse.free.fr / http://www.pharo.org
03 59 35 87 52
Assistant: Aurore Dalle
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley,
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France