Heap Manager

This is the Dragon heap manager interface for Python

Classes

class BitSet

Bases: object

A Cython class interface for the malloc Bitset library

static attach(space)
destroy()
detach()
dump(title, indent)
dump_to_str(title, indent)
get_bit(idx)
get_num_bits()
static init(num_bits, space)

Initialize the space with a BitSet of size num_bits.

Parameters:
  • num_bits – The size of the BitSet.

  • space – The space big enough to hold the BitSet.

Returns:

The BitSet object

reset_bit(idx)
right_zeroes(idx)
set_bit(idx)
static size(num_bits)
class Heap

Bases: object

A cython class interface for the DynMem DynHeap Manager

static attach(memview)
destroy()
detach()
dump(title)
dump_to_file(title, fobj)
dump_to_str(title)
exclusive_access
free(memobj)
free_lists(idx)

Returns whether a free_list pointer is NULL or not

get_stats()
static init(max_sz_pwr, min_sz_pwr, alignment, lock_kind, memview)
malloc(size)
malloc_blocking(size, timeout)
num_freelists
num_segments
recover()
recovery_needed
segment_size
static size(max_sz_pwr, min_sz_pwr, alignment, lock_kind) size_t
class MemStats

Bases: object

Stats wrapper to provide python-accessible object

free_block_count(free_block_idx)
num_block_sizes
num_segments
segment_size
total_size
update(hdl)
utilization_pct