2002-09-18  David Carlton  <carlton@math.stanford.edu>

	* symtab.h: Delete BLOCK_SHOULD_SORT.
	* symtab.c (lookup_block_symbol): Assume non-hashed blocks aren't
	sorted.
	* ada-lang.c (ada_add_block_symbols): Ditto.
	* symfile.h: Delete prototypes for sort_block_syms and
	sort_symtab_syms.
	* symfile.c: Delete functions sort_block_syms and
	sort_symtab_syms.
	* coffread.c (coff_symfile_read): Remove call to
	sort_symtab_syms.
	* xcoffread.c (xcoff_psymtab_to_symtab_1): Ditto.
	* mdebugread.c (psymtab_to_symtab_1): Ditto.
	* hpread.c (hpread_psymtab_to_symtab_1): Ditto.
	* dwarfread.c (psymtab_to_symtab_1): Ditto.
	* dwarf2read.c (psymtab_to_symtab_1): Ditto.
	* dbxread.c (dbx_psymtab_to_symtab_1): Ditto.

2002-09-20  David Carlton  <carlton@math.stanford.edu>

	* Makefile.in (c-lang.o): Correct dependencies.
	(utils.o): Gather dependencies.
	(charset.o): Move.
2002-09-20  David Carlton  <carlton@math.stanford.edu>

	* carlton_runtest: New file.
2002-09-20  David Carlton  <carlton@math.stanford.edu>

	* jv-lang.c (get_java_class_symtab): Use xmalloc to allocate
	GLOBAL_BLOCK rather than xmmalloc.
	(free_class_block): Use xfree rather than xmfree.
	* mdebugread.c: #include "dictionary.h"
	(new_block): Remove argument.  Initialize BLOCK_DICT.
	(parse_symbol): Update call to new_block.
	(new_symtab): Ditto.
	(fixup_sigtramp): Ditto.
	Delete MAXSYMS member of struct parse_stack.
	(psymtab_to_symtab_1): Don't set maxsyms.
	(new_symtab): Remove maxsyms argument.
	(psymtab_to_symtab_1): Update call to new_symtab.
	(shrink_block): Delete function.
	(add_symbol): Add symbols via dict_add_symbol_block.
	* jv-lang.c (add_class_symtab_symbol): Add symbols via
	dict_add_symbol_block.
	Delete variable class_symtab_space.
	* Makefile.in (jv-lang.o): Add dictionary_h.
	* jv-lang.c: #include "dictionary.h"
	* symmisc.c (free_symtab): Call free_func rather than freeing free_ptr.
	* jv-lang.c (get_java_class_symtab): Initialize free_func rather
	than free_ptr.
	(free_class_block): New function.
	(add_class_symtab_symbol): Delete reference to free_ptr.
	* buildsym.c (end_symtab): Initialize free_func rather than free_ptr.
	* symtab.h (struct symtab): Replace free_ptr by free_func.
	* jv-lang.c (get_java_class_symtab): Add DICT_BLOCK assignments.
	* Makefile.in (buildsym.o): Add dictionary_h.
	* buildsym.c (finish_block): Initialize BLOCK_DICT (block).
	#include "dictionary.h"
	* symtab.h (struct block): Add 'dict' member.
	(BLOCK_DICT): New macro.
	* dictionary.c: New file.
	* dictionary.h: New file.
	* Makefile.in (SFILES): Add dictionary.c
	(dictionary_h): New variable.
	(COMMON_OBS): Add dictionary.o.
	(dictionary.o): New rule.
	(carlton): New rule.
2002-09-20  David Carlton  <carlton@math.stanford.edu>

	* jv-lang.c (get_java_class_symtab): Use xmalloc to allocate
	GLOBAL_BLOCK rather than xmmalloc.
	(free_class_block): Use xfree rather than xmfree.
	* mdebugread.c: #include "dictionary.h"
	(new_block): Remove argument.  Initialize BLOCK_DICT.
	(parse_symbol): Update call to new_block.
	(new_symtab): Ditto.
	(fixup_sigtramp): Ditto.
	Delete MAXSYMS member of struct parse_stack.
	(psymtab_to_symtab_1): Don't set maxsyms.
	(new_symtab): Remove maxsyms argument.
	(psymtab_to_symtab_1): Update call to new_symtab.
	(shrink_block): Delete function.
	(add_symbol): Add symbols via dict_add_symbol_block.
	* jv-lang.c (add_class_symtab_symbol): Add symbols via
	dict_add_symbol_block.
	Delete variable class_symtab_space.
	* Makefile.in (jv-lang.o): Add dictionary_h.
	* jv-lang.c: #include "dictionary.h"
	* symmisc.c (free_symtab): Call free_func rather than freeing free_ptr.
	* jv-lang.c (get_java_class_symtab): Initialize free_func rather
	than free_ptr.
	(free_class_block): New function.
	(add_class_symtab_symbol): Delete reference to free_ptr.
	* buildsym.c (end_symtab): Initialize free_func rather than free_ptr.
	* symtab.h (struct symtab): Replace free_ptr by free_func.
	* jv-lang.c (get_java_class_symtab): Add DICT_BLOCK assignments.
	* Makefile.in (buildsym.o): Add dictionary_h.
	* buildsym.c (finish_block): Initialize BLOCK_DICT (block).
	#include "dictionary.h"
	* symtab.h (struct block): Add 'dict' member.
	(BLOCK_DICT): New macro.
	* dictionary.c: New file.
	* dictionary.h: New file.
	* Makefile.in (SFILES): Add dictionary.c
	(dictionary_h): New variable.
	(COMMON_OBS): Add dictionary.o.
	(dictionary.o): New rule.
	(carlton): New rule.
