14#ifndef SIMICS_SYSTEMC_MEMORY_PROFILER_H
15#define SIMICS_SYSTEMC_MEMORY_PROFILER_H
17#include <simics/base/types.h>
18#include <simics/malloc_allocator.h>
20#include <sysc/kernel/sc_process.h>
40typedef MallocAllocator<std::pair<conf_object_t * const, bool> >
42typedef std::map<conf_object_t*, bool, std::less<conf_object_t*>,
46typedef MallocAllocator<std::pair<void * const, Allocation> >
48typedef std::map<void *, Allocation, std::less<void *>,
52typedef MallocAllocator<std::pair<sc_core::sc_process_b *
const,
55 std::less<sc_core::sc_process_b *>,
76 AdapterMap::iterator adapter(conf_object_t *obj);
77 bool hasAllocation(
void *addr,
78 AllocationMap::iterator *out_allocation,
Definition: memory_profiler.h:58
void setProfilingForAdapter(conf_object_t *obj, bool enable)
void recordDeletion(void *addr, bool array_form)
void recordAllocation(void *addr, size_t size, bool array_form)
bool profilingForAdapter(conf_object_t *obj)
AllocationMap * allocations(sc_core::sc_process_b *process)
MallocAllocator< std::pair< void *const, Allocation > > AllocationAllocator
Definition: memory_profiler.h:47
std::map< sc_core::sc_process_b *, AllocationMap, std::less< sc_core::sc_process_b * >, ProcessAllocator > ProcessMap
Definition: memory_profiler.h:56
MallocAllocator< std::pair< sc_core::sc_process_b *const, AllocationMap > > ProcessAllocator
Definition: memory_profiler.h:53
MallocAllocator< std::pair< conf_object_t *const, bool > > AdapterAllocator
Definition: memory_profiler.h:41
std::map< void *, Allocation, std::less< void * >, AllocationAllocator > AllocationMap
Definition: memory_profiler.h:49
std::map< conf_object_t *, bool, std::less< conf_object_t * >, AdapterAllocator > AdapterMap
Definition: memory_profiler.h:43
Definition: memory_profiler.h:30
Allocation(void *addr, std::size_t size, bool array_form)
Definition: memory_profiler.h:31
bool array_form
Definition: memory_profiler.h:36
size_t size
Definition: memory_profiler.h:35
void * addr
Definition: memory_profiler.h:34