C'est certes efficace, mais ça reste un abus des stack frames.

(Cela dit, l'utilisation prévue n'est en général pas avantageuse, cf.
-fomit-frame-pointer.)
Les désavantages d'un stack frame global sont les mêmes que ceux d'autres formes de variables globales: ce n'est pas modulaire (n'importe quelle fonction peut les modifier à n'importe quel moment), les fonctions récursives n'ont qu'une seule copie des variables etc.