OSDN Git Service

2004-07-08 Frank Ch. Eigler <fche@redhat.com>
authorfche <fche@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 8 Jul 2004 19:11:44 +0000 (19:11 +0000)
committerfche <fche@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 8 Jul 2004 19:11:44 +0000 (19:11 +0000)
commit4ff630efe873ce6701f764b683d0029907284008
tree97a0c5a50926d315a28447a12a9d2521421236a6
parentf0613857bfe9030adb2482f73961065d66cad236
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>:

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84303 138bc75d-0d04-0410-961f-82ee72b054a4
libmudflap/ChangeLog
libmudflap/splay-tree.c
libmudflap/splay-tree.h
libmudflap/testsuite/libmudflap.c/heap-scalestress.c [new file with mode: 0644]