|
GCC Middle and Back End API Reference
|

The rest of the global variables.
| size_t globals::allocated |
Bytes currently allocated.
Referenced by gt_ggc_m_S().
| size_t globals::allocated_last_gc |
Bytes currently allocated at the end of the last collection.
| page_entry** globals::by_depth |
Each element of this array is a pointer to a page_entry, all
page_entries can be found in here by increasing depth.
index_by_depth in the page_entry is the index into this data
structure where that page_entry can be found. This is used to
speed up finding all page_entries at a particular depth.
| unsigned int globals::by_depth_in_use |
Current number of elements in use in by_depth below.
| unsigned int globals::by_depth_max |
Maximum number of elements that can be used before resizing.
| size_t globals::bytes_mapped |
Total amount of memory mapped.
Referenced by alloc_anon(), and lookup_page_table_entry().
| unsigned short globals::context_depth |
The current depth in the context stack.
Referenced by clear_marks(), compute_inverse(), and sweep_pages().
| unsigned long globals::context_depth_allocations |
Bit N set if any allocations have been done at context depth N.
| unsigned long globals::context_depth_collections |
Bit N set if any collections have been done at context depth N.
| FILE* globals::debug_file |
The file descriptor for debugging output.
Referenced by gt_ggc_m_S().
| unsigned int* globals::depth |
Each element of this array is an index in by_depth where the given
depth starts. This structure is indexed by that given depth we
are interested in.
| unsigned int globals::depth_in_use |
Current number of elements in use in depth below.
| unsigned int globals::depth_max |
Maximum number of elements that can be used before resizing.
| int globals::dev_zero_fd |
A file descriptor open to /dev/zero for reading.
Referenced by lookup_page_table_entry().
| struct free_object* globals::free_object_list |
List of free objects to be verified as actually free on the
next collection.
Referenced by gt_ggc_m_S(), and sweep_pages().
| page_entry* globals::free_pages |
A cache of free system pages.
| size_t globals::lg_pagesize |
Referenced by set_page_group_in_use().
| page_table globals::lookup |
Lookup table for associating allocation pages with object addresses.
Referenced by push_depth().
| page_group* globals::page_groups |
| page_entry* globals::page_tails[NUM_ORDERS] |
The Nth element in this array is the last page with objects of
size 2^N. NULL if there are no page-entries for this object
size.
Referenced by gt_ggc_mx().
| page_entry* globals::pages[NUM_ORDERS] |
The Nth element in this array is a page with objects of size 2^N.
If there are any pages with free objects, they will be at the
head of the list. NULL if there are no page-entries for this
object size.
Referenced by clear_marks(), and gt_ggc_mx().
| size_t globals::pagesize |
The system's page size.
Referenced by compute_inverse(), debug_print_page_list(), page_group_index(), and set_page_group_in_use().
| unsigned long** globals::save_in_use |
Each element is a pointer to the saved in_use_p bits, if any,
zero otherwise. We allocate them all together, to enable a
better runtime data access pattern.
| struct { ... } globals::stats |
| unsigned long long globals::total_allocated |
Total GC-allocated memory.
| unsigned long long globals::total_allocated_per_order[NUM_ORDERS] |
The allocations for each of the allocation orders.
| unsigned long long globals::total_allocated_under128 |
| unsigned long long globals::total_allocated_under32 |
Total allocations and overhead for sizes less than 32, 64 and 128.
These sizes are interesting because they are typical cache line
sizes.
| unsigned long long globals::total_allocated_under64 |
| unsigned long long globals::total_overhead |
Total overhead for GC-allocated memory.
| unsigned long long globals::total_overhead_per_order[NUM_ORDERS] |
The overhead for each of the allocation orders.
| unsigned long long globals::total_overhead_under128 |
| unsigned long long globals::total_overhead_under32 |
| unsigned long long globals::total_overhead_under64 |