Title :
Dynamic compilation of a reflective language using run-time specialization
Author :
Masuhara, Hidehiko ; Sugita, Yuuya ; Yonezawa, Akinori
Author_Institution :
Graduate Sch. of Arts & Sci., Tokyo Univ., Japan
Abstract :
In reflective languages, application programs can customize a language system that executes the application programs. Our premise is that this customizability of reflective languages can be a basic mechanism of software evolution. We present a simple architecture of a reflective language that can dynamically select meta-interpreters, and a dynamic compilation scheme by using run-time specialization (RTS) techniques, which could also be useful to dynamically optimize systems with mechanisms of dynamic software evolution. Our prototype system showed that dynamically compiled reflective programs run more than four times faster than the interpreted ones, and that compilation processes are fast enough to be invoked at runtime. Compared to statically compiled programs, however, dynamically compiled ones yet have 20-30% overheads. We also discuss this problem
Keywords :
high level languages; program compilers; program interpreters; application programs; customization; dynamic compilation; meta-interpreters; prototype system; reflective language; run-time specialization; software evolution; Application software; Art; Computer architecture; Dynamic compiler; Information science; Monitoring; Prototypes; Runtime; Software prototyping; Software systems;
Conference_Titel :
Principles of Software Evolution, 2000. Proceedings. International Symposium on
Conference_Location :
Kanazawa
Print_ISBN :
0-7695-0906-1
DOI :
10.1109/ISPSE.2000.913230