projects
/
mono.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[xbuild] Vbc task - make error column check a little non-specific.
[mono.git]
/
mono
/
profiler
/
proflog.h
diff --git
a/mono/profiler/proflog.h
b/mono/profiler/proflog.h
index 11de752836a4ce0f471e22200e00d88c64cfca09..650b8896504910b41133b7465919f90ccb8990f0 100644
(file)
--- a/
mono/profiler/proflog.h
+++ b/
mono/profiler/proflog.h
@@
-4,8
+4,14
@@
#define BUF_ID 0x4D504C01
#define LOG_HEADER_ID 0x4D505A01
#define LOG_VERSION_MAJOR 0
#define BUF_ID 0x4D504C01
#define LOG_HEADER_ID 0x4D505A01
#define LOG_VERSION_MAJOR 0
-#define LOG_VERSION_MINOR 1
-#define LOG_DATA_VERSION 1
+#define LOG_VERSION_MINOR 4
+#define LOG_DATA_VERSION 4
+/*
+ * Changes in data versions:
+ * version 2: added offsets in heap walk
+ * version 3: added GC roots
+ * version 4: added sample/statistical profiling
+ */
enum {
TYPE_ALLOC,
enum {
TYPE_ALLOC,
@@
-15,11
+21,12
@@
enum {
TYPE_EXCEPTION,
TYPE_MONITOR,
TYPE_HEAP,
TYPE_EXCEPTION,
TYPE_MONITOR,
TYPE_HEAP,
- TYPE_
EXTENDED
,
+ TYPE_
SAMPLE
,
/* extended type for TYPE_HEAP */
TYPE_HEAP_START = 0 << 4,
TYPE_HEAP_END = 1 << 4,
TYPE_HEAP_OBJECT = 2 << 4,
/* extended type for TYPE_HEAP */
TYPE_HEAP_START = 0 << 4,
TYPE_HEAP_END = 1 << 4,
TYPE_HEAP_OBJECT = 2 << 4,
+ TYPE_HEAP_ROOT = 3 << 4,
/* extended type for TYPE_METADATA */
TYPE_START_LOAD = 1 << 4,
TYPE_END_LOAD = 2 << 4,
/* extended type for TYPE_METADATA */
TYPE_START_LOAD = 1 << 4,
TYPE_END_LOAD = 2 << 4,
@@
-30,24
+37,42
@@
enum {
TYPE_IMAGE = 2,
TYPE_ASSEMBLY = 3,
TYPE_DOMAIN = 4,
TYPE_IMAGE = 2,
TYPE_ASSEMBLY = 3,
TYPE_DOMAIN = 4,
+ TYPE_THREAD = 5,
/* extended type for TYPE_GC */
TYPE_GC_EVENT = 1 << 4,
TYPE_GC_RESIZE = 2 << 4,
TYPE_GC_MOVE = 3 << 4,
/* extended type for TYPE_GC */
TYPE_GC_EVENT = 1 << 4,
TYPE_GC_RESIZE = 2 << 4,
TYPE_GC_MOVE = 3 << 4,
+ TYPE_GC_HANDLE_CREATED = 4 << 4,
+ TYPE_GC_HANDLE_DESTROYED = 5 << 4,
/* extended type for TYPE_METHOD */
TYPE_LEAVE = 1 << 4,
TYPE_ENTER = 2 << 4,
TYPE_EXC_LEAVE = 3 << 4,
TYPE_JIT = 4 << 4,
/* extended type for TYPE_EXCEPTION */
/* extended type for TYPE_METHOD */
TYPE_LEAVE = 1 << 4,
TYPE_ENTER = 2 << 4,
TYPE_EXC_LEAVE = 3 << 4,
TYPE_JIT = 4 << 4,
/* extended type for TYPE_EXCEPTION */
+ TYPE_THROW = 0 << 4,
TYPE_CLAUSE = 1 << 4,
TYPE_EXCEPTION_BT = 1 << 7,
/* extended type for TYPE_ALLOC */
TYPE_ALLOC_BT = 1 << 4,
/* extended type for TYPE_MONITOR */
TYPE_MONITOR_BT = 1 << 7,
TYPE_CLAUSE = 1 << 4,
TYPE_EXCEPTION_BT = 1 << 7,
/* extended type for TYPE_ALLOC */
TYPE_ALLOC_BT = 1 << 4,
/* extended type for TYPE_MONITOR */
TYPE_MONITOR_BT = 1 << 7,
+ /* extended type for TYPE_SAMPLE */
+ TYPE_SAMPLE_HIT = 0 << 4,
+ TYPE_SAMPLE_USYM = 1 << 4,
+ TYPE_SAMPLE_UBIN = 2 << 4,
TYPE_END
};
TYPE_END
};
+enum {
+ SAMPLE_CYCLES = 1,
+ SAMPLE_INSTRUCTIONS,
+ SAMPLE_CACHE_MISSES,
+ SAMPLE_CACHE_REFS,
+ SAMPLE_BRANCHES,
+ SAMPLE_BRANCH_MISSES,
+ SAMPLE_LAST
+};
+
#endif /* __MONO_PROFLOG_H__ */
#endif /* __MONO_PROFLOG_H__ */