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):
-
Pick a directory for the installation. You will need 50-150 MB of disk
space (depending on your architecture and selection of front ends) to unpack
and install Vortex.
-
Download the tar files as described below. If you are having trouble downloading
our files, try using anonymous ftp to ftp.cs.washington.edu
in the directory
/pub/cecil/3.0-release.
-
Uncompress and extract (using gunzip and tar) the tar
files in the directory you picked for the installation.
-
Follow the directions in the notes/INSTALL file in the 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