Related articles |
---|
New Release of AE (version 2.1) larus@primost.cs.wisc.edu (1990-04-06) |
From: | larus@primost.cs.wisc.edu (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 primost.cs.wisc.edu (128.105.8.17). 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
changes.
/Jim
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.
Documentation
=============
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 primost.cs.wisc.edu
in the file ~ftp/pub/ae-tr.ps.Z. 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
Code
====
The patches to GCC and the code for AEC are available for anonymous
ftp from primost.cs.wisc.edu (128.105.8.17) 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:
larus@cs.wisc.edu.
Copyright
=========
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
larus@cs.wisc.edu
(608) 262-9519
Return to the
comp.compilers page.
Search the
comp.compilers archives again.