New Release of AE (version 2.1) (James Larus)
6 Apr 90 14:53:39 GMT

          From comp.compilers

Related articles
New Release of AE (version 2.1) (1990-04-06)
| List of all articles for this month |

From: (James Larus)
Newsgroups: comp.arch,comp.compilers,comp.lang.misc,gnu.gcc
Date: 6 Apr 90 14:53:39 GMT
Organization: University of Wisconsin CS Dept
Keywords: AE, C, report

A new version (v2.1) of the AE profiling system is available for anonymous ftp
from ( This version fixes a number of
small bugs, has a couple of major performance improvements, and now works
for programs that execute setjmp/longjmp. The manual pages describe the


For those of you who haven't seen AE, here is a brief description:

What is AE?

AE is a system for efficiently tracing events during the execution of
C programs. It incorporates several new ideas that greatly reduce the
overhead of collecting and storing these trace. For example, AE can
collect full address traces and only slow the measured program by a
factor of 2-4 times. In addition, the resulting trace files are
compacted 10-50 times (or 50-600 times after they are compress'ed)
with respect to the full trace file.

AE consists of a small addition to the GNU C compiler (GCC) and an
auxiliary compiler. The modified version of GCC produces code to
record some events when the compiled program runs and generates a
description of the program known as a schema. The other compiler,
AEC, translates schemas into C programs that can read the condensed
trace record and generate a full address trace.

AE has successfully compiled large programs on a DECStation 3100 and
Sun 4. It should work properly for other computers that use the MIPS
or SPARC processors. In addition, AE is parameterized in a manner
similar to GCC and should easily be retargetable to any processor for
which GCC produces code.

AE currently produces a full address trace of a program and identifies
instructions that begin or end program loops and loop iterations. It
could easily be extended to identify other interesting program events.


AE is documented by a University of Wisconsin Computer Sciences
Department Technical Report #912 entitled "Abstract Execution: A
Technique for Efficiently Tracing Programs." The postscript version
of this report is available for anonymous ftp from
in the file ~ftp/pub/ If you cannot print postscript, a
printed version of this report is available for free from:

Technical Report Librarian
Computer Sciences Department
1210 West Dayton Street
University of Wisconsin
Madison, WI 53706
(608) 262-6616


The patches to GCC and the code for AEC are available for anonymous
ftp from ( in the file
~ftp/pub/ae.tar.Z. The file about 300K. The patches have been tested
with GCC versions 1.36 and 1.37. They would probably work with
earlier versions, but I can't guarantee it. If you cannot ftp this
file, then either copy AE from another site or contact me. I will
make tapes for an exorbitant amount of money.

If you obtain a copy of AE and wish to be informed of future updates
and bug fixes, send your electronic mail address to:


AE is copyrighted by me and distributed under the terms of the GNU
General Public License.

James Larus
Computer Sciences Department
1210 West Dayton Street
University of Wisconsin
Madison, WI 53706
(608) 262-9519

Post a followup to this message

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