MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Compiling Away the Meta-Level in Object-Oriented Concurrent Reflective Languages Using Partial Evaluation (1995) [37 citations — 15 self]

Download:
Download as a PDF | Download as a PS
by Hidehiko Masuhara, Satoshi Matsuoka, Kenichi Asai, Akinori Yonezawa
In Proceedings of OOPSLA'95 (SIGPLAN Notices Vol.30, No.10
ftp://camille.is.s.u-tokyo.ac.jp/pub/papers/draft-compiling-letter.ps.gz
Add To MetaCart

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-/postprocessing, 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 small overhead compared to the hand-crafted source-level optimization in a non-reflective language. 1

Citations

709 The Art of the Metaobject Protocol – Kiczales, Rivieres, et al. - 1991
130 Making pure object-oriented languages practical – Chambers, Ungar - 1991
114 Designing an Extensible Distributed Language with a Meta-Level Architecture – Chiba, Masuda
71 AL-1/D: A Distributed Programming System with Multi-Model Reflection Framework – Okamura, Ishikawa, et al. - 1992
64 Concert—efficient runtime support for concurrent objectoriented programming languages on stock hardware – KARAMCHETI, CHIEN - 1993
57 An Object-Oriented Concurrent Reflective Language for Dynamic Resource Management in Highly Parallel Computing – Masuhara, Matsuoka, et al. - 1994
48 An Architecture for an Open Compiler – Lamping, Kiczales, et al. - 1993
45 Partial Evaluation of Computation Process--An Approach to a Compiler-Compiler. Higher-Order and Symbolic Computation – Futamura - 1999
41 Object Location Control Using Meta-level Programming – Okamura, Ishikawa - 1994
39 Scalable parallel formulations of the Barnes-Hut method for N-body simulations – Grama, Kumar, et al. - 1998
26 Arity raiser and its use in program specialization – Romanenko - 1990
14 A Study on the Viability of a Production-Quality Metaobject Protocol-Based Statically Parallelizing Compiler – Rodriguez - 1993
8 An efficient termination detection and abortion algorithm for distributed processing systems – Rokusawa, Ichiyoshi, et al. - 1988
6 Partial evaluation as a compiler for reflective languages – Asai, Masuhara, et al. - 1995
4 Open C++ and its optimization – Chiba, Masuda - 1993