Happy New Year and Pharo 90 good news.

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Happy New Year and Pharo 90 good news.

Stéphane Ducasse
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
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
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