研究概要 |
我々は、これまでの安全な計算状態操作機構の研究で、計算中のソフトウェアの動的再構成・保全の機能(「ごみ集め」など)を持つ言語処理系の実装のため、必要とされる呼出し元に眠る変数の値へのアクセスを安全で正式なアクセスとしつつ、提案機構の追加を意識させない高い実行性能を得ている。本研究では、計算状態操作機構の応用技術に磨きをかけるとともに、設計・実装面から提案機構を確立・改良する。これにより、多様化・複雑化する計算システムを、効率よく簡単・安全に利用可能とすることを目的とする。本年度は、GCCバージョンアップに関する検討、実装・性能モデルの変更の検討を進めた他に、主に以下の研究を実施した。 1.ごみ集めや一級継続や真の末尾再帰がサポートされた高水準言語の実装 Lispインタープリタを対象に、計算状態操作機構によるごみ集めの実装を進め、一級継続や真の末尾再帰のサポートの準備とする。ごみ集めの実装が完了したLispインタープリタを対象に、計算状態操作機構による一級継続のサポートを行う。さらには、一級継続の力も借りて、真の末尾再帰をサポートする。今年度はこの研究についてプロトタイプ実装を行い基本方式を確立した。 2.拡張C言語コンパイラのx86-64のサポート 安全な計算状態操作機構をサポートする拡張C言語用のコンパイラ(アセンブリ言語レベルの実装)は、GCCをベースに、現在,32bit版のSPARCとIA-32をサポートしているが,本年度はx86-64のサポートを行った。IA-32からレジスタ数が増えているx86-64では、計算状態操作機構の軽量な実装技法の効果が高いと期待していたが、callee-saveレジスタの利用が増えたときの性能上の問題点が明らかになった。今後は、この問題への対処が可能かの研究を進める。
|