• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

2005 Fiscal Year Annual Research Report

並列分散システム統合のための安全な計算状態操作機構

Research Project

Project/Area Number 17650008
Research InstitutionKyoto University

Principal Investigator

八杉 昌宏  京都大学, 情報学研究科, 助教授 (30273759)

Keywordsスタック / レジスタ / C言語 / コンパイラ / 入れ子関数
Research Abstract

計算中のプロセスの計算状態を安全に操作可能にすることで、高い実行性能と安全性・正当性を両立させるための拡張C言語の仕様設計、実装技術および応用手法を提案し、それらの評価することで、多数のプロセッサやノードから成るシステムを統合できることを示そうとしている。平成17年度は以下の成果を得た。
1.入れ子関数の仕様設計
言語仕様としては入れ子関数(クロージャ)を利用することにした。入れ子関数はC以外の言語ではよく用いられていて、関数呼出しの呼出し元のフレームで眠っている変数の値への正式なアクセスを可能としてくれる。一方で、calleeセーブ・レジスタを利用した変数へのレジスタ割当てなどの最適化を事実上不可能にすると考えられてきた。本研究ではこの常識を打ち破り、入れ子関数を持つ関数においてレジスタ割当てを可能にする新しいコンパイル技術を確立した。
既存のC言語や拡張C言語との整合性を考慮し、最適化を阻害しない入れ子関数を持てるような言語設計を行った。
2.入れ子関数の実装技術の開発
実装技術のキーとなるのは、lazyな実行スタック操作である。呼出し元でのレジスタ保存を「とりあえず」後回しする既存のcalleeセーブ・レジスタの利用も、このカテゴリに属する。本研究では、入れ子関数の存在下でもこれを実現した。実行中の大部分は入れ子関数のアロケーションを含めて「とりあえず」の状態として実行し、いざ入れ子関数を呼び出す際に実行スタックを「見せられる」状態にすることで、入れ子関数からのアクセスが可能となった。

  • Research Products

    (1 results)

All 2006

All Journal Article (1 results)

  • [Journal Article] Lightweight Lexical Closures for Legitimate Execution Stack Access2006

    • Author(s)
      Masahiro Yasugi, Tasuku Hiraishi, Taiichi Yuasa
    • Journal Title

      Proceedings of 15th International Conference on Compiler Construction. Lecture Notes in Computer Science Vol.3923

      Pages: 170-184

URL: 

Published: 2007-04-02   Modified: 2016-04-21  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi