summaryrefslogtreecommitdiff
path: root/profiler/profiler/src/stackentry.h
blob: 9757c181b3dfafc942e82ebe56a16b7ab838f5c7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#ifndef STACKENTRY_H
#define STACKENTRY_H

static constexpr size_t MAX_NAME_LENGTH = 512;

class StackEntry {

public:
  StackEntry(unsigned int funcId, char* className, char* methodName, bool isType, StackEntry *next);

  unsigned int m_funcId;
  char m_className[MAX_NAME_LENGTH + 1];
  char m_methodName[MAX_NAME_LENGTH + 1];
  bool m_isType;
  StackEntry *m_next;
};

extern "C" void heaptrack_objectallocate(void *objectId, unsigned long objectSize);
extern "C" void heaptrack_startgc();
extern "C" void heaptrack_gcmarksurvived(void *rangeStart, unsigned long rangeLength, void *rangeMovedTo);
extern "C" void heaptrack_finishgc();
extern "C" void heaptrack_add_object_dep(void *keyObjectId, void *keyClassId, void *valObjectId, void *valClassId);
extern "C" void heaptrack_loadclass(void *classId,  char *className);
extern "C" void heaptrack_gcroot(void *objectId, void *rootClass);

#endif // STACKENTRY_H