Compiling ML polymorphism with explicit layout bitmap

Huu Duc Nguyen, Atsushi Ohori

研究成果: Conference contribution

7 被引用数 (Scopus)

抄録

Most of the current implementations of functional languages adopt so-called "tagged data representations" to support tracing garbage collection. The representations impose a burden of data conversion on the runtime performance and the interoperability between ML and other languages. In this paper, we present a type-directed compilation method for ML polymorphism that supports natural representations of integers and other atomic data. This is achieved by compiling ML so that each runtime object (a heap block or a stack frame) has a "bitmap" that describes the pointer positions in the block. Since a polymorphic function may produce runtime objects of different types, the compiler needs to compute appropriate bitmaps for each instantiation of the function. This would require us to insert extra lambda abstractions and applications to pass the bits required in bitmap calculations. This compilation process should be done for both stack frames and heap-allocated objects including functions' closures and their environment records. We solve these problems by combining the type-directed compilation method with typed closure conversion, and type-preserving A-normalization. The resulting compilation process is shown to be sound with respect to an untyped operational semantics with bitmap-inspecting garbage collection. The proposed compilation method has been implemented for the full Standard ML Language, demonstrating its practical feasibility.

本文言語English
ホスト出版物のタイトルPPDP'06 - Proceedings of the Eight ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming
出版社Association for Computing Machinery
ページ237-248
ページ数12
ISBN(印刷版)1595933883, 9781595933881
DOI
出版ステータスPublished - 2006
外部発表はい
イベントPPDP'06 - 8th ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming - Venice, Italy
継続期間: 2006 7月 102006 7月 12

出版物シリーズ

名前PPDP'06 - Proceedings of the Eight ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming
2006

Other

OtherPPDP'06 - 8th ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming
国/地域Italy
CityVenice
Period06/7/1006/7/12

ASJC Scopus subject areas

  • 工学(全般)

フィンガープリント

「Compiling ML polymorphism with explicit layout bitmap」の研究トピックを掘り下げます。これらがまとまってユニークなフィンガープリントを構成します。

引用スタイル