#include "config.h"#include "system.h"#include "ggc.h"#include "tree.h"#include "hashtable.h"

Go to the source code of this file.
Functions/Subroutines | |
| static hashnode alloc_node | PARAMS ((hash_table *)) |
| static int mark_ident | PARAMS ((struct cpp_reader *, hashnode, const PTR)) |
| static void mark_ident_hash | PARAMS ((void *)) |
| void | init_stringpool () |
| static hashnode | alloc_node (table) |
| const char * | ggc_alloc_string (char *contents, int length) const |
| tree | get_identifier (char *text) const |
| tree | get_identifier_with_length (char *text, unsigned int length) const |
| tree | maybe_get_identifier (char *text) const |
| void | stringpool_statistics () |
| static int | mark_ident (pfile, hashnode h, v) |
| static void | mark_ident_hash (arg) |
Variables | |
| const char | empty_string [] = "" |
| const char | digit_vector [] |
| struct ht * | ident_hash |
| static struct obstack | string_stack |
| tree get_identifier | ( | char * | text | ) | const |
Definition at line 110 of file stringpool.c.
References HT_ALLOC, HT_IDENT_TO_GCC_IDENT, ht_lookup(), and strlen().
Referenced by add_objc_decls(), add_stmt(), alpha_build_builtin_va_list(), alpha_build_va_list(), alpha_start_function(), altivec_init_builtins(), append_gcj_attribute(), append_innerclasses_attribute(), append_synthetic_attribute(), arc_compute_function_type(), arm_init_tls_builtins(), arm_mark_dllexport(), arm_mark_dllimport(), arm_pe_encode_section_info(), arm_set_default_type_attributes(), avr_insert_attributes(), block_move_loop(), block_move_no_loop(), build_category_initializer(), build_category_template(), build_class_ref(), build_class_reference_decl(), build_class_template(), build_common_tree_nodes(), build_complex_type(), build_compound_literal(), build_cp_library_fn_ptr(), build_ctr_info_value(), build_dynamic_cast_1(), build_expr_wfl(), build_fn_decl(), build_get_class(), build_invokeinterface(), build_ivar_list_initializer(), build_ivar_list_template(), build_ivar_template(), build_java_argument_signature(), build_java_array_length_access(), build_java_array_type(), build_java_arrayaccess(), build_java_class_ref(), build_java_method_aliases(), build_java_signature(), build_jni_stub(), build_keyword_selector(), build_known_method_ref(), build_library_fn_ptr(), build_method_list_template(), build_method_prototype_list_template(), build_method_prototype_template(), build_method_template(), build_mips16_call_stub(), build_mips16_function_stub(), build_module_descriptor(), build_new_1(), build_objc_method_call(), build_objc_string_decl(), build_objc_symtab_template(), build_protocol_initializer(), build_protocol_template(), build_selector_reference_decl(), build_selector_template(), build_shared_structure_initializer(), build_super_template(), build_throw(), build_tmp_function_decl(), build_utf8_ref(), builtin_function(), builtin_function_1(), c4x_check_attribute(), c_common_nodes_and_builtins(), c_init_decl_processing(), c_parse_init(), c_register_builtin_type(), call_builtin_trap(), classtype_mangled_name(), clipper_build_va_list(), compile_resource_file(), copy_decl_for_inlining(), coverage_counter_alloc(), cp_finish_decl(), cp_parser_linkage_specification(), cp_parser_objc_selector(), create_builtin_decl(), create_coverage(), create_global_var(), create_omp_child_function(), create_one_component_var(), create_primitive_vtable(), create_pseudo_type_info(), create_vtable_ptr(), cxx_init_decl_processing(), d30v_build_va_list(), darwin_set_default_type_attributes(), decl_is_java_type(), default_hidden_stack_protect_fail(), define_builtin(), define_label(), do_allocate_exception(), do_begin_catch(), do_end_catch(), do_free_exception(), do_get_exception_ptr(), duplicate_decls(), dw2_force_const_mem(), emit_init_test_initialization(), emit_library_call_value_1(), emit_offset_symbol_table(), emit_support_tinfos(), encode_method_def(), encode_method_prototype(), end_final(), expand_ashiftrt(), expand_block_move(), expand_builtin_fork_or_exec(), expand_static_init(), ffecom_decl_field(), ffecom_get_appended_identifier_(), ffecom_get_external_identifier_(), ffecom_get_identifier_(), ffecom_get_invented_identifier(), ffecom_init_0(), ffecom_lookup_label(), ffecom_make_gfrt_(), ffecom_start_progunit_(), find_string_constant(), finish_builtin_struct(), finish_builtin_type(), finish_class(), finish_decl(), finish_mangling(), finish_vector_type(), frv_gen_GPsym2reg(), function_symbol(), gen_datalabel_ref(), gen_stdcall_or_fastcall_suffix(), gen_stdcall_suffix(), generate_classfile(), generate_dispatch_tables(), generate_forward_declaration_to_string_table(), generate_ivar_lists(), generate_method_descriptors(), generate_name(), generate_objc_symtab_decl(), generate_protocol_list(), generate_protocols(), generate_static_references(), get_chain_field(), get_dso_handle_node(), get_file_function_name_long(), get_frame_type(), get_nl_goto_field(), get_super_receiver(), get_vfield_name(), give_name_to_locals(), grokclassfn(), grokfield(), GTY(), h8300_insert_attributes(), handle_alias_attribute(), handle_class_ref(), handle_impent(), handle_weakref_attribute(), i386_pe_asm_file_end(), i386_pe_encode_section_info(), i386_pe_file_end(), i386_pe_mark_dllexport(), i386_pe_mark_dllimport(), i860_build_builtin_va_list(), i860_build_va_list(), ia64_hpux_add_pragma_builtin(), ident_subst(), implicitly_declare_fn(), init_class_processing(), init_eh(), init_exception_processing(), init_idents(), init_mangle(), init_module_descriptor(), init_one_libfunc(), init_operators(), init_repo(), init_reswords(), init_rtti_processing(), initialize_builtins(), initialize_predefined_identifiers(), instantiate_element(), invoke_build_dtable(), is_valid_printf_arglist(), ix86_asm_file_end(), ix86_build_builtin_va_list(), ix86_build_va_list(), ix86_file_end(), java_init_decl_processing(), java_init_lex(), lhd_set_decl_assembler_name(), load_class(), lookup_label(), m88k_build_va_list(), machopic_classify_name(), machopic_data_defined_p(), machopic_define_name(), machopic_name_defined_p(), machopic_validate_stub_or_non_lazy_ptr(), make_alias_for_thunk(), make_anon_name(), make_class(), make_decl_rtl(), make_method_value(), make_rtl_for_nonlocal_decl(), make_vector_type(), mangle_array_type(), mangle_conv_op_name_for_type(), mangle_ctor_vtbl_for_type(), mangle_decl(), mangle_guard_variable(), mangle_ref_init_variable(), mangle_special_for_type(), mangle_thunk(), mangle_type(), mark_current_function_as_interrupt(), mcore_encode_section_info(), mcore_mark_dllexport(), mcore_mark_dllimport(), mf_make_mf_cache_struct_type(), mips16_gp_offset(), mips_asm_file_end(), mips_build_builtin_va_list(), mips_build_va_list(), mips_declare_object(), mips_file_end(), objc_add_static_instance(), output_call(), output_func_start_profiler(), push_context(), push_namespace(), push_promoted_type(), really_start_method(), receiver_is_class_object(), record_builtin_type(), record_unknown_type(), rest_of_decl_compilation(), rs6000_build_builtin_va_list(), rs6000_build_va_list(), rs6000_init_builtins(), rs6000_longcall_ref(), rs6000_set_default_type_attributes(), s390_build_builtin_va_list(), s390_build_va_list(), set_sizetype(), set_type_package_list(), set_user_assembler_name(), setup_string_decl(), sh_add_function_attribute(), sh_build_builtin_va_list(), sh_build_va_list(), sh_insert_attributes(), sh_symbian_encode_section_info(), sh_symbian_mark_dllexport(), sh_symbian_mark_dllimport(), solaris_insert_attributes(), solaris_pragma_fini(), solaris_pragma_init(), spe_init_builtins(), start_class(), start_cleanup_fn(), start_decl(), start_function(), start_method_def(), symbian_add_attribute(), synth_forward_declarations(), synth_id_with_class_suffix(), synth_module_prologue(), th_asm_file_end(), throw_bad_cast(), throw_bad_typeid(), v850_set_data_area(), VEC(), VPARAMS(), vt_initialize(), WFE_Add_Weak(), WFE_Assemble_Constructor(), WFE_Assemble_Destructor(), WFE_Weak_Finish(), xstormy16_build_builtin_va_list(), xstormy16_build_va_list(), xstormy16_encode_section_info(), xtensa_build_builtin_va_list(), xtensa_build_va_list(), and yylex().
| tree get_identifier_with_length | ( | char * | text, | |
| unsigned int | length | |||
| ) | const |
Definition at line 125 of file stringpool.c.
References HT_ALLOC, HT_IDENT_TO_GCC_IDENT, and ht_lookup().
Referenced by gen_regparm_prefix(), and gen_stdcall_or_fastcall_decoration().
| const char* ggc_alloc_string | ( | char * | contents, | |
| int | length | |||
| ) | const |
Definition at line 87 of file stringpool.c.
References digit_string, empty_string, ISDIGIT, obstack_finish, obstack_grow0, string_stack, and strlen().
Referenced by alpha_encode_section_info(), arm_encode_call_attribute(), build_string(), darwin_encode_section_info(), expand_asm_operands(), GTY(), h8300_encode_label(), hppa_encode_label(), i386_nlm_strip_name_encoding(), i386_pe_strip_name_encoding_full(), ia64_encode_section_info(), init_interclass_conv_libfuncs(), init_intraclass_conv_libfuncs(), init_libfuncs(), ix86_encode_section_info(), m32r_encode_section_info(), m68hc11_encode_label(), mmix_encode_section_info(), parse_output_constraint(), resolve_operand_names(), and v850_encode_data_area().
| static int mark_ident | ( | pfile | , | |
| hashnode | h, | |||
| v | ||||
| ) | [static] |
Definition at line 166 of file stringpool.c.
References ggc_mark_tree, and HT_IDENT_TO_GCC_IDENT.
Referenced by ggc_mark_stringpool(), and mark_ident_hash().
Definition at line 178 of file stringpool.c.
References ht_forall(), mark_ident(), and NULL.
Referenced by init_stringpool().
| tree maybe_get_identifier | ( | char * | text | ) | const |
Definition at line 142 of file stringpool.c.
References HT_IDENT_TO_GCC_IDENT, ht_lookup(), HT_NO_INSERT, NULL_TREE, and strlen().
Referenced by assemble_name(), dw2_force_const_mem(), get_deferred_plabel(), get_plabel(), GTY(), ia64_hpux_asm_file_end(), init_dynamic_asm_fprintf_info(), init_dynamic_diag_info(), init_dynamic_gfc_info(), machopic_indirection_name(), machopic_output_indirection(), and machopic_validate_stub_or_non_lazy_ptr().
| static int mark_ident PARAMS | ( | (struct cpp_reader *, hashnode, const PTR) | ) | [static] |
| static hashnode alloc_node PARAMS | ( | (hash_table *) | ) | [static] |
| const char digit_vector[] |
Initial value:
{
'0', 0, '1', 0, '2', 0, '3', 0, '4', 0,
'5', 0, '6', 0, '7', 0, '8', 0, '9', 0
}
Definition at line 49 of file stringpool.c.
| const char empty_string[] = "" |
Definition at line 45 of file stringpool.c.
Definition at line 54 of file stringpool.c.
Referenced by c_common_init_options(), get_identifier_nocopy(), init_c_lex(), save_partially_mangled_name(), and start_mangling().
struct obstack string_stack [static] |
Definition at line 55 of file stringpool.c.
Referenced by ggc_alloc_string(), and init_stringpool().
1.5.6