JADA099C February 2019 – March 2026
抽象的に見ると、すべてのアンワインドのシーケンスは次のような手順を踏みます。
ステップ 1:SP を復元する
実際のエピローグでは、呼び出し先保存レジスタを復元されるまでは SP は復元されませんが、スタック アンワインドは仮想的な処理であるため、TDEH によるシミュレーション アンワインドでは先に SP の復元を行うことがあります。この仕組みにより、他の呼び出し先保存レジスタの復元が容易になります。
SP は、定数でインクリメントすることで復元されます。明示的なインクリメントに加えて、呼び出し先保存領域のサイズ分だけ SP が暗黙的にインクリメントされます。
ステップ 2:レジスタを復元する
抽象的に見ると、呼び出し先保存レジスタは 安全なレジスタ デバッグ 順 (セクション 4.6.2) に従って復元されます。復元は (古い) SP が指す位置から始まり、アドレスを下げながら進みます。
ステップ 3:戻り値
すべてのアンワインド シーケンスは、暗黙的または明示的な「RET 」で終了し、これにより現在のフレームに対するアンワインドが完了したことが示されます。