UW Cecil/Vortex 3.0 Release

The Cecil Group at the University of Washington's Department of Computer Science and Engineering  released version 3.0 of the Vortex compiler infrastructure in February 1999.  Vortex is a language-independent optimizing compiler back-end for object-oriented languages; this release includes front-ends for Cecil, Java, C++ (on SPARC SunOS 4 systems), and ParcPlace Smalltalk (requires your own version of ParcPlace VisualWorks 2.0 to run the front-end). A Modula-3 front-end has also been developed (contact us if interested). An IBM Smalltalk front-end is under development.

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 (~125K 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. Lastly, the Cecil interpreter program supports reading in files of Cecil code and typing in new Cecil code interactively, at negligible waiting time.

A short FAQ on using Cecil and Vortex is also available.


Cecil interpreter for Linux

If you want just to play around with Cecil on Linux, you can download the statically linked interpreter (approx. 1.8MB gzip'd). You should be able simply to unzip it, chmod +x, and run it. This has been tested on Red Hat 7.x; everything seems to work except for object serialization (this is due to a known bug on Linux platforms).

In case it's not obvious, this executable does not include the compiler, static type checker, or other amenities. See below for instructions on obtaining a full Vortex system.


Vortex Tar Files

To install and configure Vortex, follow these steps (you can also see the license agreement, the main README file, the INSTALL file with the installation instructions, and the manuals without getting the whole distribution): Please let us know if you download the release by sending us a note. Let us know what language front-ends and target architectures/operating systems you downloaded.

You need to download one tar file with common parts of the Vortex infrastructure plus one tar file for each front-end you are interested in. Compressed (via gzip) tar files containing Vortex 3.0 are currently available for the following architecture/OS combinations:

  • Sparc(V8)/SunOS 4
  • Sparc(V8)/Solaris (5.5.x) Alpha/OSF1 PowerPC/AIX PA9000/HP-UX x86/Linux x86/Windows (note: you need to install CYGWIN tools first)

    Other Ports

    If you are interested in porting Vortex or the C++ front-end to a new architecture/OS combination, please contact us.

    Manuals

    You can browse the various Cecil/Vortex manuals without downloading the entire release. (The postscript files for the first two manuals are included in the release files with common parts of Vortex; the next two manuals come with the Cecil front-end.)

    Performance

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

    Benchmarks

    Pre-generated Vortex-RTL versions of our benchmark programs will be made available soon. Cecil/Java/C++/Smalltalk sources are also available for many of the benchmarks.

    Further Information

    To receive information about the status of Vortex, bug fixes, etc., you can subscribe to a Cecil/Vortex interest mailing list (it is a low volume list) by sending mail to cecil-interest-request@cs.washington.edu with a message body of subscribe. (To unsubscribe, the message body should be unsubscribe.)

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

    For more information, check out our home page or email us at chambers@cs.washington.edu . We would be glad to hear about your experiences with Vortex!


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