Jasmin 2023.06.3
This is a minor release of Jasmin. Here is a brief description of a few of the changes it features.
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.