Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
dwarf_DST_mem.cxx File Reference
#include "defs.h"
#include "mempool.h"
#include "dwarf_DST_mem.h"
#include "errors.h"
#include "stab.h"
Include dependency graph for dwarf_DST_mem.cxx:

Go to the source code of this file.

Defines

#define USE_DST_INTERNALS
#define NUM_BLOCK_HEADERS   1024 /* initial # of block headers */
#define BLOCK_SIZE   256 /* size of individual block */

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 Documentation

#define BLOCK_SIZE   256 /* size of individual block */

Definition at line 83 of file dwarf_DST_mem.cxx.

Referenced by new_block().

#define NUM_BLOCK_HEADERS   1024 /* initial # of block headers */

Definition at line 82 of file dwarf_DST_mem.cxx.

Referenced by DST_Init(), and New_DST().

Definition at line 66 of file dwarf_DST_mem.cxx.


Function Documentation

DST_IDX DST_allocate ( INT32  size,
INT32  align 
)

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(), set_current_dst_to_current(), and size.

Referenced by DST_mk_name(), and DST_mk_string().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

static DST_IDX DST_CHECK_IDX ( DST_IDX  i) [static]

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

Definition at line 394 of file dwarf_DST_mem.cxx.

References Current_DST, current_DST, DST_get_block_list(), and DST_macro_info_block.

Here is the call graph for this function:

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(), DST_INVALID_BYTE_IDX, and NULL.

Here is the call graph for this function:

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, Symtab_Alloc(), and TRUE.

Referenced by cwh_dst_init_file(), and WN_get_dst().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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, kind, MEM_src_pool_ptr, size, Symtab_Alloc(), TRUE, and TYPE_MEM_POOL_REALLOC_N.

Referenced by DST_allocate(), DST_begin_block(), and MEM_LARGE_BLOCK_realloc().

Here is the call graph for this function:

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().

static void* Symtab_Alloc ( size_t  bytes,
BOOL  is_global 
) [inline, static]

Definition at line 72 of file dwarf_DST_mem.cxx.

References Pu_Alloc, and Src_Alloc.

Referenced by DST_Init(), and new_block().


Variable Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines