Tips for making the most of 64-bit architectures in langage design,
  libraries or garbage collection
Benoît Sonntag Dominique Colnet
The 64-bit architectures that have become standard today offer unprecedented
low-level programming possibilities. For the first time in the history of
computing, the size of address registers far exceeded the physical capacity of
their bus.After a brief reminder of the possibilities offered by the small size
of addresses compared to the available 64 bits,we develop three concrete
examples of how the vacant bits of these registers can be used.Among these
examples, two of them concern the implementation of a library for a new
statically typed programming language.Firstly, the implementation of
multi-precision integers, with the aim of improving performance in terms of
both calculation speed and RAM savings.The second example focuses on the
library's handling of UTF-8 character strings.Here, the idea is to make
indexing easier by ignoring the physical size of each UTF-8 characters.Finally,
the third example is a possible enhancement of garbage collectors, in
particular the mark \& sweep for the object marking phase.