This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Patch: darwin specific


This patch replaces 3 linked lists in Darwin-specific code with
hash tables, for speed improvement. Also, an incorrect misoptimization
which caused "stub" symbols to be dropped on occasion is removed (this
has been gone from Apple sources for months, we missed moving it here).
Bootstrapped and tested on darwin.

This uses the TREE_TYPE and TREE_CHAIN field of some IDENTIFIER nodes, which
are currently idle. Per Bothner is working on IDENTIFIERs and knows about
this new usage.

2002-11-25 Dale Johannesen <dalej@apple.com>

* config/darwin.c (machopic_defined_list): Replaced by
htab_machopic_defined_hash_table.
(machopic_non_lazy_pointers): Replaced by
htab_machopic_non_lazy_ptrs_hash_table.
(machopic_stubs): Replaced by htab_machopic_stubs_hash_table.
(htab_hash_stub_or_non_lazy_ptr): New.
(htab_compare_non_lazy_ptrs): New.
(htab_compare_stubs): New.
(emit_non_lazy_ptr): New.
(htab_stubs_traverse): New.
(htab_non_lazy_ptrs_traverse): New.
(emit_stub): New.
(stubs_sort_compare): New.
(non_lazy_ptrs_sort_compare): New.
(machopic_non_lazy_ptr_ident): New.
(machopic_stub_ident): New.
(machopic_classify_ident): Rewritten to use hash tables.
(machopic_define_ident): Rewritten to use hash tables.
(machopic_non_lazy_ptr_name): Rewritten to use hash tables.
(machopic_stub_name): Rewritten to use hash tables.
(machopic_validate_stub_or_non_lazy_ptr): Rewritten to use hash tables.
(machopic_indirect_data_reference): Rewritten to use hash tables.
(machopic_finish): Rewritten to use hash tables.
(update_non_lazy_ptrs): Rewritten to use hash tables.
(machopic_output_possible_stub_label): Removed.
(update_stubs): Rewritten to use hash tables.
* config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Remove
machopic_output_possible_stub_label call.

Attachment: diffs3
Description: Binary data







Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]