#include "defs.h"#include "mempool.h"#include "dwarf_DST_mem.h"#include "errors.h"#include "stab.h"
Go to the source code of this file.
Defines | |
| #define | USE_DST_INTERNALS |
| #define | NUM_BLOCK_HEADERS 1024 |
| #define | BLOCK_SIZE 256 |
Functions | |
| static void * | Symtab_Alloc (size_t bytes, BOOL is_global) |
| static DST_BLOCK_IDX | DST_CHECK_BLOCK_IDX (DST_BLOCK_IDX b) |
| static DST_IDX | DST_CHECK_IDX (DST_IDX i) |
| DST_TYPE | New_DST (void) |
| void | DST_Init (char *start, INT32 num_blocks) |
| static void | set_current_dst_to_current (void) |
| static block_header * | new_block (DST_BLOCK_KIND kind, INT32 size) |
| void | DST_begin_block (DST_BLOCK_KIND block_kind) |
| DST_IDX | DST_allocate (INT32 size, INT32 align) |
| void | DST_return_to_block (DST_IDX idx) |
| char * | DST_idx_to_string (DST_IDX idx) |
| static DST_IDX | DST_get_block_list (DST_BLOCK_KIND block_kind) |
| DST_IDX | DST_get_include_dirs (void) |
| DST_IDX | DST_get_file_names (void) |
| DST_IDX | DST_get_macro_info (void) |
| DST_IDX | DST_get_compile_unit (void) |
Variables | |
| DST_TYPE | Current_DST = NULL |
| DST_Type * | current_DST = NULL |
| const DST_IDX | DST_INVALID_IDX = {DST_INVALID_BLOCK_IDX, DST_INVALID_BYTE_IDX} |
| #define BLOCK_SIZE 256 |
Definition at line 83 of file dwarf_DST_mem.cxx.
Referenced by new_block().
| #define NUM_BLOCK_HEADERS 1024 |
Definition at line 82 of file dwarf_DST_mem.cxx.
Referenced by DST_Init().
| #define USE_DST_INTERNALS |
Definition at line 66 of file dwarf_DST_mem.cxx.
Definition at line 255 of file dwarf_DST_mem.cxx.
References DST_idx::block_idx, DST_idx::byte_idx, Current_DST, current_DST, DST_local_scope_block, new_block(), and set_current_dst_to_current().
Referenced by DST_mk_name(), and DST_mk_string().

| void DST_begin_block | ( | DST_BLOCK_KIND | block_kind | ) |
Definition at line 244 of file dwarf_DST_mem.cxx.
References Current_DST, current_DST, DST_INVALID_BLOCK_IDX, and new_block().
Referenced by DST_mk_compile_unit(), DST_mk_file_name(), and DST_mk_include_dir().

| static DST_BLOCK_IDX DST_CHECK_BLOCK_IDX | ( | DST_BLOCK_IDX | b | ) | [static] |
Definition at line 103 of file dwarf_DST_mem.cxx.
References DST_INVALID_BLOCK_IDX, and Is_True.
Referenced by DST_CHECK_IDX(), and DST_get_block_list().
Definition at line 112 of file dwarf_DST_mem.cxx.
References DST_idx::block_idx, DST_idx::byte_idx, current_DST, DST_CHECK_BLOCK_IDX(), DST_IS_FOREIGN_OBJ, and Is_True.
Referenced by DST_idx_to_string(), and DST_return_to_block().

| static DST_IDX DST_get_block_list | ( | DST_BLOCK_KIND | block_kind | ) | [static] |
Definition at line 351 of file dwarf_DST_mem.cxx.
References DST_idx::block_idx, DST_idx::byte_idx, current_DST, DST_CHECK_BLOCK_IDX(), DST_INVALID_BLOCK_IDX, idx, and size.
Referenced by DST_get_compile_unit(), DST_get_file_names(), DST_get_include_dirs(), and DST_get_macro_info().

| DST_IDX DST_get_compile_unit | ( | void | ) |
Definition at line 405 of file dwarf_DST_mem.cxx.
References Current_DST, current_DST, DST_file_scope_block, and DST_get_block_list().
Referenced by DRA_Add_Clone(), and Dump_DST().

| DST_IDX DST_get_file_names | ( | void | ) |
Definition at line 383 of file dwarf_DST_mem.cxx.
References Current_DST, current_DST, DST_file_names_block, and DST_get_block_list().
Referenced by Dump_DST(), Gen_File_Table(), and ir_print_filename().

| DST_IDX DST_get_include_dirs | ( | void | ) |
Definition at line 372 of file dwarf_DST_mem.cxx.
References Current_DST, current_DST, DST_get_block_list(), and DST_include_dirs_block.
Referenced by Dump_DST(), Gen_File_Table(), and IR_Dwarf_Gen_File_Table().

| DST_IDX DST_get_macro_info | ( | void | ) |
Definition at line 394 of file dwarf_DST_mem.cxx.
References Current_DST, current_DST, DST_get_block_list(), and DST_macro_info_block.

| char* DST_idx_to_string | ( | DST_IDX | idx | ) |
Definition at line 338 of file dwarf_DST_mem.cxx.
References block, DST_idx::block_idx, DST_idx::byte_idx, Current_DST, current_DST, DST_CHECK_IDX(), and DST_INVALID_BYTE_IDX.

| void DST_Init | ( | char * | start, | |
| INT32 | num_blocks | |||
| ) |
Definition at line 150 of file dwarf_DST_mem.cxx.
References current_DST, Current_DST, DST_INVALID_BLOCK_IDX, kind, New_DST(), NULL, NUM_BLOCK_HEADERS, and Symtab_Alloc().
Referenced by cwh_dst_init_file(), and WN_get_dst().

| void DST_return_to_block | ( | DST_IDX | idx | ) |
Definition at line 320 of file dwarf_DST_mem.cxx.
References DST_idx::block_idx, Current_DST, current_DST, and DST_CHECK_IDX().
Referenced by DST_end_PU(), and DST_release_from_file_scope_mem().

| static block_header* new_block | ( | DST_BLOCK_KIND | kind, | |
| INT32 | size | |||
| ) | [static] |
Definition at line 203 of file dwarf_DST_mem.cxx.
References BLOCK_SIZE, current_DST, DST_local_scope_block, FALSE, MEM_src_pool_ptr, Symtab_Alloc(), TRUE, and TYPE_MEM_POOL_REALLOC_N.
Referenced by DST_allocate(), and DST_begin_block().

| DST_TYPE New_DST | ( | void | ) |
Definition at line 130 of file dwarf_DST_mem.cxx.
References MEM_src_pool_ptr, and TYPE_MEM_POOL_ALLOC.
Referenced by DST_Init().
| static void set_current_dst_to_current | ( | void | ) | [static] |
Definition at line 191 of file dwarf_DST_mem.cxx.
References current_DST.
Referenced by DST_allocate().
Definition at line 72 of file dwarf_DST_mem.cxx.
References Pu_Alloc, and Src_Alloc.
Referenced by DST_Init(), and new_block().
| DST_TYPE Current_DST = NULL |
Definition at line 85 of file dwarf_DST_mem.cxx.
Referenced by DRA_Add_Clone(), DST_allocate(), DST_begin_block(), DST_dump(), DST_enter_cloned_childs(), DST_enter_inlined_subroutine(), DST_get_compile_unit(), DST_get_file_names(), DST_get_include_dirs(), DST_get_macro_info(), DST_idx_to_string(), DST_Init(), DST_return_to_block(), ir_b_write_dst(), WN_get_dst(), and Write_Global_Info().
| DST_Type* current_DST = NULL |
Definition at line 86 of file dwarf_DST_mem.cxx.
Referenced by DST_allocate(), DST_begin_block(), DST_CHECK_IDX(), DST_get_block_list(), DST_get_compile_unit(), DST_get_file_names(), DST_get_include_dirs(), DST_get_macro_info(), DST_idx_to_string(), DST_Init(), DST_return_to_block(), new_block(), and set_current_dst_to_current().
| const DST_IDX DST_INVALID_IDX = {DST_INVALID_BLOCK_IDX, DST_INVALID_BYTE_IDX} |
Definition at line 92 of file dwarf_DST_mem.cxx.
Referenced by cwh_dst_array_type(), cwh_dst_basetype(), cwh_dst_dope_type(), cwh_dst_mk_dope_bound(), cwh_dst_mk_formal(), cwh_dst_mk_func(), cwh_dst_mk_subroutine_type(), cwh_dst_mk_type(), cwh_dst_mk_variable(), cwh_dst_struct_has_DST(), cwh_dst_struct_type(), DST_end_PU(), DST_enter_cloned_childs(), DST_first_child(), DST_init_info(), DST_last_child(), DST_mk_array_type(), DST_mk_class_type(), DST_mk_cloned_subprogram(), DST_mk_common_block(), DST_mk_compile_unit(), DST_mk_entry_point(), DST_mk_enumeration_type(), DST_mk_file_name(), DST_mk_formal_parameter(), DST_mk_include_dir(), DST_mk_inlined_subroutine(), DST_mk_lexical_block(), DST_mk_name(), DST_mk_string(), DST_mk_structure_type(), DST_mk_subprogram(), DST_mk_subprogram_memdef(), DST_mk_subrange_type(), DST_mk_subroutine_type(), DST_mk_union_type(), DST_mk_variable(), DST_release_from_file_scope_mem(), and PU_Info_init().
1.7.1