呼ばれた側の処理
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/03/30 08:24 UTC 版)
呼ばれたサブルーチンでは、最初にサブルーチンプロローグ(英語版)と呼ばれるコードを実行する。そこで実際のコードを実行する前に行わなければならない細々とした処理を行う。 プロローグでは、一般に呼び出し命令が所定のレジスタに置いたリターンアドレスをコールスタックにpushする。同様に現在のスタックポインタかフレームポインタ(あるいは両方)をpushする。命令セットアーキテクチャによってはこれらが呼び出し命令の一部として実行され、そのような環境ではプロローグですべきことは無い。 フレームポインタを使っている場合、プロローグではフレームポインタに新たな値をセットする(スタックポインタの値を活用する)。局所変数の領域は必要に応じて徐々にスタックポインタを変化させて確保していく。 FORTH言語ではコールスタック(リターンスタック)を明示的にワインドすることができる。Scheme言語では「動的ワインド dynamic wind」という機能があり、スタック上に特殊なフレームをワインドすることができる。
※この「呼ばれた側の処理」の解説は、「コールスタック」の解説の一部です。
「呼ばれた側の処理」を含む「コールスタック」の記事については、「コールスタック」の概要を参照ください。
- 呼ばれた側の処理のページへのリンク