Compiling Away the Meta-Level in Object-Oriented Concurrent Reflective Languages Using Partial Evaluation (bibtex)
by Hidehiko Masuhara, Satoshi Matsuoka, Kenichi Asai and Akinori Yonezawa
Abstract:
Meta-level programmability is beneficial for parallel/distributed object-oriented computing to improve performance, etc. The major problem, however, is interpretation overhead due to meta-circular interpretation. To solve this problem, we propose a compilation framework for object-oriented concurrent reflective languages using partial evaluation. Since traditional partial evaluators do not allow us to directly deal with meta-circular interpreters written with concurrent objects, we devised techniques such as pre-/post-processing, a new proposed preaction extension to partial evaluation in order to handle side-effects, etc. Benchmarks of a prototype compiler for our language ABCL/R3 indicate that (1) the meta-level interpretation is essentially `compiled away,' and (2) meta-level optimizations in a parallel application, running on a Fujitsu MPP AP1000, exhibits only 10–30% overhead compared to the hand-crafted source-level optimization in a non-reflective language.
Reference:
Compiling Away the Meta-Level in Object-Oriented Concurrent Reflective Languages Using Partial Evaluation (Hidehiko Masuhara, Satoshi Matsuoka, Kenichi Asai and Akinori Yonezawa), In Proceedings of Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA) (OOPSLA'95) (Mary E. S. Loomis, ed.), volume 30(10), 1995.
Bibtex Entry:
@inproceedings{masuhara95oopsla,
  editor = {Mary E. S. Loomis},
  month = oct,
  address = {Austin, TX},
  organization = {{ACM}},
  series = {ACM SIGPLAN Notices},
  volume = {30(10)},
  year = 1995,
  booktitle = {Proceedings of Conference on Object-Oriented Programming
		  Systems, Languages, and Applications {(OOPSLA)} (OOPSLA'95)},
  author = {Hidehiko Masuhara and Satoshi Matsuoka and
		  Kenichi Asai and Akinori Yonezawa},
  title = {Compiling Away the Meta-Level in Object-Oriented
		  Concurrent Reflective Languages Using Partial
		  Evaluation},
  doi = {10.1145/217839.217869},
  pdf = {oopsla1995.pdf},
  pages = {300--315},
  acceptanceratio = {28/155},
  keywords = {ABCL/R},
  abstract = {Meta-level programmability is beneficial for parallel/distributed object-oriented computing to improve performance, etc. The major problem, however, is interpretation overhead due to meta-circular interpretation. To solve this problem, we propose a compilation framework for object-oriented concurrent reflective languages using partial evaluation. Since traditional partial evaluators do not allow us to directly deal with meta-circular interpreters written with concurrent objects, we devised techniques such as pre-/post-processing, a new proposed preaction extension to partial evaluation in order to handle side-effects, etc. Benchmarks of a prototype compiler for our language ABCL/R3 indicate that (1) the meta-level interpretation is essentially `compiled away,' and (2) meta-level optimizations in a parallel application, running on a Fujitsu MPP AP1000, exhibits only 10--30\% overhead compared to the hand-crafted source-level optimization in a non-reflective language.}
}
Powered by bibtexbrowser