Dear happy Pharoers and others, 

Over the last months 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 have 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. 
It shows that following the roadmap that was decided during General assembly of 
PharoDays, we have been investing in the Pharo VM and that 
our efforts are greatly paying off. 
Also, we are generating a lot of documentation and improving the process to 
really democratize the development of the VM. 
So Pharo is a better shape than ever on such matter and this opens a lot of 
possibility for the future. 

## Call for Beta-Testers

We would like to announce that a first version of our JIT backend is available 
for beta-testing for ARM Linux machines using Ubuntu. 
We are now entering into a beta testing stage of the VM and the image in Ubuntu 
ARM 64.
We would like to invite you to our beta testing phase for the VM. If you're 
interested in participating, 
please contact pablo.tes...@inria.fr.

The following sections give more details of the current status, and the 
following steps including Apple Silicon, Windows ARM64 and Linux Open Build 
System support.

## Current Status

Our objective is to have a running JIT for the new aarch64 architecture (ARM 
64bits). This task includes not only a new backend for the JIT compiler but 
also adding support for external libraries, dependencies and the build process. 
This means having a working VM with comparable features as the one existing in 
Intel X64. We are targeting all the major operating systems running in this 
platform (Linux, OSX, Windows).
Each of them present different restrictions and conditions.

This is the current status:

- We implemented a full backend for the JIT compiler targeting aarch64.
- All the image side was adapted to run on it, tested on Ubuntu ARM 64 bits. 
- We added support for: Iceberg (Libgit) / Athens (Cairo) / SDL / GTK
- We implemented a LibFFI-based FFI backend as the default one for Pharo 9 in 
aarch64 (next to come in all platforms). 
This opens the door to ease port the features to other platforms and OSes. 

## Following Steps and Open Betas: Linux Open Build System (OBS), Windows ARM64 
and Apple Silicon

Linux Systems: In the following days, we will also support Raspbian (Debian) 
and Manjaro on ARM64. For doing so, we are pushing the last details in having a 
single Linux build system through OBS. So, if you want to start doing 
beta-testing of these versions please contact us. A public beta will be open in 
around two weeks.

Windows Systems: We have extended the build process to fully support Microsoft 
Visual Studio compilers and more flexibility to select the targets, also we are 
building it to run in Windows ARM. To correctly run the VM in Windows it is 
needed to build all dependencies for aarch64. In the following weeks, we expect 
to have a working Non-JIT version and a JIT version. The remaining points to 
have a JIT version are related with the build process as the API of the 
operating system has not changed from X64 to aarch64.

OSX Systems: Our third target is to have a working version for the newest Apple 
silicon. We are acquiring the corresponding hardware to test and to address the 
differences in the API exposed to JIT applications. As it is the case of the 
Windows VM, there is not need to change the machine code generation backend; 
but to compile external libraries, and particularities of the new OS version.

Thanks for your support, and again, if you like to start beta testing the VM 
please contact us. In the meantime, we will continue giving you news about the 
current state and where are we going. 

The consortium would like to particularly thank Schmidt Buro and Lifeware for 
their contracts. 

Regards,

Pablo in behalf of the Pharo Consortium Engineers
--------------------------------------------
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