ANSI C conversion, libmudflap specialization, recursion limiting.
authorFrank Ch. Eigler <fche@redhat.com>
Thu, 8 Jul 2004 19:11:44 +0000 (19:11 +0000)
committerFrank Ch. Eigler <fche@gcc.gnu.org>
Thu, 8 Jul 2004 19:11:44 +0000 (19:11 +0000)
commit00dcddaaa05a2f435aec718b012d11a3bbdde2bf
tree97a0c5a50926d315a28447a12a9d2521421236a6
parenta32e70c34d6a6e1f413406c432d499fb468c708e
ANSI C conversion, libmudflap specialization, recursion limiting.

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
libmudflap/ChangeLog
libmudflap/splay-tree.c
libmudflap/splay-tree.h
libmudflap/testsuite/libmudflap.c/heap-scalestress.c [new file with mode: 0644]