UW Cecil/Vortex 2.0 Release

NOTE: This release is soon to be outdated by Release 3.0.

The Cecil Group at the University of Washington's Department of Computer Science and Engineering has released version 2.0 of the Vortex compiler. Vortex is a language-independent optimizing compiler back-end for object-oriented languages; this release includes front ends for Cecil, Java, and C++. A Modula-3 front end has also been developed. More information about the compilation technology utilized by Vortex can be found in a number of the papers published by Cecil group members (in particular, an overview of Vortex and a more detailed description).

WARNING: Vortex is a large, resource-hungry beast, intended as a base for research into compiler organization and optimization rather than fast, compact compilation. As one data point, invoking Vortex with full optimizations to compile the Vortex compiler itself (~85K lines of Cecil) from scratch requires ~96-128MB of main memory and several hours of CPU time. On the other hand, compiling a small program without optimization takes only ~20MB of main memory and a minute or two of CPU time, using separately-compiled shared Cecil libraries. Such programs can also be equipped with an interpreter interface that lets new method implementations be patched into a running program without even restarting execution. 


Manuals

You can browse the various Cecil/Vortex manuals without downloading the entire release. Copies of all of the manuals are included in each of the release tar files listed below.

Performance

You can browse our latest set of experimental results for Cecil, Java, and C++.

Benchmarks

Pre-generated Vortex-RTL versions of all our benchmark programs are available on request. Cecil/Java/C++ sources are also available for many of the benchmarks.

Tar Files

You will need 75-100 MB of disk space to unpack and install a tar file for one of the prebuilt releases. If you're having trouble downloading a file, you might have better luck using anonymous ftp to ftp.cs.washingtion.edu in the directory /pub/cecil/2.0-release.

You can see copies of the license agreement and the main README file without getting the whole distribution. Compressed (via gzip) tar files containing Vortex 2.0 are currently available for the following architecture/OS combinations:

To port Vortex to a new architecture/OS combination, you'll need to get one of the following tar files (depending on the pointer size supported by your OS): A more recent (but less thoroughly tested) version of the system, Vortex 2.0B, is available that corrects some problems with Java compilation present in Vortex 2.0:
You can subscribe to a Cecil/Vortex interest mailing list by sending mail to cecil-interest-request with a message body of subscribe.

Bug reports can be sent to cecil-bugs. Please include an exact description of the problem and a short program reproducing the bug.


Cecil/Vortex Project, chambers@cs.washington.edu