2002-09-20  David Carlton  <carlton@math.stanford.edu>

	* jv-lang.c (get_java_class_symtab): Use xmalloc to allocate
	GLOBAL_BLOCK rather than xmmalloc.
	(free_class_block): Use xfree rather than xmfree.
	* mdebugread.c: #include "dictionary.h"
	(new_block): Remove argument.  Initialize BLOCK_DICT.
	(parse_symbol): Update call to new_block.
	(new_symtab): Ditto.
	(fixup_sigtramp): Ditto.
	Delete MAXSYMS member of struct parse_stack.
	(psymtab_to_symtab_1): Don't set maxsyms.
	(new_symtab): Remove maxsyms argument.
	(psymtab_to_symtab_1): Update call to new_symtab.
	(shrink_block): Delete function.
	(add_symbol): Add symbols via dict_add_symbol_block.
	* jv-lang.c (add_class_symtab_symbol): Add symbols via
	dict_add_symbol_block.
	Delete variable class_symtab_space.
	* Makefile.in (jv-lang.o): Add dictionary_h.
	* jv-lang.c: #include "dictionary.h"
	* symmisc.c (free_symtab): Call free_func rather than freeing free_ptr.
	* jv-lang.c (get_java_class_symtab): Initialize free_func rather
	than free_ptr.
	(free_class_block): New function.
	(add_class_symtab_symbol): Delete reference to free_ptr.
	* buildsym.c (end_symtab): Initialize free_func rather than free_ptr.
	* symtab.h (struct symtab): Replace free_ptr by free_func.
	* jv-lang.c (get_java_class_symtab): Add DICT_BLOCK assignments.
	* Makefile.in (buildsym.o): Add dictionary_h.
	* buildsym.c (finish_block): Initialize BLOCK_DICT (block).
	#include "dictionary.h"
	* symtab.h (struct block): Add 'dict' member.
	(BLOCK_DICT): New macro.
	* dictionary.c: New file.
	* dictionary.h: New file.
	* Makefile.in (SFILES): Add dictionary.c
	(dictionary_h): New variable.
	(COMMON_OBS): Add dictionary.o.
	(dictionary.o): New rule.
	(carlton): New rule.
