研究概要 |
本研究では,プログラミング言語処理系におけるメモリ管理を,(疑似)線形型などの静的解析によって得られる情報を用いることにより効率化することを目指している.本年度の研究実績は以下のとおり. 1.疑似線形型に基づく型推論手法の改善…昨年度までに,一部のデータについて解放できるタイミングを静的に判定できる疑似線形型システムを与え、型推論器のプロトタイプを作成していたが、そのプロトタイプには以下のような問題があった.(1)解放できる個所に実際にメモリ解放命令(free)を挿入できていなかった,(2)型推論が遅く,実用に耐えなかった.上記(1)の問題に対し,型システムに改良を加え,実際にfree命令を挿入できるようにした.上記(2)の問題に対しては,制約ベースの型推論の途中経過で制約の簡単化を組み込み,また,データ構造にも配慮を加えた.現在,改良を加えた型推論アルゴリズムをMLの処理系に組み込む作業をすすめており,70%程度完成している. 2.リージョン推論に基づくメモリ管理とガベージコレクションとの融合…疑似線形型と並んで有力な静的解析手法として,Tofteらのリージョン推論があるが,これまでのリージョン推論には,指す先がすでに解放されてしまっているダングリングポインタが生じる可能性があるため,通常の,ポインタによって辿れない領域のみを解放するというガベージコレクションとの併用が困難であった.それに対し,我々は,リージョン推論の静的情報を実行時まで保持することによってダングリングポインタの問題を解決し,ガベージコレクションとの融合を可能にした.
|