#include "statistics.h"#include "gtype-desc.h"

Go to the source code of this file.
| #define digit_string | ( | d | ) | (digit_vector + ((d) * 2)) |
| #define ggc_alloc_cleared | ( | s | ) | ggc_alloc_cleared_stat (s MEM_STAT_INFO) |
| #define ggc_alloc_rtvec | ( | NELT | ) |
| #define ggc_alloc_typed | ( | s, | |||
| z | ) | ggc_alloc_typed_stat (s,z MEM_STAT_INFO) |
| #define ggc_alloc_zone_pass_stat | ( | s, | |||
| z | ) | ggc_alloc_stat (s PASS_MEM_STAT) |
Definition at line 313 of file ggc.h.
Referenced by build1_stat(), copy_node_stat(), ggc_alloc_stat(), ggc_alloc_typed_stat(), make_node_stat(), make_tree_binfo_stat(), make_tree_vec_stat(), rtx_alloc_stat(), shallow_copy_rtx_stat(), and tree_cons_stat().
| #define ggc_mark | ( | EXPR | ) |
Value:
do { \ const void *const a__ = (EXPR); \ if (a__ != NULL && a__ != (void *) 1) \ ggc_set_mark (a__); \ } while (0)
| #define ggc_realloc | ( | s, | |||
| z | ) | ggc_realloc_stat (s,z MEM_STAT_INFO) |
| #define splay_tree_new_ggc | ( | COMPARE | ) |
Value:
| typedef void(* gt_handle_reorder)(void *, void *, gt_pointer_operator, void *) |
| typedef void(* gt_note_pointers)(void *, void *, gt_pointer_operator, void *) |
| typedef void(* gt_pointer_walker)(void *) |
| void destroy_ggc_zone | ( | struct alloc_zone * | ) |
Definition at line 943 of file ggc-zone.c.
References alloc_zone::dead, G, gcc_assert, alloc_zone::next_zone, and is::z.
Definition at line 935 of file ggc-common.c.
References fprintf(), ggc_collect(), ggc_force_collect, htab_traverse(), i, qsort(), s, s1, s2, sprintf(), strstr(), times, and xcalloc().
Referenced by finalize().
| const char* ggc_alloc_string | ( | const char * | contents, | |
| int | length | |||
| ) |
Definition at line 86 of file stringpool.c.
References digit_string, empty_string, ISDIGIT, obstack_finish, obstack_grow0, string_stack, strlen(), and XOBFINISH.
Definition at line 204 of file ggc-common.c.
References ggc_alloc_cleared.
Referenced by init_alias_analysis(), and init_reswords().
Definition at line 1705 of file ggc-page.c.
References alloc_zone::allocated, alloc_zone::allocated_last_gc, always_collect, calculate_average_page_survival(), check_cookies(), clear_marks(), alloc_zone::context_depth, page_entry::context_depth, alloc_chunk::data, alloc_zone::dead, end, f, fprintf(), free(), G, gcc_assert, ggc_collect_1(), GGC_DEBUG_LEVEL, ggc_force_collect, ggc_mark_roots(), ggc_prune_overhead_list(), page_entry::large_p, main_zone, alloc_chunk::mark, MAX, alloc_zone::name, page_entry::next, alloc_zone::next_zone, p, page_entry::page, alloc_zone::pages, PARAM_VALUE, poison_pages, prefetch, printf(), quiet_flag, release_pages(), alloc_chunk::size, sweep_objs(), sweep_pages(), timevar_pop, timevar_push, alloc_chunk::u, validate_free_objects, alloc_zone::was_collected, and zone_free_marks().
Referenced by begin_parsing_inclass_inline(), c_parser_translation_unit(), cgraph_finalize_compilation_unit(), cgraph_finalize_function(), cp_finish_file(), cse_main(), dump_ggc_loc_statistics(), execute_ipa_pass_list(), execute_todo(), expand_body(), expand_or_defer_fn(), ggc_print_common_statistics(), GTY(), loop_optimize(), rest_of_compilation(), rest_of_handle_branch_target_load_optimize(), rest_of_handle_combine(), rest_of_handle_cse(), rest_of_handle_cse2(), rest_of_handle_final(), rest_of_handle_flow2(), rest_of_handle_gcse(), rest_of_handle_gcse2(), rest_of_handle_jump(), rest_of_handle_jump2(), rest_of_handle_jump_bypass(), rest_of_handle_life(), rest_of_handle_loop2(), rest_of_handle_loop_optimize(), rest_of_handle_machine_reorg(), rest_of_handle_old_regalloc(), rest_of_handle_regmove(), and tree_rest_of_compilation().
Definition at line 72 of file ggc-none.c.
Definition at line 1318 of file ggc-page.c.
References BYTES_PER_ALLOC_BIT, CHUNK_OVERHEAD, gcc_assert, alloc_chunk::large, page_entry::large_p, lookup_page_table_entry(), max_size, OBJECT_SIZE, offset, page_entry::order, page_entry::pch_p, pe, ptr, alloc_chunk::size, zone_find_object_size(), zone_get_object_page(), and zone_object_size_1().
Definition at line 108 of file ggc-common.c.
References ggc_cache_tab::base, ggc_root_tab::base, ggc_root::base, ggc_cache_tab::cb, ggc_root_tab::cb, ggc_htab_delete(), ggc_mark_stringpool(), ggc_set_mark(), gt_ggc_cache_rtab, gt_ggc_deletable_rtab, gt_ggc_rtab, htab_traverse(), htab_traverse_noresize(), i, memset, n, ggc_root::nelt, ggc_root_tab::nelt, ggc_root::next, NULL, ggc_root::PARAMS(), PTR, roots, s, ggc_root::size, ggc_root_tab::stride, void, and x.
Referenced by ggc_collect(), and ggc_collect_1().
| int ggc_marked_p | ( | const void * | ) |
Definition at line 1295 of file ggc-page.c.
References BYTES_PER_MARK_BIT, CHUNK_OVERHEAD, gcc_assert, HOST_BITS_PER_LONG, page_entry::in_use_p, page_entry::large_p, long, lookup_page_table_entry(), alloc_chunk::mark, small_page_entry::mark_bits, large_page_entry::mark_p, offset, OFFSET_TO_BIT, page_entry::order, page_entry::page, page_entry::pch_p, ptr, zone_get_object_mark_bit(), zone_get_object_mark_word(), and zone_get_object_page().
| int ggc_min_expand_heuristic | ( | void | ) |
Definition at line 320 of file ggc-common.c.
References ggc_rlimit_bound(), MIN, and physmem_total().
Referenced by ggc_min_heapsize_heuristic(), and init_ggc_heuristics().
| int ggc_min_heapsize_heuristic | ( | void | ) |
Definition at line 339 of file ggc-common.c.
References getrlimit(), ggc_min_expand_heuristic(), ggc_rlimit_bound(), MAX, MIN, and physmem_total().
Referenced by init_ggc_heuristics().
| char* ggc_pch_alloc_object | ( | struct ggc_pch_data * | , | |
| void * | , | |||
| size_t | , | |||
| bool | , | |||
| enum | gt_types_enum | |||
| ) |
Definition at line 2243 of file ggc-zone.c.
References ggc_pch_data::alloc_bits, BYTES_PER_ALLOC_BIT, L, ggc_pch_data::orig_base, pch_bucket(), result, and ggc_pch_data::type_bases.
| void ggc_pch_finish | ( | struct ggc_pch_data * | , | |
| FILE * | ||||
| ) |
Definition at line 2244 of file ggc-page.c.
References ggc_pch_data::alloc_bits, ggc_pch_data::alloc_size, ggc_pch_data::d, fatal_error(), free(), fseek, fwrite, SEEK_SET, ggc_pch_data::start_offset, and ggc_pch_data::ggc_pch_ondisk::total.
Referenced by gt_pch_save().
| void ggc_pch_prepare_write | ( | struct ggc_pch_data * | , | |
| FILE * | ||||
| ) |
Definition at line 2302 of file ggc-page.c.
References small_page_entry::alloc_bits, alloc_zone::allocated, BITMAP_SIZE, bytes, page_entry::bytes, BYTES_PER_ALLOC_BIT, alloc_zone::cached_free, alloc_zone::cached_free_size, CEIL, clear_marks(), page_entry::context_depth, fatal_error(), for(), fread, alloc_zone::free_chunks, free_large_page(), free_small_page(), G, gcc_assert, GGC_PAGE_SIZE, alloc_zone::high_free_bin, HOST_BITS_PER_LONG, page_entry::in_use_p, L, alloc_zone::large_pages, MAX_ALIGNMENT, memset, move_ptes_to_front(), new_ggc_zone(), large_page_entry::next, small_page_entry::next, page_entry::next, alloc_zone::next_zone, NULL, page_entry::num_free_objects, OBJECT_SIZE, page_entry::order, page_entry::page, PAGE_OVERHEAD, alloc_zone::pages, page_entry::pch_p, poison_pages, push_by_depth(), ROUND_UP, set_page_table_entry(), ggc_pch_ondisk::total, xcalloc(), and page_entry::zone.
Referenced by gt_pch_restore().
| void ggc_pch_this_base | ( | struct ggc_pch_data * | , | |
| void * | ||||
| ) |
Definition at line 2150 of file ggc-page.c.
References a, ggc_pch_data::alloc_bits, ggc_pch_data::alloc_size, base, ggc_pch_data::base, ggc_pch_data::d, G, i, NULL, NUM_PCH_BUCKETS, OBJECT_SIZE, ggc_pch_data::orig_base, ROUND_UP, size_t, ggc_pch_data::ggc_pch_ondisk::totals, ggc_pch_data::type_bases, and xcalloc().
Referenced by gt_pch_save().
| size_t ggc_pch_total_size | ( | struct ggc_pch_data * | ) |
Definition at line 2139 of file ggc-page.c.
References a, ggc_pch_data::alloc_size, BYTES_PER_ALLOC_BIT, CEIL, ggc_pch_data::d, G, GGC_PAGE_SIZE, i, MAX_ALIGNMENT, NUM_PCH_BUCKETS, OBJECT_SIZE, ROUND_UP, ggc_pch_data::ggc_pch_ondisk::total, and ggc_pch_data::ggc_pch_ondisk::totals.
Referenced by gt_pch_save().
| void ggc_print_common_statistics | ( | FILE * | , | |
| ggc_statistics * | ||||
| ) |
Definition at line 219 of file ggc-common.c.
References fprintf(), ggc_collect(), MAX_TREE_CODES, NULL, NUM_RTX_CODE, ggc_statistics::num_rtxs, ggc_statistics::num_trees, rtx_name, SCALE, ggc_statistics::size_rtxs, ggc_statistics::size_trees, ggc_statistics::total_num_rtxs, ggc_statistics::total_num_trees, ggc_statistics::total_size_rtxs, ggc_statistics::total_size_trees, and tree_code_name.
Referenced by ggc_print_statistics().
Definition at line 1759 of file ggc-page.c.
References alloc_zone::allocated, always_collect, BITMAP_SIZE, large_page_entry::bytes, page_entry::bytes, alloc_zone::bytes_mapped, CHUNK_OVERHEAD, alloc_chunk::data, fprintf(), alloc_zone::free_chunks, G, gcc_assert, ggc_force_collect, ggc_get_size(), GGC_PAGE_SIZE, ggc_print_common_statistics(), i, LABEL, page_entry::large_p, alloc_zone::large_pages, alloc_chunk::mark, memset, alloc_zone::n_small_pages, alloc_zone::name, large_page_entry::next, page_entry::next, alloc_chunk::next_free, alloc_zone::next_zone, NULL, NUM_FREE_BINS, page_entry::num_free_objects, OBJECT_SIZE, OBJECTS_IN_PAGE, OBJECTS_PER_PAGE, offsetof, p, page_entry::page, PAGE_L1_SIZE, PAGE_L2_SIZE, alloc_zone::pages, release_pages(), SCALE, alloc_chunk::size, STAT_LABEL, tally_leaves(), alloc_chunk::type, and alloc_chunk::u.
Referenced by finalize().
| int ggc_set_mark | ( | const void * | ) |
Definition at line 1259 of file ggc-page.c.
References BYTES_PER_MARK_BIT, CHUNK_OVERHEAD, fprintf(), G, gcc_assert, GGC_DEBUG_LEVEL, HOST_BITS_PER_LONG, page_entry::in_use_p, page_entry::large_p, long, lookup_page_table_entry(), alloc_chunk::mark, small_page_entry::mark_bits, large_page_entry::mark_p, page_entry::num_free_objects, offset, OFFSET_TO_BIT, page_entry::order, page_entry::page, page_entry::pch_p, ptr, zone_get_object_mark_bit(), zone_get_object_mark_word(), and zone_get_object_page().
Definition at line 238 of file stringpool.c.
Definition at line 198 of file stringpool.c.
References gt_pch_note_object(), gt_pch_p_S(), and gt_types_enum_last.
| int gt_pch_note_object | ( | void * | , | |
| void * | , | |||
| gt_note_pointers | , | |||
| enum | gt_types_enum | |||
| ) |
Definition at line 255 of file ggc-common.c.
References gcc_assert, ggc_get_size(), gt_pch_p_S(), htab_find_slot_with_hash(), INSERT, NULL, POINTER_HASH, saving_htab, strlen(), and xcalloc().
| void gt_pch_note_reorder | ( | void * | , | |
| void * | , | |||
| gt_handle_reorder | ||||
| ) |
Definition at line 286 of file ggc-common.c.
References gcc_assert, htab_find_with_hash(), ptr_data::note_ptr_cookie, NULL, POINTER_HASH, ptr_data::reorder_fn, and saving_htab.
| void gt_pch_p_S | ( | void * | , | |
| void * | , | |||
| gt_pointer_operator | , | |||
| void * | ||||
| ) |
Definition at line 531 of file ggc-common.c.
References ggc_root_tab::base, fatal_error(), fileno, fread, fseek, ggc_pch_read(), gt_ggc_deletable_rtab, gt_ggc_rtab, gt_pch_cache_rtab, gt_pch_restore_stringpool(), gt_pch_scalar_rtab, i, memset, ggc_root_tab::nelt, NULL, mmap_info::offset, mmap_info::preferred_base, result, SEEK_SET, mmap_info::size, and ggc_root_tab::stride.
Referenced by c_common_read_pch().
Definition at line 422 of file ggc-common.c.
References ggc_root_tab::base, call_alloc(), call_count(), compare_ptr_data(), traversal_state::count, traversal_state::d, traversal_state::f, fatal_error(), fileno, free(), fseek, ftell(), fwrite, ggc_pch_finish(), ggc_pch_prepare_write(), ggc_pch_this_base(), ggc_pch_total_size(), ggc_pch_write_object(), gt_ggc_rtab, gt_pch_cache_rtab, gt_pch_fixup_stringpool(), gt_pch_p_S(), gt_pch_save_stringpool(), gt_pch_scalar_rtab, htab_create(), htab_delete(), htab_traverse(), i, init_ggc_pch(), memcpy, ggc_root_tab::nelt, ptr_data::new_addr, ptr_data::note_ptr_cookie, ptr_data::note_ptr_fn, NULL, o, ptr_data::obj, mmap_info::offset, ggc_root_tab::pchw, mmap_info::preferred_base, traversal_state::ptrs, traversal_state::ptrs_i, qsort(), relocate_ptrs(), ptr_data::reorder_fn, saving_htab, saving_htab_eq(), saving_htab_hash(), SEEK_SET, mmap_info::size, ptr_data::size, ggc_root_tab::stride, write_pch_globals(), xmalloc(), XNEWVEC, and xrealloc().
Referenced by c_common_write_pch().
Definition at line 1262 of file ggc-page.c.
References abort, page_entry::bytes, BYTES_PER_ALLOC_BIT, CEIL, small_page_entry::common, compute_inverse(), exact_log2, extra_order_size_table, fopen, FREE_BIN_DELTA, alloc_zone::free_pages, G, gcc_assert, getpagesize, GGC_PAGE_SIZE, HOST_BITS_PER_PTR, i, INITIAL_PTE_COUNT, internal_error(), main_zone, MAX_ALIGNMENT, munmap(), alloc_zone::name, new_ggc_zone(), new_ggc_zone_1(), page_entry::next, small_page_entry::next, NULL, NUM_ORDERS, NUM_SIZE_LOOKUP, o, O_RDONLY, OBJECT_SIZE, object_size_table, objects_per_page_table, open, order, p, page_entry::page, PAGE_OVERHEAD, ROUND_UP, rtl_zone, s, set_page_table_entry(), tree_id_zone, tree_zone, xcalloc(), XCNEW, xmalloc(), XNEWVEC, and page_entry::zone.
Referenced by general_init().
Definition at line 358 of file ggc-common.c.
References ggc_min_expand_heuristic(), ggc_min_heapsize_heuristic(), and set_param_value().
Referenced by general_init(), and parse_options_and_default_flags().
| struct ggc_pch_data* init_ggc_pch | ( | void | ) | [read] |
Definition at line 2115 of file ggc-page.c.
References xcalloc(), and XCNEW.
Referenced by gt_pch_save().
Definition at line 63 of file stringpool.c.
References alloc_node(), ht::alloc_node, ht::alloc_subobject, gcc_obstack_init, ggc_add_root(), ht_create(), mark_ident_hash(), string_stack, and stringpool_ggc_alloc().
Referenced by general_init().
| struct alloc_zone* new_ggc_zone | ( | const char * | ) | [read] |
Definition at line 932 of file ggc-zone.c.
References G, alloc_zone::name, new_ggc_zone_1(), alloc_zone::next_zone, and xcalloc().
Definition at line 158 of file stringpool.c.
References ht_dump_statistics().
Referenced by finalize().
| const char digit_vector[] |
Definition at line 49 of file stringpool.c.
| const char empty_string[] |
Definition at line 45 of file stringpool.c.
Definition at line 65 of file ggc-common.c.
Referenced by dump_ggc_loc_statistics(), ggc_collect(), and ggc_print_statistics().
| struct ggc_cache_tab* const gt_ggc_cache_rtab[] |
| struct ggc_root_tab* const gt_ggc_deletable_rtab[] |
| struct ggc_root_tab* const gt_ggc_rtab[] |
| struct ggc_root_tab* const gt_pch_cache_rtab[] |
| struct ggc_root_tab* const gt_pch_scalar_rtab[] |
1.5.6