2002-09-23  David Carlton  <carlton@math.stanford.edu>

	* dictionary.c (struct dict_vtbl): 'add_symbol' field.
	(add_symbol_generic): New function.
	(free_obstack): New function.
	(dict_create_hashed): New function.
	(lookup_hashed): New function.
	(iterator_first_hashed): New function.
	(iterator_hashed_advance): New function.
	(iterator_next_hashed): New function.
	* dictionary.h: A few more declarations.
	* mdebugread.c (parse_symbol): Use dict_iterator when finding
	parameters.
	* Makefile.in (valops.o): Depend on dictionary_h.
	* valops.c (value_of_this): Check empty block via dict_empty.
	#include "dictionary.h"
	* symfile.c (free_named_symtabs): Check empty block via dict_empty.
	* dictionary.h: Declare dict_empty.
	* symmisc.c (dump_symtab): Don't print out number of
	symbols/buckets.
	* printcmd.c (print_frame_args): Delete assertion that block isn't
	a hashtable.
	* symmisc.c (free_symtab_block): Update to use dictionary
	methods.
	* symtab.h (struct symtab): Comment on free_contents.
	* jv-lang.c (get_java_class_symtab): Set class_symtab->free_code.
	* mdebugread.c (add_symbol): Delete 'nsyms' variable.
	(fixup_sigtramp): Add symbol via dict_add_symbol_block.
	* Makefile.in (mi-cmd-stack.o): Depend on dictionary_h.
	* ada-lang.c (symtab_for_sym): Update uses of ALL_BLOCK_SYMBOLS.
	(ada_add_block_symbols): Ditto.
	(debug_print_block): Ditto.
	(fill_in_ada_prototype): Ditto.
	* breakpoint.c (get_catch_sals): Ditto.
	* coffread.c (patch_opaque_types): Ditto.
	* tracepoint.c (add_local_symbols): Ditto.
	(scope_info): Ditto.
	* symtab.c (find_pc_sect_symtab): Ditto.
	(search_symbols): Ditto.
	(make_symbol_completion_list): Ditto.
	(find_addr_symbol): Ditto.
	(make_file_symbol_completion_list): Ditto.
	(make_symbol_overload_list): Ditto.
	* symmisc.c (dump_symtab): Ditto.
	* stack.c (print_block_frame_locals): Ditto.
	(print_block_frame_labels): Ditto.
	(print_frame_arg_vars): Ditto.
	* printcmd.c (print_frame_args): Ditto.
	* objfiles.c (objfile_relocate): Ditto.
	* mdebugread.c (mylookup_symbol): Ditto.
	* Makefile.in (ada-lang.o): Depend on dictionary_h.
	* Makefile.in (tracepoint.o): Ditto.
	* Makefile.in (symmisc.o): Ditto.
	* Makefile.in (stack.o): Ditto.
	* Makefile.in (printcmd.o): Ditto.
	* Makefile.in (objfiles.o): Ditto.
	* Makefile.in (coffread.o): Ditto.
	* Makefile.in (breakpoint.o): Ditto.
	* ada-lang.c: #include "dictionary.h"
	* tracepoint.c: Ditto.
	* symmisc.c: Ditto.
	* stack.c: Ditto.
	* printcmd.c: Ditto.
	* objfiles.c: Ditto.
	* coffread.c: Ditto.
	* breakpoint.c: Ditto.
	* symtab.h: Comment out ALL_BLOCK_SYMBOLS.  (Moved to
	dictionary.h.)
	* dictionary.c: Dict_iterator accessor macros.
	(struct dict_vtbl): Add iterator_first, iterator_next.
	(dict_iterator_first): New function.
	(dict_iterator_next): New function.
	(iterator_first_block): New function.
	(iterator_next_block): New function.
	(iterator_block_hashed_advance): New function.
	* dictionary.h: Add dict_iterator stuff.
	* Makefile.in (symtab.o): Depend on dictionary_h.
	* symtab.c: #include "dictionary.h"
	* dictionary.c: Move down #include "dictionary.h", for now...
	(free_block): Rename from dict_free_block.
	(struct dict_vtbl): Add LOOKUP member.
	(dict_lookup): New function.
	(lookup_block): New function.
	* dictionary.h: Declare dict_lookup.
	* symtab.c (lookup_block_symbol): Use dict_lookup.

2002-09-23  David Carlton  <carlton@math.stanford.edu>

	* mi-cmd-stack.c (list_args_or_locals): Update use of
	ALL_BLOCK_SYMBOLS.
	#include "dictionary.h"
