スタックフレーム外オブジェクトの直接参照
スポンサーリンク
概要
- 論文の詳細を見る
オブジェクト指向プログラムでは参照渡しが多用されるが, 渡されたオブジェクトに対する間接参照を直接参照に置き換え, 引数のプッシュやロードを省略することができれば実行効率の改善になる.このような最適化は, 明示的なポインタ渡しの一部やプロシージャが変更しない引数にも適用できる.本発表では, 現在のスタックフレームの外にある自動オブジェクトの参照を, データフロー解析を利用して可能と分かる範囲で即値アドレッシングまたはフレームポインター即値オフセットアドレッシングによって実装する手法を提案する.フレーム間参照は, プログラム中でただ1つの実体しか参照しないことが分かれば, その実体を静的領域に割り当てたうえで即値アドレッシングにすることができる.また, 複数の実体を参照する場合でも, 参照時のフレームアドレスからの実体のアドレスのオフセットを一定にすることができればフレームポインター即値オフセットアドレッシングにすることができる.特に後者は, 再帰的なプロシージャの自動オブジェクトの参照にも適用が可能である.フレーム間参照のオフセットを一定にするためスタックオブジェクトの割当て位置の調整や, 場合によってはスタックフレーム間へのパッドの挿入を行う.本発表では, 以上の手法の原理を詳述する.
- 一般社団法人情報処理学会の論文
- 2002-01-15
著者
関連論文
- GNU形式コマンドプログラムへのメタプログラミングを用いたAOPの適用
- スタックフレーム外オブジェクトの直接参照
- 大域情報を用いた動的スコープの実装
- HAVi
- Jini
- C言語に対するブロックオブジェクト機構の拡張