Cecil and Vortex Systems Released

Craig Chambers <chambers@cs.washington.edu>
24 Feb 1999 12:28:58 -0500

          From comp.compilers

Related articles
Cecil and Vortex Systems Released chambers@cs.washington.edu (Craig Chambers) (1999-02-24)
| List of all articles for this month |

From: Craig Chambers <chambers@cs.washington.edu>
Newsgroups: comp.compilers
Date: 24 Feb 1999 12:28:58 -0500
Organization: University of Washington
Keywords: OOP, available

        The Cecil Group at the University of Washington is proud to
announce the general release of version 3.0 of the Cecil and Vortex

        Cecil is a purely object-oriented language intended to support
rapid construction of high-quality, extensible software. Cecil
incorporates multimethods, a simple prototype-based object model,
predicate objects, first-class functions, and a flexible
constraint-based polymorphic type system which allows statically- and
dynamically-typed code to mix freely. More details on Cecil's
features are available at:

        Vortex is an optimizing compiler infrastructure for
object-oriented languages. Vortex includes front-ends for Cecil,
Java, C/C++, Modula-3, and ParcPlace Smalltalk (an IBM Smalltalk
front-end is under development), all of which translate to a common
intermediate language. Vortex currently incorporates high-level
optimizations such as intra- and interprocedural static class
analysis, whole-program class hierachy analysis, profile-guided
receiver class prediction, profile-guided selective procedure
specialization, intraprocedural message splitting, automatic inlining,
and static closure analyses. It also includes a collection of
standard intraprocedural analyses such as common subexpression
elimination and dead assignment elimination, and some not-so-standard
analyses such as must-alias analysis supporting optimization of
redundant and dead loads and stores, symbolic comparison analysis to
eliminate unnecessary comparisons including array bounds checks, and
stack-allocation of closures where possible. Vortex is designed to be
easy to extend with new optimizations. For example, Vortex's analyses
are implemented using a generic dataflow analysis framework; this
framework supports automatically composing modular analyses and
transformations to achieve more precise results, and it supports
extending intraprocedural analyses to context-sensitive
interprocedural versions. Vortex generates either portable C code or
SPARC assembly code (accurate garbage collection is available when
using the SPARC back-end; conservative garbage collection is used
otherwise). The Vortex compiler is written entirely in Cecil. More
details on Vortex's features are available at:

        Versions of Cecil and Vortex are available for SPARC/SunOS,
SPARC/Solaris, PowerPC/AIX, Alpha/OSF, x86/Linux, and x86/NT.

        More information about the release, copies of the Cecil language
specification, Vortex compiler documentation, current benchmark
results, and further information on the Cecil/Vortex project and its
publications are available at:

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.