2002-09-23  David Carlton  <carlton@math.stanford.edu>

	* dictionary.c (struct dict_vtbl): 'add_symbol' field.
	(add_symbol_generic): New function.
	(free_obstack): New function.
	(dict_create_hashed): New function.
	(lookup_hashed): New function.
	(iterator_first_hashed): New function.
	(iterator_hashed_advance): New function.
	(iterator_next_hashed): New function.
	* dictionary.h: A few more declarations.
	* mdebugread.c (parse_symbol): Use dict_iterator when finding
	parameters.
	* Makefile.in (valops.o): Depend on dictionary_h.
	* valops.c (value_of_this): Check empty block via dict_empty.
	#include "dictionary.h"
	* symfile.c (free_named_symtabs): Check empty block via dict_empty.
	* dictionary.h: Declare dict_empty.
	* symmisc.c (dump_symtab): Don't print out number of
	symbols/buckets.
	* printcmd.c (print_frame_args): Delete assertion that block isn't
	a hashtable.
	* symmisc.c (free_symtab_block): Update to use dictionary
	methods.
	* symtab.h (struct symtab): Comment on free_contents.
	* jv-lang.c (get_java_class_symtab): Set class_symtab->free_code.
	* mdebugread.c (add_symbol): Delete 'nsyms' variable.
	(fixup_sigtramp): Add symbol via dict_add_symbol_block.
	* Makefile.in (mi-cmd-stack.o): Depend on dictionary_h.
	* ada-lang.c (symtab_for_sym): Update uses of ALL_BLOCK_SYMBOLS.
	(ada_add_block_symbols): Ditto.
	(debug_print_block): Ditto.
	(fill_in_ada_prototype): Ditto.
	* breakpoint.c (get_catch_sals): Ditto.
	* coffread.c (patch_opaque_types): Ditto.
	* tracepoint.c (add_local_symbols): Ditto.
	(scope_info): Ditto.
	* symtab.c (find_pc_sect_symtab): Ditto.
	(search_symbols): Ditto.
	(make_symbol_completion_list): Ditto.
	(find_addr_symbol): Ditto.
	(make_file_symbol_completion_list): Ditto.
	(make_symbol_overload_list): Ditto.
	* symmisc.c (dump_symtab): Ditto.
	* stack.c (print_block_frame_locals): Ditto.
	(print_block_frame_labels): Ditto.
	(print_frame_arg_vars): Ditto.
	* printcmd.c (print_frame_args): Ditto.
	* objfiles.c (objfile_relocate): Ditto.
	* mdebugread.c (mylookup_symbol): Ditto.
	* Makefile.in (ada-lang.o): Depend on dictionary_h.
	* Makefile.in (tracepoint.o): Ditto.
	* Makefile.in (symmisc.o): Ditto.
	* Makefile.in (stack.o): Ditto.
	* Makefile.in (printcmd.o): Ditto.
	* Makefile.in (objfiles.o): Ditto.
	* Makefile.in (coffread.o): Ditto.
	* Makefile.in (breakpoint.o): Ditto.
	* ada-lang.c: #include "dictionary.h"
	* tracepoint.c: Ditto.
	* symmisc.c: Ditto.
	* stack.c: Ditto.
	* printcmd.c: Ditto.
	* objfiles.c: Ditto.
	* coffread.c: Ditto.
	* breakpoint.c: Ditto.
	* symtab.h: Comment out ALL_BLOCK_SYMBOLS.  (Moved to
	dictionary.h.)
	* dictionary.c: Dict_iterator accessor macros.
	(struct dict_vtbl): Add iterator_first, iterator_next.
	(dict_iterator_first): New function.
	(dict_iterator_next): New function.
	(iterator_first_block): New function.
	(iterator_next_block): New function.
	(iterator_block_hashed_advance): New function.
	* dictionary.h: Add dict_iterator stuff.
	* Makefile.in (symtab.o): Depend on dictionary_h.
	* symtab.c: #include "dictionary.h"
	* dictionary.c: Move down #include "dictionary.h", for now...
	(free_block): Rename from dict_free_block.
	(struct dict_vtbl): Add LOOKUP member.
	(dict_lookup): New function.
	(lookup_block): New function.
	* dictionary.h: Declare dict_lookup.
	* symtab.c (lookup_block_symbol): Use dict_lookup.

2002-09-23  David Carlton  <carlton@math.stanford.edu>

	* mi-cmd-stack.c (list_args_or_locals): Update use of
	ALL_BLOCK_SYMBOLS.
	#include "dictionary.h"
