Logiciels Libres et Systèmes Embarqués


6. Gestion des registres

Nous voila déjà à l'avant dernier chapitre... Si vous avez regardé le code source de R3KCompiler, vous avez dû remarquer l'allocateur de registre (c'est la première fonction). C'est en fait un dédicateur de registres dans le sens où lorsqu'une variable est affectée à un registre, c'est de manière définitive... Le seul moyen de libérer un registre est d'utiliser le mot clef free :

free iterator

Mais il faut être sûr de ce que l'on fait !!! Je n'ai mis cette fonctionnalité juste pour me simplifier la vie, elle devrait être interdite ! En effet, imaginez qu'on libère une variable, avec les sauts, on ne peut pas prédire facilement si c'est le même registre qui sera utilisé[2]...