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

Reply via email to