J'ai récemment rencontré les concepts de registre de lien et de fonctions de feuille.Pourquoi ARM dit que "Un registre de liens prend en charge les appels de fonction feuille rapides"
Je comprends des précédentes lectures de SO que le LR indique où le code était précédemment pendant l'exécution. J'ai aussi appris qu'une fonction feuille est une fonction qui arrive à la fin de la hiérarchie des appels de fonction.
Un registre de liaison prend en charge les appels de fonction de feuille rapide.
Pourquoi cette affirmation est-elle vraie? J'ai regardé l'ARMARM (Architecture Reference Manual), et les informations sur le registre de liaison sont minimes.
Notez que les microarchitectures modernes ont tendance à avoir des piles de retour matérielles qui prédisent où retournera la fonction, permettant une exécution spéculative à travers le retour. Même les processeurs sans registre de liaison n'attendent pas que l'adresse de retour soit rechargée de la mémoire. – EOF