GCC Middle and Back End API Reference
va_gc Struct Reference

#include <vec.h>

Inheritance diagram for va_gc:

Public Types

typedef vl_embed default_layout
 

Public Member Functions

template<typename T, typename A>
void reserve (vec< T, A, vl_embed > *&v, unsigned reserve, bool exact MEM_STAT_DECL)
 

Static Public Member Functions

template<typename T, typename A>
static void reserve (vec< T, A, vl_embed > *&, unsigned, bool CXX_MEM_STAT_INFO)
 
template<typename T, typename A>
static void release (vec< T, A, vl_embed > *&v)
 

Detailed Description

Allocator type for GC vectors. Notice that we need the structure declaration even if GC is not enabled.

Member Typedef Documentation

◆ default_layout

Member Function Documentation

◆ release()

template<typename T, typename A>
void va_gc::release ( vec< T, A, vl_embed > *& v)
inlinestatic
Free GC memory used by V and reset V to NULL.

References ggc_free(), and NULL.

◆ reserve() [1/2]

template<typename T, typename A>
static void va_gc::reserve ( vec< T, A, vl_embed > *& ,
unsigned ,
bool CXX_MEM_STAT_INFO )
static

References CXX_MEM_STAT_INFO.

Referenced by reserve().

◆ reserve() [2/2]

template<typename T, typename A>
void va_gc::reserve ( vec< T, A, vl_embed > *& v,
unsigned reserve,
bool exact MEM_STAT_DECL )
Allocator for GC memory. Ensure there are at least RESERVE free slots in V. If EXACT is true, grow exactly, else grow exponentially. As a special case, if the vector had not been allocated and RESERVE is 0, no vector will be created.

References vec_prefix::calculate_allocation(), ggc_free(), ggc_realloc(), ggc_round_alloc_size(), MEM_STAT_DECL, NULL, PASS_MEM_STAT, reserve(), and T.


The documentation for this struct was generated from the following file: