summaryrefslogtreecommitdiff
path: root/src/vm/gctoclreventsink.cpp
diff options
context:
space:
mode:
authorSean Gillespie <segilles@microsoft.com>2018-01-25 18:17:57 -0800
committerGitHub <noreply@github.com>2018-01-25 18:17:57 -0800
commit145cfe19f9e4f3e8a84b75a3048fe98fffb59a68 (patch)
tree3c993b736f5e07f0b4886453e06591a563d08cc6 /src/vm/gctoclreventsink.cpp
parentb7398b0d827248e1eacce251a764feb8bd11d198 (diff)
downloadcoreclr-145cfe19f9e4f3e8a84b75a3048fe98fffb59a68.tar.gz
coreclr-145cfe19f9e4f3e8a84b75a3048fe98fffb59a68.tar.bz2
coreclr-145cfe19f9e4f3e8a84b75a3048fe98fffb59a68.zip
[Local GC] FEATURE_EVENT_TRACE 3/n: Defining and Firing Dynamic Events (#16000)
Diffstat (limited to 'src/vm/gctoclreventsink.cpp')
-rw-r--r--src/vm/gctoclreventsink.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/vm/gctoclreventsink.cpp b/src/vm/gctoclreventsink.cpp
index d305b5e8e7..001dafe4d0 100644
--- a/src/vm/gctoclreventsink.cpp
+++ b/src/vm/gctoclreventsink.cpp
@@ -6,3 +6,18 @@
#include "gctoclreventsink.h"
GCToCLREventSink g_gcToClrEventSink;
+
+void GCToCLREventSink::FireDynamicEvent(const char* eventName, void* payload, uint32_t payloadSize)
+{
+ LIMITED_METHOD_CONTRACT;
+
+ const size_t EventNameMaxSize = 255;
+
+ WCHAR wideEventName[EventNameMaxSize];
+ if (MultiByteToWideChar(CP_ACP, 0, eventName, -1, wideEventName, EventNameMaxSize) == 0)
+ {
+ return;
+ }
+
+ FireEtwGCDynamicEvent(wideEventName, payloadSize, (const BYTE*)payload, GetClrInstanceId());
+}