2002-09-23  David Carlton  <carlton@math.stanford.edu>

	* dictionary.c (struct dict_vtbl): 'add_symbol' field.
	(add_symbol_generic): New function.
	(free_obstack): New function.
	(dict_create_hashed): New function.
	(lookup_hashed): New function.
	(iterator_first_hashed): New function.
	(iterator_hashed_advance): New function.
	(iterator_next_hashed): New function.
	* dictionary.h: A few more declarations.
	* mdebugread.c (parse_symbol): Use dict_iterator when finding
	parameters.
	* Makefile.in (valops.o): Depend on dictionary_h.
	* valops.c (value_of_this): Check empty block via dict_empty.
	#include "dictionary.h"
	* symfile.c (free_named_symtabs): Check empty block via dict_empty.
	* dictionary.h: Declare dict_empty.
	* symmisc.c (dump_symtab): Don't print out number of
	symbols/buckets.
	* printcmd.c (print_frame_args): Delete assertion that block isn't
	a hashtable.
	* symmisc.c (free_symtab_block): Update to use dictionary
	methods.
	* symtab.h (struct symtab): Comment on free_contents.
	* jv-lang.c (get_java_class_symtab): Set class_symtab->free_code.
	* mdebugread.c (add_symbol): Delete 'nsyms' variable.
	(fixup_sigtramp): Add symbol via dict_add_symbol_block.
	* Makefile.in (mi-cmd-stack.o): Depend on dictionary_h.
	* ada-lang.c (symtab_for_sym): Update uses of ALL_BLOCK_SYMBOLS.
	(ada_add_block_symbols): Ditto.
	(debug_print_block): Ditto.
	(fill_in_ada_prototype): Ditto.
	* breakpoint.c (get_catch_sals): Ditto.
	* coffread.c (patch_opaque_types): Ditto.
	* tracepoint.c (add_local_symbols): Ditto.
	(scope_info): Ditto.
	* symtab.c (find_pc_sect_symtab): Ditto.
	(search_symbols): Ditto.
	(make_symbol_completion_list): Ditto.
	(find_addr_symbol): Ditto.
	(make_file_symbol_completion_list): Ditto.
	(make_symbol_overload_list): Ditto.
	* symmisc.c (dump_symtab): Ditto.
	* stack.c (print_block_frame_locals): Ditto.
	(print_block_frame_labels): Ditto.
	(print_frame_arg_vars): Ditto.
	* printcmd.c (print_frame_args): Ditto.
	* objfiles.c (objfile_relocate): Ditto.
	* mdebugread.c (mylookup_symbol): Ditto.
	* Makefile.in (ada-lang.o): Depend on dictionary_h.
	* Makefile.in (tracepoint.o): Ditto.
	* Makefile.in (symmisc.o): Ditto.
	* Makefile.in (stack.o): Ditto.
	* Makefile.in (printcmd.o): Ditto.
	* Makefile.in (objfiles.o): Ditto.
	* Makefile.in (coffread.o): Ditto.
	* Makefile.in (breakpoint.o): Ditto.
	* ada-lang.c: #include "dictionary.h"
	* tracepoint.c: Ditto.
	* symmisc.c: Ditto.
	* stack.c: Ditto.
	* printcmd.c: Ditto.
	* objfiles.c: Ditto.
	* coffread.c: Ditto.
	* breakpoint.c: Ditto.
	* symtab.h: Comment out ALL_BLOCK_SYMBOLS.  (Moved to
	dictionary.h.)
	* dictionary.c: Dict_iterator accessor macros.
	(struct dict_vtbl): Add iterator_first, iterator_next.
	(dict_iterator_first): New function.
	(dict_iterator_next): New function.
	(iterator_first_block): New function.
	(iterator_next_block): New function.
	(iterator_block_hashed_advance): New function.
	* dictionary.h: Add dict_iterator stuff.
	* Makefile.in (symtab.o): Depend on dictionary_h.
	* symtab.c: #include "dictionary.h"
	* dictionary.c: Move down #include "dictionary.h", for now...
	(free_block): Rename from dict_free_block.
	(struct dict_vtbl): Add LOOKUP member.
	(dict_lookup): New function.
	(lookup_block): New function.
	* dictionary.h: Declare dict_lookup.
	* symtab.c (lookup_block_symbol): Use dict_lookup.

2002-09-23  David Carlton  <carlton@math.stanford.edu>

	* mi-cmd-stack.c (list_args_or_locals): Update use of
	ALL_BLOCK_SYMBOLS.
	#include "dictionary.h"
