- 著者
-
安村 通晃
高田 綾子
青島 利久
- 出版者
- 一般社団法人情報処理学会
- 雑誌
- 情報処理学会論文誌 (ISSN:18827764)
- 巻号頁・発行日
- vol.28, no.11, pp.1169-1176, 1987-11-15
汎用大型機上で動く Common Lisp の最適化コンパイラを設計・試作した. Common Lisp は 人工知能等の分野における実用的な応用に必要な機能を十分に備え かつ関数性を従来 Lisp 以上に取り込むことを目的とした近代的な Lisp 言語である.一方 従来の Lisp 処理系のユーザは 実行性能の点などで必ずしも満足していなかった.このため 我々は Common Lisp に準拠した高速の処理系 HiLISPとそのコンパイラを設計・試作した.ここでは HiLISP コンパイラの設計と最適化の方式を中心に述べる.HiLISPコンパイラは 高速性と移植性を考慮して 仮想 Lisp マシン語である Lcode を中間語として生成する.最適化の方式として 関数呼出しの最適化 型判定の最適化 局所最適化の各々の課題に対して それぞれ 自己再帰展開 コンパイル時の型判定・型推定 パイプラインを意識した命令列の並べ替えなどの方式を設計し 試作した.試作した HiLISP コンパイラに対して Lisp コンテスト代表12題ベンチマークにより 各最適化項目の性能を評価した.この結果 組込み関数展開の効果が最も大きく 次いで型判定・型推定の効果が大きいことがわかった.再帰関数展開 命令列の並べ替えなどの効果も確認できた.ここで提案する最適化方式は Lisp コンパイラ 特に Common Lisp コンパイラに有効な方式である.