[Next] [Previous] [Top]

Cecil Project Overview

2 Language Implementation Research

Much of our research efforts are focused on developing better implementation technology for object-oriented languages. Our current research strives to achieve excellent performance for large, heavily object-oriented programs. We are targeting whole-program analysis and optimization, enlarging the scope of analysis and optimization to the interprocedural level, potentially to include the entire program being implemented. These techniques are embodied in the Vortex optimizing compiler infrastructure. At present, Vortex has a Cecil front-end, with front-ends for C++ and Modula-3 front-ends under construction. We are investigating the following approaches:

We are implementing the Vortex compiler in Cecil. This decision ensures that we will have at least one large, real, heavily object-oriented program with which to evaluate and guide our implementation research and will allow the implementation to exploit the expressive language features available in Cecil. Conversely, the language design research will benefit from the experience we gain using Cecil in a real application. As of Spring 1995, around 50,000 lines of Cecil have been written in the Vortex implementation and the Cecil standard library, and we have used the Vortex infrastructure to compile and optimize Cecil programs for over a year. One of our short-term goals is to develop the Cecil/Vortex language implementation to the point that it is efficient enough to release to the outside research community.

We currently are adapting existing front-ends for C++ and Modula-3 to produce the Vortex compiler's intermediate language. This will allow us to assess how effective our optimization techniques are for hybrid languages, and provide us access to a large array of large benchmark programs. Since we are focusing on well-written, heavily-object-oriented programs even in hybrid languages, we believe that the advanced implementation techniques developed originally for pure object-oriented languages will make a substantial impact on performance of hybrid object-oriented programs. From another perspective, the advanced implementation techniques incorporated in Vortex can enable a more flexible, expressive programming style to be followed.


Cecil Project Overview - 11 MAY 95
[Next] [Previous] [Top]