2002-09-24  David Carlton  <carlton@math.stanford.edu>

	* dictionary.c: Comment out block-specific stuff.
	* jv-lang.c (get_java_class_symtab): Allocate GLOBAL_BLOCK on
	obstack.
	(free_class_block): Don't free GLOBAL_BLOCK.
	* dictionary.h: Comment out block-specific stuff.
	* symtab.h: Comment out the members of struct block that
	BLOCK_DICT obsoletes, and their accessors.
	* Makefile.in (buildsym.o): Depend on gdb_assert_h.
	* buildsym.c (finish_block): Don't count number of symbols.
	(finish_block): Replace BLOCK_SYM reference with use of iterator.
	#include "gdb_assert.h"
	* symfile.c (free_named_symtabs): Fix calls to dict_empty
	(which would seem to be #if'd out; oops...).
	* buildsym.c (finish_block): Don't set BLOCK_HASHTABLE.
	* jv-lang.c (get_java_class_symtab): Don't set BLOCK_HASHTABLE and
	BLOCK_NSYMS.
	* mdebugread.c (new_block): Allocate BLOCK_DICT via
	dict_create_linear_expandable.
	(add_symbol): Add symbol via dict_add_symbol; no need to chase
	pointers.
	(fixup_sigtramp): Add symbol via dict_add_symbol.
	(new_symtab): Add FIXME comment on freeing blocks.
	* jv-lang.c (get_java_class_symtab): Allocate GLOBAL_BLOCK's dict
	using dict_create_linear_expandable.
	(add_class_symtab_symbol): Add symbol using dict_add_symbol.
	* dictionary.c (struct dictionary_linear_expandable): New struct.
	(struct dictionary): Added member 'linear_expandable'.
	(DICT_LINEAR_EXPANDABLE_MAXSYMS): New macro.
	New variable dict_block_vtbl.  Made all the _vtbl variables static.
	Renamed all 'maxsyms' to 'capacity'.
	(dict_create_linear_expandable): New function.
	(add_symbol_linear_expandable): New function.
	(free_linear_expandable): New function.
	* jv-lang.c (get_java_class_symtab): Create static block's
	dictionary with dict_create_linear.
	* buildsym.c (finish_block): Create function blocks' dictionaries
	with dict_create_linear.
	* dictionary.c (lookup_linear): New function.
	(iterator_first_linear): New function.
	(iterator_next_linear): New function.
	* dictionary.h: Moved comment.
	* dictionary.c (struct dictionary_linear): New struct.
	(struct dictionary): Added 'linear' member.
	(DICT_LINEAR_NSYMS): New macro.
	(DICT_LINEAR_SYMS): New macro.
	(DICT_LINEAR_SYM): New macro.
	New variable dict_linear_vtbl.
	(dict_create_linear): New function.
2002-09-24  David Carlton  <carlton@math.stanford.edu>

	* dictionary.c: Comment out block-specific stuff.
	* jv-lang.c (get_java_class_symtab): Allocate GLOBAL_BLOCK on
	obstack.
	(free_class_block): Don't free GLOBAL_BLOCK.
	* dictionary.h: Comment out block-specific stuff.
	* symtab.h: Comment out the members of struct block that
	BLOCK_DICT obsoletes, and their accessors.
	* Makefile.in (buildsym.o): Depend on gdb_assert_h.
	* buildsym.c (finish_block): Don't count number of symbols.
	(finish_block): Replace BLOCK_SYM reference with use of iterator.
	#include "gdb_assert.h"
	* symfile.c (free_named_symtabs): Fix calls to dict_empty
	(which would seem to be #if'd out; oops...).
	* buildsym.c (finish_block): Don't set BLOCK_HASHTABLE.
	* jv-lang.c (get_java_class_symtab): Don't set BLOCK_HASHTABLE and
	BLOCK_NSYMS.
	* mdebugread.c (new_block): Allocate BLOCK_DICT via
	dict_create_linear_expandable.
	(add_symbol): Add symbol via dict_add_symbol; no need to chase
	pointers.
	(fixup_sigtramp): Add symbol via dict_add_symbol.
	(new_symtab): Add FIXME comment on freeing blocks.
	* jv-lang.c (get_java_class_symtab): Allocate GLOBAL_BLOCK's dict
	using dict_create_linear_expandable.
	(add_class_symtab_symbol): Add symbol using dict_add_symbol.
	* dictionary.c (struct dictionary_linear_expandable): New struct.
	(struct dictionary): Added member 'linear_expandable'.
	(DICT_LINEAR_EXPANDABLE_MAXSYMS): New macro.
	New variable dict_block_vtbl.  Made all the _vtbl variables static.
	Renamed all 'maxsyms' to 'capacity'.
	(dict_create_linear_expandable): New function.
	(add_symbol_linear_expandable): New function.
	(free_linear_expandable): New function.
	* jv-lang.c (get_java_class_symtab): Create static block's
	dictionary with dict_create_linear.
	* buildsym.c (finish_block): Create function blocks' dictionaries
	with dict_create_linear.
	* dictionary.c (lookup_linear): New function.
	(iterator_first_linear): New function.
	(iterator_next_linear): New function.
	* dictionary.h: Moved comment.
	* dictionary.c (struct dictionary_linear): New struct.
	(struct dictionary): Added 'linear' member.
	(DICT_LINEAR_NSYMS): New macro.
	(DICT_LINEAR_SYMS): New macro.
	(DICT_LINEAR_SYM): New macro.
	New variable dict_linear_vtbl.
	(dict_create_linear): New function.
2002-09-24  David Carlton  <carlton@math.stanford.edu>

	* dictionary.c: Comment out block-specific stuff.
	* jv-lang.c (get_java_class_symtab): Allocate GLOBAL_BLOCK on
	obstack.
	(free_class_block): Don't free GLOBAL_BLOCK.
	* dictionary.h: Comment out block-specific stuff.
	* symtab.h: Comment out the members of struct block that
	BLOCK_DICT obsoletes, and their accessors.
	* Makefile.in (buildsym.o): Depend on gdb_assert_h.
	* buildsym.c (finish_block): Don't count number of symbols.
	(finish_block): Replace BLOCK_SYM reference with use of iterator.
	#include "gdb_assert.h"
	* symfile.c (free_named_symtabs): Fix calls to dict_empty
	(which would seem to be #if'd out; oops...).
	* buildsym.c (finish_block): Don't set BLOCK_HASHTABLE.
	* jv-lang.c (get_java_class_symtab): Don't set BLOCK_HASHTABLE and
	BLOCK_NSYMS.
	* mdebugread.c (new_block): Allocate BLOCK_DICT via
	dict_create_linear_expandable.
	(add_symbol): Add symbol via dict_add_symbol; no need to chase
	pointers.
	(fixup_sigtramp): Add symbol via dict_add_symbol.
	(new_symtab): Add FIXME comment on freeing blocks.
	* jv-lang.c (get_java_class_symtab): Allocate GLOBAL_BLOCK's dict
	using dict_create_linear_expandable.
	(add_class_symtab_symbol): Add symbol using dict_add_symbol.
	* dictionary.c (struct dictionary_linear_expandable): New struct.
	(struct dictionary): Added member 'linear_expandable'.
	(DICT_LINEAR_EXPANDABLE_MAXSYMS): New macro.
	New variable dict_block_vtbl.  Made all the _vtbl variables static.
	Renamed all 'maxsyms' to 'capacity'.
	(dict_create_linear_expandable): New function.
	(add_symbol_linear_expandable): New function.
	(free_linear_expandable): New function.
	* jv-lang.c (get_java_class_symtab): Create static block's
	dictionary with dict_create_linear.
	* buildsym.c (finish_block): Create function blocks' dictionaries
	with dict_create_linear.
	* dictionary.c (lookup_linear): New function.
	(iterator_first_linear): New function.
	(iterator_next_linear): New function.
	* dictionary.h: Moved comment.
	* dictionary.c (struct dictionary_linear): New struct.
	(struct dictionary): Added 'linear' member.
	(DICT_LINEAR_NSYMS): New macro.
	(DICT_LINEAR_SYMS): New macro.
	(DICT_LINEAR_SYM): New macro.
	New variable dict_linear_vtbl.
	(dict_create_linear): New function.
2002-09-25  David Carlton  <carlton@math.stanford.edu>

	* dictionary.c: Commented what needs to be done to add stuff to
	this file.
	* dictionary.h: Expand on namespace_enum comment.
	* Makefile.in (cris-tdep.o): Depend on gdb_string_h.
	(mcore-tdep.o): Ditto.
	(ns32k-tdep.o): Ditto.
	(sh3-rom.o): Ditto.
	(vax-tdep.o): Ditto.
	* cris-tdep.c: #include "gdb_string.h"
	* mcore-tdep.c: Ditto.
	* ns32k-tdep.c: Ditto.
	* sh3-rom.c: Ditto.
	* vax-tdep.c: Ditto.
2002-09-25  David Carlton  <carlton@math.stanford.edu>

	* dictionary.c: Commented what needs to be done to add stuff to
	this file.
	* dictionary.h: Expand on namespace_enum comment.
	* Makefile.in (cris-tdep.o): Depend on gdb_string_h.
	(mcore-tdep.o): Ditto.
	(ns32k-tdep.o): Ditto.
	(sh3-rom.o): Ditto.
	(vax-tdep.o): Ditto.
	* cris-tdep.c: #include "gdb_string.h"
	* mcore-tdep.c: Ditto.
	* ns32k-tdep.c: Ditto.
	* sh3-rom.c: Ditto.
	* vax-tdep.c: Ditto.
2002-09-25  David Carlton  <carlton@math.stanford.edu>

	* dictionary.c: Commented what needs to be done to add stuff to
	this file.
	* dictionary.h: Expand on namespace_enum comment.
	* Makefile.in (cris-tdep.o): Depend on gdb_string_h.
	(mcore-tdep.o): Ditto.
	(ns32k-tdep.o): Ditto.
	(sh3-rom.o): Ditto.
	(vax-tdep.o): Ditto.
	* cris-tdep.c: #include "gdb_string.h"
	* mcore-tdep.c: Ditto.
	* ns32k-tdep.c: Ditto.
	* sh3-rom.c: Ditto.
	* vax-tdep.c: Ditto.
2002-09-26  David Carlton  <carlton@math.stanford.edu>

	* dictionary.c (dict_iter_name_first): New function.
	(dict_iter_name_next): New function.
	Initialize new members of dict_hashed_vtbl, dict_linear_vtbl, and
	dict_linear_expandable_vtbl.
	(iter_name_first_hashed): New function.
	(iter_name_next_hashed): New function.
	(iter_name_first_linear): New function.
	(iter_name_next_linear): New function.
	(lookup_hashed): Rewrite following new declaration/semantics.
	(lookup_linear): Ditto.
	(dict_lookup): Ditto.
	* symtab.c (lookup_block_symbol): Rewrite to use
	dict_iter_name_first and dict_iter_name_next instead of
	dict_lookup.
	* dictionary.c (struct dict_vtbl): Change member 'lookup'; new
	members 'iter_name_first' and 'iter_name_next'.
	* dictionary.h: Delete all traces of block stuff.
	Change declaration for dict_lookup; new declarations
	dict_iter_name_first and dict_iter_name_next.
	* dictionary.c: Delete all traces of block stuff.
	* symtab.h (SYMBOL_BEST_NAME): New macro.
	(SYMBOL_SOURCE_NAME): Rewrite in terms of SYMBOL_BEST_NAME.
	(SYMBOL_LINKAGE_NAME): Ditto.
	Comment questioning SYMBOL_MATCHES_NAME and
	SYMBOL_MATCHES_REGEXP.
	* Makefile.in (ns32knbsd-tdep.o): Depend on gdb_string_h.
	* ns32knbsd-tdep.c: #include "gdb_string.h"
2002-09-26  David Carlton  <carlton@math.stanford.edu>

	* dictionary.c (dict_iter_name_first): New function.
	(dict_iter_name_next): New function.
	Initialize new members of dict_hashed_vtbl, dict_linear_vtbl, and
	dict_linear_expandable_vtbl.
	(iter_name_first_hashed): New function.
	(iter_name_next_hashed): New function.
	(iter_name_first_linear): New function.
	(iter_name_next_linear): New function.
	(lookup_hashed): Rewrite following new declaration/semantics.
	(lookup_linear): Ditto.
	(dict_lookup): Ditto.
	* symtab.c (lookup_block_symbol): Rewrite to use
	dict_iter_name_first and dict_iter_name_next instead of
	dict_lookup.
	* dictionary.c (struct dict_vtbl): Change member 'lookup'; new
	members 'iter_name_first' and 'iter_name_next'.
	* dictionary.h: Delete all traces of block stuff.
	Change declaration for dict_lookup; new declarations
	dict_iter_name_first and dict_iter_name_next.
	* dictionary.c: Delete all traces of block stuff.
	* symtab.h (SYMBOL_BEST_NAME): New macro.
	(SYMBOL_SOURCE_NAME): Rewrite in terms of SYMBOL_BEST_NAME.
	(SYMBOL_LINKAGE_NAME): Ditto.
	Comment questioning SYMBOL_MATCHES_NAME and
	SYMBOL_MATCHES_REGEXP.
	* Makefile.in (ns32knbsd-tdep.o): Depend on gdb_string_h.
	* ns32knbsd-tdep.c: #include "gdb_string.h"
2002-09-26  David Carlton  <carlton@math.stanford.edu>

	* dictionary.c (dict_iter_name_first): New function.
	(dict_iter_name_next): New function.
	Initialize new members of dict_hashed_vtbl, dict_linear_vtbl, and
	dict_linear_expandable_vtbl.
	(iter_name_first_hashed): New function.
	(iter_name_next_hashed): New function.
	(iter_name_first_linear): New function.
	(iter_name_next_linear): New function.
	(lookup_hashed): Rewrite following new declaration/semantics.
	(lookup_linear): Ditto.
	(dict_lookup): Ditto.
	* symtab.c (lookup_block_symbol): Rewrite to use
	dict_iter_name_first and dict_iter_name_next instead of
	dict_lookup.
	* dictionary.c (struct dict_vtbl): Change member 'lookup'; new
	members 'iter_name_first' and 'iter_name_next'.
	* dictionary.h: Delete all traces of block stuff.
	Change declaration for dict_lookup; new declarations
	dict_iter_name_first and dict_iter_name_next.
	* dictionary.c: Delete all traces of block stuff.
	* symtab.h (SYMBOL_BEST_NAME): New macro.
	(SYMBOL_SOURCE_NAME): Rewrite in terms of SYMBOL_BEST_NAME.
	(SYMBOL_LINKAGE_NAME): Ditto.
	Comment questioning SYMBOL_MATCHES_NAME and
	SYMBOL_MATCHES_REGEXP.
	* Makefile.in (ns32knbsd-tdep.o): Depend on gdb_string_h.
	* ns32knbsd-tdep.c: #include "gdb_string.h"
Merge with mainline; tag is carlton_dictionary-20020927-merge
Merge with mainline; tag is carlton_dictionary-20020927-merge
Merge with mainline; tag is carlton_dictionary-20020927-merge