Exemple #1
0
static void
hashtable_generic_free_entry(dcontext_t *dcontext, generic_table_t *htable,
                             generic_entry_t *entry)
{
    if (htable->free_payload_func != NULL)
        (*htable->free_payload_func)(dcontext, entry->payload);
    HEAP_TYPE_FREE(dcontext, entry, generic_entry_t, ACCT_OTHER, PROTECTED);
}
Exemple #2
0
static void
fragment_tree_destroy(fragment_tree_t *tree)
{
    special_heap_free(tree->node_heap, tree->nil);
    special_heap_exit(tree->node_heap);
    special_heap_exit(tree->trace_heap);
    HEAP_TYPE_FREE(GLOBAL_DCONTEXT, tree, fragment_tree_t, ACCT_OTHER, UNPROTECTED);
}
static void
callee_info_free(dcontext_t *dcontext, callee_info_t *ci)
{
    if (ci->ilist != NULL) {
        ASSERT(ci->opt_inline);
        instrlist_clear_and_destroy(GLOBAL_DCONTEXT, ci->ilist);
    }
    HEAP_TYPE_FREE(GLOBAL_DCONTEXT, ci, callee_info_t, ACCT_CLEANCALL, PROTECTED);
}
Exemple #4
0
void
os_loader_exit(void)
{
    HEAP_ARRAY_FREE(GLOBAL_DCONTEXT, 
                    libdr_opd->os_data.segments, 
                    module_segment_t,
                    libdr_opd->os_data.alloc_segments, 
                    ACCT_OTHER, PROTECTED);
    HEAP_TYPE_FREE(GLOBAL_DCONTEXT, libdr_opd,
                   os_privmod_data_t, ACCT_OTHER, PROTECTED);
}
Exemple #5
0
/* vmvector callbacks */
static void
allmem_info_free(void *data)
{
    HEAP_TYPE_FREE(GLOBAL_DCONTEXT, data, allmem_info_t, ACCT_MEM_MGT, PROTECTED);
}