COBOL処理系組み込み関数に特化したレジスタ割り付けの一手法

書誌事項

タイトル別名
  • A technique or register allocation specific for COBOL run-time routine

この論文をさがす

説明

副プログラム呼び出しにおけるレジスタ退避/復帰方法は、プログラムの実行性能に大きな影響を及ぼす要素であるため、これまで様々な工夫がなされて来たが、近年のマイクロプロセッサ系のシステムでは、呼ばれた側の責任で、値を保証すべきレジスタを退避/復帰する方式が主流である。この方式は、場合によっては必要のないレジスタ退避が出てしまうことがあるが、完全に無駄のないレジスタ退避は、コンパイラが呼ぶ側・呼ばれる側両方のレジスタ割り付け状況を把握しなければ不可態なため、現実的には最適な方法と言える。一方、一般に、COBOL処理系は、他の言語処理系よりも数多くの内部組み込み関数(今秋にJIS制定される組み込み関数とは区別する)を保有している。このため、レジスタ退避のオーバーヘッドの影響が特に大きくなる傾向がある。このことは、少ない実レジスタしか保有しないプロセッサにおいては特に顕著となる。著者は、コンパイラのレジスタ割り付け技法を応用して、COBOL処理系内部組み込み関数呼び出しにおける最適なレジスタ退避を実現する方法を導入し、これをインテル社80386ターゲットのコンパイラに適用した。本稿では、その手法と評価を紹介する。

収録刊行物

詳細情報 詳細情報について

問題の指摘

ページトップへ