This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Patch: darwin specific
- From: Dale Johannesen <dalej at apple dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Dale Johannesen <dalej at apple dot com>
- Date: Mon, 25 Nov 2002 10:14:29 -0800
- Subject: 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