#include "ruby/config.h"
#include "ruby/defines.h"
Go to the source code of this file.
#define st_hash_start | ( | h | ) | ((st_index_t)(h)) |
Definition at line 126 of file st.h.
Referenced by rb_hash_start().
#define ST_INDEX_BITS (sizeof(st_index_t) * CHAR_BIT) |
#define st_is_member | ( | table, | ||
key | ||||
) | st_lookup(table,key,(st_data_t *)0) |
typedef char st_check_for_sizeof_st_index_t[SIZEOF_VOIDP==(int) sizeof(st_index_t)?1:-1] |
typedef int st_compare_func(st_data_t, st_data_t) |
typedef st_index_t st_hash_func(st_data_t) |
typedef st_data_t st_index_t |
enum st_retval |
Definition at line 513 of file st.c.
References ADD_DIRECT, st_table::bins, do_hash, st_table::entries_packed, MORE_PACKABLE_P, st_table::num_bins, st_table::num_entries, and unpack_entries().
Referenced by boot_defclass(), define_final(), generic_ivar_set(), init_case_fold_table(), make_transcoder_entry(), method_entry(), rb_alias_variable(), rb_autoload(), rb_copy_generic_ivar(), rb_define_class(), rb_define_module(), rb_global_entry(), rb_ivar_set(), register_symid(), set_syserr(), transcode_search_path(), transcode_search_path_i(), w_object(), w_symbol(), and zone_str().
Definition at line 699 of file st.c.
References st_table::bins, st_table::entries_packed, free, st_table_entry::key, last, st_table_entry::next, st_table::num_bins, and st_table::num_entries.
Referenced by hash_foreach_ensure().
void st_clear | ( | st_table * | ) |
Definition at line 241 of file st.c.
References st_table::bins, st_table::entries_packed, free, st_table::head, st_table_entry::next, st_table::num_bins, st_table::num_entries, and st_table::tail.
Referenced by rb_hash_clear(), rb_thread_atfork_internal(), and st_free_table().
Definition at line 558 of file st.c.
References alloc, st_table_entry::back, st_table::bins, Calloc, st_table::entries_packed, st_table_entry::fore, free, st_table_entry::hash, st_table::head, st_table_entry::next, st_table::num_bins, st_free_table(), and st_table::tail.
Referenced by init_copy(), rb_copy_generic_ivar(), rb_hash_dup(), rb_hash_s_create(), rb_mod_init_copy(), and rb_singleton_class_clone().
Referenced by autoload_delete(), classname(), find_class_path(), flatten(), generic_ivar_remove(), load_unlock(), r_leave(), rb_ary_and(), rb_ary_or(), rb_ary_uniq(), rb_ary_uniq_bang(), rb_const_remove(), rb_cvar_get(), rb_cvar_set(), rb_free_generic_ivar(), rb_hash_delete_key(), rb_mod_init_copy(), rb_mod_remove_cvar(), rb_obj_remove_instance_variable(), rb_objspace_call_finalizer(), rb_w32_close(), rb_waitpid(), remove_method(), run_final(), st_delete_wrap(), syck_hdlr_remove_anchor(), time_mload(), and undefine_final().
Referenced by hash_foreach_iter(), and rb_hash_delete_key().
Definition at line 735 of file st.c.
References st_table::bins, st_table::entries_packed, st_table_entry::fore, free, st_table_entry::hash, st_table::head, st_table_entry::key, last, memmove(), st_table_entry::next, st_table::num_bins, st_table::num_entries, st_table_entry::record, REMOVE_ENTRY, ST_CHECK, ST_CONTINUE, ST_DELETE, and ST_STOP.
Referenced by class_instance_method_list(), clear_coverage(), count_nodes(), count_objects(), count_objects_size(), count_tdata_objects(), enc_names(), fc_i(), hash2kv(), hash2kv_enc(), hash_foreach_call(), mark_hash(), mark_m_tbl(), mark_marshal_compat_t(), mark_set(), mark_tbl(), proc_waitall(), rb_ary_uniq(), rb_ary_uniq_bang(), rb_check_deadlock(), rb_check_exec_env(), rb_check_exec_options(), rb_clear_trace_func(), rb_coverage_result(), rb_econv_asciicompat_encoding(), rb_enc_aliases(), rb_enc_name_list(), rb_feature_p(), rb_free_m_table(), rb_mod_init_copy(), rb_obj_singleton_methods(), rb_objspace_call_finalizer(), rb_singleton_class_clone(), rb_sym_all_symbols(), rb_thread_atfork_internal(), rb_thread_keys(), rb_thread_list(), rb_thread_terminate_all(), rb_vm_mark(), rb_waitpid(), set_threads_event_flags(), st_foreach_safe(), syck_emitter_st_free(), syck_free_parser(), syck_mark_parser(), syck_st_free(), thgroup_list(), tk_symbolkey2str(), and transcode_search_path().
void st_free_table | ( | st_table * | ) |
Definition at line 266 of file st.c.
References st_table::bins, free, and st_clear().
Referenced by ary_recycle_hash(), autoload_free(), class_instance_method_list(), clear_dump_arg(), clear_load_arg(), exit_handler(), fiber_free(), flatten(), free_enc2cp(), generic_ivar_remove(), init_copy(), Init_win32ole(), iseq_build_body(), iseq_data_to_ary(), obj_free(), rb_const_list(), rb_copy_generic_ivar(), rb_free_generic_ivar(), rb_free_m_table(), rb_hash_rehash(), rb_mod_init_copy(), rb_obj_singleton_methods(), rb_objspace_call_finalizer(), ruby_vm_destruct(), st_copy(), syck_emitter_st_free(), syck_free_parser(), syck_st_free(), thread_free(), and transcode_search_path().
Referenced by rb_feature_p().
st_index_t st_hash | ( | const void * | ptr, | |
size_t | len, | |||
st_index_t | h | |||
) |
Definition at line 1058 of file st.c.
References CHAR_BIT, murmur_finish(), murmur_step, and SIZEOF_ST_INDEX_T.
Referenced by rb_memhash(), and strhash().
st_index_t st_hash_end | ( | st_index_t | h | ) |
Definition at line 1222 of file st.c.
References murmur_step.
st_index_t st_hash_start | ( | st_index_t | h | ) |
st_index_t st_hash_uint | ( | st_index_t | h, | |
st_index_t | i | |||
) |
st_index_t st_hash_uint32 | ( | st_index_t | h, | |
uint32_t | i | |||
) |
Definition at line 1185 of file st.c.
References murmur_step.
st_table* st_init_numtable | ( | void | ) |
Definition at line 205 of file st.c.
References st_init_table().
Referenced by class_instance_method_list(), define_final(), fiber_init(), find_class_path(), flatten(), generic_ivar_set(), include_class_new(), init_constants(), init_enc2cp(), Init_Exception(), Init_marshal(), Init_var_tables(), Init_VM(), Init_win32ole(), insn_make_insn_table(), iseq_data_to_ary(), iseq_load(), marshal_dump(), marshal_load(), mod_av_set(), rb_autoload(), rb_class_boot(), rb_iseq_build_from_ary(), rb_ivar_set(), rb_mod_const_at(), rb_mod_init_copy(), rb_module_new(), rb_obj_freeze(), rb_obj_singleton_methods(), rb_singleton_class_attached(), rb_singleton_class_clone(), rb_thread_local_aset(), rb_waitpid(), StartSockets(), syck_add_sym(), syck_emit(), syck_emitter_mark_node(), and vm_init_redefined_flag().
st_table* st_init_numtable_with_size | ( | st_index_t | ) |
Definition at line 211 of file st.c.
References st_init_table_with_size().
Referenced by init_case_fold_table(), and Init_sym().
st_table* st_init_strcasetable | ( | void | ) |
Definition at line 229 of file st.c.
References st_init_table().
Referenced by Init_transcode(), make_transcoder_entry(), rb_enc_init(), transcode_search_path(), and w_encoding().
st_table* st_init_strcasetable_with_size | ( | st_index_t | ) |
Definition at line 235 of file st.c.
References st_init_table_with_size().
st_table* st_init_strtable | ( | void | ) |
Definition at line 217 of file st.c.
References st_init_table().
Referenced by load_lock(), syck_hdlr_add_anchor(), syck_hdlr_get_anchor(), syck_hdlr_remove_anchor(), and zone_str().
st_table* st_init_strtable_with_size | ( | st_index_t | ) |
Definition at line 223 of file st.c.
References st_init_table_with_size().
st_table* st_init_table | ( | const struct st_hash_type * | ) |
Definition at line 199 of file st.c.
References st_init_table_with_size().
Referenced by rb_hash_tbl(), st_init_numtable(), st_init_strcasetable(), and st_init_strtable().
st_table* st_init_table_with_size | ( | const struct st_hash_type * | , | |
st_index_t | ||||
) |
Definition at line 167 of file st.c.
References alloc, st_table::bins, Calloc, st_table::entries_packed, getenv(), st_table::head, new_size(), st_table::num_bins, st_table::num_entries, st_table::tail, and st_table::type.
Referenced by init_case_fold_table(), Init_sym(), rb_hash_rehash(), st_init_numtable_with_size(), st_init_strcasetable_with_size(), st_init_strtable_with_size(), and st_init_table().
Referenced by add_opt_method(), classname(), enc_alias_internal(), enc_register_at(), enc_set_default_encoding(), fcntl(), find_class_path(), flatten(), generic_ivar_set(), init_constants(), Init_VM(), insn_make_insn_table(), iseq_load(), load_lock(), mod_av_set(), obj_alloc_by_path(), ole_vstr2wc(), r_entry0(), r_prepare(), r_symreal(), rb_autoload(), rb_copy_generic_ivar(), rb_gc_copy_finalizer(), rb_hash_aset(), rb_hash_rehash_i(), rb_hash_update_block_i(), rb_hash_update_i(), rb_ivar_set(), rb_marshal_define_compat(), rb_method_entry_make(), rb_obj_freeze(), rb_singleton_class_attached(), rb_thread_atfork_internal(), rb_thread_local_aset(), rb_w32_accept(), rb_w32_socket(), rb_w32_socketpair(), rb_waitpid(), register_label(), sv_i(), syck_add_sym(), syck_emit(), syck_emitter_mark_node(), syck_hdlr_add_anchor(), syck_hdlr_get_anchor(), syck_hdlr_remove_anchor(), thread_create_core(), unpack_entries(), w_encoding(), and w_object().
Referenced by rb_hash_aset().
Referenced by add_opt_method(), autoload_delete(), autoload_node(), autoload_node_id(), classname(), define_final(), eql_i(), fc_path(), fcntl(), flatten(), generic_ivar_defined(), generic_ivar_get(), generic_ivar_remove(), generic_ivar_set(), get_syserr(), get_transcoder_entry(), hash_update(), is_socket(), iseq_build_body(), iseq_data_to_ary(), iseq_load(), iseq_set_sequence(), ivar_get(), load_lock(), make_transcoder_entry(), map_charset(), method_entry(), mod_av_set(), obj_alloc_by_path(), ole_vstr2wc(), overlapped_socket_io(), r_entry0(), r_leave(), r_object0(), r_symlink(), rb_alias_variable(), rb_ary_diff(), rb_autoload(), rb_class_path(), rb_const_defined_0(), rb_const_get_0(), rb_copy_generic_ivar(), rb_econv_asciicompat_encoding(), rb_enc_registered(), rb_f_untrace_var(), rb_gc_copy_finalizer(), rb_generic_ivar_memsize(), rb_generic_ivar_table(), rb_global_entry(), rb_hash_aref(), rb_hash_fetch_m(), rb_hash_has_key(), rb_hash_lookup2(), rb_id2str(), rb_intern3(), rb_ivar_count(), rb_ivar_defined(), rb_ivar_foreach(), rb_ivar_set(), rb_mark_generic_ivar(), rb_method_entry_make(), rb_obj_frozen_p(), rb_obj_remove_instance_variable(), rb_thread_key_p(), rb_thread_local_aref(), rb_vm_check_redefinition_opt_method(), recvmsg(), register_label(), remove_method(), rsock_intern_family(), rsock_intern_family_noprefix(), rsock_intern_ip_optname(), rsock_intern_iplevel(), rsock_intern_ipproto(), rsock_intern_ipv6_optname(), rsock_intern_local_optname(), rsock_intern_protocol_family(), rsock_intern_scm_optname(), rsock_intern_so_optname(), rsock_intern_socktype(), rsock_intern_tcp_optname(), rsock_intern_udp_optname(), search_method(), sendmsg(), set_syserr(), sv_i(), syck_emit(), syck_emitter_mark_node(), syck_hdlr_add_anchor(), syck_hdlr_get_anchor(), syck_lookup_sym(), syserr_initialize(), transcode_search_path(), transcode_search_path_i(), vm_get_ev_const(), vm_getivar(), vm_setivar(), w_class(), w_encoding(), w_object(), w_symbol(), and zone_str().
size_t st_memsize | ( | const st_table * | ) |
Definition at line 274 of file st.c.
References st_table::entries_packed, st_table::num_bins, and st_table::num_entries.
Referenced by autoload_memsize(), fiber_memsize(), memsize_of(), rb_generic_ivar_memsize(), thread_memsize(), and vm_memsize().
st_index_t st_numhash | ( | st_data_t | ) |