適用範囲:DS-5, RealView Development Suite (RVDS)
リーフ関数はコールツリーの末尾にある関数の分類名です。
上記の図では関数f2, f3, f6, f7およびf9がリーフ関数です。
これらの関数はf1, f5およびf8の関数からそれぞれ呼ばれますが、それら関数自身は呼び出しを行いません。
ARM Application Binary Interfaceでは全ての"外部から見える範囲で"スタックが8バイトアラインである必要があると定められています。例えば、1つの関数が他を呼び出す場合です。定義によると、リーフ関数は他の関数を呼び出さないので、8バイトのスタックアライメントを保持する必要がありません。
リーフ関数がどのようなものであるか覚えておくために、落葉樹の写真をイメージしてください。葉(リーフ)から先に枝や、小枝が生えることはなく、葉は連鎖の一番最後にあるものです。