mirror of git://gcc.gnu.org/git/gcc.git
2004-07-08 Frank Ch. Eigler <fche@redhat.com>
ANSI C conversion, libmudflap specialization, recursion limiting.
* splay-tree.h (splay_tree_{de,}allocate_fn): Remove allocation_data
argument and indirection function pointers, update callers.
(splay_tree_s): Add statistics and recursion control fields
num_keys, max_depth, depth, rebalance_p.
* splay-tree.c (splay_tree_splay_helper): Track recursion depth.
Back out of search if it exceeds limit.
(splay_tree_splay): Manage recursion limiting with rebalancing as
needed.
(splay_tree_new): More initialization.
(splay_tree_rebalance): New function.
(splay_tree_foreach): Rewrite using nonrecursive logic.
(splay_tree_xmalloc_allocate, splay_tree_xmalloc_deallocate):
Remove. Point indirect calls to mf-runtime.c's routines.
(splay_tree_compare_ints, splay_tree_compare_pointers): Remove unused
functions.
(splay_tree_delete, splay_tree_delete_helper): Ditto.
* testsuite/heap-scalestress.c: New test based on one from
Eyal Lebedinsky <eyal@eyal.emu.id.au>:
From-SVN: r84303
|
||
|---|---|---|
| INSTALL | ||
| boehm-gc | ||
| config | ||
| contrib | ||
| fastjar | ||
| gcc | ||
| include | ||
| intl | ||
| libada | ||
| libbanshee | ||
| libcpp | ||
| libf2c | ||
| libffi | ||
| libgfortran | ||
| libiberty | ||
| libjava | ||
| libmudflap | ||
| libobjc | ||
| libstdc++-v3 | ||
| maintainer-scripts | ||
| zlib | ||
| .cvsignore | ||
| ABOUT-NLS | ||
| COPYING | ||
| COPYING.LIB | ||
| ChangeLog | ||
| ChangeLog.tree-ssa | ||
| MAINTAINERS | ||
| Makefile.def | ||
| Makefile.in | ||
| Makefile.tpl | ||
| README | ||
| README.SCO | ||
| compile | ||
| config-ml.in | ||
| config.guess | ||
| config.if | ||
| config.rpath | ||
| config.sub | ||
| configure | ||
| configure.in | ||
| depcomp | ||
| install-sh | ||
| libtool.m4 | ||
| ltcf-c.sh | ||
| ltcf-cxx.sh | ||
| ltcf-gcj.sh | ||
| ltconfig | ||
| ltmain.sh | ||
| missing | ||
| mkdep | ||
| mkinstalldirs | ||
| move-if-change | ||
| symlink-tree | ||
| ylwrap | ||
README
This directory contains the GNU Compiler Collection (GCC). The GNU Compiler Collection is free software. See the file COPYING for copying permission. The manuals, and some of the runtime libraries, are under different terms; see the individual source files for details. The directory INSTALL contains copies of the installation information as HTML and plain text. The source of this information is gcc/doc/install.texi. The installation information includes details of what is included in the GCC sources and what files GCC installs. See the file gcc/doc/gcc.texi (together with other files that it includes) for usage and porting information. An online readable version of the manual is in the files gcc/doc/gcc.info*. See http://gcc.gnu.org/bugs.html for how to report bugs usefully.