Release 2023.06.3 of the Jasmin compiler

A new version of the Jasmin compiler has just been released. It features many exciting changes. Here is a brief description of a few of them.

Programmers no longer need to prove that memory accesses and (direct) array accesses are properly aligned. Jasmin programs have a well-defined semantics even if unaligned accesses occur.

The checker for Constant-Time security is now available as a separate jazzct tool. It also ensures that division and modulo operators may only be used with public arguments.

To better understand register-allocation issues, the new command-line option -pliveness displays the program annotated with liveness information.

The compiler now warns when some variable declarations are not used or shadow any earlier declaration.

Namespaces allow reusing names: two things may have the same name, as long as they belong to different namespaces. This feature can also be abused to reuse implementations, but it is not advised to do so.

Many smaller fixes and additions have also been incorporated in this minor release. Relevant details can be found through the CHANGELOG.