Commit Graph

2 Commits

Author SHA1 Message Date
Frank Ch. Eigler
00dcddaaa0 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
2004-07-08 19:11:44 +00:00
Frank Ch. Eigler
dfdf6a9440 [multiple changes]
2004-06-29  Frank Ch. Eigler  <fche@redhat.com>

	Splay tree implementation fork.
	* splay-tree.c, splay-tree.h: Copied & modified from libiberty.
	Use hard-coded comparison function for uintptr_t.  Remove key/value
	deallocation logic.  Cache last splayed key for consecutive lookups.
	* Makefile.am, Makefile.in: Use them, don't link to them.
	* mf-runtime.c (__mf_object_tree): Adapt to simpler splay_tree_new.
	(__mf_find_objects2): Flip successor/predecessor search sequence.
	* ansidecl.h, libiberty.h: Removed dummy files.


2004-06-29  Nick Clifton  <nickc@redhat.com>

From-SVN: r83879
2004-06-29 22:30:53 +00:00