diff options
39 files changed, 25248 insertions, 203 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index aa28a5f0f1..1be2864ecb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -217,6 +217,10 @@ elseif (CLR_CMAKE_PLATFORM_UNIX) endif(WIN32) +if (WIN32 OR CLR_CMAKE_PLATFORM_LINUX) + add_definitions(-DFEATURE_EVENT_TRACE=1) +endif (WIN32 OR CLR_CMAKE_PLATFORM_LINUX) + if(CLR_CMAKE_PLATFORM_UNIX) add_subdirectory(src/ToolBox/SOS/lldbplugin) add_subdirectory(src/pal) @@ -225,6 +229,7 @@ if(CLR_CMAKE_PLATFORM_UNIX) add_subdirectory(src/coreclr/hosts/unixcoreconsole) endif(CLR_CMAKE_PLATFORM_UNIX) + if(CLR_CMAKE_PLATFORM_DARWIN) add_subdirectory(src/coreclr/hosts/osxbundlerun) endif(CLR_CMAKE_PLATFORM_DARWIN) @@ -421,10 +426,7 @@ if (WIN32) endif(WIN32) # Definition directives -# The following defines were extracted from the official amd64 debug / release builds. -if (WIN32) - add_definitions(-DFEATURE_EVENT_TRACE=1) -endif (WIN32) + if (CLR_CMAKE_PLATFORM_UNIX) add_definitions(-DPLATFORM_UNIX=1) diff --git a/Documentation/building/linux-instructions.md b/Documentation/building/linux-instructions.md index ebccafb504..73d1b925ab 100644 --- a/Documentation/building/linux-instructions.md +++ b/Documentation/building/linux-instructions.md @@ -26,6 +26,7 @@ Install the following packages for the toolchain: - libunwind8-dev - gettext - libicu-dev +- liblttng-ust-dev In order to get lldb-3.6 on Ubuntu 14.04, we need to add an additional package source: @@ -37,7 +38,7 @@ ellismg@linux:~$ sudo apt-get update Then install the packages you need: -`ellismg@linux:~$ sudo apt-get install cmake llvm-3.5 clang-3.5 lldb-3.6 lldb-3.6-dev libunwind8 libunwind8-dev gettext libicu-dev` +`ellismg@linux:~$ sudo apt-get install cmake llvm-3.5 clang-3.5 lldb-3.6 lldb-3.6-dev libunwind8 libunwind8-dev gettext libicu-dev liblttng-ust-dev` You now have all the required components. diff --git a/src/dlls/mscoree/coreclr/CMakeLists.txt b/src/dlls/mscoree/coreclr/CMakeLists.txt index 3364e7350e..297a41143c 100644 --- a/src/dlls/mscoree/coreclr/CMakeLists.txt +++ b/src/dlls/mscoree/coreclr/CMakeLists.txt @@ -114,7 +114,14 @@ else() ) endif(WIN32) -target_link_libraries(coreclr ${CORECLR_LIBRARIES}) +if(CLR_CMAKE_PLATFORM_LINUX) + list(APPEND CORECLR_LIBRARIES + eventprovider + ) + +endif(CLR_CMAKE_PLATFORM_LINUX) + +target_link_libraries(coreclr ${CORECLR_LIBRARIES}) if(WIN32) add_dependencies(coreclr dactablegen) diff --git a/src/gc/gc.cpp b/src/gc/gc.cpp index ae12b9f240..f77f482a71 100644 --- a/src/gc/gc.cpp +++ b/src/gc/gc.cpp @@ -31551,7 +31551,7 @@ void gc_heap::descr_generations_to_profiler (gen_walk_fn fn, void *context) assert (seg == hp->ephemeral_heap_segment); assert (curr_gen_number0 <= max_generation); // - if ((curr_gen_number0 == max_generation)) + if (curr_gen_number0 == max_generation) { if (heap_segment_mem (seg) < generation_allocation_start (hp->generation_of (max_generation-1))) { diff --git a/src/gc/gcee.cpp b/src/gc/gcee.cpp index c8fdef17c0..169b2170ea 100644 --- a/src/gc/gcee.cpp +++ b/src/gc/gcee.cpp @@ -390,9 +390,10 @@ size_t GCHeap::GetNow() return hp->get_time_now(); } +#if defined(GC_PROFILING) //UNIXTODO: Enable this for FEATURE_EVENT_TRACE void ProfScanRootsHelper(Object** ppObject, ScanContext *pSC, DWORD dwFlags) { -#if defined(GC_PROFILING) || defined(FEATURE_EVENT_TRACE) +#if defined(FEATURE_EVENT_TRACE) Object *pObj = *ppObject; #ifdef INTERIOR_POINTERS if (dwFlags & GC_CALL_INTERIOR) @@ -408,10 +409,9 @@ void ProfScanRootsHelper(Object** ppObject, ScanContext *pSC, DWORD dwFlags) } #endif //INTERIOR_POINTERS ScanRootsHelper(&pObj, pSC, dwFlags); -#endif // defined(GC_PROFILING) || defined(FEATURE_EVENT_TRACE) +#endif // defined(FEATURE_EVENT_TRACE) } -#if defined(GC_PROFILING) || defined(FEATURE_EVENT_TRACE) // This is called only if we've determined that either: // a) The Profiling API wants to do a walk of the heap, and it has pinned the // profiler in place (so it cannot be detached), and it's thus safe to call into the @@ -454,7 +454,6 @@ void GCProfileWalkHeapWorker(BOOL fProfilerPinned, BOOL fShouldWalkHeapRootsForE pGenGCHeap->finalize_queue->GcScanRoots(&ScanRootsHelper, 0, &SC); #endif // MULTIPLE_HEAPS - // Handles are kept independent of wks/svr/concurrent builds SC.dwEtwRootKind = kEtwGCRootKindHandle; CNameSpace::GcScanHandlesForProfilerAndETW(max_generation, &SC); @@ -482,12 +481,10 @@ void GCProfileWalkHeapWorker(BOOL fProfilerPinned, BOOL fShouldWalkHeapRootsForE // indicate that dependent handle scanning is over, so we can flush the buffered roots // to the profiler. (This is for profapi only. ETW will flush after the // entire heap was is complete, via ETW::GCLog::EndHeapDump.) -#if defined (GC_PROFILING) if (fProfilerPinned && CORProfilerTrackConditionalWeakTableElements()) { g_profControlBlock.pProfInterface->EndConditionalWeakTableElementReferences(&SC.pHeapId); } -#endif // defined (GC_PROFILING) } ProfilerWalkHeapContext profilerWalkHeapContext(fProfilerPinned, SC.pvEtwContext); @@ -517,7 +514,7 @@ void GCProfileWalkHeapWorker(BOOL fProfilerPinned, BOOL fShouldWalkHeapRootsForE } } } -#endif // defined(GC_PROFILING) || defined(FEATURE_EVENT_TRACE) +#endif // defined(GC_PROFILING) void GCProfileWalkHeap() { @@ -543,7 +540,7 @@ void GCProfileWalkHeap() } #endif // defined (GC_PROFILING) -#ifdef FEATURE_EVENT_TRACE +#if defined (GC_PROFILING)//UNIXTODO: Enable this for FEATURE_EVENT_TRACE // If the profiling API didn't want us to walk the heap but ETW does, then do the // walk here if (!fWalkedHeapForProfiler && diff --git a/src/inc/eventtracebase.h b/src/inc/eventtracebase.h index 768a774f42..ed3e6e00d5 100644 --- a/src/inc/eventtracebase.h +++ b/src/inc/eventtracebase.h @@ -70,6 +70,69 @@ enum EtwThreadFlags kEtwThreadFlagThreadPoolWorker = 0x00000004, }; +#ifndef FEATURE_REDHAWK + +#if defined(FEATURE_EVENT_TRACE) +#if !defined(FEATURE_PAL) + +// +// Use this macro at the least before calling the Event Macros +// + +#define ETW_TRACING_INITIALIZED(RegHandle) \ + (g_pEtwTracer && RegHandle) + +// +// Use this macro to check if an event is enabled +// if the fields in the event are not cheap to calculate +// +#define ETW_EVENT_ENABLED(Context, EventDescriptor) \ + (MCGEN_ENABLE_CHECK(Context, EventDescriptor)) + +// +// Use this macro to check if a category of events is enabled +// + +#define ETW_CATEGORY_ENABLED(Context, Level, Keyword) \ + (Context.IsEnabled && McGenEventProviderEnabled(&Context, Level, Keyword)) + + +// This macro only checks if a provider is enabled +// It does not check the flags and keywords for which it is enabled +#define ETW_PROVIDER_ENABLED(ProviderSymbol) \ + ProviderSymbol##_Context.IsEnabled + + +#else //defined(FEATURE_PAL) + +#define ETW_INLINE +#define ETWOnStartup(StartEventName, EndEventName) +#define ETWFireEvent(EventName) + +#define ETW_TRACING_INITIALIZED(RegHandle) (TRUE) +#define ETW_EVENT_ENABLED(Context, EventDescriptor) (TRUE) +#define ETW_CATEGORY_ENABLED(Context, Level, Keyword) (TRUE) +#define ETW_TRACING_ENABLED(Context, EventDescriptor) (EventEnabled##EventDescriptor()) +#define ETW_TRACING_CATEGORY_ENABLED(Context, Level, Keyword) (TRUE) +#define ETW_PROVIDER_ENABLED(ProviderSymbol) (TRUE) + +#endif // !defined(FEATURE_PAL) + +#else // FEATURE_EVENT_TRACE + +#define ETWOnStartup(StartEventName, EndEventName) +#define ETWFireEvent(EventName) + +#define ETW_TRACING_INITIALIZED(RegHandle) (FALSE) +#define ETW_EVENT_ENABLED(Context, EventDescriptor) (FALSE) +#define ETW_CATEGORY_ENABLED(Context, Level, Keyword) (FALSE) +#define ETW_TRACING_ENABLED(Context, EventDescriptor) (FALSE) +#define ETW_TRACING_CATEGORY_ENABLED(Context, Level, Keyword) (FALSE) +#define ETW_PROVIDER_ENABLED(ProviderSymbol) (TRUE) + +#endif // FEATURE_EVENT_TRACE + +#endif // FEATURE_REDHAWK #ifdef FEATURE_EVENT_TRACE // During a heap walk, this is the storage for keeping track of all the nodes and edges @@ -90,7 +153,7 @@ public: }; class Object; - +#if !defined(FEATURE_PAL) /******************************/ /* CLR ETW supported versions */ /******************************/ @@ -133,7 +196,6 @@ struct ProfilingScanContext; ETWTraceStartup::StartupTraceEvent(Microsoft_Windows_DotNETRuntimePrivateHandle, &EventName, &StartupId); #ifndef FEATURE_REDHAWK - // Headers #include <initguid.h> #include <wmistr.h> @@ -144,8 +206,8 @@ struct ProfilingScanContext; #else #define GetVersionEx(Version) (WszGetVersionEx((LPOSVERSIONINFOW)Version)) #endif // !DONOT_DEFINE_ETW_CALLBACK && !DACCESS_COMPILE - #endif //!FEATURE_REDHAWK +#endif //!defined(FEATURE_PAL) #else // FEATURE_EVENT_TRACE @@ -166,6 +228,8 @@ extern BOOL g_fEEIJWStartup; #define GetClrInstanceId() (static_cast<UINT16>(g_nClrInstanceId)) #if defined(FEATURE_EVENT_TRACE) + +#ifndef FEATURE_PAL // Callback and stack support #if !defined(DONOT_DEFINE_ETW_CALLBACK) && !defined(DACCESS_COMPILE) extern "C" { @@ -216,11 +280,21 @@ extern "C" { #endif //!DONOT_DEFINE_ETW_CALLBACK && !DACCESS_COMPILE #include <clretwallmain.h> + +#elif defined(__LINUX__) + +#include "clrallevents.h" + +#else +#error "A tracing System has not been enabled for this Platform" +#endif //!FEATURE_PAL + // The bulk type event is too complex for MC.exe to auto-generate proper code. // Use code:BulkTypeEventLogger instead. #ifdef FireEtwBulkType #undef FireEtwBulkType #endif // FireEtwBulkType + #endif // FEATURE_EVENT_TRACE /**************************/ @@ -267,6 +341,7 @@ class Thread; namespace ETW { // Class to wrap the ETW infrastructure logic +#if !defined(FEATURE_PAL) class CEtwTracer { #if defined(FEATURE_EVENT_TRACE) @@ -291,6 +366,7 @@ namespace ETW } #endif // FEATURE_EVENT_TRACE }; +#endif // !defined(FEATURE_PAL) class LoaderLog; class MethodLog; @@ -357,9 +433,10 @@ namespace ETW // Class to wrap all the sampling logic for ETW + class SamplingLog { -#if defined(FEATURE_EVENT_TRACE) +#if defined(FEATURE_EVENT_TRACE) && !defined(FEATURE_PAL) public: typedef enum _EtwStackWalkStatus { @@ -376,14 +453,14 @@ namespace ETW public: static ULONG SendStackTrace(MCGEN_TRACE_CONTEXT TraceContext, PCEVENT_DESCRIPTOR Descriptor, LPCGUID EventGuid); EtwStackWalkStatus GetCurrentThreadsCallStack(UINT32 *frameCount, PVOID **Stack); -#endif // FEATURE_EVENT_TRACE +#endif // FEATURE_EVENT_TRACE && !defined(FEATURE_PAL) }; // Class to wrap all Loader logic for ETW class LoaderLog { friend class ETW::EnumerationLog; -#ifdef FEATURE_EVENT_TRACE +#if defined(FEATURE_EVENT_TRACE) static VOID SendModuleEvent(Module *pModule, DWORD dwEventOptions, BOOL bFireDomainModuleEvents=FALSE); static ULONG SendModuleRange(__in Module *pModule, __in DWORD dwEventOptions); static VOID SendAssemblyEvent(Assembly *pAssembly, DWORD dwEventOptions); @@ -426,7 +503,7 @@ namespace ETW static VOID DomainLoad(BaseDomain *pDomain, __in_opt LPWSTR wszFriendlyName = NULL) { - if (MICROSOFT_WINDOWS_DOTNETRUNTIME_PROVIDER_Context.IsEnabled) + if (ETW_PROVIDER_ENABLED(MICROSOFT_WINDOWS_DOTNETRUNTIME_PROVIDER)) { DomainLoadReal(pDomain, wszFriendlyName); } @@ -751,6 +828,7 @@ namespace ETW }; +#if defined(FEATURE_EVENT_TRACE) && !defined(FEATURE_PAL) // // The ONE and only ONE global instantiation of this class // @@ -768,7 +846,76 @@ extern ETW::CEtwTracer * g_pEtwTracer; #define ETWLoaderStaticLoad 0 // Static reference load #define ETWLoaderDynamicLoad 1 // Dynamic assembly load -#if defined(FEATURE_EVENT_TRACE) +// +// Special Handling of Startup events +// + +// "mc.exe -MOF" already generates this block for XP-suported builds inside ClrEtwAll.h; +// on Vista+ builds, mc is run without -MOF, and we still have code that depends on it, so +// we manually place it here. +ETW_INLINE +ULONG +CoMofTemplate_h( + __in REGHANDLE RegHandle, + __in PCEVENT_DESCRIPTOR Descriptor, + __in_opt LPCGUID EventGuid, + __in const unsigned short ClrInstanceID + ) +{ +#define ARGUMENT_COUNT_h 1 + ULONG Error = ERROR_SUCCESS; +typedef struct _MCGEN_TRACE_BUFFER { + EVENT_TRACE_HEADER Header; + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_h]; +} MCGEN_TRACE_BUFFER; + + MCGEN_TRACE_BUFFER TraceBuf; + PEVENT_DATA_DESCRIPTOR EventData = TraceBuf.EventData; + + EventDataDescCreate(&EventData[0], &ClrInstanceID, sizeof(const unsigned short) ); + + + { + Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_h, EventData); + + } + +#ifdef MCGEN_CALLOUT +MCGEN_CALLOUT(RegHandle, + Descriptor, + ARGUMENT_COUNT_h, + EventData); +#endif + + return Error; +} + +class ETWTraceStartup { + REGHANDLE TraceHandle; + PCEVENT_DESCRIPTOR EventStartDescriptor; + LPCGUID EventStartGuid; + PCEVENT_DESCRIPTOR EventEndDescriptor; + LPCGUID EventEndGuid; +public: + ETWTraceStartup(REGHANDLE _TraceHandle, PCEVENT_DESCRIPTOR _EventStartDescriptor, LPCGUID _EventStartGuid, PCEVENT_DESCRIPTOR _EventEndDescriptor, LPCGUID _EventEndGuid) { + TraceHandle = _TraceHandle; + EventStartDescriptor = _EventStartDescriptor; + EventEndDescriptor = _EventEndDescriptor; + EventStartGuid = _EventStartGuid; + EventEndGuid = _EventEndGuid; + StartupTraceEvent(TraceHandle, EventStartDescriptor, EventStartGuid); + } + ~ETWTraceStartup() { + StartupTraceEvent(TraceHandle, EventEndDescriptor, EventEndGuid); + } + static void StartupTraceEvent(REGHANDLE _TraceHandle, PCEVENT_DESCRIPTOR _EventDescriptor, LPCGUID _EventGuid) { + EVENT_DESCRIPTOR desc = *_EventDescriptor; + if(ETW_TRACING_ENABLED(MICROSOFT_WINDOWS_DOTNETRUNTIME_PRIVATE_PROVIDER_Context, desc)) + { + CoMofTemplate_h(MICROSOFT_WINDOWS_DOTNETRUNTIME_PRIVATE_PROVIDER_Context.RegistrationHandle, _EventDescriptor, _EventGuid, GetClrInstanceId()); + } + } +}; // "mc.exe -MOF" already generates this block for XP-suported builds inside ClrEtwAll.h; // on Vista+ builds, mc is run without -MOF, and we still have code that depends on it, so // we manually place it here. @@ -808,10 +955,8 @@ McGenEventTracingEnabled( return FALSE; } -#endif // defined(FEATURE_EVENT_TRACE) -#if defined(FEATURE_EVENT_TRACE) ETW_INLINE ULONG ETW::SamplingLog::SendStackTrace( @@ -857,8 +1002,7 @@ typedef struct _MCGEN_TRACE_BUFFER { return Result; }; -#endif // FEATURE_EVENT_TRACE - +#endif // FEATURE_EVENT_TRACE && !defined(FEATURE_PAL) #ifdef FEATURE_EVENT_TRACE #ifdef _TARGET_X86_ struct CallStackFrame @@ -869,7 +1013,7 @@ struct CallStackFrame #endif // _TARGET_X86_ #endif // FEATURE_EVENT_TRACE -#if defined(FEATURE_EVENT_TRACE) +#if defined(FEATURE_EVENT_TRACE) && !defined(FEATURE_PAL) FORCEINLINE BOOLEAN __stdcall McGenEventProviderEnabled( @@ -904,20 +1048,8 @@ McGenEventProviderEnabled( } return FALSE; } -#endif // FEATURE_EVENT_TRACE - -#if defined(FEATURE_EVENT_TRACE) - -// This macro only checks if a provider is enabled -// It does not check the flags and keywords for which it is enabled -#define ETW_PROVIDER_ENABLED(ProviderSymbol) \ - ProviderSymbol##_Context.IsEnabled +#endif // FEATURE_EVENT_TRACE && !defined(FEATURE_PAL) -#else - -#define ETW_PROVIDER_ENABLED(ProviderSymbol) TRUE - -#endif // FEATURE_EVENT_TRACE #endif // !FEATURE_REDHAWK @@ -943,131 +1075,5 @@ namespace ETW }; }; -#ifndef FEATURE_REDHAWK - -#ifdef FEATURE_EVENT_TRACE - -// -// Use this macro at the least before calling the Event Macros -// - -#define ETW_TRACING_INITIALIZED(RegHandle) \ - (g_pEtwTracer && RegHandle) - -// -// Use this macro to check if an event is enabled -// if the fields in the event are not cheap to calculate -// -#define ETW_EVENT_ENABLED(Context, EventDescriptor) \ - (MCGEN_ENABLE_CHECK(Context, EventDescriptor)) - -// -// Use this macro to check if a category of events is enabled -// - -#define ETW_CATEGORY_ENABLED(Context, Level, Keyword) \ - (Context.IsEnabled && McGenEventProviderEnabled(&Context, Level, Keyword)) - - - -// -// Special Handling of Startup events -// - -#if defined(FEATURE_EVENT_TRACE) -// "mc.exe -MOF" already generates this block for XP-suported builds inside ClrEtwAll.h; -// on Vista+ builds, mc is run without -MOF, and we still have code that depends on it, so -// we manually place it here. -ETW_INLINE -ULONG -CoMofTemplate_h( - __in REGHANDLE RegHandle, - __in PCEVENT_DESCRIPTOR Descriptor, - __in_opt LPCGUID EventGuid, - __in const unsigned short ClrInstanceID - ) -{ -#define ARGUMENT_COUNT_h 1 - ULONG Error = ERROR_SUCCESS; -typedef struct _MCGEN_TRACE_BUFFER { - EVENT_TRACE_HEADER Header; - EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_h]; -} MCGEN_TRACE_BUFFER; - - MCGEN_TRACE_BUFFER TraceBuf; - PEVENT_DATA_DESCRIPTOR EventData = TraceBuf.EventData; - - EventDataDescCreate(&EventData[0], &ClrInstanceID, sizeof(const unsigned short) ); - - - { - Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_h, EventData); - - } - -#ifdef MCGEN_CALLOUT -MCGEN_CALLOUT(RegHandle, - Descriptor, - ARGUMENT_COUNT_h, - EventData); -#endif - - return Error; -} -#endif // defined(FEATURE_EVENT_TRACE) - -class ETWTraceStartup { - REGHANDLE TraceHandle; - PCEVENT_DESCRIPTOR EventStartDescriptor; - LPCGUID EventStartGuid; - PCEVENT_DESCRIPTOR EventEndDescriptor; - LPCGUID EventEndGuid; -public: - ETWTraceStartup(REGHANDLE _TraceHandle, PCEVENT_DESCRIPTOR _EventStartDescriptor, LPCGUID _EventStartGuid, PCEVENT_DESCRIPTOR _EventEndDescriptor, LPCGUID _EventEndGuid) { - TraceHandle = _TraceHandle; - EventStartDescriptor = _EventStartDescriptor; - EventEndDescriptor = _EventEndDescriptor; - EventStartGuid = _EventStartGuid; - EventEndGuid = _EventEndGuid; - StartupTraceEvent(TraceHandle, EventStartDescriptor, EventStartGuid); - } - ~ETWTraceStartup() { - StartupTraceEvent(TraceHandle, EventEndDescriptor, EventEndGuid); - } - static void StartupTraceEvent(REGHANDLE _TraceHandle, PCEVENT_DESCRIPTOR _EventDescriptor, LPCGUID _EventGuid) { - EVENT_DESCRIPTOR desc = *_EventDescriptor; - if(ETW_TRACING_ENABLED(MICROSOFT_WINDOWS_DOTNETRUNTIME_PRIVATE_PROVIDER_Context, desc)) - { - CoMofTemplate_h(MICROSOFT_WINDOWS_DOTNETRUNTIME_PRIVATE_PROVIDER_Context.RegistrationHandle, _EventDescriptor, _EventGuid, GetClrInstanceId()); - } - } -}; - - - -#else // FEATURE_EVENT_TRACE - -#define ETWOnStartup(StartEventName, EndEventName) -#define ETWFireEvent(EventName) - -// Use this macro at the least before calling the Event Macros -#define ETW_TRACING_INITIALIZED(RegHandle) (FALSE) - -// Use this macro to check if an event is enabled -// if the fields in the event are not cheap to calculate -#define ETW_EVENT_ENABLED(Context, EventDescriptor) (FALSE) - -// Use this macro to check if a category of events is enabled -#define ETW_CATEGORY_ENABLED(Context, Level, Keyword) (FALSE) - -// Use this macro to check if ETW is initialized and the event is enabled -#define ETW_TRACING_ENABLED(Context, EventDescriptor) (FALSE) - -// Use this macro to check if ETW is initialized and the category is enabled -#define ETW_TRACING_CATEGORY_ENABLED(Context, Level, Keyword) (FALSE) - -#endif // FEATURE_EVENT_TRACE - -#endif // FEATURE_REDHAWK #endif //_ETWTRACER_HXX_ diff --git a/src/inc/genXplatEtw.pl b/src/inc/genXplatEtw.pl new file mode 100644 index 0000000000..46421f5c1a --- /dev/null +++ b/src/inc/genXplatEtw.pl @@ -0,0 +1,536 @@ +## +## Copyright (c) Microsoft. All rights reserved. +## Licensed under the MIT license. See LICENSE file in the project root for full license information. +## +# +#USAGE: +#Add Events: modify <root>src/vm/ClrEtwAll.man +#Look at the Code in <root>/src/inc/genXplatLttng.pl for using subroutines in this file +# + +use strict; +use warnings; +use XML::DOM; +use FindBin; +use Scalar::Util qw(looks_like_number); +use Term::ANSIColor; +our $stdprolog=<<Copy_Right; +// +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. +// + +/****************************************************************** + +DO NOT MODIFY. AUTOGENERATED FILE. +This file is generated using the logic from <root>/src/inc/genXplatEtw.pl + +******************************************************************/ + +Copy_Right + + +our $lindent = " "; +our %palDataTypeMapping =( +#constructed types + "win:null" =>" ", + "win:Int64" =>"const __int64", + "win:ULong" =>"const ULONG", + "win:count" =>"*", + "win:Struct" =>"const void", +#actual spec + "win:GUID" =>"const GUID", + "win:AnsiString" =>"LPCSTR", + "win:UnicodeString" =>"PCWSTR", + "win:Double" =>"const double", + "win:Int32" =>"const signed int", + "win:Boolean" =>"const BOOL", + "win:UInt64" =>"const unsigned __int64", + "win:UInt32" =>"const unsigned int", + "win:UInt16" =>"const unsigned short", + "win:UInt8" =>"const unsigned char", + "win:Pointer" =>"const void*", + "win:Binary" =>"const BYTE" +); + +#the abstract templates are created out of the templates in the manifest, +#they generally correspond one to one, but if the number of arguments in the +#manifest template > 10 it is broken down to a different abstract template with +#the same name followed by suffix _<num> + + #return values +# my %allTemplatemap; #maps manifest templates to the list of abstract templates +# my %allAbstractTemplateTypes; #has all the required info on abstract template +# Fields: +# "type"=> AbstractTypeName as given in the Manifest, +# "var" => The Name of the Variable as given in the Manifest, +# "count" =>indicates if the variable is a pointer to a memory location +# +# my %allTemplateVarProps; # maps size occupied in memory for every pointer by the variable name per abstract template +# +my @ignoredXmlTemplateAttribes = ("map","outType"); +my @usedXmlTemplateAttribes = ("name","inType","count", "length"); +sub ParseTemplates +{ + my @rTemplateNodes = @_; + + #return values + my %allTemplatemap; + my %allAbstractTemplateTypes; + my %allTemplateVarProps; + + foreach my $rTemplateNode (@rTemplateNodes) + { + my $templateName = $rTemplateNode->getAttribute('tid'); + #step 1: Get the list of arguments + my @fnSignature; + my %fnSignatureshadow; + my %varProps; + my %varDependencies; + my $count = 0; + +#validate that no new attribute is added to XML file that we do not know about +my %ignoredXmlTemplateAttribes = map {$_ => 1} @ignoredXmlTemplateAttribes; +my %usedXmlTemplateAttribes = map {$_ => 1} @usedXmlTemplateAttribes; + + foreach my $rdataNode ($rTemplateNode->getElementsByTagName('data',0)) + { + my $nodemap = $rdataNode->getAttributes; + + for my $val ($nodemap->getValues) + { + my $attrib_name = $val->getName(); + if (!exists($ignoredXmlTemplateAttribes{$attrib_name}) && !exists($usedXmlTemplateAttribes{$attrib_name})) + { + die "unknown attribute $attrib_name in template:$templateName"; + } + } + } +#end of validation + + foreach my $rdataNode ($rTemplateNode->getElementsByTagName('data',0)) + { + my $dataName = $rdataNode->getAttribute('name'); + my $wintypeName = $rdataNode->getAttribute('inType'); + + #count and length are the same + + my $wincount = $rdataNode->getAttribute('count'); + my $winlength = $rdataNode->getAttribute('length'); + + if ((looks_like_number($winlength) && $winlength != 1) || $winlength ne "") { + $wincount =$winlength; + } + #connstruct function signature + $fnSignatureshadow{$dataName} = {"type"=> $wintypeName,"var" => $dataName, "count" =>"win:null"}; + $fnSignature[$count++] = $dataName; + my @varDpnds = ($dataName); + + if (looks_like_number($wincount) && $wincount == 1){} + elsif( $wincount ne "" ) + { + $fnSignatureshadow{$dataName}{"count"} ="win:count"; + my $countVarName = $wincount; + if ( exists $fnSignatureshadow{$countVarName}) + { + + $varProps{$dataName} = "$countVarName"; + @varDpnds = ($countVarName,@varDpnds); # make sure $dataName is the last in the list + } + elsif (looks_like_number($wincount)) + { + $varProps{$dataName} = "$wincount"; + + } + else { + die "don't know ehat the count: $count represents \n"; + } + + } + #special case for GUIDS, consider them as structs + if ($wintypeName eq "win:GUID") + { + $fnSignatureshadow{$dataName}{"count"} = "win:count"; + $varProps{$dataName} = "sizeof(GUID)/sizeof(int)"; + } + $varDependencies{$dataName} = \@varDpnds; + } + + foreach my $structToBeMarshalled ($rTemplateNode->getElementsByTagName('struct',0)) + { + + #add to the function signature + my $struct_len = "Arg$count"."_Struct_Len_"; + my $struct_pointer = "Arg$count"."_Struct_Pointer_"; + + $fnSignatureshadow{$struct_len} = {"type"=> "win:ULong","var" => $struct_len, "count" =>"win:null"}; + $fnSignatureshadow{$struct_pointer} = {"type"=> "win:Struct","var" => $struct_pointer, "count" =>"win:count"}; + + $fnSignature[$count++] = $struct_len; + $fnSignature[$count++] = $struct_pointer; + #used in code generation + my $structName = $structToBeMarshalled->getAttribute('name'); + my $countVarName = $structToBeMarshalled->getAttribute('count') || die "Struct $structName in template $templateName does not have attribute count"; + $varProps{$struct_pointer} = "$countVarName*$struct_len/sizeof(int)"; + $varDependencies{$struct_len} = [$struct_len]; + $varDependencies{$struct_pointer} = [$countVarName, $struct_len, $struct_pointer]; + } + + + #at this point we have the complete argument list, now break them into chunks of ten + #As Abstract supports a maximum of 10 arguments + $count = 0; + my $abstracttemplateName = $templateName; + my $subevent_cnt = 1; + my $last_inserted; + my %abstractFnFrameShadow; + my @abstractFnFrame; + + foreach my $dataName (@fnSignature) + { + FRAMEARGS: + my $framecount = @abstractFnFrame; + if ($count%10 == 0 and $framecount > 0) + { + #check if all the dependecies are present + my $depExists = 1; + my $dependecies = $varDependencies{$dataName}; + foreach my $dependency (@$dependecies) + { + if (not exists $abstractFnFrameShadow{$dependency}) + { + $depExists = 0; + last; + } + } + #remove elements if the dependency list is not complete + if( $depExists == 0 ) + { + + print color('bold red'), "***Warning: Test this feature out depends removed in $abstracttemplateName with @$dependecies\n ***"; + my $i=0; + my $firstdependecy = @$dependecies[0] || die "no varDependencies for $dataName"; + + foreach my $params (@abstractFnFrame) + { + my $varname = $params->{"var"} || die "no name "; + if ($varname eq $firstdependecy ){ last; } + $i++; + } + + my $dependecieslen = @$dependecies; + splice @abstractFnFrame, $i,$dependecieslen ; + } + + @{$allAbstractTemplateTypes{$abstracttemplateName}} = @abstractFnFrame; + push (@{$allTemplatemap{$templateName}}, $abstracttemplateName); + $allTemplateVarProps{$abstracttemplateName} = \%varProps; + #clear abstractFnFrameShadow + undef %abstractFnFrameShadow; + undef @abstractFnFrame ; + $abstracttemplateName = "$templateName\_$subevent_cnt"; + $subevent_cnt++; + $count = 0; + + next; # so that next frame can begin + } + + my $dependecies = $varDependencies{$dataName} || die "no varDependencies for $dataName"; + foreach my $dependency (@$dependecies) + { + + if (not exists $abstractFnFrameShadow{$dependency}) + { + $abstractFnFrameShadow{$dependency} = 1; + $abstractFnFrame[$count++] = $fnSignatureshadow{$dependency}; + + # if ($dataName ne $dependency){ + goto FRAMEARGS; + #} + } + } + } + my $templatelen = @fnSignature; + if($templatelen == 0 || $count > 0) + { + push (@{$allTemplatemap{$templateName}}, $abstracttemplateName); + $allAbstractTemplateTypes{$abstracttemplateName} =\@abstractFnFrame; + $allTemplateVarProps{$abstracttemplateName} =\%varProps; + } + } + + return (\%allTemplatemap,\%allAbstractTemplateTypes,\%allTemplateVarProps) +} + +#generates the dummy header file which is used by the VM as entry point to the logging Functions +sub GenerateclrEtwDummy +{ + my ($rTemplateNodes,$allTemplatemap,$allAbstractTemplateTypes,$allTemplateVarProps,$alleventname) = @_; + my @rTemplateNodes = @$rTemplateNodes ; + my @alleventname = @$alleventname ; + my %allTemplatemap = %$allTemplatemap; + my %allAbstractTemplateTypes = %$allAbstractTemplateTypes; + my %allTemplateVarProps = %$allTemplateVarProps; + my $clretmEvents; + + foreach my $reventNode (@alleventname) + { + my $eventName = $reventNode->getAttribute('symbol'); + my $templateName = $reventNode->getAttribute('template'); + + #generate FireEtw functions + my $fnptype = "\#define FireEtw$eventName("; + my $line = ""; + if ($templateName ne '') + { + foreach my $subtemplates (@{$allTemplatemap{$templateName}}) + { + my $fnSignature = $allAbstractTemplateTypes{$subtemplates}; + + foreach my $params (@$fnSignature) + { + $line = $line.$params->{"var"}.", "; + } + } + $line =~s/, +$//; + } + $fnptype = $fnptype.$line.") 0\n"; + $clretmEvents = $clretmEvents.$fnptype; + } + return $clretmEvents; +} +#generates the header file which is used by the VM as entry point to the logging Functions +sub GenerateclrallEvents +{ + my ($rTemplateNodes,$allTemplatemap,$allAbstractTemplateTypes,$allTemplateVarProps,$alleventname) = @_; + my @rTemplateNodes = @$rTemplateNodes ; + my @alleventname = @$alleventname ; + my %allTemplatemap = %$allTemplatemap; + my %allAbstractTemplateTypes = %$allAbstractTemplateTypes; + my %allTemplateVarProps = %$allTemplateVarProps; + my $clrallEvents; + foreach my $reventNode (@alleventname) + { + my $eventName = $reventNode->getAttribute('symbol'); + my $templateName = $reventNode->getAttribute('template'); + + #generate EventEnabled + $clrallEvents = $clrallEvents."extern \"C\" BOOL EventEnabled$eventName();\n"; + #generate FireEtw functions + my $fnptype = "extern \"C\" ULONG FireEtw$eventName(\n"; + my $line = ""; + if ($templateName ne '') + { + foreach my $subtemplates (@{$allTemplatemap{$templateName}}) + { + my $fnSignature = $allAbstractTemplateTypes{$subtemplates}; + + foreach my $params (@$fnSignature) + { + my $wintypeName = $params->{"type"}; + my $typewName = $palDataTypeMapping{$wintypeName} || die "no mapping for $wintypeName"; + my $winCount = $params->{"count"}; + my $countw = $palDataTypeMapping{$winCount} || die "no mapping for $winCount"; + $line = $line.$lindent.$typewName.$countw." "; + $line = $line.$params->{"var"}; + $line = $line.",\n"; + } + } + $line =~ s/,+$//; + } + $fnptype = $fnptype.$line.");\n"; + $clrallEvents = $clrallEvents.$fnptype; + } + return $clrallEvents; +} + +# Generates PAL tests that are used for sanity checking of the Logging Functions +sub GenerateclralltestEvents +{ + my ($rTemplateNodes,$allTemplatemap,$allAbstractTemplateTypes,$allTemplateVarProps,$alleventname) = @_; + my @rTemplateNodes = @$rTemplateNodes ; + my @alleventname = @$alleventname ; + my %allTemplatemap = %$allTemplatemap; + my %allAbstractTemplateTypes = %$allAbstractTemplateTypes; + my %allTemplateVarProps = %$allTemplateVarProps; + my $clrallTestEvents; + foreach my $reventNode (@alleventname) + { + my $eventName = $reventNode->getAttribute('symbol'); + my $templateName = $reventNode->getAttribute('template'); + + #generate EventEnabled + $clrallTestEvents = $clrallTestEvents." EventEnabled$eventName();\n"; + #generate FireEtw functions + my $fnptype = "Error |= FireEtw$eventName(\n"; + my $line=""; + if ($templateName ne '') + { + foreach my $subtemplates (@{$allTemplatemap{$templateName}}) + { + my $fnSignature = $allAbstractTemplateTypes{$subtemplates}; + + foreach my $params (@$fnSignature) + { + my $wintypeName = $params->{"type"}; + my $winCount = $params->{"count"}; + my $countw = $palDataTypeMapping{$winCount} || die "no mapping for $winCount"; + my $varName = $params->{"var"}; + my $argline; + if ( uc($varName) eq "COUNT") + { + $argline="2"; + } + else + { + if( $wintypeName eq "win:GUID"){ $argline = "&myGuid";} + elsif( $wintypeName eq "win:Binary"){ $argline = "win_Binary";} + elsif( $wintypeName eq "win:Pointer" && $winCount eq "win:count"){ $argline = "(const void**)&var11";} + elsif( $wintypeName eq "win:Pointer"){ $argline = "(const void*)var11";} + elsif( $wintypeName eq "win:AnsiString" ){ $argline = "\" Testing AniString \"";} + elsif( $wintypeName eq "win:UnicodeString" ){ $argline = "W(\" Testing UnicodeString \")";} + else{ + if( $winCount eq "win:count"){ $line = $line."&";} + $argline = $wintypeName; + $argline =~ s/:/_/; + } + + } + $line = $line.$argline; + $line = $line.",\n"; + } + } + $line =~ s/,+$//; + } + $fnptype = $fnptype.$line.");\n"; + $clrallTestEvents = $clrallTestEvents.$fnptype; + } + return $clrallTestEvents; +} + +sub WriteTestProlog +{ + #Test prolog + my $clrallTestEvents = <<TestCPP_Prolog; +/*===================================================================== +** +** Source: clralltestevents.cpp +** +** Purpose: Ensure Correctness of Eventing code +** +** +**===================================================================*/ +#include <palsuite.h> +#include <clrallevents.h> + +typedef struct _Struct1 { + ULONG Data1; + unsigned short Data2; + unsigned short Data3; + unsigned char Data4[8]; +} Struct1; + +Struct1 var21[2] = { { 245, 13, 14, "deadbea" }, { 542, 0, 14, "deadflu" } }; + +Struct1* var11 = var21; +Struct1* win_Struct = var21; + +GUID myGuid ={ 245, 13, 14, "deadbea" }; +double win_Double =34.04; +ULONG win_ULong = 34; +BOOL win_Boolean = FALSE; +unsigned __int64 win_UInt64 = 114; +unsigned int win_UInt32 = 4; +unsigned short win_UInt16 = 12; +unsigned char win_UInt8 = 9; +int win_Int32 = 12; +BYTE* win_Binary =(BYTE*)var21 ; +int __cdecl main(int argc, char **argv) +{ + + /* Initialize the PAL. + */ + + if(0 != PAL_Initialize(argc, argv)) + { + return FAIL; + } + + ULONG Error = ERROR_SUCCESS; +#if defined(FEATURE_EVENT_TRACE) + Trace("\\n Starting functional eventing APIs tests \\n"); + +TestCPP_Prolog +} + +sub WriteTestEpilog +{ + my $clrallTestEvents=<<TestCPP_Epilog; + /* Shutdown the PAL. + */ + + if (Error != ERROR_SUCCESS) + { + Fail("One or more eventing Apis failed\\n "); + return FAIL; + } + Trace("\\n All eventing APIs were fired succesfully \\n"); +#endif //defined(FEATURE_EVENT_TRACE) + PAL_Terminate(); + return PASS; +} + +TestCPP_Epilog + return $clrallTestEvents; +} +# This function generates files which are independent of the logging system +# and provides the entry point to the Event Logging system +sub GeneratePlformIndFiles +{ + + + my $sClrEtwAllMan = $_[0]; #the manifest + my $rParser = new XML::DOM::Parser; + my $rClrEtwAllMan = $rParser->parsefile($sClrEtwAllMan); + my $clrallevents = "$FindBin::Bin/../pal/prebuilt/inc/clrallevents.h"; + my $clretwdummy = "$FindBin::Bin/../pal/prebuilt/inc/etmdummy.h"; + my $clralltestevents = "$FindBin::Bin/../pal/tests/palsuite/eventprovider/clralltestevents.cpp"; + + open(clrallEvents, ">$clrallevents") || die "Cannot open $clrallevents\n"; + open(clrEtwDummy, ">$clretwdummy") || die "Cannot open $clretwdummy\n"; + open(clrallTestEvents, ">$clralltestevents") || die "Cannot open $clrallevents\n"; + + print clrallEvents $stdprolog; + print clrEtwDummy $stdprolog; + print clrallTestEvents $stdprolog; + print clrallTestEvents WriteTestProlog(); + + foreach my $rProviderNode ($rClrEtwAllMan->getElementsByTagName('provider')) + { + my @rTemplateNodes = $rProviderNode->getElementsByTagName('template'); + my @alleventname = $rProviderNode->getElementsByTagName('event'); +#Parse the XML file to construct datatypes used in code generation below + + my ($allTemplatemap,$allAbstractTemplateTypes,$allTemplateVarProps) = ParseTemplates(@rTemplateNodes); + + my %allTemplatemap = %$allTemplatemap; + my %allAbstractTemplateTypes = %$allAbstractTemplateTypes; + my %allTemplateVarProps = %$allTemplateVarProps; + +#pal: create clrallevents.h + print clrallEvents GenerateclrallEvents(\@rTemplateNodes,\%allTemplatemap,\%allAbstractTemplateTypes,\%allTemplateVarProps,\@alleventname); + +#pal: create etmdummy.h + print clrEtwDummy GenerateclrEtwDummy(\@rTemplateNodes,\%allTemplatemap,\%allAbstractTemplateTypes,\%allTemplateVarProps,\@alleventname); + +#paltest: create clralltestevents.cpp + print clrallTestEvents GenerateclralltestEvents(\@rTemplateNodes,\%allTemplatemap,\%allAbstractTemplateTypes,\%allTemplateVarProps,\@alleventname); + } + + print clrallTestEvents WriteTestEpilog(); + + close(clrallEvents); + close(clrallTestEvents); + $rClrEtwAllMan->dispose; +} + diff --git a/src/inc/genXplatLtnng.pl b/src/inc/genXplatLtnng.pl new file mode 100644 index 0000000000..39aff1a834 --- /dev/null +++ b/src/inc/genXplatLtnng.pl @@ -0,0 +1,541 @@ +## +## Copyright (c) Microsoft. All rights reserved. +## Licensed under the MIT license. See LICENSE file in the project root for full license information. +## +# +#USAGE: +#Add Events: modify <root>src/vm/ClrEtwAll.man +#Generate Code : perl <root>/src/inc/genXplatLttng.pl +# + +use strict; +use warnings; +use XML::DOM; +use FindBin; +use Scalar::Util qw(looks_like_number); + + +our $lindent; +our %palDataTypeMapping; + +require "$FindBin::Bin/genXplatEtw.pl"; + +my $stdprolog=<<Copy_Right; +// +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. +// + +/****************************************************************** + +DO NOT MODIFY. AUTOGENERATED FILE. +This file is generated using the logic from <root>/src/inc/genXplatLttng.pl + +******************************************************************/ + +Copy_Right + +my %lttngDataTypeMapping =( +#constructed types + "win:null" =>" ", + "win:Int64" =>"const __int64", + "win:ULong" =>"const ULONG", + "win:count" =>"*", + "win:Struct" =>"const int", +#actual spec + "win:GUID" =>"const int", + "win:AnsiString" =>"const char*", + "win:UnicodeString" =>"const char*", + "win:Double" =>"const double", + "win:Int32" =>"const signed int", + "win:Boolean" =>"const BOOL", + "win:UInt64" =>"const unsigned __int64", + "win:UInt32" =>"const unsigned int", + "win:UInt16" =>"const unsigned short", + "win:UInt8" =>"const unsigned char", + "win:Pointer" =>"const size_t", + "win:Binary" =>"const BYTE" +); + +my %ctfDataTypeMapping =( +#constructed types + "win:Int64" =>"ctf_integer", + "win:ULong" =>"ctf_integer", + "win:count" =>"ctf_sequence", + "win:Struct" =>"ctf_sequence", +#actual spec + "win:GUID" =>"ctf_sequence", + "win:AnsiString" =>"ctf_string", + "win:UnicodeString" =>"ctf_string", + "win:Double" =>"ctf_float", + "win:Int32" =>"ctf_integer", + "win:Boolean" =>"ctf_integer", + "win:UInt64" =>"ctf_integer", + "win:UInt32" =>"ctf_integer", + "win:UInt16" =>"ctf_integer", + "win:UInt8" =>"ctf_integer", #actually a character + "win:Pointer" =>"ctf_integer", + "win:Binary" =>"ctf_sequence" +); + +#we loop over the template property so that the code generated is same every time the script runs +#generate the code in + +# generate $lttngevent*header.h +# each template corresponds to a TRACEPOINT_EVENT_CLASS, its structure would be like +#define ThreadCreated_TRACEPOINT_ARGS \ +# TP_ARGS(\ +# const unsigned __int64, ManagedThreadID,\ +# cosnt unsigned __int64, AppDomainID,\ +# const unsigned int, Flags,\ +# const unsigned int, ManagedThreadIndex,\ +# const unsigned int, OSThreadID,\ +# const unsigned short, ClrInstanceID\ +# ) +#TRACEPOINT_EVENT_CLASS( +# Microsoft_DotNETRuntime, +# ThreadCreated , +# ThreadCreated_TRACEPOINT_ARGS, +# TP_FIELDS( +# ctf_integer(unsigned __int64, ManagedThreadID,ManagedThreadID) +# ctf_integer(unsigned __int64, AppDomainID,AppDomainID) +# ctf_integer(unsigned int, Flags,Flags) +# ctf_integer(unsigned int, ManagedThreadIndex,ManagedThreadIndex) +# ctf_integer(unsigned int, OSThreadID,OSThreadID) +# ctf_integer(unsigned short, ClrInstanceID,ClrInstanceID) +# ) +#) +#define ThreadCreatedT_TRACEPOINT_INSTANCE(name) \ +#TRACEPOINT_EVENT_INSTANCE(\ +# Microsoft_DotNETRuntime,\ +# ThreadCreated ,\ +# name ,\ +# ThreadCreated_TRACEPOINT_ARGS\ +#) +sub GenerateLttngHeader +{ + my ($providerName,$rTemplateNodes,$allTemplatemap,$allLTTngTemplateTypes,$allTemplateVarProps,$alleventname) = @_; + my @rTemplateNodes = @$rTemplateNodes ; + my @alleventname = @$alleventname ; + my %allTemplatemap = %$allTemplatemap; + my %allLTTngTemplateTypes = %$allLTTngTemplateTypes; + my %allTemplateVarProps = %$allTemplateVarProps; + my $lTTngHdr; + + foreach my $rTemplateNode (@rTemplateNodes) + { + my $XMLtemplateName = $rTemplateNode->getAttribute('tid'); + foreach my $templateName (@{$allTemplatemap{$XMLtemplateName}}) + { + my $fnSignature = $allLTTngTemplateTypes{$templateName}; + my $tp_args; +#TP_ARGS + $tp_args=<<TP_ARGS_PROLOG; + +#define $templateName\_TRACEPOINT_ARGS \\ +TP_ARGS(\\ +TP_ARGS_PROLOG + foreach my $params (@$fnSignature) + { + + my $wintypeName = $params->{"type"} || die "no type "; + my $varname = $params->{"var"} || die "no name "; + my $winCount = $params->{"count"} || die "no count "; + my $countw = $lttngDataTypeMapping{$winCount} || die "no mapping for $winCount"; + + #TP_ARGS + my $typewName = $lttngDataTypeMapping{$wintypeName} || die "no mapping for $wintypeName"; + $tp_args = $tp_args." $typewName"."$countw"; + $tp_args =~s/ +$//; + $tp_args = $tp_args." ,$varname,\\\n"; + + } + $tp_args =~s/,\\\n+$//; + $tp_args = $tp_args."\\\n)\n"; + $lTTngHdr = $lTTngHdr.$tp_args; +# end of TP_ARGS + +#TP Fields and Event Class + +#start TP_EVENT_CLASS + my $tp_fields = <<TP_EVENT_CLASS_CONT; +TRACEPOINT_EVENT_CLASS( + $providerName, + $templateName, + $templateName\_TRACEPOINT_ARGS, + TP_FIELDS( +TP_EVENT_CLASS_CONT + + foreach my $params (@$fnSignature) + { + my $wintypeName = $params->{"type"}; + my $varname = $params->{"var"}; + my $winCount = $params->{"count"}; + my $countw = $lttngDataTypeMapping{$winCount} || die "no mapping for $winCount"; + my $typewName = $lttngDataTypeMapping{$wintypeName} || die "no mapping for $wintypeName"; + $typewName =~s/^const //; + + #TP_FIELDS + my $ctf_type; + my $tp_fields_body; + my $varProps = $allTemplateVarProps{$templateName}; + + if (exists $varProps->{$varname}) + { + #this is an explicit struct treat as a sequence + $ctf_type = "ctf_sequence"; + my $sizeofseq = "$varProps->{$varname}"; + $tp_fields_body = "$typewName, $varname, $varname,size_t,$sizeofseq"; + } + else + { + $ctf_type = $ctfDataTypeMapping{$wintypeName} || die "no mapping for $wintypeName"; + + if ($ctf_type eq "ctf_string") + { + $tp_fields_body = "$varname,$varname"; + } + elsif ($ctf_type eq "ctf_integer" || $ctf_type eq "ctf_float") + { + $tp_fields_body = "$typewName,$varname,$varname"; + } + elsif ($ctf_type eq "ctf_sequence") + { + die "ctf_sequence needs to have its memory expilicitly laid out"; + } + else + { + die "no such ctf intrinsic called $ctf_type"; + } + + } + + $tp_fields = $tp_fields." $ctf_type($tp_fields_body)\n"; + } + $tp_fields = $tp_fields." )\n)\n"; + $lTTngHdr = $lTTngHdr.$tp_fields; + + +# end of TP_EVENT_CLASS + # +# Macro for defining event instance + $lTTngHdr = $lTTngHdr."#define $templateName"; + $lTTngHdr = $lTTngHdr.<<TP_EVENT_CLASS_EPILOG; +T_TRACEPOINT_INSTANCE(name) \\ +TRACEPOINT_EVENT_INSTANCE(\\ + $providerName,\\ + $templateName ,\\ + name ,\\ + $templateName\_TRACEPOINT_ARGS \\ +) +TP_EVENT_CLASS_EPILOG + +#end Macro for defining event instance + } + } +#add an empty template node to just specify the event name in the event stream + $lTTngHdr = $lTTngHdr.<<TP_EVENT_CLASS_EMPTY; +TRACEPOINT_EVENT_CLASS( + $providerName, + emptyTemplate , + TP_ARGS(), + TP_FIELDS() +) +#define T_TRACEPOINT_INSTANCE(name) \\ +TRACEPOINT_EVENT_INSTANCE(\\ + $providerName,\\ + emptyTemplate,\\ + name ,\\ + TP_ARGS()\\ +) +TP_EVENT_CLASS_EMPTY +#end of empty template + # create the event instance in headers + foreach my $reventNode (@alleventname) + { + my $eventName = $reventNode->getAttribute('symbol'); + my $templateName = $reventNode->getAttribute('template'); + + if ($eventName eq '') { die " $reventNode event does not have a symbol"} + if ($templateName eq '') + { + $lTTngHdr = $lTTngHdr."T_TRACEPOINT_INSTANCE($eventName)\n"; + next; + } + + foreach my $subtemplates (@{$allTemplatemap{$templateName}}) + { + my $subevent = $subtemplates; + $subevent =~s/$templateName//; + $lTTngHdr = $lTTngHdr."$subtemplates"."T_TRACEPOINT_INSTANCE($eventName$subevent)\n"; + } + + } + + $lTTngHdr = $lTTngHdr.<<EOT_Epilog; +#endif /* LTTNG_CORECLR_H$providerName */ +#include <lttng/tracepoint-event.h> +EOT_Epilog + + return $lTTngHdr; +} + +sub GenerateLttngTpProvider +{ + my ($providerName,$rTemplateNodes,$allTemplatemap,$allLTTngTemplateTypes,$allTemplateVarProps,$alleventname) = @_; + my @rTemplateNodes = @$rTemplateNodes ; + my @alleventname = @$alleventname ; + my %allTemplatemap = %$allTemplatemap; + my %allLTTngTemplateTypes = %$allLTTngTemplateTypes; + my %allTemplateVarProps = %$allTemplateVarProps; + my $lTTngImpl; + + foreach my $reventNode (@alleventname) + { + my @vars_to_be_freed; #vars representing the allocation we make + my $eventName = $reventNode->getAttribute('symbol'); + my $templateName = $reventNode->getAttribute('template'); + + #generate EventEnabled + $lTTngImpl = $lTTngImpl."extern \"C\" BOOL EventEnabled$eventName(){ return TRUE;}\n"; + #generate FireEtw functions + my $fnptype = "extern \"C\" ULONG FireEtw$eventName(\n"; + my $linefnptype = ""; + + if ( $templateName ne "") + { + foreach my $subtemplates (@{$allTemplatemap{$templateName}}) + { + my $fnSignature = $allLTTngTemplateTypes{$subtemplates} ; + + + foreach my $params (@$fnSignature) + { + my $wintypeName = $params->{"type"}; + my $typewName = $palDataTypeMapping{$wintypeName} || die "no mapping for $wintypeName"; + my $winCount = $params->{"count"}; + my $countw = $palDataTypeMapping{$winCount} || die "no mapping for $winCount"; + $linefnptype = $linefnptype.$lindent.$typewName.$countw; + $linefnptype =~s/ +$//; + $linefnptype = $linefnptype." "; + $linefnptype = $linefnptype.$params->{"var"}; + $linefnptype = $linefnptype.",\n"; + } + + } + $linefnptype =~ s/,+$//; + } + $fnptype = $fnptype.$linefnptype.")\n"; + $fnptype = $fnptype."{\n ULONG Error = ERROR_WRITE_FAULT;\n"; + $lTTngImpl = $lTTngImpl.$fnptype; +#start of fn body + $lTTngImpl = $lTTngImpl.<<FN_PROLOG; + if (!EventEnabled$eventName()){ return ERROR_SUCCESS;}; +FN_PROLOG + my $linefnbody = ""; + if ($templateName ne '') + { +#emit code to init variables convert unicode to ansi string + foreach my $subtemplates (@{$allTemplatemap{$templateName}}) + { + my $fnSignature = $allLTTngTemplateTypes{$subtemplates}; + foreach my $params (@$fnSignature) + { + my $wintypeName = $params->{"type"}; + if($wintypeName eq "win:UnicodeString") + { + + my $paramname = $params->{"var"}; + $lTTngImpl = $lTTngImpl.<<UTFCODE_INIT; + INT $paramname\_path_size = -1; + INT $paramname\_full_name_path_size = PAL_wcslen($paramname) + 1; + CHAR* $paramname\_full_name=NULL; +UTFCODE_INIT + } + } + } + + $lTTngImpl = $lTTngImpl."\n"; + + foreach my $subtemplates (@{$allTemplatemap{$templateName}}) + { + my $fnSignature = $allLTTngTemplateTypes{$subtemplates}; + my $subevent = ""; + + if ($linefnbody ne "") + { + $linefnbody =~ s/,+$//; + $linefnbody = $linefnbody." );\n"; + } + +#start emitting Tracepoint + $subevent = $subtemplates; + $subevent =~s/$templateName//; + $linefnbody = <<FN_body_cont; + $linefnbody + tracepoint( + $providerName, + $eventName$subevent, +FN_body_cont + foreach my $params (@$fnSignature) + { + $linefnbody = $linefnbody." "; + my $wintypeName = $params->{"type"}; + my $winCount = $params->{"count"}; + my $paramname = $params->{"var"}; + my $ctf_type = $ctfDataTypeMapping{$winCount} || $ctfDataTypeMapping{$wintypeName} || die "no such ctf mapping for $eventName: $wintypeName $paramname "; ; + if ($ctf_type eq "ctf_string") + { + if($wintypeName eq "win:UnicodeString") + { +#emit code to convert unicode to ansi string + $lTTngImpl = $lTTngImpl.<<UTFCODE; + $paramname\_full_name = (CHAR*)malloc($paramname\_full_name_path_size*sizeof(CHAR)); + _ASSERTE($paramname\_full_name != NULL); + if($paramname\_full_name == NULL){goto LExit;} + + $paramname\_path_size = WideCharToMultiByte( CP_ACP, 0, $paramname, -1, $paramname\_full_name, $paramname\_full_name_path_size, NULL, NULL ); + _ASSERTE($paramname\_path_size == $paramname\_full_name_path_size ); + if( $paramname\_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} +UTFCODE + push @vars_to_be_freed, "$paramname\_full_name"; + + $linefnbody = $linefnbody."$paramname\_full_name"; + $linefnbody = $linefnbody.",\n"; + next; + } + } + elsif (($ctf_type eq "ctf_sequence") or ($wintypeName eq "win:Pointer")) + { + + $linefnbody = $linefnbody."($lttngDataTypeMapping{$wintypeName}$lttngDataTypeMapping{$winCount}"; + $linefnbody =~ s/ +$//; + $linefnbody = $linefnbody.") "; + } + $linefnbody = $linefnbody.$paramname; + $linefnbody = $linefnbody.",\n"; + } + } + $linefnbody =~ s/,+$//; + $linefnbody = $linefnbody." );\n"; + } + else + { + $linefnbody = <<FN_body_cont; + $linefnbody + tracepoint( + $providerName, + $eventName + ); +FN_body_cont + + } + + $lTTngImpl = $lTTngImpl.<<FnBodyComp; + $linefnbody + Error = ERROR_SUCCESS; +FnBodyComp +#end of fn + if (@vars_to_be_freed) + { + $lTTngImpl = $lTTngImpl."LExit:\n"; + } + + while( my $var = pop @vars_to_be_freed) + { + $lTTngImpl = $lTTngImpl. " if ($var != NULL) {free($var);}\n"; + } + $lTTngImpl = $lTTngImpl. "\nreturn Error;\n}\n"; + } + + return $lTTngImpl; +} +sub GenerateLttngFiles +{ + my $sClrEtwAllMan = "$FindBin::Bin/../vm/ClrEtwAll.man"; + my $rParser = new XML::DOM::Parser; + my $rClrEtwAllMan = $rParser->parsefile($sClrEtwAllMan); + + GeneratePlformIndFiles($sClrEtwAllMan); + + foreach my $rProviderNode ($rClrEtwAllMan->getElementsByTagName('provider')) + { + + my $providerName = $rProviderNode->getAttribute('name'); + $providerName =~s/Windows-//i; + $providerName =~s/Microsoft-//i; + my $providerName_File = $providerName; + $providerName_File =~s/-//g; + $providerName_File = "\L$providerName\E"; + $providerName =~s/-/_/g; + + my $lttngevntheadershortname = "lttng/tp$providerName_File.h"; + my $lttngevntheader = "$FindBin::Bin/../pal/src/eventprovider/$lttngevntheadershortname"; + my $lttngevntprov = "$FindBin::Bin/../pal/src/eventprovider/lttng/eventprov$providerName_File.cpp"; + my $lttngevntprovTp = "$FindBin::Bin/../pal/src/eventprovider/lttng/traceptprov$providerName_File.cpp"; + + open(lTTngImpl, ">$lttngevntprov") || die "Cannot open $lttngevntprov\n"; + open(lTTngTpImpl, ">$lttngevntprovTp") || die "Cannot open $lttngevntprovTp\n"; + open(lTTngHdr, ">$lttngevntheader") || die "Cannot open $lttngevntheader\n"; + + + print lTTngHdr $stdprolog; + print lTTngImpl $stdprolog; + print lTTngTpImpl $stdprolog; + + print lTTngTpImpl <<LTTNg_TPIMp; + +#define TRACEPOINT_CREATE_PROBES +#include "./$lttngevntheadershortname" +LTTNg_TPIMp + + print lTTngHdr <<LTTNgHDR_Prolog; + +#include "palrt.h" +#include "pal.h" + +#undef TRACEPOINT_PROVIDER +#define TRACEPOINT_PROVIDER $providerName + +#undef TRACEPOINT_INCLUDE +#define TRACEPOINT_INCLUDE "./$lttngevntheadershortname" + +#if !defined(LTTNG_CORECLR_H$providerName) || defined(TRACEPOINT_HEADER_MULTI_READ) +#define LTTNG_CORECLR_H$providerName + +#include <lttng/tracepoint.h> + +LTTNgHDR_Prolog + + print lTTngImpl <<EventProvider_Prolog; + +#define TRACEPOINT_DEFINE +#define TRACEPOINT_PROBE_DYNAMIC_LINKAGE +#include "$lttngevntheadershortname" +EventProvider_Prolog + + my @rTemplateNodes = $rProviderNode->getElementsByTagName('template'); + my @alleventname = $rProviderNode->getElementsByTagName('event'); +#Parse the XML file to construct datatypes used in code generation below + + my ($allTemplatemap,$allLTTngTemplateTypes,$allTemplateVarProps) = ParseTemplates(@rTemplateNodes); + + my %allTemplatemap = %$allTemplatemap; + my %allLTTngTemplateTypes = %$allLTTngTemplateTypes; + my %allTemplateVarProps = %$allTemplateVarProps; + +#generate the header + print lTTngHdr GenerateLttngHeader($providerName,\@rTemplateNodes,\%allTemplatemap,\%allLTTngTemplateTypes,\%allTemplateVarProps,\@alleventname); + +#create the implementation of eventing functions : lttngeventprov*.cpp + print lTTngImpl GenerateLttngTpProvider($providerName,\@rTemplateNodes,\%allTemplatemap,\%allLTTngTemplateTypes,\%allTemplateVarProps,\@alleventname); + + close(lTTngImpl); + close(lTTngTpImpl); + close(lTTngHdr); + + } + +} + +GenerateLttngFiles(); diff --git a/src/pal/inc/pal_mstypes.h b/src/pal/inc/pal_mstypes.h index 3c6d7f2904..aca1c60814 100644 --- a/src/pal/inc/pal_mstypes.h +++ b/src/pal/inc/pal_mstypes.h @@ -703,6 +703,7 @@ typedef struct _GUID { USHORT Data3; UCHAR Data4[ 8 ]; } GUID; +typedef const GUID *LPCGUID; #define GUID_DEFINED #endif // !GUID_DEFINED diff --git a/src/pal/prebuilt/inc/clrallevents.h b/src/pal/prebuilt/inc/clrallevents.h new file mode 100644 index 0000000000..ab48f43f3f --- /dev/null +++ b/src/pal/prebuilt/inc/clrallevents.h @@ -0,0 +1,2628 @@ +// +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. +// + +/****************************************************************** + +DO NOT MODIFY. AUTOGENERATED FILE. +This file is generated using the logic from <root>/src/inc/genXplatEtw.pl + +******************************************************************/ + +extern "C" BOOL EventEnabledGCStart(); +extern "C" ULONG FireEtwGCStart( + const unsigned int Count, + const unsigned int Reason +); +extern "C" BOOL EventEnabledGCStart_V1(); +extern "C" ULONG FireEtwGCStart_V1( + const unsigned int Count, + const unsigned int Depth, + const unsigned int Reason, + const unsigned int Type, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCStart_V2(); +extern "C" ULONG FireEtwGCStart_V2( + const unsigned int Count, + const unsigned int Depth, + const unsigned int Reason, + const unsigned int Type, + const unsigned short ClrInstanceID, + const unsigned __int64 ClientSequenceNumber +); +extern "C" BOOL EventEnabledGCEnd(); +extern "C" ULONG FireEtwGCEnd( + const unsigned int Count, + const unsigned short Depth +); +extern "C" BOOL EventEnabledGCEnd_V1(); +extern "C" ULONG FireEtwGCEnd_V1( + const unsigned int Count, + const unsigned int Depth, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCRestartEEEnd(); +extern "C" ULONG FireEtwGCRestartEEEnd( +); +extern "C" BOOL EventEnabledGCRestartEEEnd_V1(); +extern "C" ULONG FireEtwGCRestartEEEnd_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCHeapStats(); +extern "C" ULONG FireEtwGCHeapStats( + const unsigned __int64 GenerationSize0, + const unsigned __int64 TotalPromotedSize0, + const unsigned __int64 GenerationSize1, + const unsigned __int64 TotalPromotedSize1, + const unsigned __int64 GenerationSize2, + const unsigned __int64 TotalPromotedSize2, + const unsigned __int64 GenerationSize3, + const unsigned __int64 TotalPromotedSize3, + const unsigned __int64 FinalizationPromotedSize, + const unsigned __int64 FinalizationPromotedCount, + const unsigned int PinnedObjectCount, + const unsigned int SinkBlockCount, + const unsigned int GCHandleCount +); +extern "C" BOOL EventEnabledGCHeapStats_V1(); +extern "C" ULONG FireEtwGCHeapStats_V1( + const unsigned __int64 GenerationSize0, + const unsigned __int64 TotalPromotedSize0, + const unsigned __int64 GenerationSize1, + const unsigned __int64 TotalPromotedSize1, + const unsigned __int64 GenerationSize2, + const unsigned __int64 TotalPromotedSize2, + const unsigned __int64 GenerationSize3, + const unsigned __int64 TotalPromotedSize3, + const unsigned __int64 FinalizationPromotedSize, + const unsigned __int64 FinalizationPromotedCount, + const unsigned int PinnedObjectCount, + const unsigned int SinkBlockCount, + const unsigned int GCHandleCount, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCCreateSegment(); +extern "C" ULONG FireEtwGCCreateSegment( + const unsigned __int64 Address, + const unsigned __int64 Size, + const unsigned int Type +); +extern "C" BOOL EventEnabledGCCreateSegment_V1(); +extern "C" ULONG FireEtwGCCreateSegment_V1( + const unsigned __int64 Address, + const unsigned __int64 Size, + const unsigned int Type, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCFreeSegment(); +extern "C" ULONG FireEtwGCFreeSegment( + const unsigned __int64 Address +); +extern "C" BOOL EventEnabledGCFreeSegment_V1(); +extern "C" ULONG FireEtwGCFreeSegment_V1( + const unsigned __int64 Address, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCRestartEEBegin(); +extern "C" ULONG FireEtwGCRestartEEBegin( +); +extern "C" BOOL EventEnabledGCRestartEEBegin_V1(); +extern "C" ULONG FireEtwGCRestartEEBegin_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCSuspendEEEnd(); +extern "C" ULONG FireEtwGCSuspendEEEnd( +); +extern "C" BOOL EventEnabledGCSuspendEEEnd_V1(); +extern "C" ULONG FireEtwGCSuspendEEEnd_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCSuspendEEBegin(); +extern "C" ULONG FireEtwGCSuspendEEBegin( + const unsigned short Reason +); +extern "C" BOOL EventEnabledGCSuspendEEBegin_V1(); +extern "C" ULONG FireEtwGCSuspendEEBegin_V1( + const unsigned int Reason, + const unsigned int Count, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCAllocationTick(); +extern "C" ULONG FireEtwGCAllocationTick( + const unsigned int AllocationAmount, + const unsigned int AllocationKind +); +extern "C" BOOL EventEnabledGCAllocationTick_V1(); +extern "C" ULONG FireEtwGCAllocationTick_V1( + const unsigned int AllocationAmount, + const unsigned int AllocationKind, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCAllocationTick_V2(); +extern "C" ULONG FireEtwGCAllocationTick_V2( + const unsigned int AllocationAmount, + const unsigned int AllocationKind, + const unsigned short ClrInstanceID, + const unsigned __int64 AllocationAmount64, + const void* TypeID, + PCWSTR TypeName, + const unsigned int HeapIndex +); +extern "C" BOOL EventEnabledGCAllocationTick_V3(); +extern "C" ULONG FireEtwGCAllocationTick_V3( + const unsigned int AllocationAmount, + const unsigned int AllocationKind, + const unsigned short ClrInstanceID, + const unsigned __int64 AllocationAmount64, + const void* TypeID, + PCWSTR TypeName, + const unsigned int HeapIndex, + const void* Address +); +extern "C" BOOL EventEnabledGCCreateConcurrentThread(); +extern "C" ULONG FireEtwGCCreateConcurrentThread( +); +extern "C" BOOL EventEnabledGCCreateConcurrentThread_V1(); +extern "C" ULONG FireEtwGCCreateConcurrentThread_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCTerminateConcurrentThread(); +extern "C" ULONG FireEtwGCTerminateConcurrentThread( +); +extern "C" BOOL EventEnabledGCTerminateConcurrentThread_V1(); +extern "C" ULONG FireEtwGCTerminateConcurrentThread_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCFinalizersEnd(); +extern "C" ULONG FireEtwGCFinalizersEnd( + const unsigned int Count +); +extern "C" BOOL EventEnabledGCFinalizersEnd_V1(); +extern "C" ULONG FireEtwGCFinalizersEnd_V1( + const unsigned int Count, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCFinalizersBegin(); +extern "C" ULONG FireEtwGCFinalizersBegin( +); +extern "C" BOOL EventEnabledGCFinalizersBegin_V1(); +extern "C" ULONG FireEtwGCFinalizersBegin_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledBulkType(); +extern "C" ULONG FireEtwBulkType( + const unsigned int Count, + const unsigned short ClrInstanceID, + const ULONG Arg2_Struct_Len_, + const void* Arg2_Struct_Pointer_ +); +extern "C" BOOL EventEnabledGCBulkRootEdge(); +extern "C" ULONG FireEtwGCBulkRootEdge( + const unsigned int Index, + const unsigned int Count, + const unsigned short ClrInstanceID, + const ULONG Arg3_Struct_Len_, + const void* Arg3_Struct_Pointer_ +); +extern "C" BOOL EventEnabledGCBulkRootConditionalWeakTableElementEdge(); +extern "C" ULONG FireEtwGCBulkRootConditionalWeakTableElementEdge( + const unsigned int Index, + const unsigned int Count, + const unsigned short ClrInstanceID, + const ULONG Arg3_Struct_Len_, + const void* Arg3_Struct_Pointer_ +); +extern "C" BOOL EventEnabledGCBulkNode(); +extern "C" ULONG FireEtwGCBulkNode( + const unsigned int Index, + const unsigned int Count, + const unsigned short ClrInstanceID, + const ULONG Arg3_Struct_Len_, + const void* Arg3_Struct_Pointer_ +); +extern "C" BOOL EventEnabledGCBulkEdge(); +extern "C" ULONG FireEtwGCBulkEdge( + const unsigned int Index, + const unsigned int Count, + const unsigned short ClrInstanceID, + const ULONG Arg3_Struct_Len_, + const void* Arg3_Struct_Pointer_ +); +extern "C" BOOL EventEnabledGCSampledObjectAllocationHigh(); +extern "C" ULONG FireEtwGCSampledObjectAllocationHigh( + const void* Address, + const void* TypeID, + const unsigned int ObjectCountForTypeSample, + const unsigned __int64 TotalSizeForTypeSample, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCBulkSurvivingObjectRanges(); +extern "C" ULONG FireEtwGCBulkSurvivingObjectRanges( + const unsigned int Index, + const unsigned int Count, + const unsigned short ClrInstanceID, + const ULONG Arg3_Struct_Len_, + const void* Arg3_Struct_Pointer_ +); +extern "C" BOOL EventEnabledGCBulkMovedObjectRanges(); +extern "C" ULONG FireEtwGCBulkMovedObjectRanges( + const unsigned int Index, + const unsigned int Count, + const unsigned short ClrInstanceID, + const ULONG Arg3_Struct_Len_, + const void* Arg3_Struct_Pointer_ +); +extern "C" BOOL EventEnabledGCGenerationRange(); +extern "C" ULONG FireEtwGCGenerationRange( + const unsigned char Generation, + const void* RangeStart, + const unsigned __int64 RangeUsedLength, + const unsigned __int64 RangeReservedLength, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCMarkStackRoots(); +extern "C" ULONG FireEtwGCMarkStackRoots( + const unsigned int HeapNum, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCMarkFinalizeQueueRoots(); +extern "C" ULONG FireEtwGCMarkFinalizeQueueRoots( + const unsigned int HeapNum, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCMarkHandles(); +extern "C" ULONG FireEtwGCMarkHandles( + const unsigned int HeapNum, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCMarkOlderGenerationRoots(); +extern "C" ULONG FireEtwGCMarkOlderGenerationRoots( + const unsigned int HeapNum, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledFinalizeObject(); +extern "C" ULONG FireEtwFinalizeObject( + const void* TypeID, + const void* ObjectID, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledSetGCHandle(); +extern "C" ULONG FireEtwSetGCHandle( + const void* HandleID, + const void* ObjectID, + const unsigned int Kind, + const unsigned int Generation, + const unsigned __int64 AppDomainID, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledDestroyGCHandle(); +extern "C" ULONG FireEtwDestroyGCHandle( + const void* HandleID, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCSampledObjectAllocationLow(); +extern "C" ULONG FireEtwGCSampledObjectAllocationLow( + const void* Address, + const void* TypeID, + const unsigned int ObjectCountForTypeSample, + const unsigned __int64 TotalSizeForTypeSample, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledPinObjectAtGCTime(); +extern "C" ULONG FireEtwPinObjectAtGCTime( + const void* HandleID, + const void* ObjectID, + const unsigned __int64 ObjectSize, + PCWSTR TypeName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCTriggered(); +extern "C" ULONG FireEtwGCTriggered( + const unsigned int Reason, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCBulkRootCCW(); +extern "C" ULONG FireEtwGCBulkRootCCW( + const unsigned int Count, + const unsigned short ClrInstanceID, + const ULONG Arg2_Struct_Len_, + const void* Arg2_Struct_Pointer_ +); +extern "C" BOOL EventEnabledGCBulkRCW(); +extern "C" ULONG FireEtwGCBulkRCW( + const unsigned int Count, + const unsigned short ClrInstanceID, + const ULONG Arg2_Struct_Len_, + const void* Arg2_Struct_Pointer_ +); +extern "C" BOOL EventEnabledGCBulkRootStaticVar(); +extern "C" ULONG FireEtwGCBulkRootStaticVar( + const unsigned int Count, + const unsigned __int64 AppDomainID, + const unsigned short ClrInstanceID, + const ULONG Arg3_Struct_Len_, + const void* Arg3_Struct_Pointer_ +); +extern "C" BOOL EventEnabledWorkerThreadCreate(); +extern "C" ULONG FireEtwWorkerThreadCreate( + const unsigned int WorkerThreadCount, + const unsigned int RetiredWorkerThreads +); +extern "C" BOOL EventEnabledWorkerThreadTerminate(); +extern "C" ULONG FireEtwWorkerThreadTerminate( + const unsigned int WorkerThreadCount, + const unsigned int RetiredWorkerThreads +); +extern "C" BOOL EventEnabledWorkerThreadRetire(); +extern "C" ULONG FireEtwWorkerThreadRetire( + const unsigned int WorkerThreadCount, + const unsigned int RetiredWorkerThreads +); +extern "C" BOOL EventEnabledWorkerThreadUnretire(); +extern "C" ULONG FireEtwWorkerThreadUnretire( + const unsigned int WorkerThreadCount, + const unsigned int RetiredWorkerThreads +); +extern "C" BOOL EventEnabledIOThreadCreate(); +extern "C" ULONG FireEtwIOThreadCreate( + const unsigned int IOThreadCount, + const unsigned int RetiredIOThreads +); +extern "C" BOOL EventEnabledIOThreadCreate_V1(); +extern "C" ULONG FireEtwIOThreadCreate_V1( + const unsigned int IOThreadCount, + const unsigned int RetiredIOThreads, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledIOThreadTerminate(); +extern "C" ULONG FireEtwIOThreadTerminate( + const unsigned int IOThreadCount, + const unsigned int RetiredIOThreads +); +extern "C" BOOL EventEnabledIOThreadTerminate_V1(); +extern "C" ULONG FireEtwIOThreadTerminate_V1( + const unsigned int IOThreadCount, + const unsigned int RetiredIOThreads, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledIOThreadRetire(); +extern "C" ULONG FireEtwIOThreadRetire( + const unsigned int IOThreadCount, + const unsigned int RetiredIOThreads +); +extern "C" BOOL EventEnabledIOThreadRetire_V1(); +extern "C" ULONG FireEtwIOThreadRetire_V1( + const unsigned int IOThreadCount, + const unsigned int RetiredIOThreads, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledIOThreadUnretire(); +extern "C" ULONG FireEtwIOThreadUnretire( + const unsigned int IOThreadCount, + const unsigned int RetiredIOThreads +); +extern "C" BOOL EventEnabledIOThreadUnretire_V1(); +extern "C" ULONG FireEtwIOThreadUnretire_V1( + const unsigned int IOThreadCount, + const unsigned int RetiredIOThreads, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledThreadpoolSuspensionSuspendThread(); +extern "C" ULONG FireEtwThreadpoolSuspensionSuspendThread( + const unsigned int ClrThreadID, + const unsigned int CpuUtilization +); +extern "C" BOOL EventEnabledThreadpoolSuspensionResumeThread(); +extern "C" ULONG FireEtwThreadpoolSuspensionResumeThread( + const unsigned int ClrThreadID, + const unsigned int CpuUtilization +); +extern "C" BOOL EventEnabledThreadPoolWorkerThreadStart(); +extern "C" ULONG FireEtwThreadPoolWorkerThreadStart( + const unsigned int ActiveWorkerThreadCount, + const unsigned int RetiredWorkerThreadCount, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledThreadPoolWorkerThreadStop(); +extern "C" ULONG FireEtwThreadPoolWorkerThreadStop( + const unsigned int ActiveWorkerThreadCount, + const unsigned int RetiredWorkerThreadCount, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledThreadPoolWorkerThreadRetirementStart(); +extern "C" ULONG FireEtwThreadPoolWorkerThreadRetirementStart( + const unsigned int ActiveWorkerThreadCount, + const unsigned int RetiredWorkerThreadCount, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledThreadPoolWorkerThreadRetirementStop(); +extern "C" ULONG FireEtwThreadPoolWorkerThreadRetirementStop( + const unsigned int ActiveWorkerThreadCount, + const unsigned int RetiredWorkerThreadCount, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledThreadPoolWorkerThreadAdjustmentSample(); +extern "C" ULONG FireEtwThreadPoolWorkerThreadAdjustmentSample( + const double Throughput, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledThreadPoolWorkerThreadAdjustmentAdjustment(); +extern "C" ULONG FireEtwThreadPoolWorkerThreadAdjustmentAdjustment( + const double AverageThroughput, + const unsigned int NewWorkerThreadCount, + const unsigned int Reason, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledThreadPoolWorkerThreadAdjustmentStats(); +extern "C" ULONG FireEtwThreadPoolWorkerThreadAdjustmentStats( + const double Duration, + const double Throughput, + const double ThreadWave, + const double ThroughputWave, + const double ThroughputErrorEstimate, + const double AverageThroughputErrorEstimate, + const double ThroughputRatio, + const double Confidence, + const double NewControlSetting, + const unsigned short NewThreadWaveMagnitude, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledThreadPoolWorkerThreadWait(); +extern "C" ULONG FireEtwThreadPoolWorkerThreadWait( + const unsigned int ActiveWorkerThreadCount, + const unsigned int RetiredWorkerThreadCount, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledThreadPoolWorkingThreadCount(); +extern "C" ULONG FireEtwThreadPoolWorkingThreadCount( + const unsigned int Count, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledThreadPoolEnqueue(); +extern "C" ULONG FireEtwThreadPoolEnqueue( + const void* WorkID, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledThreadPoolDequeue(); +extern "C" ULONG FireEtwThreadPoolDequeue( + const void* WorkID, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledThreadPoolIOEnqueue(); +extern "C" ULONG FireEtwThreadPoolIOEnqueue( + const void* NativeOverlapped, + const void* Overlapped, + const BOOL MultiDequeues, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledThreadPoolIODequeue(); +extern "C" ULONG FireEtwThreadPoolIODequeue( + const void* NativeOverlapped, + const void* Overlapped, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledThreadPoolIOPack(); +extern "C" ULONG FireEtwThreadPoolIOPack( + const void* NativeOverlapped, + const void* Overlapped, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledThreadCreating(); +extern "C" ULONG FireEtwThreadCreating( + const void* ID, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledThreadRunning(); +extern "C" ULONG FireEtwThreadRunning( + const void* ID, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledExceptionThrown(); +extern "C" ULONG FireEtwExceptionThrown( +); +extern "C" BOOL EventEnabledExceptionThrown_V1(); +extern "C" ULONG FireEtwExceptionThrown_V1( + PCWSTR ExceptionType, + PCWSTR ExceptionMessage, + const void* ExceptionEIP, + const unsigned int ExceptionHRESULT, + const unsigned short ExceptionFlags, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledExceptionCatchStart(); +extern "C" ULONG FireEtwExceptionCatchStart( + const unsigned __int64 EntryEIP, + const unsigned __int64 MethodID, + PCWSTR MethodName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledExceptionCatchStop(); +extern "C" ULONG FireEtwExceptionCatchStop( +); +extern "C" BOOL EventEnabledExceptionFinallyStart(); +extern "C" ULONG FireEtwExceptionFinallyStart( + const unsigned __int64 EntryEIP, + const unsigned __int64 MethodID, + PCWSTR MethodName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledExceptionFinallyStop(); +extern "C" ULONG FireEtwExceptionFinallyStop( +); +extern "C" BOOL EventEnabledExceptionFilterStart(); +extern "C" ULONG FireEtwExceptionFilterStart( + const unsigned __int64 EntryEIP, + const unsigned __int64 MethodID, + PCWSTR MethodName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledExceptionFilterStop(); +extern "C" ULONG FireEtwExceptionFilterStop( +); +extern "C" BOOL EventEnabledExceptionThrownStop(); +extern "C" ULONG FireEtwExceptionThrownStop( +); +extern "C" BOOL EventEnabledContention(); +extern "C" ULONG FireEtwContention( +); +extern "C" BOOL EventEnabledContentionStart_V1(); +extern "C" ULONG FireEtwContentionStart_V1( + const unsigned char ContentionFlags, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledContentionStop(); +extern "C" ULONG FireEtwContentionStop( + const unsigned char ContentionFlags, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledCLRStackWalk(); +extern "C" ULONG FireEtwCLRStackWalk( + const unsigned short ClrInstanceID, + const unsigned char Reserved1, + const unsigned char Reserved2, + const unsigned int FrameCount, + const void** Stack +); +extern "C" BOOL EventEnabledAppDomainMemAllocated(); +extern "C" ULONG FireEtwAppDomainMemAllocated( + const unsigned __int64 AppDomainID, + const unsigned __int64 Allocated, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledAppDomainMemSurvived(); +extern "C" ULONG FireEtwAppDomainMemSurvived( + const unsigned __int64 AppDomainID, + const unsigned __int64 Survived, + const unsigned __int64 ProcessSurvived, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledThreadCreated(); +extern "C" ULONG FireEtwThreadCreated( + const unsigned __int64 ManagedThreadID, + const unsigned __int64 AppDomainID, + const unsigned int Flags, + const unsigned int ManagedThreadIndex, + const unsigned int OSThreadID, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledThreadTerminated(); +extern "C" ULONG FireEtwThreadTerminated( + const unsigned __int64 ManagedThreadID, + const unsigned __int64 AppDomainID, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledThreadDomainEnter(); +extern "C" ULONG FireEtwThreadDomainEnter( + const unsigned __int64 ManagedThreadID, + const unsigned __int64 AppDomainID, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledILStubGenerated(); +extern "C" ULONG FireEtwILStubGenerated( + const unsigned short ClrInstanceID, + const unsigned __int64 ModuleID, + const unsigned __int64 StubMethodID, + const unsigned int StubFlags, + const unsigned int ManagedInteropMethodToken, + PCWSTR ManagedInteropMethodNamespace, + PCWSTR ManagedInteropMethodName, + PCWSTR ManagedInteropMethodSignature, + PCWSTR NativeMethodSignature, + PCWSTR StubMethodSignature, + PCWSTR StubMethodILCode +); +extern "C" BOOL EventEnabledILStubCacheHit(); +extern "C" ULONG FireEtwILStubCacheHit( + const unsigned short ClrInstanceID, + const unsigned __int64 ModuleID, + const unsigned __int64 StubMethodID, + const unsigned int ManagedInteropMethodToken, + PCWSTR ManagedInteropMethodNamespace, + PCWSTR ManagedInteropMethodName, + PCWSTR ManagedInteropMethodSignature +); +extern "C" BOOL EventEnabledDCStartCompleteV2(); +extern "C" ULONG FireEtwDCStartCompleteV2( +); +extern "C" BOOL EventEnabledDCEndCompleteV2(); +extern "C" ULONG FireEtwDCEndCompleteV2( +); +extern "C" BOOL EventEnabledMethodDCStartV2(); +extern "C" ULONG FireEtwMethodDCStartV2( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags +); +extern "C" BOOL EventEnabledMethodDCEndV2(); +extern "C" ULONG FireEtwMethodDCEndV2( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags +); +extern "C" BOOL EventEnabledMethodDCStartVerboseV2(); +extern "C" ULONG FireEtwMethodDCStartVerboseV2( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature +); +extern "C" BOOL EventEnabledMethodDCEndVerboseV2(); +extern "C" ULONG FireEtwMethodDCEndVerboseV2( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature +); +extern "C" BOOL EventEnabledMethodLoad(); +extern "C" ULONG FireEtwMethodLoad( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags +); +extern "C" BOOL EventEnabledMethodLoad_V1(); +extern "C" ULONG FireEtwMethodLoad_V1( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledMethodLoad_V2(); +extern "C" ULONG FireEtwMethodLoad_V2( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + const unsigned short ClrInstanceID, + const unsigned __int64 ReJITID +); +extern "C" BOOL EventEnabledMethodUnload(); +extern "C" ULONG FireEtwMethodUnload( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags +); +extern "C" BOOL EventEnabledMethodUnload_V1(); +extern "C" ULONG FireEtwMethodUnload_V1( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledMethodUnload_V2(); +extern "C" ULONG FireEtwMethodUnload_V2( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + const unsigned short ClrInstanceID, + const unsigned __int64 ReJITID +); +extern "C" BOOL EventEnabledMethodLoadVerbose(); +extern "C" ULONG FireEtwMethodLoadVerbose( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature +); +extern "C" BOOL EventEnabledMethodLoadVerbose_V1(); +extern "C" ULONG FireEtwMethodLoadVerbose_V1( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledMethodLoadVerbose_V2(); +extern "C" ULONG FireEtwMethodLoadVerbose_V2( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature, + const unsigned short ClrInstanceID, + const unsigned __int64 ReJITID +); +extern "C" BOOL EventEnabledMethodUnloadVerbose(); +extern "C" ULONG FireEtwMethodUnloadVerbose( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature +); +extern "C" BOOL EventEnabledMethodUnloadVerbose_V1(); +extern "C" ULONG FireEtwMethodUnloadVerbose_V1( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledMethodUnloadVerbose_V2(); +extern "C" ULONG FireEtwMethodUnloadVerbose_V2( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature, + const unsigned short ClrInstanceID, + const unsigned __int64 ReJITID +); +extern "C" BOOL EventEnabledMethodJittingStarted(); +extern "C" ULONG FireEtwMethodJittingStarted( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned int MethodToken, + const unsigned int MethodILSize, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature +); +extern "C" BOOL EventEnabledMethodJittingStarted_V1(); +extern "C" ULONG FireEtwMethodJittingStarted_V1( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned int MethodToken, + const unsigned int MethodILSize, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledMethodJitInliningSucceeded(); +extern "C" ULONG FireEtwMethodJitInliningSucceeded( + PCWSTR MethodBeingCompiledNamespace, + PCWSTR MethodBeingCompiledName, + PCWSTR MethodBeingCompiledNameSignature, + PCWSTR InlinerNamespace, + PCWSTR InlinerName, + PCWSTR InlinerNameSignature, + PCWSTR InlineeNamespace, + PCWSTR InlineeName, + PCWSTR InlineeNameSignature, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledMethodJitInliningFailed(); +extern "C" ULONG FireEtwMethodJitInliningFailed( + PCWSTR MethodBeingCompiledNamespace, + PCWSTR MethodBeingCompiledName, + PCWSTR MethodBeingCompiledNameSignature, + PCWSTR InlinerNamespace, + PCWSTR InlinerName, + PCWSTR InlinerNameSignature, + PCWSTR InlineeNamespace, + PCWSTR InlineeName, + PCWSTR InlineeNameSignature, + const BOOL FailAlways, + LPCSTR FailReason, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledMethodJitTailCallSucceeded(); +extern "C" ULONG FireEtwMethodJitTailCallSucceeded( + PCWSTR MethodBeingCompiledNamespace, + PCWSTR MethodBeingCompiledName, + PCWSTR MethodBeingCompiledNameSignature, + PCWSTR CallerNamespace, + PCWSTR CallerName, + PCWSTR CallerNameSignature, + PCWSTR CalleeNamespace, + PCWSTR CalleeName, + PCWSTR CalleeNameSignature, + const BOOL TailPrefix, + const unsigned int TailCallType, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledMethodJitTailCallFailed(); +extern "C" ULONG FireEtwMethodJitTailCallFailed( + PCWSTR MethodBeingCompiledNamespace, + PCWSTR MethodBeingCompiledName, + PCWSTR MethodBeingCompiledNameSignature, + PCWSTR CallerNamespace, + PCWSTR CallerName, + PCWSTR CallerNameSignature, + PCWSTR CalleeNamespace, + PCWSTR CalleeName, + PCWSTR CalleeNameSignature, + const BOOL TailPrefix, + LPCSTR FailReason, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledMethodILToNativeMap(); +extern "C" ULONG FireEtwMethodILToNativeMap( + const unsigned __int64 MethodID, + const unsigned __int64 ReJITID, + const unsigned char MethodExtent, + const unsigned short CountOfMapEntries, + const unsigned int* ILOffsets, + const unsigned int* NativeOffsets, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledModuleDCStartV2(); +extern "C" ULONG FireEtwModuleDCStartV2( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath +); +extern "C" BOOL EventEnabledModuleDCEndV2(); +extern "C" ULONG FireEtwModuleDCEndV2( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath +); +extern "C" BOOL EventEnabledDomainModuleLoad(); +extern "C" ULONG FireEtwDomainModuleLoad( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath +); +extern "C" BOOL EventEnabledDomainModuleLoad_V1(); +extern "C" ULONG FireEtwDomainModuleLoad_V1( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledModuleLoad(); +extern "C" ULONG FireEtwModuleLoad( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath +); +extern "C" BOOL EventEnabledModuleLoad_V1(); +extern "C" ULONG FireEtwModuleLoad_V1( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledModuleLoad_V2(); +extern "C" ULONG FireEtwModuleLoad_V2( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath, + const unsigned short ClrInstanceID, + const GUID* ManagedPdbSignature, + const unsigned int ManagedPdbAge, + PCWSTR ManagedPdbBuildPath, + const GUID* NativePdbSignature, + const unsigned int NativePdbAge, + PCWSTR NativePdbBuildPath +); +extern "C" BOOL EventEnabledModuleUnload(); +extern "C" ULONG FireEtwModuleUnload( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath +); +extern "C" BOOL EventEnabledModuleUnload_V1(); +extern "C" ULONG FireEtwModuleUnload_V1( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledModuleUnload_V2(); +extern "C" ULONG FireEtwModuleUnload_V2( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath, + const unsigned short ClrInstanceID, + const GUID* ManagedPdbSignature, + const unsigned int ManagedPdbAge, + PCWSTR ManagedPdbBuildPath, + const GUID* NativePdbSignature, + const unsigned int NativePdbAge, + PCWSTR NativePdbBuildPath +); +extern "C" BOOL EventEnabledAssemblyLoad(); +extern "C" ULONG FireEtwAssemblyLoad( + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned int AssemblyFlags, + PCWSTR FullyQualifiedAssemblyName +); +extern "C" BOOL EventEnabledAssemblyLoad_V1(); +extern "C" ULONG FireEtwAssemblyLoad_V1( + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned __int64 BindingID, + const unsigned int AssemblyFlags, + PCWSTR FullyQualifiedAssemblyName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledAssemblyUnload(); +extern "C" ULONG FireEtwAssemblyUnload( + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned int AssemblyFlags, + PCWSTR FullyQualifiedAssemblyName +); +extern "C" BOOL EventEnabledAssemblyUnload_V1(); +extern "C" ULONG FireEtwAssemblyUnload_V1( + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned __int64 BindingID, + const unsigned int AssemblyFlags, + PCWSTR FullyQualifiedAssemblyName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledAppDomainLoad(); +extern "C" ULONG FireEtwAppDomainLoad( + const unsigned __int64 AppDomainID, + const unsigned int AppDomainFlags, + PCWSTR AppDomainName +); +extern "C" BOOL EventEnabledAppDomainLoad_V1(); +extern "C" ULONG FireEtwAppDomainLoad_V1( + const unsigned __int64 AppDomainID, + const unsigned int AppDomainFlags, + PCWSTR AppDomainName, + const unsigned int AppDomainIndex, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledAppDomainUnload(); +extern "C" ULONG FireEtwAppDomainUnload( + const unsigned __int64 AppDomainID, + const unsigned int AppDomainFlags, + PCWSTR AppDomainName +); +extern "C" BOOL EventEnabledAppDomainUnload_V1(); +extern "C" ULONG FireEtwAppDomainUnload_V1( + const unsigned __int64 AppDomainID, + const unsigned int AppDomainFlags, + PCWSTR AppDomainName, + const unsigned int AppDomainIndex, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledModuleRangeLoad(); +extern "C" ULONG FireEtwModuleRangeLoad( + const unsigned short ClrInstanceID, + const unsigned __int64 ModuleID, + const unsigned int RangeBegin, + const unsigned int RangeSize, + const unsigned char RangeType +); +extern "C" BOOL EventEnabledStrongNameVerificationStart(); +extern "C" ULONG FireEtwStrongNameVerificationStart( + const unsigned int VerificationFlags, + const unsigned int ErrorCode, + PCWSTR FullyQualifiedAssemblyName +); +extern "C" BOOL EventEnabledStrongNameVerificationStart_V1(); +extern "C" ULONG FireEtwStrongNameVerificationStart_V1( + const unsigned int VerificationFlags, + const unsigned int ErrorCode, + PCWSTR FullyQualifiedAssemblyName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledStrongNameVerificationStop(); +extern "C" ULONG FireEtwStrongNameVerificationStop( + const unsigned int VerificationFlags, + const unsigned int ErrorCode, + PCWSTR FullyQualifiedAssemblyName +); +extern "C" BOOL EventEnabledStrongNameVerificationStop_V1(); +extern "C" ULONG FireEtwStrongNameVerificationStop_V1( + const unsigned int VerificationFlags, + const unsigned int ErrorCode, + PCWSTR FullyQualifiedAssemblyName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledAuthenticodeVerificationStart(); +extern "C" ULONG FireEtwAuthenticodeVerificationStart( + const unsigned int VerificationFlags, + const unsigned int ErrorCode, + PCWSTR ModulePath +); +extern "C" BOOL EventEnabledAuthenticodeVerificationStart_V1(); +extern "C" ULONG FireEtwAuthenticodeVerificationStart_V1( + const unsigned int VerificationFlags, + const unsigned int ErrorCode, + PCWSTR ModulePath, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledAuthenticodeVerificationStop(); +extern "C" ULONG FireEtwAuthenticodeVerificationStop( + const unsigned int VerificationFlags, + const unsigned int ErrorCode, + PCWSTR ModulePath +); +extern "C" BOOL EventEnabledAuthenticodeVerificationStop_V1(); +extern "C" ULONG FireEtwAuthenticodeVerificationStop_V1( + const unsigned int VerificationFlags, + const unsigned int ErrorCode, + PCWSTR ModulePath, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledRuntimeInformationStart(); +extern "C" ULONG FireEtwRuntimeInformationStart( + const unsigned short ClrInstanceID, + const unsigned short Sku, + const unsigned short BclMajorVersion, + const unsigned short BclMinorVersion, + const unsigned short BclBuildNumber, + const unsigned short BclQfeNumber, + const unsigned short VMMajorVersion, + const unsigned short VMMinorVersion, + const unsigned short VMBuildNumber, + const unsigned short VMQfeNumber, + const unsigned int StartupFlags, + const unsigned char StartupMode, + PCWSTR CommandLine, + const GUID* ComObjectGuid, + PCWSTR RuntimeDllPath +); +extern "C" BOOL EventEnabledIncreaseMemoryPressure(); +extern "C" ULONG FireEtwIncreaseMemoryPressure( + const unsigned __int64 BytesAllocated, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledDecreaseMemoryPressure(); +extern "C" ULONG FireEtwDecreaseMemoryPressure( + const unsigned __int64 BytesFreed, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCMarkWithType(); +extern "C" ULONG FireEtwGCMarkWithType( + const unsigned int HeapNum, + const unsigned short ClrInstanceID, + const unsigned int Type, + const unsigned __int64 Bytes +); +extern "C" BOOL EventEnabledGCJoin_V2(); +extern "C" ULONG FireEtwGCJoin_V2( + const unsigned int Heap, + const unsigned int JoinTime, + const unsigned int JoinType, + const unsigned short ClrInstanceID, + const unsigned int JoinID +); +extern "C" BOOL EventEnabledGCPerHeapHistory_V3(); +extern "C" ULONG FireEtwGCPerHeapHistory_V3( + const unsigned short ClrInstanceID, + const void* FreeListAllocated, + const void* FreeListRejected, + const void* EndOfSegAllocated, + const void* CondemnedAllocated, + const void* PinnedAllocated, + const void* PinnedAllocatedAdvance, + const unsigned int RunningFreeListEfficiency, + const unsigned int CondemnReasons0, + const unsigned int CondemnReasons1, + const unsigned int CompactMechanisms, + const unsigned int ExpandMechanisms, + const unsigned int HeapIndex, + const void* ExtraGen0Commit, + const unsigned int Count, + const ULONG Arg15_Struct_Len_, + const void* Arg15_Struct_Pointer_ +); +extern "C" BOOL EventEnabledGCGlobalHeapHistory_V2(); +extern "C" ULONG FireEtwGCGlobalHeapHistory_V2( + const unsigned __int64 FinalYoungestDesired, + const signed int NumHeaps, + const unsigned int CondemnedGeneration, + const unsigned int Gen0ReductionCount, + const unsigned int Reason, + const unsigned int GlobalMechanisms, + const unsigned short ClrInstanceID, + const unsigned int PauseMode, + const unsigned int MemoryPressure +); +extern "C" BOOL EventEnabledDebugIPCEventStart(); +extern "C" ULONG FireEtwDebugIPCEventStart( +); +extern "C" BOOL EventEnabledDebugIPCEventEnd(); +extern "C" ULONG FireEtwDebugIPCEventEnd( +); +extern "C" BOOL EventEnabledDebugExceptionProcessingStart(); +extern "C" ULONG FireEtwDebugExceptionProcessingStart( +); +extern "C" BOOL EventEnabledDebugExceptionProcessingEnd(); +extern "C" ULONG FireEtwDebugExceptionProcessingEnd( +); +extern "C" BOOL EventEnabledCodeSymbols(); +extern "C" ULONG FireEtwCodeSymbols( + const unsigned __int64 ModuleId, + const unsigned short TotalChunks, + const unsigned short ChunkNumber, + const unsigned int ChunkLength, + const BYTE* Chunk, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledCLRStackWalkDCStart(); +extern "C" ULONG FireEtwCLRStackWalkDCStart( + const unsigned short ClrInstanceID, + const unsigned char Reserved1, + const unsigned char Reserved2, + const unsigned int FrameCount, + const void** Stack +); +extern "C" BOOL EventEnabledMethodDCStart(); +extern "C" ULONG FireEtwMethodDCStart( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags +); +extern "C" BOOL EventEnabledMethodDCStart_V1(); +extern "C" ULONG FireEtwMethodDCStart_V1( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledMethodDCStart_V2(); +extern "C" ULONG FireEtwMethodDCStart_V2( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + const unsigned short ClrInstanceID, + const unsigned __int64 ReJITID +); +extern "C" BOOL EventEnabledMethodDCEnd(); +extern "C" ULONG FireEtwMethodDCEnd( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags +); +extern "C" BOOL EventEnabledMethodDCEnd_V1(); +extern "C" ULONG FireEtwMethodDCEnd_V1( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledMethodDCEnd_V2(); +extern "C" ULONG FireEtwMethodDCEnd_V2( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + const unsigned short ClrInstanceID, + const unsigned __int64 ReJITID +); +extern "C" BOOL EventEnabledMethodDCStartVerbose(); +extern "C" ULONG FireEtwMethodDCStartVerbose( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature +); +extern "C" BOOL EventEnabledMethodDCStartVerbose_V1(); +extern "C" ULONG FireEtwMethodDCStartVerbose_V1( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledMethodDCStartVerbose_V2(); +extern "C" ULONG FireEtwMethodDCStartVerbose_V2( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature, + const unsigned short ClrInstanceID, + const unsigned __int64 ReJITID +); +extern "C" BOOL EventEnabledMethodDCEndVerbose(); +extern "C" ULONG FireEtwMethodDCEndVerbose( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature +); +extern "C" BOOL EventEnabledMethodDCEndVerbose_V1(); +extern "C" ULONG FireEtwMethodDCEndVerbose_V1( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledMethodDCEndVerbose_V2(); +extern "C" ULONG FireEtwMethodDCEndVerbose_V2( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature, + const unsigned short ClrInstanceID, + const unsigned __int64 ReJITID +); +extern "C" BOOL EventEnabledDCStartComplete(); +extern "C" ULONG FireEtwDCStartComplete( +); +extern "C" BOOL EventEnabledDCStartComplete_V1(); +extern "C" ULONG FireEtwDCStartComplete_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledDCEndComplete(); +extern "C" ULONG FireEtwDCEndComplete( +); +extern "C" BOOL EventEnabledDCEndComplete_V1(); +extern "C" ULONG FireEtwDCEndComplete_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledDCStartInit(); +extern "C" ULONG FireEtwDCStartInit( +); +extern "C" BOOL EventEnabledDCStartInit_V1(); +extern "C" ULONG FireEtwDCStartInit_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledDCEndInit(); +extern "C" ULONG FireEtwDCEndInit( +); +extern "C" BOOL EventEnabledDCEndInit_V1(); +extern "C" ULONG FireEtwDCEndInit_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledMethodDCStartILToNativeMap(); +extern "C" ULONG FireEtwMethodDCStartILToNativeMap( + const unsigned __int64 MethodID, + const unsigned __int64 ReJITID, + const unsigned char MethodExtent, + const unsigned short CountOfMapEntries, + const unsigned int* ILOffsets, + const unsigned int* NativeOffsets, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledMethodDCEndILToNativeMap(); +extern "C" ULONG FireEtwMethodDCEndILToNativeMap( + const unsigned __int64 MethodID, + const unsigned __int64 ReJITID, + const unsigned char MethodExtent, + const unsigned short CountOfMapEntries, + const unsigned int* ILOffsets, + const unsigned int* NativeOffsets, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledDomainModuleDCStart(); +extern "C" ULONG FireEtwDomainModuleDCStart( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath +); +extern "C" BOOL EventEnabledDomainModuleDCStart_V1(); +extern "C" ULONG FireEtwDomainModuleDCStart_V1( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledDomainModuleDCEnd(); +extern "C" ULONG FireEtwDomainModuleDCEnd( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath +); +extern "C" BOOL EventEnabledDomainModuleDCEnd_V1(); +extern "C" ULONG FireEtwDomainModuleDCEnd_V1( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledModuleDCStart(); +extern "C" ULONG FireEtwModuleDCStart( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath +); +extern "C" BOOL EventEnabledModuleDCStart_V1(); +extern "C" ULONG FireEtwModuleDCStart_V1( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledModuleDCStart_V2(); +extern "C" ULONG FireEtwModuleDCStart_V2( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath, + const unsigned short ClrInstanceID, + const GUID* ManagedPdbSignature, + const unsigned int ManagedPdbAge, + PCWSTR ManagedPdbBuildPath, + const GUID* NativePdbSignature, + const unsigned int NativePdbAge, + PCWSTR NativePdbBuildPath +); +extern "C" BOOL EventEnabledModuleDCEnd(); +extern "C" ULONG FireEtwModuleDCEnd( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath +); +extern "C" BOOL EventEnabledModuleDCEnd_V1(); +extern "C" ULONG FireEtwModuleDCEnd_V1( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledModuleDCEnd_V2(); +extern "C" ULONG FireEtwModuleDCEnd_V2( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath, + const unsigned short ClrInstanceID, + const GUID* ManagedPdbSignature, + const unsigned int ManagedPdbAge, + PCWSTR ManagedPdbBuildPath, + const GUID* NativePdbSignature, + const unsigned int NativePdbAge, + PCWSTR NativePdbBuildPath +); +extern "C" BOOL EventEnabledAssemblyDCStart(); +extern "C" ULONG FireEtwAssemblyDCStart( + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned int AssemblyFlags, + PCWSTR FullyQualifiedAssemblyName +); +extern "C" BOOL EventEnabledAssemblyDCStart_V1(); +extern "C" ULONG FireEtwAssemblyDCStart_V1( + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned __int64 BindingID, + const unsigned int AssemblyFlags, + PCWSTR FullyQualifiedAssemblyName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledAssemblyDCEnd(); +extern "C" ULONG FireEtwAssemblyDCEnd( + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned int AssemblyFlags, + PCWSTR FullyQualifiedAssemblyName +); +extern "C" BOOL EventEnabledAssemblyDCEnd_V1(); +extern "C" ULONG FireEtwAssemblyDCEnd_V1( + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned __int64 BindingID, + const unsigned int AssemblyFlags, + PCWSTR FullyQualifiedAssemblyName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledAppDomainDCStart(); +extern "C" ULONG FireEtwAppDomainDCStart( + const unsigned __int64 AppDomainID, + const unsigned int AppDomainFlags, + PCWSTR AppDomainName +); +extern "C" BOOL EventEnabledAppDomainDCStart_V1(); +extern "C" ULONG FireEtwAppDomainDCStart_V1( + const unsigned __int64 AppDomainID, + const unsigned int AppDomainFlags, + PCWSTR AppDomainName, + const unsigned int AppDomainIndex, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledAppDomainDCEnd(); +extern "C" ULONG FireEtwAppDomainDCEnd( + const unsigned __int64 AppDomainID, + const unsigned int AppDomainFlags, + PCWSTR AppDomainName +); +extern "C" BOOL EventEnabledAppDomainDCEnd_V1(); +extern "C" ULONG FireEtwAppDomainDCEnd_V1( + const unsigned __int64 AppDomainID, + const unsigned int AppDomainFlags, + PCWSTR AppDomainName, + const unsigned int AppDomainIndex, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledThreadDC(); +extern "C" ULONG FireEtwThreadDC( + const unsigned __int64 ManagedThreadID, + const unsigned __int64 AppDomainID, + const unsigned int Flags, + const unsigned int ManagedThreadIndex, + const unsigned int OSThreadID, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledModuleRangeDCStart(); +extern "C" ULONG FireEtwModuleRangeDCStart( + const unsigned short ClrInstanceID, + const unsigned __int64 ModuleID, + const unsigned int RangeBegin, + const unsigned int RangeSize, + const unsigned char RangeType +); +extern "C" BOOL EventEnabledModuleRangeDCEnd(); +extern "C" ULONG FireEtwModuleRangeDCEnd( + const unsigned short ClrInstanceID, + const unsigned __int64 ModuleID, + const unsigned int RangeBegin, + const unsigned int RangeSize, + const unsigned char RangeType +); +extern "C" BOOL EventEnabledRuntimeInformationDCStart(); +extern "C" ULONG FireEtwRuntimeInformationDCStart( + const unsigned short ClrInstanceID, + const unsigned short Sku, + const unsigned short BclMajorVersion, + const unsigned short BclMinorVersion, + const unsigned short BclBuildNumber, + const unsigned short BclQfeNumber, + const unsigned short VMMajorVersion, + const unsigned short VMMinorVersion, + const unsigned short VMBuildNumber, + const unsigned short VMQfeNumber, + const unsigned int StartupFlags, + const unsigned char StartupMode, + PCWSTR CommandLine, + const GUID* ComObjectGuid, + PCWSTR RuntimeDllPath +); +extern "C" BOOL EventEnabledStressLogEvent(); +extern "C" ULONG FireEtwStressLogEvent( + const unsigned int Facility, + const unsigned char LogLevel, + LPCSTR Message +); +extern "C" BOOL EventEnabledStressLogEvent_V1(); +extern "C" ULONG FireEtwStressLogEvent_V1( + const unsigned int Facility, + const unsigned char LogLevel, + LPCSTR Message, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledCLRStackWalkStress(); +extern "C" ULONG FireEtwCLRStackWalkStress( + const unsigned short ClrInstanceID, + const unsigned char Reserved1, + const unsigned char Reserved2, + const unsigned int FrameCount, + const void** Stack +); +extern "C" BOOL EventEnabledGCDecision(); +extern "C" ULONG FireEtwGCDecision( + const BOOL DoCompact +); +extern "C" BOOL EventEnabledGCDecision_V1(); +extern "C" ULONG FireEtwGCDecision_V1( + const BOOL DoCompact, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCSettings(); +extern "C" ULONG FireEtwGCSettings( + const unsigned __int64 SegmentSize, + const unsigned __int64 LargeObjectSegmentSize, + const BOOL ServerGC +); +extern "C" BOOL EventEnabledGCSettings_V1(); +extern "C" ULONG FireEtwGCSettings_V1( + const unsigned __int64 SegmentSize, + const unsigned __int64 LargeObjectSegmentSize, + const BOOL ServerGC, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCOptimized(); +extern "C" ULONG FireEtwGCOptimized( + const unsigned __int64 DesiredAllocation, + const unsigned __int64 NewAllocation, + const unsigned int GenerationNumber +); +extern "C" BOOL EventEnabledGCOptimized_V1(); +extern "C" ULONG FireEtwGCOptimized_V1( + const unsigned __int64 DesiredAllocation, + const unsigned __int64 NewAllocation, + const unsigned int GenerationNumber, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCPerHeapHistory(); +extern "C" ULONG FireEtwGCPerHeapHistory( +); +extern "C" BOOL EventEnabledGCPerHeapHistory_V1(); +extern "C" ULONG FireEtwGCPerHeapHistory_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCGlobalHeapHistory(); +extern "C" ULONG FireEtwGCGlobalHeapHistory( + const unsigned __int64 FinalYoungestDesired, + const signed int NumHeaps, + const unsigned int CondemnedGeneration, + const unsigned int Gen0ReductionCount, + const unsigned int Reason, + const unsigned int GlobalMechanisms +); +extern "C" BOOL EventEnabledGCGlobalHeapHistory_V1(); +extern "C" ULONG FireEtwGCGlobalHeapHistory_V1( + const unsigned __int64 FinalYoungestDesired, + const signed int NumHeaps, + const unsigned int CondemnedGeneration, + const unsigned int Gen0ReductionCount, + const unsigned int Reason, + const unsigned int GlobalMechanisms, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCJoin(); +extern "C" ULONG FireEtwGCJoin( + const unsigned int Heap, + const unsigned int JoinTime, + const unsigned int JoinType +); +extern "C" BOOL EventEnabledGCJoin_V1(); +extern "C" ULONG FireEtwGCJoin_V1( + const unsigned int Heap, + const unsigned int JoinTime, + const unsigned int JoinType, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledPrvGCMarkStackRoots(); +extern "C" ULONG FireEtwPrvGCMarkStackRoots( + const unsigned int HeapNum +); +extern "C" BOOL EventEnabledPrvGCMarkStackRoots_V1(); +extern "C" ULONG FireEtwPrvGCMarkStackRoots_V1( + const unsigned int HeapNum, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledPrvGCMarkFinalizeQueueRoots(); +extern "C" ULONG FireEtwPrvGCMarkFinalizeQueueRoots( + const unsigned int HeapNum +); +extern "C" BOOL EventEnabledPrvGCMarkFinalizeQueueRoots_V1(); +extern "C" ULONG FireEtwPrvGCMarkFinalizeQueueRoots_V1( + const unsigned int HeapNum, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledPrvGCMarkHandles(); +extern "C" ULONG FireEtwPrvGCMarkHandles( + const unsigned int HeapNum +); +extern "C" BOOL EventEnabledPrvGCMarkHandles_V1(); +extern "C" ULONG FireEtwPrvGCMarkHandles_V1( + const unsigned int HeapNum, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledPrvGCMarkCards(); +extern "C" ULONG FireEtwPrvGCMarkCards( + const unsigned int HeapNum +); +extern "C" BOOL EventEnabledPrvGCMarkCards_V1(); +extern "C" ULONG FireEtwPrvGCMarkCards_V1( + const unsigned int HeapNum, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledBGCBegin(); +extern "C" ULONG FireEtwBGCBegin( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledBGC1stNonConEnd(); +extern "C" ULONG FireEtwBGC1stNonConEnd( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledBGC1stConEnd(); +extern "C" ULONG FireEtwBGC1stConEnd( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledBGC2ndNonConBegin(); +extern "C" ULONG FireEtwBGC2ndNonConBegin( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledBGC2ndNonConEnd(); +extern "C" ULONG FireEtwBGC2ndNonConEnd( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledBGC2ndConBegin(); +extern "C" ULONG FireEtwBGC2ndConBegin( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledBGC2ndConEnd(); +extern "C" ULONG FireEtwBGC2ndConEnd( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledBGCPlanEnd(); +extern "C" ULONG FireEtwBGCPlanEnd( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledBGCSweepEnd(); +extern "C" ULONG FireEtwBGCSweepEnd( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledBGCDrainMark(); +extern "C" ULONG FireEtwBGCDrainMark( + const unsigned __int64 Objects, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledBGCRevisit(); +extern "C" ULONG FireEtwBGCRevisit( + const unsigned __int64 Pages, + const unsigned __int64 Objects, + const unsigned int IsLarge, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledBGCOverflow(); +extern "C" ULONG FireEtwBGCOverflow( + const unsigned __int64 Min, + const unsigned __int64 Max, + const unsigned __int64 Objects, + const unsigned int IsLarge, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledBGCAllocWaitBegin(); +extern "C" ULONG FireEtwBGCAllocWaitBegin( + const unsigned int Reason, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledBGCAllocWaitEnd(); +extern "C" ULONG FireEtwBGCAllocWaitEnd( + const unsigned int Reason, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGCFullNotify(); +extern "C" ULONG FireEtwGCFullNotify( + const unsigned int GenNumber, + const unsigned int IsAlloc +); +extern "C" BOOL EventEnabledGCFullNotify_V1(); +extern "C" ULONG FireEtwGCFullNotify_V1( + const unsigned int GenNumber, + const unsigned int IsAlloc, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledEEStartupStart(); +extern "C" ULONG FireEtwEEStartupStart( +); +extern "C" BOOL EventEnabledEEStartupStart_V1(); +extern "C" ULONG FireEtwEEStartupStart_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledEEStartupEnd(); +extern "C" ULONG FireEtwEEStartupEnd( +); +extern "C" BOOL EventEnabledEEStartupEnd_V1(); +extern "C" ULONG FireEtwEEStartupEnd_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledEEConfigSetup(); +extern "C" ULONG FireEtwEEConfigSetup( +); +extern "C" BOOL EventEnabledEEConfigSetup_V1(); +extern "C" ULONG FireEtwEEConfigSetup_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledEEConfigSetupEnd(); +extern "C" ULONG FireEtwEEConfigSetupEnd( +); +extern "C" BOOL EventEnabledEEConfigSetupEnd_V1(); +extern "C" ULONG FireEtwEEConfigSetupEnd_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledLdSysBases(); +extern "C" ULONG FireEtwLdSysBases( +); +extern "C" BOOL EventEnabledLdSysBases_V1(); +extern "C" ULONG FireEtwLdSysBases_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledLdSysBasesEnd(); +extern "C" ULONG FireEtwLdSysBasesEnd( +); +extern "C" BOOL EventEnabledLdSysBasesEnd_V1(); +extern "C" ULONG FireEtwLdSysBasesEnd_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledExecExe(); +extern "C" ULONG FireEtwExecExe( +); +extern "C" BOOL EventEnabledExecExe_V1(); +extern "C" ULONG FireEtwExecExe_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledExecExeEnd(); +extern "C" ULONG FireEtwExecExeEnd( +); +extern "C" BOOL EventEnabledExecExeEnd_V1(); +extern "C" ULONG FireEtwExecExeEnd_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledMain(); +extern "C" ULONG FireEtwMain( +); +extern "C" BOOL EventEnabledMain_V1(); +extern "C" ULONG FireEtwMain_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledMainEnd(); +extern "C" ULONG FireEtwMainEnd( +); +extern "C" BOOL EventEnabledMainEnd_V1(); +extern "C" ULONG FireEtwMainEnd_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledApplyPolicyStart(); +extern "C" ULONG FireEtwApplyPolicyStart( +); +extern "C" BOOL EventEnabledApplyPolicyStart_V1(); +extern "C" ULONG FireEtwApplyPolicyStart_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledApplyPolicyEnd(); +extern "C" ULONG FireEtwApplyPolicyEnd( +); +extern "C" BOOL EventEnabledApplyPolicyEnd_V1(); +extern "C" ULONG FireEtwApplyPolicyEnd_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledLdLibShFolder(); +extern "C" ULONG FireEtwLdLibShFolder( +); +extern "C" BOOL EventEnabledLdLibShFolder_V1(); +extern "C" ULONG FireEtwLdLibShFolder_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledLdLibShFolderEnd(); +extern "C" ULONG FireEtwLdLibShFolderEnd( +); +extern "C" BOOL EventEnabledLdLibShFolderEnd_V1(); +extern "C" ULONG FireEtwLdLibShFolderEnd_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledPrestubWorker(); +extern "C" ULONG FireEtwPrestubWorker( +); +extern "C" BOOL EventEnabledPrestubWorker_V1(); +extern "C" ULONG FireEtwPrestubWorker_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledPrestubWorkerEnd(); +extern "C" ULONG FireEtwPrestubWorkerEnd( +); +extern "C" BOOL EventEnabledPrestubWorkerEnd_V1(); +extern "C" ULONG FireEtwPrestubWorkerEnd_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGetInstallationStart(); +extern "C" ULONG FireEtwGetInstallationStart( +); +extern "C" BOOL EventEnabledGetInstallationStart_V1(); +extern "C" ULONG FireEtwGetInstallationStart_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGetInstallationEnd(); +extern "C" ULONG FireEtwGetInstallationEnd( +); +extern "C" BOOL EventEnabledGetInstallationEnd_V1(); +extern "C" ULONG FireEtwGetInstallationEnd_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledOpenHModule(); +extern "C" ULONG FireEtwOpenHModule( +); +extern "C" BOOL EventEnabledOpenHModule_V1(); +extern "C" ULONG FireEtwOpenHModule_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledOpenHModuleEnd(); +extern "C" ULONG FireEtwOpenHModuleEnd( +); +extern "C" BOOL EventEnabledOpenHModuleEnd_V1(); +extern "C" ULONG FireEtwOpenHModuleEnd_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledExplicitBindStart(); +extern "C" ULONG FireEtwExplicitBindStart( +); +extern "C" BOOL EventEnabledExplicitBindStart_V1(); +extern "C" ULONG FireEtwExplicitBindStart_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledExplicitBindEnd(); +extern "C" ULONG FireEtwExplicitBindEnd( +); +extern "C" BOOL EventEnabledExplicitBindEnd_V1(); +extern "C" ULONG FireEtwExplicitBindEnd_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledParseXml(); +extern "C" ULONG FireEtwParseXml( +); +extern "C" BOOL EventEnabledParseXml_V1(); +extern "C" ULONG FireEtwParseXml_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledParseXmlEnd(); +extern "C" ULONG FireEtwParseXmlEnd( +); +extern "C" BOOL EventEnabledParseXmlEnd_V1(); +extern "C" ULONG FireEtwParseXmlEnd_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledInitDefaultDomain(); +extern "C" ULONG FireEtwInitDefaultDomain( +); +extern "C" BOOL EventEnabledInitDefaultDomain_V1(); +extern "C" ULONG FireEtwInitDefaultDomain_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledInitDefaultDomainEnd(); +extern "C" ULONG FireEtwInitDefaultDomainEnd( +); +extern "C" BOOL EventEnabledInitDefaultDomainEnd_V1(); +extern "C" ULONG FireEtwInitDefaultDomainEnd_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledInitSecurity(); +extern "C" ULONG FireEtwInitSecurity( +); +extern "C" BOOL EventEnabledInitSecurity_V1(); +extern "C" ULONG FireEtwInitSecurity_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledInitSecurityEnd(); +extern "C" ULONG FireEtwInitSecurityEnd( +); +extern "C" BOOL EventEnabledInitSecurityEnd_V1(); +extern "C" ULONG FireEtwInitSecurityEnd_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledAllowBindingRedirs(); +extern "C" ULONG FireEtwAllowBindingRedirs( +); +extern "C" BOOL EventEnabledAllowBindingRedirs_V1(); +extern "C" ULONG FireEtwAllowBindingRedirs_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledAllowBindingRedirsEnd(); +extern "C" ULONG FireEtwAllowBindingRedirsEnd( +); +extern "C" BOOL EventEnabledAllowBindingRedirsEnd_V1(); +extern "C" ULONG FireEtwAllowBindingRedirsEnd_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledEEConfigSync(); +extern "C" ULONG FireEtwEEConfigSync( +); +extern "C" BOOL EventEnabledEEConfigSync_V1(); +extern "C" ULONG FireEtwEEConfigSync_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledEEConfigSyncEnd(); +extern "C" ULONG FireEtwEEConfigSyncEnd( +); +extern "C" BOOL EventEnabledEEConfigSyncEnd_V1(); +extern "C" ULONG FireEtwEEConfigSyncEnd_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledFusionBinding(); +extern "C" ULONG FireEtwFusionBinding( +); +extern "C" BOOL EventEnabledFusionBinding_V1(); +extern "C" ULONG FireEtwFusionBinding_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledFusionBindingEnd(); +extern "C" ULONG FireEtwFusionBindingEnd( +); +extern "C" BOOL EventEnabledFusionBindingEnd_V1(); +extern "C" ULONG FireEtwFusionBindingEnd_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledLoaderCatchCall(); +extern "C" ULONG FireEtwLoaderCatchCall( +); +extern "C" BOOL EventEnabledLoaderCatchCall_V1(); +extern "C" ULONG FireEtwLoaderCatchCall_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledLoaderCatchCallEnd(); +extern "C" ULONG FireEtwLoaderCatchCallEnd( +); +extern "C" BOOL EventEnabledLoaderCatchCallEnd_V1(); +extern "C" ULONG FireEtwLoaderCatchCallEnd_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledFusionInit(); +extern "C" ULONG FireEtwFusionInit( +); +extern "C" BOOL EventEnabledFusionInit_V1(); +extern "C" ULONG FireEtwFusionInit_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledFusionInitEnd(); +extern "C" ULONG FireEtwFusionInitEnd( +); +extern "C" BOOL EventEnabledFusionInitEnd_V1(); +extern "C" ULONG FireEtwFusionInitEnd_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledFusionAppCtx(); +extern "C" ULONG FireEtwFusionAppCtx( +); +extern "C" BOOL EventEnabledFusionAppCtx_V1(); +extern "C" ULONG FireEtwFusionAppCtx_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledFusionAppCtxEnd(); +extern "C" ULONG FireEtwFusionAppCtxEnd( +); +extern "C" BOOL EventEnabledFusionAppCtxEnd_V1(); +extern "C" ULONG FireEtwFusionAppCtxEnd_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledFusion2EE(); +extern "C" ULONG FireEtwFusion2EE( +); +extern "C" BOOL EventEnabledFusion2EE_V1(); +extern "C" ULONG FireEtwFusion2EE_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledFusion2EEEnd(); +extern "C" ULONG FireEtwFusion2EEEnd( +); +extern "C" BOOL EventEnabledFusion2EEEnd_V1(); +extern "C" ULONG FireEtwFusion2EEEnd_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledSecurityCatchCall(); +extern "C" ULONG FireEtwSecurityCatchCall( +); +extern "C" BOOL EventEnabledSecurityCatchCall_V1(); +extern "C" ULONG FireEtwSecurityCatchCall_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledSecurityCatchCallEnd(); +extern "C" ULONG FireEtwSecurityCatchCallEnd( +); +extern "C" BOOL EventEnabledSecurityCatchCallEnd_V1(); +extern "C" ULONG FireEtwSecurityCatchCallEnd_V1( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledCLRStackWalkPrivate(); +extern "C" ULONG FireEtwCLRStackWalkPrivate( + const unsigned short ClrInstanceID, + const unsigned char Reserved1, + const unsigned char Reserved2, + const unsigned int FrameCount, + const void** Stack +); +extern "C" BOOL EventEnabledModuleRangeLoadPrivate(); +extern "C" ULONG FireEtwModuleRangeLoadPrivate( + const unsigned short ClrInstanceID, + const unsigned __int64 ModuleID, + const unsigned int RangeBegin, + const unsigned int RangeSize, + const unsigned char RangeType, + const unsigned char IBCType, + const unsigned short SectionType +); +extern "C" BOOL EventEnabledBindingPolicyPhaseStart(); +extern "C" ULONG FireEtwBindingPolicyPhaseStart( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledBindingPolicyPhaseEnd(); +extern "C" ULONG FireEtwBindingPolicyPhaseEnd( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledBindingNgenPhaseStart(); +extern "C" ULONG FireEtwBindingNgenPhaseStart( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledBindingNgenPhaseEnd(); +extern "C" ULONG FireEtwBindingNgenPhaseEnd( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledBindingLookupAndProbingPhaseStart(); +extern "C" ULONG FireEtwBindingLookupAndProbingPhaseStart( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledBindingLookupAndProbingPhaseEnd(); +extern "C" ULONG FireEtwBindingLookupAndProbingPhaseEnd( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledLoaderPhaseStart(); +extern "C" ULONG FireEtwLoaderPhaseStart( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledLoaderPhaseEnd(); +extern "C" ULONG FireEtwLoaderPhaseEnd( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledBindingPhaseStart(); +extern "C" ULONG FireEtwBindingPhaseStart( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledBindingPhaseEnd(); +extern "C" ULONG FireEtwBindingPhaseEnd( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledBindingDownloadPhaseStart(); +extern "C" ULONG FireEtwBindingDownloadPhaseStart( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledBindingDownloadPhaseEnd(); +extern "C" ULONG FireEtwBindingDownloadPhaseEnd( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledLoaderAssemblyInitPhaseStart(); +extern "C" ULONG FireEtwLoaderAssemblyInitPhaseStart( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledLoaderAssemblyInitPhaseEnd(); +extern "C" ULONG FireEtwLoaderAssemblyInitPhaseEnd( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledLoaderMappingPhaseStart(); +extern "C" ULONG FireEtwLoaderMappingPhaseStart( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledLoaderMappingPhaseEnd(); +extern "C" ULONG FireEtwLoaderMappingPhaseEnd( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledLoaderDeliverEventsPhaseStart(); +extern "C" ULONG FireEtwLoaderDeliverEventsPhaseStart( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledLoaderDeliverEventsPhaseEnd(); +extern "C" ULONG FireEtwLoaderDeliverEventsPhaseEnd( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledEvidenceGenerated(); +extern "C" ULONG FireEtwEvidenceGenerated( + const unsigned int Type, + const unsigned int AppDomain, + PCWSTR ILImage, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledModuleTransparencyComputationStart(); +extern "C" ULONG FireEtwModuleTransparencyComputationStart( + PCWSTR Module, + const unsigned int AppDomainID, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledModuleTransparencyComputationEnd(); +extern "C" ULONG FireEtwModuleTransparencyComputationEnd( + PCWSTR Module, + const unsigned int AppDomainID, + const BOOL IsAllCritical, + const BOOL IsAllTransparent, + const BOOL IsTreatAsSafe, + const BOOL IsOpportunisticallyCritical, + const unsigned int SecurityRuleSet, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledTypeTransparencyComputationStart(); +extern "C" ULONG FireEtwTypeTransparencyComputationStart( + PCWSTR Type, + PCWSTR Module, + const unsigned int AppDomainID, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledTypeTransparencyComputationEnd(); +extern "C" ULONG FireEtwTypeTransparencyComputationEnd( + PCWSTR Type, + PCWSTR Module, + const unsigned int AppDomainID, + const BOOL IsAllCritical, + const BOOL IsAllTransparent, + const BOOL IsCritical, + const BOOL IsTreatAsSafe, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledMethodTransparencyComputationStart(); +extern "C" ULONG FireEtwMethodTransparencyComputationStart( + PCWSTR Method, + PCWSTR Module, + const unsigned int AppDomainID, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledMethodTransparencyComputationEnd(); +extern "C" ULONG FireEtwMethodTransparencyComputationEnd( + PCWSTR Method, + PCWSTR Module, + const unsigned int AppDomainID, + const BOOL IsCritical, + const BOOL IsTreatAsSafe, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledFieldTransparencyComputationStart(); +extern "C" ULONG FireEtwFieldTransparencyComputationStart( + PCWSTR Field, + PCWSTR Module, + const unsigned int AppDomainID, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledFieldTransparencyComputationEnd(); +extern "C" ULONG FireEtwFieldTransparencyComputationEnd( + PCWSTR Field, + PCWSTR Module, + const unsigned int AppDomainID, + const BOOL IsCritical, + const BOOL IsTreatAsSafe, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledTokenTransparencyComputationStart(); +extern "C" ULONG FireEtwTokenTransparencyComputationStart( + const unsigned int Token, + PCWSTR Module, + const unsigned int AppDomainID, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledTokenTransparencyComputationEnd(); +extern "C" ULONG FireEtwTokenTransparencyComputationEnd( + const unsigned int Token, + PCWSTR Module, + const unsigned int AppDomainID, + const BOOL IsCritical, + const BOOL IsTreatAsSafe, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledNgenBindEvent(); +extern "C" ULONG FireEtwNgenBindEvent( + const unsigned short ClrInstanceID, + const unsigned __int64 BindingID, + const unsigned int ReasonCode, + PCWSTR AssemblyName +); +extern "C" BOOL EventEnabledFailFast(); +extern "C" ULONG FireEtwFailFast( + PCWSTR FailFastUserMessage, + const void* FailedEIP, + const unsigned int OSExitCode, + const unsigned int ClrExitCode, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledPrvFinalizeObject(); +extern "C" ULONG FireEtwPrvFinalizeObject( + const void* TypeID, + const void* ObjectID, + const unsigned short ClrInstanceID, + PCWSTR TypeName +); +extern "C" BOOL EventEnabledCCWRefCountChange(); +extern "C" ULONG FireEtwCCWRefCountChange( + const void* HandleID, + const void* ObjectID, + const void* COMInterfacePointer, + const unsigned int NewRefCount, + const unsigned __int64 AppDomainID, + LPCSTR ClassName, + LPCSTR NameSpace, + PCWSTR Operation, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledPrvSetGCHandle(); +extern "C" ULONG FireEtwPrvSetGCHandle( + const void* HandleID, + const void* ObjectID, + const unsigned int Kind, + const unsigned int Generation, + const unsigned __int64 AppDomainID, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledPrvDestroyGCHandle(); +extern "C" ULONG FireEtwPrvDestroyGCHandle( + const void* HandleID, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledFusionMessageEvent(); +extern "C" ULONG FireEtwFusionMessageEvent( + const unsigned short ClrInstanceID, + const BOOL Prepend, + PCWSTR Message +); +extern "C" BOOL EventEnabledFusionErrorCodeEvent(); +extern "C" ULONG FireEtwFusionErrorCodeEvent( + const unsigned short ClrInstanceID, + const unsigned int Category, + const unsigned int ErrorCode +); +extern "C" BOOL EventEnabledPinPlugAtGCTime(); +extern "C" ULONG FireEtwPinPlugAtGCTime( + const void* PlugStart, + const void* PlugEnd, + const void* GapBeforeSize, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledAllocRequest(); +extern "C" ULONG FireEtwAllocRequest( + const void* LoaderHeapPtr, + const void* MemoryAddress, + const unsigned int RequestSize, + const unsigned int Unused1, + const unsigned __int64 Unused2, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledMulticoreJit(); +extern "C" ULONG FireEtwMulticoreJit( + const unsigned short ClrInstanceID, + PCWSTR String1, + PCWSTR String2, + const signed int Int1, + const signed int Int2, + const signed int Int3 +); +extern "C" BOOL EventEnabledMulticoreJitMethodCodeReturned(); +extern "C" ULONG FireEtwMulticoreJitMethodCodeReturned( + const unsigned short ClrInstanceID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodID +); +extern "C" BOOL EventEnabledIInspectableRuntimeClassName(); +extern "C" ULONG FireEtwIInspectableRuntimeClassName( + PCWSTR TypeName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledWinRTUnbox(); +extern "C" ULONG FireEtwWinRTUnbox( + PCWSTR TypeName, + PCWSTR SecondTypeName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledCreateRCW(); +extern "C" ULONG FireEtwCreateRCW( + PCWSTR TypeName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledRCWVariance(); +extern "C" ULONG FireEtwRCWVariance( + PCWSTR TypeName, + PCWSTR InterfaceTypeName, + PCWSTR VariantInterfaceTypeName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledRCWIEnumerableCasting(); +extern "C" ULONG FireEtwRCWIEnumerableCasting( + PCWSTR TypeName, + PCWSTR SecondTypeName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledCreateCCW(); +extern "C" ULONG FireEtwCreateCCW( + PCWSTR TypeName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledCCWVariance(); +extern "C" ULONG FireEtwCCWVariance( + PCWSTR TypeName, + PCWSTR InterfaceTypeName, + PCWSTR VariantInterfaceTypeName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledObjectVariantMarshallingToNative(); +extern "C" ULONG FireEtwObjectVariantMarshallingToNative( + PCWSTR TypeName, + const signed int Int1, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGetTypeFromGUID(); +extern "C" ULONG FireEtwGetTypeFromGUID( + PCWSTR TypeName, + PCWSTR SecondTypeName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledGetTypeFromProgID(); +extern "C" ULONG FireEtwGetTypeFromProgID( + PCWSTR TypeName, + PCWSTR SecondTypeName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledConvertToCallbackEtw(); +extern "C" ULONG FireEtwConvertToCallbackEtw( + PCWSTR TypeName, + PCWSTR SecondTypeName, + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledBeginCreateManagedReference(); +extern "C" ULONG FireEtwBeginCreateManagedReference( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledEndCreateManagedReference(); +extern "C" ULONG FireEtwEndCreateManagedReference( + const unsigned short ClrInstanceID +); +extern "C" BOOL EventEnabledObjectVariantMarshallingToManaged(); +extern "C" ULONG FireEtwObjectVariantMarshallingToManaged( + PCWSTR TypeName, + const signed int Int1, + const unsigned short ClrInstanceID +); diff --git a/src/pal/prebuilt/inc/etmdummy.h b/src/pal/prebuilt/inc/etmdummy.h index 937a6265f9..97c592ed46 100644 --- a/src/pal/prebuilt/inc/etmdummy.h +++ b/src/pal/prebuilt/inc/etmdummy.h @@ -1,8 +1,15 @@ // // Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. // +/****************************************************************** + +DO NOT MODIFY. AUTOGENERATED FILE. +This file is generated using the logic from <root>/src/inc/genXplatEtw.pl + +******************************************************************/ + #define FireEtwGCStart(Count, Reason) 0 #define FireEtwGCStart_V1(Count, Depth, Reason, Type, ClrInstanceID) 0 #define FireEtwGCStart_V2(Count, Depth, Reason, Type, ClrInstanceID, ClientSequenceNumber) 0 @@ -34,14 +41,14 @@ #define FireEtwGCFinalizersEnd_V1(Count, ClrInstanceID) 0 #define FireEtwGCFinalizersBegin() 0 #define FireEtwGCFinalizersBegin_V1(ClrInstanceID) 0 -#define FireEtwBulkType(Count, ClrInstanceID, Values_Len_, Values) 0 -#define FireEtwGCBulkRootEdge(Index, Count, ClrInstanceID, Values_Len_, Values) 0 -#define FireEtwGCBulkRootConditionalWeakTableElementEdge(Index, Count, ClrInstanceID, Values_Len_, Values) 0 -#define FireEtwGCBulkNode(Index, Count, ClrInstanceID, Values_Len_, Values) 0 -#define FireEtwGCBulkEdge(Index, Count, ClrInstanceID, Values_Len_, Values) 0 +#define FireEtwBulkType(Count, ClrInstanceID, Arg2_Struct_Len_, Arg2_Struct_Pointer_) 0 +#define FireEtwGCBulkRootEdge(Index, Count, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0 +#define FireEtwGCBulkRootConditionalWeakTableElementEdge(Index, Count, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0 +#define FireEtwGCBulkNode(Index, Count, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0 +#define FireEtwGCBulkEdge(Index, Count, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0 #define FireEtwGCSampledObjectAllocationHigh(Address, TypeID, ObjectCountForTypeSample, TotalSizeForTypeSample, ClrInstanceID) 0 -#define FireEtwGCBulkSurvivingObjectRanges(Index, Count, ClrInstanceID, Values_Len_, Values) 0 -#define FireEtwGCBulkMovedObjectRanges(Index, Count, ClrInstanceID, Values_Len_, Values) 0 +#define FireEtwGCBulkSurvivingObjectRanges(Index, Count, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0 +#define FireEtwGCBulkMovedObjectRanges(Index, Count, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0 #define FireEtwGCGenerationRange(Generation, RangeStart, RangeUsedLength, RangeReservedLength, ClrInstanceID) 0 #define FireEtwGCMarkStackRoots(HeapNum, ClrInstanceID) 0 #define FireEtwGCMarkFinalizeQueueRoots(HeapNum, ClrInstanceID) 0 @@ -53,9 +60,9 @@ #define FireEtwGCSampledObjectAllocationLow(Address, TypeID, ObjectCountForTypeSample, TotalSizeForTypeSample, ClrInstanceID) 0 #define FireEtwPinObjectAtGCTime(HandleID, ObjectID, ObjectSize, TypeName, ClrInstanceID) 0 #define FireEtwGCTriggered(Reason, ClrInstanceID) 0 -#define FireEtwGCBulkRootCCW(Count, ClrInstanceID, Values_Len_, Values) 0 -#define FireEtwGCBulkRCW(Count, ClrInstanceID, Values_Len_, Values) 0 -#define FireEtwGCBulkRootStaticVar(Count, AppDomainID, ClrInstanceID, Values_Len_, Values) 0 +#define FireEtwGCBulkRootCCW(Count, ClrInstanceID, Arg2_Struct_Len_, Arg2_Struct_Pointer_) 0 +#define FireEtwGCBulkRCW(Count, ClrInstanceID, Arg2_Struct_Len_, Arg2_Struct_Pointer_) 0 +#define FireEtwGCBulkRootStaticVar(Count, AppDomainID, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0 #define FireEtwWorkerThreadCreate(WorkerThreadCount, RetiredWorkerThreads) 0 #define FireEtwWorkerThreadTerminate(WorkerThreadCount, RetiredWorkerThreads) 0 #define FireEtwWorkerThreadRetire(WorkerThreadCount, RetiredWorkerThreads) 0 @@ -163,7 +170,7 @@ #define FireEtwDecreaseMemoryPressure(BytesFreed, ClrInstanceID) 0 #define FireEtwGCMarkWithType(HeapNum, ClrInstanceID, Type, Bytes) 0 #define FireEtwGCJoin_V2(Heap, JoinTime, JoinType, ClrInstanceID, JoinID) 0 -#define FireEtwGCPerHeapHistory_V3(ClrInstanceID, FreeListAllocated, FreeListRejected, EndOfSegAllocated, CondemnedAllocated, PinnedAllocated, PinnedAllocatedAdvance, RunningFreeListEfficiency, CondemnReasons0, CondemnReasons1, CompactMechanisms, ExpandMechanisms, HeapIndex, ExtraGen0Commit, Count, Values_Len_, Values) 0 +#define FireEtwGCPerHeapHistory_V3(ClrInstanceID, FreeListAllocated, FreeListRejected, EndOfSegAllocated, CondemnedAllocated, PinnedAllocated, PinnedAllocatedAdvance, RunningFreeListEfficiency, CondemnReasons0, CondemnReasons1, CompactMechanisms, ExpandMechanisms, HeapIndex, ExtraGen0Commit, Count, Arg15_Struct_Len_, Arg15_Struct_Pointer_) 0 #define FireEtwGCGlobalHeapHistory_V2(FinalYoungestDesired, NumHeaps, CondemnedGeneration, Gen0ReductionCount, Reason, GlobalMechanisms, ClrInstanceID, PauseMode, MemoryPressure) 0 #define FireEtwDebugIPCEventStart() 0 #define FireEtwDebugIPCEventEnd() 0 diff --git a/src/pal/src/CMakeLists.txt b/src/pal/src/CMakeLists.txt index bc558cf05c..1e8363969a 100644 --- a/src/pal/src/CMakeLists.txt +++ b/src/pal/src/CMakeLists.txt @@ -250,5 +250,9 @@ endif(CMAKE_SYSTEM_NAME STREQUAL Darwin) add_subdirectory(examples) +if(CMAKE_SYSTEM_NAME STREQUAL Linux) +add_subdirectory(eventprovider) +endif(CMAKE_SYSTEM_NAME STREQUAL Linux) + # Install the static PAL library for VS install (TARGETS coreclrpal DESTINATION lib) diff --git a/src/pal/src/eventprovider/CMakeLists.txt b/src/pal/src/eventprovider/CMakeLists.txt new file mode 100644 index 0000000000..d995cde565 --- /dev/null +++ b/src/pal/src/eventprovider/CMakeLists.txt @@ -0,0 +1,22 @@ +cmake_minimum_required(VERSION 2.8.12.2) + +project(eventprovider) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +add_definitions(-DPAL_STDCPP_COMPAT=1) +include_directories(${COREPAL_SOURCE_DIR}/inc/rt) +include_directories(${COREPAL_SOURCE_DIR}/src/eventprovider) + +add_library(eventprovider + STATIC + "lttng/eventprovdotnetruntimestress.cpp" + "lttng/eventprovdotnetruntime.cpp" + "lttng/eventprovdotnetruntimeprivate.cpp" + "lttng/eventprovdotnetruntimerundown.cpp" + ) +add_subdirectory(tracepointprovider) + +# Install the static PAL library for VS +install (TARGETS eventprovider DESTINATION lib) + diff --git a/src/pal/src/eventprovider/lttng/eventprovdotnetruntime.cpp b/src/pal/src/eventprovider/lttng/eventprovdotnetruntime.cpp new file mode 100644 index 0000000000..c7883acf97 --- /dev/null +++ b/src/pal/src/eventprovider/lttng/eventprovdotnetruntime.cpp @@ -0,0 +1,5791 @@ +// +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. +// + +/****************************************************************** + +DO NOT MODIFY. AUTOGENERATED FILE. +This file is generated using the logic from <root>/src/inc/genXplatLttng.pl + +******************************************************************/ + + +#define TRACEPOINT_DEFINE +#define TRACEPOINT_PROBE_DYNAMIC_LINKAGE +#include "lttng/tpdotnetruntime.h" +extern "C" BOOL EventEnabledGCStart(){ return TRUE;} +extern "C" ULONG FireEtwGCStart( + const unsigned int Count, + const unsigned int Reason +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCStart()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCStart, + Count, + Reason + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCStart_V1(){ return TRUE;} +extern "C" ULONG FireEtwGCStart_V1( + const unsigned int Count, + const unsigned int Depth, + const unsigned int Reason, + const unsigned int Type, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCStart_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCStart_V1, + Count, + Depth, + Reason, + Type, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCStart_V2(){ return TRUE;} +extern "C" ULONG FireEtwGCStart_V2( + const unsigned int Count, + const unsigned int Depth, + const unsigned int Reason, + const unsigned int Type, + const unsigned short ClrInstanceID, + const unsigned __int64 ClientSequenceNumber +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCStart_V2()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCStart_V2, + Count, + Depth, + Reason, + Type, + ClrInstanceID, + ClientSequenceNumber + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCEnd(){ return TRUE;} +extern "C" ULONG FireEtwGCEnd( + const unsigned int Count, + const unsigned short Depth +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCEnd, + Count, + Depth + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwGCEnd_V1( + const unsigned int Count, + const unsigned int Depth, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCEnd_V1, + Count, + Depth, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCRestartEEEnd(){ return TRUE;} +extern "C" ULONG FireEtwGCRestartEEEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCRestartEEEnd()){ return ERROR_SUCCESS;}; + + tracepoint( + DotNETRuntime, + GCRestartEEEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCRestartEEEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwGCRestartEEEnd_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCRestartEEEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCRestartEEEnd_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCHeapStats(){ return TRUE;} +extern "C" ULONG FireEtwGCHeapStats( + const unsigned __int64 GenerationSize0, + const unsigned __int64 TotalPromotedSize0, + const unsigned __int64 GenerationSize1, + const unsigned __int64 TotalPromotedSize1, + const unsigned __int64 GenerationSize2, + const unsigned __int64 TotalPromotedSize2, + const unsigned __int64 GenerationSize3, + const unsigned __int64 TotalPromotedSize3, + const unsigned __int64 FinalizationPromotedSize, + const unsigned __int64 FinalizationPromotedCount, + const unsigned int PinnedObjectCount, + const unsigned int SinkBlockCount, + const unsigned int GCHandleCount +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCHeapStats()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCHeapStats, + GenerationSize0, + TotalPromotedSize0, + GenerationSize1, + TotalPromotedSize1, + GenerationSize2, + TotalPromotedSize2, + GenerationSize3, + TotalPromotedSize3, + FinalizationPromotedSize, + FinalizationPromotedCount + ); + + tracepoint( + DotNETRuntime, + GCHeapStats_1, + PinnedObjectCount, + SinkBlockCount, + GCHandleCount + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCHeapStats_V1(){ return TRUE;} +extern "C" ULONG FireEtwGCHeapStats_V1( + const unsigned __int64 GenerationSize0, + const unsigned __int64 TotalPromotedSize0, + const unsigned __int64 GenerationSize1, + const unsigned __int64 TotalPromotedSize1, + const unsigned __int64 GenerationSize2, + const unsigned __int64 TotalPromotedSize2, + const unsigned __int64 GenerationSize3, + const unsigned __int64 TotalPromotedSize3, + const unsigned __int64 FinalizationPromotedSize, + const unsigned __int64 FinalizationPromotedCount, + const unsigned int PinnedObjectCount, + const unsigned int SinkBlockCount, + const unsigned int GCHandleCount, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCHeapStats_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCHeapStats_V1, + GenerationSize0, + TotalPromotedSize0, + GenerationSize1, + TotalPromotedSize1, + GenerationSize2, + TotalPromotedSize2, + GenerationSize3, + TotalPromotedSize3, + FinalizationPromotedSize, + FinalizationPromotedCount + ); + + tracepoint( + DotNETRuntime, + GCHeapStats_V1_1, + PinnedObjectCount, + SinkBlockCount, + GCHandleCount, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCCreateSegment(){ return TRUE;} +extern "C" ULONG FireEtwGCCreateSegment( + const unsigned __int64 Address, + const unsigned __int64 Size, + const unsigned int Type +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCCreateSegment()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCCreateSegment, + Address, + Size, + Type + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCCreateSegment_V1(){ return TRUE;} +extern "C" ULONG FireEtwGCCreateSegment_V1( + const unsigned __int64 Address, + const unsigned __int64 Size, + const unsigned int Type, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCCreateSegment_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCCreateSegment_V1, + Address, + Size, + Type, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCFreeSegment(){ return TRUE;} +extern "C" ULONG FireEtwGCFreeSegment( + const unsigned __int64 Address +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCFreeSegment()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCFreeSegment, + Address + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCFreeSegment_V1(){ return TRUE;} +extern "C" ULONG FireEtwGCFreeSegment_V1( + const unsigned __int64 Address, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCFreeSegment_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCFreeSegment_V1, + Address, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCRestartEEBegin(){ return TRUE;} +extern "C" ULONG FireEtwGCRestartEEBegin( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCRestartEEBegin()){ return ERROR_SUCCESS;}; + + tracepoint( + DotNETRuntime, + GCRestartEEBegin + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCRestartEEBegin_V1(){ return TRUE;} +extern "C" ULONG FireEtwGCRestartEEBegin_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCRestartEEBegin_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCRestartEEBegin_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCSuspendEEEnd(){ return TRUE;} +extern "C" ULONG FireEtwGCSuspendEEEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCSuspendEEEnd()){ return ERROR_SUCCESS;}; + + tracepoint( + DotNETRuntime, + GCSuspendEEEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCSuspendEEEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwGCSuspendEEEnd_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCSuspendEEEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCSuspendEEEnd_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCSuspendEEBegin(){ return TRUE;} +extern "C" ULONG FireEtwGCSuspendEEBegin( + const unsigned short Reason +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCSuspendEEBegin()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCSuspendEEBegin, + Reason + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCSuspendEEBegin_V1(){ return TRUE;} +extern "C" ULONG FireEtwGCSuspendEEBegin_V1( + const unsigned int Reason, + const unsigned int Count, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCSuspendEEBegin_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCSuspendEEBegin_V1, + Reason, + Count, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCAllocationTick(){ return TRUE;} +extern "C" ULONG FireEtwGCAllocationTick( + const unsigned int AllocationAmount, + const unsigned int AllocationKind +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCAllocationTick()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCAllocationTick, + AllocationAmount, + AllocationKind + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCAllocationTick_V1(){ return TRUE;} +extern "C" ULONG FireEtwGCAllocationTick_V1( + const unsigned int AllocationAmount, + const unsigned int AllocationKind, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCAllocationTick_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCAllocationTick_V1, + AllocationAmount, + AllocationKind, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCAllocationTick_V2(){ return TRUE;} +extern "C" ULONG FireEtwGCAllocationTick_V2( + const unsigned int AllocationAmount, + const unsigned int AllocationKind, + const unsigned short ClrInstanceID, + const unsigned __int64 AllocationAmount64, + const void* TypeID, + PCWSTR TypeName, + const unsigned int HeapIndex +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCAllocationTick_V2()){ return ERROR_SUCCESS;}; + INT TypeName_path_size = -1; + INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1; + CHAR* TypeName_full_name=NULL; + + TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(TypeName_full_name != NULL); + if(TypeName_full_name == NULL){goto LExit;} + + TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL ); + _ASSERTE(TypeName_path_size == TypeName_full_name_path_size ); + if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + GCAllocationTick_V2, + AllocationAmount, + AllocationKind, + ClrInstanceID, + AllocationAmount64, + (const size_t) TypeID, + TypeName_full_name, + HeapIndex + ); + + Error = ERROR_SUCCESS; +LExit: + if (TypeName_full_name != NULL) {free(TypeName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledGCAllocationTick_V3(){ return TRUE;} +extern "C" ULONG FireEtwGCAllocationTick_V3( + const unsigned int AllocationAmount, + const unsigned int AllocationKind, + const unsigned short ClrInstanceID, + const unsigned __int64 AllocationAmount64, + const void* TypeID, + PCWSTR TypeName, + const unsigned int HeapIndex, + const void* Address +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCAllocationTick_V3()){ return ERROR_SUCCESS;}; + INT TypeName_path_size = -1; + INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1; + CHAR* TypeName_full_name=NULL; + + TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(TypeName_full_name != NULL); + if(TypeName_full_name == NULL){goto LExit;} + + TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL ); + _ASSERTE(TypeName_path_size == TypeName_full_name_path_size ); + if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + GCAllocationTick_V3, + AllocationAmount, + AllocationKind, + ClrInstanceID, + AllocationAmount64, + (const size_t) TypeID, + TypeName_full_name, + HeapIndex, + (const size_t) Address + ); + + Error = ERROR_SUCCESS; +LExit: + if (TypeName_full_name != NULL) {free(TypeName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledGCCreateConcurrentThread(){ return TRUE;} +extern "C" ULONG FireEtwGCCreateConcurrentThread( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCCreateConcurrentThread()){ return ERROR_SUCCESS;}; + + tracepoint( + DotNETRuntime, + GCCreateConcurrentThread + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCCreateConcurrentThread_V1(){ return TRUE;} +extern "C" ULONG FireEtwGCCreateConcurrentThread_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCCreateConcurrentThread_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCCreateConcurrentThread_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCTerminateConcurrentThread(){ return TRUE;} +extern "C" ULONG FireEtwGCTerminateConcurrentThread( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCTerminateConcurrentThread()){ return ERROR_SUCCESS;}; + + tracepoint( + DotNETRuntime, + GCTerminateConcurrentThread + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCTerminateConcurrentThread_V1(){ return TRUE;} +extern "C" ULONG FireEtwGCTerminateConcurrentThread_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCTerminateConcurrentThread_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCTerminateConcurrentThread_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCFinalizersEnd(){ return TRUE;} +extern "C" ULONG FireEtwGCFinalizersEnd( + const unsigned int Count +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCFinalizersEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCFinalizersEnd, + Count + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCFinalizersEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwGCFinalizersEnd_V1( + const unsigned int Count, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCFinalizersEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCFinalizersEnd_V1, + Count, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCFinalizersBegin(){ return TRUE;} +extern "C" ULONG FireEtwGCFinalizersBegin( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCFinalizersBegin()){ return ERROR_SUCCESS;}; + + tracepoint( + DotNETRuntime, + GCFinalizersBegin + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCFinalizersBegin_V1(){ return TRUE;} +extern "C" ULONG FireEtwGCFinalizersBegin_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCFinalizersBegin_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCFinalizersBegin_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledBulkType(){ return TRUE;} +extern "C" ULONG FireEtwBulkType( + const unsigned int Count, + const unsigned short ClrInstanceID, + const ULONG Arg2_Struct_Len_, + const void* Arg2_Struct_Pointer_ +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBulkType()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + BulkType, + Count, + ClrInstanceID, + Arg2_Struct_Len_, + (const int*) Arg2_Struct_Pointer_ + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCBulkRootEdge(){ return TRUE;} +extern "C" ULONG FireEtwGCBulkRootEdge( + const unsigned int Index, + const unsigned int Count, + const unsigned short ClrInstanceID, + const ULONG Arg3_Struct_Len_, + const void* Arg3_Struct_Pointer_ +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCBulkRootEdge()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCBulkRootEdge, + Index, + Count, + ClrInstanceID, + Arg3_Struct_Len_, + (const int*) Arg3_Struct_Pointer_ + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCBulkRootConditionalWeakTableElementEdge(){ return TRUE;} +extern "C" ULONG FireEtwGCBulkRootConditionalWeakTableElementEdge( + const unsigned int Index, + const unsigned int Count, + const unsigned short ClrInstanceID, + const ULONG Arg3_Struct_Len_, + const void* Arg3_Struct_Pointer_ +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCBulkRootConditionalWeakTableElementEdge()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCBulkRootConditionalWeakTableElementEdge, + Index, + Count, + ClrInstanceID, + Arg3_Struct_Len_, + (const int*) Arg3_Struct_Pointer_ + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCBulkNode(){ return TRUE;} +extern "C" ULONG FireEtwGCBulkNode( + const unsigned int Index, + const unsigned int Count, + const unsigned short ClrInstanceID, + const ULONG Arg3_Struct_Len_, + const void* Arg3_Struct_Pointer_ +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCBulkNode()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCBulkNode, + Index, + Count, + ClrInstanceID, + Arg3_Struct_Len_, + (const int*) Arg3_Struct_Pointer_ + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCBulkEdge(){ return TRUE;} +extern "C" ULONG FireEtwGCBulkEdge( + const unsigned int Index, + const unsigned int Count, + const unsigned short ClrInstanceID, + const ULONG Arg3_Struct_Len_, + const void* Arg3_Struct_Pointer_ +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCBulkEdge()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCBulkEdge, + Index, + Count, + ClrInstanceID, + Arg3_Struct_Len_, + (const int*) Arg3_Struct_Pointer_ + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCSampledObjectAllocationHigh(){ return TRUE;} +extern "C" ULONG FireEtwGCSampledObjectAllocationHigh( + const void* Address, + const void* TypeID, + const unsigned int ObjectCountForTypeSample, + const unsigned __int64 TotalSizeForTypeSample, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCSampledObjectAllocationHigh()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCSampledObjectAllocationHigh, + (const size_t) Address, + (const size_t) TypeID, + ObjectCountForTypeSample, + TotalSizeForTypeSample, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCBulkSurvivingObjectRanges(){ return TRUE;} +extern "C" ULONG FireEtwGCBulkSurvivingObjectRanges( + const unsigned int Index, + const unsigned int Count, + const unsigned short ClrInstanceID, + const ULONG Arg3_Struct_Len_, + const void* Arg3_Struct_Pointer_ +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCBulkSurvivingObjectRanges()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCBulkSurvivingObjectRanges, + Index, + Count, + ClrInstanceID, + Arg3_Struct_Len_, + (const int*) Arg3_Struct_Pointer_ + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCBulkMovedObjectRanges(){ return TRUE;} +extern "C" ULONG FireEtwGCBulkMovedObjectRanges( + const unsigned int Index, + const unsigned int Count, + const unsigned short ClrInstanceID, + const ULONG Arg3_Struct_Len_, + const void* Arg3_Struct_Pointer_ +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCBulkMovedObjectRanges()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCBulkMovedObjectRanges, + Index, + Count, + ClrInstanceID, + Arg3_Struct_Len_, + (const int*) Arg3_Struct_Pointer_ + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCGenerationRange(){ return TRUE;} +extern "C" ULONG FireEtwGCGenerationRange( + const unsigned char Generation, + const void* RangeStart, + const unsigned __int64 RangeUsedLength, + const unsigned __int64 RangeReservedLength, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCGenerationRange()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCGenerationRange, + Generation, + (const size_t) RangeStart, + RangeUsedLength, + RangeReservedLength, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCMarkStackRoots(){ return TRUE;} +extern "C" ULONG FireEtwGCMarkStackRoots( + const unsigned int HeapNum, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCMarkStackRoots()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCMarkStackRoots, + HeapNum, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCMarkFinalizeQueueRoots(){ return TRUE;} +extern "C" ULONG FireEtwGCMarkFinalizeQueueRoots( + const unsigned int HeapNum, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCMarkFinalizeQueueRoots()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCMarkFinalizeQueueRoots, + HeapNum, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCMarkHandles(){ return TRUE;} +extern "C" ULONG FireEtwGCMarkHandles( + const unsigned int HeapNum, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCMarkHandles()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCMarkHandles, + HeapNum, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCMarkOlderGenerationRoots(){ return TRUE;} +extern "C" ULONG FireEtwGCMarkOlderGenerationRoots( + const unsigned int HeapNum, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCMarkOlderGenerationRoots()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCMarkOlderGenerationRoots, + HeapNum, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledFinalizeObject(){ return TRUE;} +extern "C" ULONG FireEtwFinalizeObject( + const void* TypeID, + const void* ObjectID, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledFinalizeObject()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + FinalizeObject, + (const size_t) TypeID, + (const size_t) ObjectID, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledSetGCHandle(){ return TRUE;} +extern "C" ULONG FireEtwSetGCHandle( + const void* HandleID, + const void* ObjectID, + const unsigned int Kind, + const unsigned int Generation, + const unsigned __int64 AppDomainID, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledSetGCHandle()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + SetGCHandle, + (const size_t) HandleID, + (const size_t) ObjectID, + Kind, + Generation, + AppDomainID, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledDestroyGCHandle(){ return TRUE;} +extern "C" ULONG FireEtwDestroyGCHandle( + const void* HandleID, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledDestroyGCHandle()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + DestroyGCHandle, + (const size_t) HandleID, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCSampledObjectAllocationLow(){ return TRUE;} +extern "C" ULONG FireEtwGCSampledObjectAllocationLow( + const void* Address, + const void* TypeID, + const unsigned int ObjectCountForTypeSample, + const unsigned __int64 TotalSizeForTypeSample, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCSampledObjectAllocationLow()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCSampledObjectAllocationLow, + (const size_t) Address, + (const size_t) TypeID, + ObjectCountForTypeSample, + TotalSizeForTypeSample, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledPinObjectAtGCTime(){ return TRUE;} +extern "C" ULONG FireEtwPinObjectAtGCTime( + const void* HandleID, + const void* ObjectID, + const unsigned __int64 ObjectSize, + PCWSTR TypeName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledPinObjectAtGCTime()){ return ERROR_SUCCESS;}; + INT TypeName_path_size = -1; + INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1; + CHAR* TypeName_full_name=NULL; + + TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(TypeName_full_name != NULL); + if(TypeName_full_name == NULL){goto LExit;} + + TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL ); + _ASSERTE(TypeName_path_size == TypeName_full_name_path_size ); + if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + PinObjectAtGCTime, + (const size_t) HandleID, + (const size_t) ObjectID, + ObjectSize, + TypeName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (TypeName_full_name != NULL) {free(TypeName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledGCTriggered(){ return TRUE;} +extern "C" ULONG FireEtwGCTriggered( + const unsigned int Reason, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCTriggered()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCTriggered, + Reason, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCBulkRootCCW(){ return TRUE;} +extern "C" ULONG FireEtwGCBulkRootCCW( + const unsigned int Count, + const unsigned short ClrInstanceID, + const ULONG Arg2_Struct_Len_, + const void* Arg2_Struct_Pointer_ +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCBulkRootCCW()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCBulkRootCCW, + Count, + ClrInstanceID, + Arg2_Struct_Len_, + (const int*) Arg2_Struct_Pointer_ + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCBulkRCW(){ return TRUE;} +extern "C" ULONG FireEtwGCBulkRCW( + const unsigned int Count, + const unsigned short ClrInstanceID, + const ULONG Arg2_Struct_Len_, + const void* Arg2_Struct_Pointer_ +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCBulkRCW()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCBulkRCW, + Count, + ClrInstanceID, + Arg2_Struct_Len_, + (const int*) Arg2_Struct_Pointer_ + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCBulkRootStaticVar(){ return TRUE;} +extern "C" ULONG FireEtwGCBulkRootStaticVar( + const unsigned int Count, + const unsigned __int64 AppDomainID, + const unsigned short ClrInstanceID, + const ULONG Arg3_Struct_Len_, + const void* Arg3_Struct_Pointer_ +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCBulkRootStaticVar()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCBulkRootStaticVar, + Count, + AppDomainID, + ClrInstanceID, + Arg3_Struct_Len_, + (const int*) Arg3_Struct_Pointer_ + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledWorkerThreadCreate(){ return TRUE;} +extern "C" ULONG FireEtwWorkerThreadCreate( + const unsigned int WorkerThreadCount, + const unsigned int RetiredWorkerThreads +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledWorkerThreadCreate()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + WorkerThreadCreate, + WorkerThreadCount, + RetiredWorkerThreads + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledWorkerThreadTerminate(){ return TRUE;} +extern "C" ULONG FireEtwWorkerThreadTerminate( + const unsigned int WorkerThreadCount, + const unsigned int RetiredWorkerThreads +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledWorkerThreadTerminate()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + WorkerThreadTerminate, + WorkerThreadCount, + RetiredWorkerThreads + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledWorkerThreadRetire(){ return TRUE;} +extern "C" ULONG FireEtwWorkerThreadRetire( + const unsigned int WorkerThreadCount, + const unsigned int RetiredWorkerThreads +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledWorkerThreadRetire()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + WorkerThreadRetire, + WorkerThreadCount, + RetiredWorkerThreads + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledWorkerThreadUnretire(){ return TRUE;} +extern "C" ULONG FireEtwWorkerThreadUnretire( + const unsigned int WorkerThreadCount, + const unsigned int RetiredWorkerThreads +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledWorkerThreadUnretire()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + WorkerThreadUnretire, + WorkerThreadCount, + RetiredWorkerThreads + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledIOThreadCreate(){ return TRUE;} +extern "C" ULONG FireEtwIOThreadCreate( + const unsigned int IOThreadCount, + const unsigned int RetiredIOThreads +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledIOThreadCreate()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + IOThreadCreate, + IOThreadCount, + RetiredIOThreads + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledIOThreadCreate_V1(){ return TRUE;} +extern "C" ULONG FireEtwIOThreadCreate_V1( + const unsigned int IOThreadCount, + const unsigned int RetiredIOThreads, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledIOThreadCreate_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + IOThreadCreate_V1, + IOThreadCount, + RetiredIOThreads, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledIOThreadTerminate(){ return TRUE;} +extern "C" ULONG FireEtwIOThreadTerminate( + const unsigned int IOThreadCount, + const unsigned int RetiredIOThreads +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledIOThreadTerminate()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + IOThreadTerminate, + IOThreadCount, + RetiredIOThreads + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledIOThreadTerminate_V1(){ return TRUE;} +extern "C" ULONG FireEtwIOThreadTerminate_V1( + const unsigned int IOThreadCount, + const unsigned int RetiredIOThreads, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledIOThreadTerminate_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + IOThreadTerminate_V1, + IOThreadCount, + RetiredIOThreads, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledIOThreadRetire(){ return TRUE;} +extern "C" ULONG FireEtwIOThreadRetire( + const unsigned int IOThreadCount, + const unsigned int RetiredIOThreads +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledIOThreadRetire()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + IOThreadRetire, + IOThreadCount, + RetiredIOThreads + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledIOThreadRetire_V1(){ return TRUE;} +extern "C" ULONG FireEtwIOThreadRetire_V1( + const unsigned int IOThreadCount, + const unsigned int RetiredIOThreads, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledIOThreadRetire_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + IOThreadRetire_V1, + IOThreadCount, + RetiredIOThreads, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledIOThreadUnretire(){ return TRUE;} +extern "C" ULONG FireEtwIOThreadUnretire( + const unsigned int IOThreadCount, + const unsigned int RetiredIOThreads +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledIOThreadUnretire()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + IOThreadUnretire, + IOThreadCount, + RetiredIOThreads + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledIOThreadUnretire_V1(){ return TRUE;} +extern "C" ULONG FireEtwIOThreadUnretire_V1( + const unsigned int IOThreadCount, + const unsigned int RetiredIOThreads, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledIOThreadUnretire_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + IOThreadUnretire_V1, + IOThreadCount, + RetiredIOThreads, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledThreadpoolSuspensionSuspendThread(){ return TRUE;} +extern "C" ULONG FireEtwThreadpoolSuspensionSuspendThread( + const unsigned int ClrThreadID, + const unsigned int CpuUtilization +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledThreadpoolSuspensionSuspendThread()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + ThreadpoolSuspensionSuspendThread, + ClrThreadID, + CpuUtilization + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledThreadpoolSuspensionResumeThread(){ return TRUE;} +extern "C" ULONG FireEtwThreadpoolSuspensionResumeThread( + const unsigned int ClrThreadID, + const unsigned int CpuUtilization +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledThreadpoolSuspensionResumeThread()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + ThreadpoolSuspensionResumeThread, + ClrThreadID, + CpuUtilization + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledThreadPoolWorkerThreadStart(){ return TRUE;} +extern "C" ULONG FireEtwThreadPoolWorkerThreadStart( + const unsigned int ActiveWorkerThreadCount, + const unsigned int RetiredWorkerThreadCount, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledThreadPoolWorkerThreadStart()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + ThreadPoolWorkerThreadStart, + ActiveWorkerThreadCount, + RetiredWorkerThreadCount, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledThreadPoolWorkerThreadStop(){ return TRUE;} +extern "C" ULONG FireEtwThreadPoolWorkerThreadStop( + const unsigned int ActiveWorkerThreadCount, + const unsigned int RetiredWorkerThreadCount, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledThreadPoolWorkerThreadStop()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + ThreadPoolWorkerThreadStop, + ActiveWorkerThreadCount, + RetiredWorkerThreadCount, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledThreadPoolWorkerThreadRetirementStart(){ return TRUE;} +extern "C" ULONG FireEtwThreadPoolWorkerThreadRetirementStart( + const unsigned int ActiveWorkerThreadCount, + const unsigned int RetiredWorkerThreadCount, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledThreadPoolWorkerThreadRetirementStart()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + ThreadPoolWorkerThreadRetirementStart, + ActiveWorkerThreadCount, + RetiredWorkerThreadCount, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledThreadPoolWorkerThreadRetirementStop(){ return TRUE;} +extern "C" ULONG FireEtwThreadPoolWorkerThreadRetirementStop( + const unsigned int ActiveWorkerThreadCount, + const unsigned int RetiredWorkerThreadCount, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledThreadPoolWorkerThreadRetirementStop()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + ThreadPoolWorkerThreadRetirementStop, + ActiveWorkerThreadCount, + RetiredWorkerThreadCount, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledThreadPoolWorkerThreadAdjustmentSample(){ return TRUE;} +extern "C" ULONG FireEtwThreadPoolWorkerThreadAdjustmentSample( + const double Throughput, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledThreadPoolWorkerThreadAdjustmentSample()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + ThreadPoolWorkerThreadAdjustmentSample, + Throughput, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledThreadPoolWorkerThreadAdjustmentAdjustment(){ return TRUE;} +extern "C" ULONG FireEtwThreadPoolWorkerThreadAdjustmentAdjustment( + const double AverageThroughput, + const unsigned int NewWorkerThreadCount, + const unsigned int Reason, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledThreadPoolWorkerThreadAdjustmentAdjustment()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + ThreadPoolWorkerThreadAdjustmentAdjustment, + AverageThroughput, + NewWorkerThreadCount, + Reason, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledThreadPoolWorkerThreadAdjustmentStats(){ return TRUE;} +extern "C" ULONG FireEtwThreadPoolWorkerThreadAdjustmentStats( + const double Duration, + const double Throughput, + const double ThreadWave, + const double ThroughputWave, + const double ThroughputErrorEstimate, + const double AverageThroughputErrorEstimate, + const double ThroughputRatio, + const double Confidence, + const double NewControlSetting, + const unsigned short NewThreadWaveMagnitude, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledThreadPoolWorkerThreadAdjustmentStats()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + ThreadPoolWorkerThreadAdjustmentStats, + Duration, + Throughput, + ThreadWave, + ThroughputWave, + ThroughputErrorEstimate, + AverageThroughputErrorEstimate, + ThroughputRatio, + Confidence, + NewControlSetting, + NewThreadWaveMagnitude + ); + + tracepoint( + DotNETRuntime, + ThreadPoolWorkerThreadAdjustmentStats_1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledThreadPoolWorkerThreadWait(){ return TRUE;} +extern "C" ULONG FireEtwThreadPoolWorkerThreadWait( + const unsigned int ActiveWorkerThreadCount, + const unsigned int RetiredWorkerThreadCount, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledThreadPoolWorkerThreadWait()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + ThreadPoolWorkerThreadWait, + ActiveWorkerThreadCount, + RetiredWorkerThreadCount, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledThreadPoolWorkingThreadCount(){ return TRUE;} +extern "C" ULONG FireEtwThreadPoolWorkingThreadCount( + const unsigned int Count, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledThreadPoolWorkingThreadCount()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + ThreadPoolWorkingThreadCount, + Count, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledThreadPoolEnqueue(){ return TRUE;} +extern "C" ULONG FireEtwThreadPoolEnqueue( + const void* WorkID, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledThreadPoolEnqueue()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + ThreadPoolEnqueue, + (const size_t) WorkID, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledThreadPoolDequeue(){ return TRUE;} +extern "C" ULONG FireEtwThreadPoolDequeue( + const void* WorkID, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledThreadPoolDequeue()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + ThreadPoolDequeue, + (const size_t) WorkID, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledThreadPoolIOEnqueue(){ return TRUE;} +extern "C" ULONG FireEtwThreadPoolIOEnqueue( + const void* NativeOverlapped, + const void* Overlapped, + const BOOL MultiDequeues, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledThreadPoolIOEnqueue()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + ThreadPoolIOEnqueue, + (const size_t) NativeOverlapped, + (const size_t) Overlapped, + MultiDequeues, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledThreadPoolIODequeue(){ return TRUE;} +extern "C" ULONG FireEtwThreadPoolIODequeue( + const void* NativeOverlapped, + const void* Overlapped, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledThreadPoolIODequeue()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + ThreadPoolIODequeue, + (const size_t) NativeOverlapped, + (const size_t) Overlapped, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledThreadPoolIOPack(){ return TRUE;} +extern "C" ULONG FireEtwThreadPoolIOPack( + const void* NativeOverlapped, + const void* Overlapped, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledThreadPoolIOPack()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + ThreadPoolIOPack, + (const size_t) NativeOverlapped, + (const size_t) Overlapped, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledThreadCreating(){ return TRUE;} +extern "C" ULONG FireEtwThreadCreating( + const void* ID, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledThreadCreating()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + ThreadCreating, + (const size_t) ID, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledThreadRunning(){ return TRUE;} +extern "C" ULONG FireEtwThreadRunning( + const void* ID, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledThreadRunning()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + ThreadRunning, + (const size_t) ID, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledExceptionThrown(){ return TRUE;} +extern "C" ULONG FireEtwExceptionThrown( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledExceptionThrown()){ return ERROR_SUCCESS;}; + + tracepoint( + DotNETRuntime, + ExceptionThrown + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledExceptionThrown_V1(){ return TRUE;} +extern "C" ULONG FireEtwExceptionThrown_V1( + PCWSTR ExceptionType, + PCWSTR ExceptionMessage, + const void* ExceptionEIP, + const unsigned int ExceptionHRESULT, + const unsigned short ExceptionFlags, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledExceptionThrown_V1()){ return ERROR_SUCCESS;}; + INT ExceptionType_path_size = -1; + INT ExceptionType_full_name_path_size = PAL_wcslen(ExceptionType) + 1; + CHAR* ExceptionType_full_name=NULL; + INT ExceptionMessage_path_size = -1; + INT ExceptionMessage_full_name_path_size = PAL_wcslen(ExceptionMessage) + 1; + CHAR* ExceptionMessage_full_name=NULL; + + ExceptionType_full_name = (CHAR*)malloc(ExceptionType_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ExceptionType_full_name != NULL); + if(ExceptionType_full_name == NULL){goto LExit;} + + ExceptionType_path_size = WideCharToMultiByte( CP_ACP, 0, ExceptionType, -1, ExceptionType_full_name, ExceptionType_full_name_path_size, NULL, NULL ); + _ASSERTE(ExceptionType_path_size == ExceptionType_full_name_path_size ); + if( ExceptionType_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ExceptionMessage_full_name = (CHAR*)malloc(ExceptionMessage_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ExceptionMessage_full_name != NULL); + if(ExceptionMessage_full_name == NULL){goto LExit;} + + ExceptionMessage_path_size = WideCharToMultiByte( CP_ACP, 0, ExceptionMessage, -1, ExceptionMessage_full_name, ExceptionMessage_full_name_path_size, NULL, NULL ); + _ASSERTE(ExceptionMessage_path_size == ExceptionMessage_full_name_path_size ); + if( ExceptionMessage_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + ExceptionThrown_V1, + ExceptionType_full_name, + ExceptionMessage_full_name, + (const size_t) ExceptionEIP, + ExceptionHRESULT, + ExceptionFlags, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (ExceptionMessage_full_name != NULL) {free(ExceptionMessage_full_name);} + if (ExceptionType_full_name != NULL) {free(ExceptionType_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledExceptionCatchStart(){ return TRUE;} +extern "C" ULONG FireEtwExceptionCatchStart( + const unsigned __int64 EntryEIP, + const unsigned __int64 MethodID, + PCWSTR MethodName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledExceptionCatchStart()){ return ERROR_SUCCESS;}; + INT MethodName_path_size = -1; + INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1; + CHAR* MethodName_full_name=NULL; + + MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodName_full_name != NULL); + if(MethodName_full_name == NULL){goto LExit;} + + MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodName_path_size == MethodName_full_name_path_size ); + if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + ExceptionCatchStart, + EntryEIP, + MethodID, + MethodName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (MethodName_full_name != NULL) {free(MethodName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledExceptionCatchStop(){ return TRUE;} +extern "C" ULONG FireEtwExceptionCatchStop( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledExceptionCatchStop()){ return ERROR_SUCCESS;}; + + tracepoint( + DotNETRuntime, + ExceptionCatchStop + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledExceptionFinallyStart(){ return TRUE;} +extern "C" ULONG FireEtwExceptionFinallyStart( + const unsigned __int64 EntryEIP, + const unsigned __int64 MethodID, + PCWSTR MethodName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledExceptionFinallyStart()){ return ERROR_SUCCESS;}; + INT MethodName_path_size = -1; + INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1; + CHAR* MethodName_full_name=NULL; + + MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodName_full_name != NULL); + if(MethodName_full_name == NULL){goto LExit;} + + MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodName_path_size == MethodName_full_name_path_size ); + if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + ExceptionFinallyStart, + EntryEIP, + MethodID, + MethodName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (MethodName_full_name != NULL) {free(MethodName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledExceptionFinallyStop(){ return TRUE;} +extern "C" ULONG FireEtwExceptionFinallyStop( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledExceptionFinallyStop()){ return ERROR_SUCCESS;}; + + tracepoint( + DotNETRuntime, + ExceptionFinallyStop + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledExceptionFilterStart(){ return TRUE;} +extern "C" ULONG FireEtwExceptionFilterStart( + const unsigned __int64 EntryEIP, + const unsigned __int64 MethodID, + PCWSTR MethodName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledExceptionFilterStart()){ return ERROR_SUCCESS;}; + INT MethodName_path_size = -1; + INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1; + CHAR* MethodName_full_name=NULL; + + MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodName_full_name != NULL); + if(MethodName_full_name == NULL){goto LExit;} + + MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodName_path_size == MethodName_full_name_path_size ); + if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + ExceptionFilterStart, + EntryEIP, + MethodID, + MethodName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (MethodName_full_name != NULL) {free(MethodName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledExceptionFilterStop(){ return TRUE;} +extern "C" ULONG FireEtwExceptionFilterStop( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledExceptionFilterStop()){ return ERROR_SUCCESS;}; + + tracepoint( + DotNETRuntime, + ExceptionFilterStop + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledExceptionThrownStop(){ return TRUE;} +extern "C" ULONG FireEtwExceptionThrownStop( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledExceptionThrownStop()){ return ERROR_SUCCESS;}; + + tracepoint( + DotNETRuntime, + ExceptionThrownStop + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledContention(){ return TRUE;} +extern "C" ULONG FireEtwContention( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledContention()){ return ERROR_SUCCESS;}; + + tracepoint( + DotNETRuntime, + Contention + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledContentionStart_V1(){ return TRUE;} +extern "C" ULONG FireEtwContentionStart_V1( + const unsigned char ContentionFlags, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledContentionStart_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + ContentionStart_V1, + ContentionFlags, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledContentionStop(){ return TRUE;} +extern "C" ULONG FireEtwContentionStop( + const unsigned char ContentionFlags, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledContentionStop()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + ContentionStop, + ContentionFlags, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledCLRStackWalk(){ return TRUE;} +extern "C" ULONG FireEtwCLRStackWalk( + const unsigned short ClrInstanceID, + const unsigned char Reserved1, + const unsigned char Reserved2, + const unsigned int FrameCount, + const void** Stack +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledCLRStackWalk()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + CLRStackWalk, + ClrInstanceID, + Reserved1, + Reserved2, + FrameCount, + (const size_t*) Stack + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledAppDomainMemAllocated(){ return TRUE;} +extern "C" ULONG FireEtwAppDomainMemAllocated( + const unsigned __int64 AppDomainID, + const unsigned __int64 Allocated, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAppDomainMemAllocated()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + AppDomainMemAllocated, + AppDomainID, + Allocated, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledAppDomainMemSurvived(){ return TRUE;} +extern "C" ULONG FireEtwAppDomainMemSurvived( + const unsigned __int64 AppDomainID, + const unsigned __int64 Survived, + const unsigned __int64 ProcessSurvived, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAppDomainMemSurvived()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + AppDomainMemSurvived, + AppDomainID, + Survived, + ProcessSurvived, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledThreadCreated(){ return TRUE;} +extern "C" ULONG FireEtwThreadCreated( + const unsigned __int64 ManagedThreadID, + const unsigned __int64 AppDomainID, + const unsigned int Flags, + const unsigned int ManagedThreadIndex, + const unsigned int OSThreadID, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledThreadCreated()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + ThreadCreated, + ManagedThreadID, + AppDomainID, + Flags, + ManagedThreadIndex, + OSThreadID, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledThreadTerminated(){ return TRUE;} +extern "C" ULONG FireEtwThreadTerminated( + const unsigned __int64 ManagedThreadID, + const unsigned __int64 AppDomainID, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledThreadTerminated()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + ThreadTerminated, + ManagedThreadID, + AppDomainID, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledThreadDomainEnter(){ return TRUE;} +extern "C" ULONG FireEtwThreadDomainEnter( + const unsigned __int64 ManagedThreadID, + const unsigned __int64 AppDomainID, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledThreadDomainEnter()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + ThreadDomainEnter, + ManagedThreadID, + AppDomainID, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledILStubGenerated(){ return TRUE;} +extern "C" ULONG FireEtwILStubGenerated( + const unsigned short ClrInstanceID, + const unsigned __int64 ModuleID, + const unsigned __int64 StubMethodID, + const unsigned int StubFlags, + const unsigned int ManagedInteropMethodToken, + PCWSTR ManagedInteropMethodNamespace, + PCWSTR ManagedInteropMethodName, + PCWSTR ManagedInteropMethodSignature, + PCWSTR NativeMethodSignature, + PCWSTR StubMethodSignature, + PCWSTR StubMethodILCode +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledILStubGenerated()){ return ERROR_SUCCESS;}; + INT ManagedInteropMethodNamespace_path_size = -1; + INT ManagedInteropMethodNamespace_full_name_path_size = PAL_wcslen(ManagedInteropMethodNamespace) + 1; + CHAR* ManagedInteropMethodNamespace_full_name=NULL; + INT ManagedInteropMethodName_path_size = -1; + INT ManagedInteropMethodName_full_name_path_size = PAL_wcslen(ManagedInteropMethodName) + 1; + CHAR* ManagedInteropMethodName_full_name=NULL; + INT ManagedInteropMethodSignature_path_size = -1; + INT ManagedInteropMethodSignature_full_name_path_size = PAL_wcslen(ManagedInteropMethodSignature) + 1; + CHAR* ManagedInteropMethodSignature_full_name=NULL; + INT NativeMethodSignature_path_size = -1; + INT NativeMethodSignature_full_name_path_size = PAL_wcslen(NativeMethodSignature) + 1; + CHAR* NativeMethodSignature_full_name=NULL; + INT StubMethodSignature_path_size = -1; + INT StubMethodSignature_full_name_path_size = PAL_wcslen(StubMethodSignature) + 1; + CHAR* StubMethodSignature_full_name=NULL; + INT StubMethodILCode_path_size = -1; + INT StubMethodILCode_full_name_path_size = PAL_wcslen(StubMethodILCode) + 1; + CHAR* StubMethodILCode_full_name=NULL; + + ManagedInteropMethodNamespace_full_name = (CHAR*)malloc(ManagedInteropMethodNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ManagedInteropMethodNamespace_full_name != NULL); + if(ManagedInteropMethodNamespace_full_name == NULL){goto LExit;} + + ManagedInteropMethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedInteropMethodNamespace, -1, ManagedInteropMethodNamespace_full_name, ManagedInteropMethodNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(ManagedInteropMethodNamespace_path_size == ManagedInteropMethodNamespace_full_name_path_size ); + if( ManagedInteropMethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ManagedInteropMethodName_full_name = (CHAR*)malloc(ManagedInteropMethodName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ManagedInteropMethodName_full_name != NULL); + if(ManagedInteropMethodName_full_name == NULL){goto LExit;} + + ManagedInteropMethodName_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedInteropMethodName, -1, ManagedInteropMethodName_full_name, ManagedInteropMethodName_full_name_path_size, NULL, NULL ); + _ASSERTE(ManagedInteropMethodName_path_size == ManagedInteropMethodName_full_name_path_size ); + if( ManagedInteropMethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ManagedInteropMethodSignature_full_name = (CHAR*)malloc(ManagedInteropMethodSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ManagedInteropMethodSignature_full_name != NULL); + if(ManagedInteropMethodSignature_full_name == NULL){goto LExit;} + + ManagedInteropMethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedInteropMethodSignature, -1, ManagedInteropMethodSignature_full_name, ManagedInteropMethodSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(ManagedInteropMethodSignature_path_size == ManagedInteropMethodSignature_full_name_path_size ); + if( ManagedInteropMethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + NativeMethodSignature_full_name = (CHAR*)malloc(NativeMethodSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(NativeMethodSignature_full_name != NULL); + if(NativeMethodSignature_full_name == NULL){goto LExit;} + + NativeMethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, NativeMethodSignature, -1, NativeMethodSignature_full_name, NativeMethodSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(NativeMethodSignature_path_size == NativeMethodSignature_full_name_path_size ); + if( NativeMethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + StubMethodSignature_full_name = (CHAR*)malloc(StubMethodSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(StubMethodSignature_full_name != NULL); + if(StubMethodSignature_full_name == NULL){goto LExit;} + + StubMethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, StubMethodSignature, -1, StubMethodSignature_full_name, StubMethodSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(StubMethodSignature_path_size == StubMethodSignature_full_name_path_size ); + if( StubMethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + StubMethodILCode_full_name = (CHAR*)malloc(StubMethodILCode_full_name_path_size*sizeof(CHAR)); + _ASSERTE(StubMethodILCode_full_name != NULL); + if(StubMethodILCode_full_name == NULL){goto LExit;} + + StubMethodILCode_path_size = WideCharToMultiByte( CP_ACP, 0, StubMethodILCode, -1, StubMethodILCode_full_name, StubMethodILCode_full_name_path_size, NULL, NULL ); + _ASSERTE(StubMethodILCode_path_size == StubMethodILCode_full_name_path_size ); + if( StubMethodILCode_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + ILStubGenerated, + ClrInstanceID, + ModuleID, + StubMethodID, + StubFlags, + ManagedInteropMethodToken, + ManagedInteropMethodNamespace_full_name, + ManagedInteropMethodName_full_name, + ManagedInteropMethodSignature_full_name, + NativeMethodSignature_full_name, + StubMethodSignature_full_name + ); + + tracepoint( + DotNETRuntime, + ILStubGenerated_1, + StubMethodILCode_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (StubMethodILCode_full_name != NULL) {free(StubMethodILCode_full_name);} + if (StubMethodSignature_full_name != NULL) {free(StubMethodSignature_full_name);} + if (NativeMethodSignature_full_name != NULL) {free(NativeMethodSignature_full_name);} + if (ManagedInteropMethodSignature_full_name != NULL) {free(ManagedInteropMethodSignature_full_name);} + if (ManagedInteropMethodName_full_name != NULL) {free(ManagedInteropMethodName_full_name);} + if (ManagedInteropMethodNamespace_full_name != NULL) {free(ManagedInteropMethodNamespace_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledILStubCacheHit(){ return TRUE;} +extern "C" ULONG FireEtwILStubCacheHit( + const unsigned short ClrInstanceID, + const unsigned __int64 ModuleID, + const unsigned __int64 StubMethodID, + const unsigned int ManagedInteropMethodToken, + PCWSTR ManagedInteropMethodNamespace, + PCWSTR ManagedInteropMethodName, + PCWSTR ManagedInteropMethodSignature +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledILStubCacheHit()){ return ERROR_SUCCESS;}; + INT ManagedInteropMethodNamespace_path_size = -1; + INT ManagedInteropMethodNamespace_full_name_path_size = PAL_wcslen(ManagedInteropMethodNamespace) + 1; + CHAR* ManagedInteropMethodNamespace_full_name=NULL; + INT ManagedInteropMethodName_path_size = -1; + INT ManagedInteropMethodName_full_name_path_size = PAL_wcslen(ManagedInteropMethodName) + 1; + CHAR* ManagedInteropMethodName_full_name=NULL; + INT ManagedInteropMethodSignature_path_size = -1; + INT ManagedInteropMethodSignature_full_name_path_size = PAL_wcslen(ManagedInteropMethodSignature) + 1; + CHAR* ManagedInteropMethodSignature_full_name=NULL; + + ManagedInteropMethodNamespace_full_name = (CHAR*)malloc(ManagedInteropMethodNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ManagedInteropMethodNamespace_full_name != NULL); + if(ManagedInteropMethodNamespace_full_name == NULL){goto LExit;} + + ManagedInteropMethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedInteropMethodNamespace, -1, ManagedInteropMethodNamespace_full_name, ManagedInteropMethodNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(ManagedInteropMethodNamespace_path_size == ManagedInteropMethodNamespace_full_name_path_size ); + if( ManagedInteropMethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ManagedInteropMethodName_full_name = (CHAR*)malloc(ManagedInteropMethodName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ManagedInteropMethodName_full_name != NULL); + if(ManagedInteropMethodName_full_name == NULL){goto LExit;} + + ManagedInteropMethodName_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedInteropMethodName, -1, ManagedInteropMethodName_full_name, ManagedInteropMethodName_full_name_path_size, NULL, NULL ); + _ASSERTE(ManagedInteropMethodName_path_size == ManagedInteropMethodName_full_name_path_size ); + if( ManagedInteropMethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ManagedInteropMethodSignature_full_name = (CHAR*)malloc(ManagedInteropMethodSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ManagedInteropMethodSignature_full_name != NULL); + if(ManagedInteropMethodSignature_full_name == NULL){goto LExit;} + + ManagedInteropMethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedInteropMethodSignature, -1, ManagedInteropMethodSignature_full_name, ManagedInteropMethodSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(ManagedInteropMethodSignature_path_size == ManagedInteropMethodSignature_full_name_path_size ); + if( ManagedInteropMethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + ILStubCacheHit, + ClrInstanceID, + ModuleID, + StubMethodID, + ManagedInteropMethodToken, + ManagedInteropMethodNamespace_full_name, + ManagedInteropMethodName_full_name, + ManagedInteropMethodSignature_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (ManagedInteropMethodSignature_full_name != NULL) {free(ManagedInteropMethodSignature_full_name);} + if (ManagedInteropMethodName_full_name != NULL) {free(ManagedInteropMethodName_full_name);} + if (ManagedInteropMethodNamespace_full_name != NULL) {free(ManagedInteropMethodNamespace_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledDCStartCompleteV2(){ return TRUE;} +extern "C" ULONG FireEtwDCStartCompleteV2( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledDCStartCompleteV2()){ return ERROR_SUCCESS;}; + + tracepoint( + DotNETRuntime, + DCStartCompleteV2 + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledDCEndCompleteV2(){ return TRUE;} +extern "C" ULONG FireEtwDCEndCompleteV2( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledDCEndCompleteV2()){ return ERROR_SUCCESS;}; + + tracepoint( + DotNETRuntime, + DCEndCompleteV2 + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledMethodDCStartV2(){ return TRUE;} +extern "C" ULONG FireEtwMethodDCStartV2( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodDCStartV2()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + MethodDCStartV2, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledMethodDCEndV2(){ return TRUE;} +extern "C" ULONG FireEtwMethodDCEndV2( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodDCEndV2()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + MethodDCEndV2, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledMethodDCStartVerboseV2(){ return TRUE;} +extern "C" ULONG FireEtwMethodDCStartVerboseV2( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodDCStartVerboseV2()){ return ERROR_SUCCESS;}; + INT MethodNamespace_path_size = -1; + INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1; + CHAR* MethodNamespace_full_name=NULL; + INT MethodName_path_size = -1; + INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1; + CHAR* MethodName_full_name=NULL; + INT MethodSignature_path_size = -1; + INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1; + CHAR* MethodSignature_full_name=NULL; + + MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodNamespace_full_name != NULL); + if(MethodNamespace_full_name == NULL){goto LExit;} + + MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size ); + if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodName_full_name != NULL); + if(MethodName_full_name == NULL){goto LExit;} + + MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodName_path_size == MethodName_full_name_path_size ); + if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodSignature_full_name != NULL); + if(MethodSignature_full_name == NULL){goto LExit;} + + MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size ); + if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + MethodDCStartVerboseV2, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags, + MethodNamespace_full_name, + MethodName_full_name, + MethodSignature_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);} + if (MethodName_full_name != NULL) {free(MethodName_full_name);} + if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledMethodDCEndVerboseV2(){ return TRUE;} +extern "C" ULONG FireEtwMethodDCEndVerboseV2( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodDCEndVerboseV2()){ return ERROR_SUCCESS;}; + INT MethodNamespace_path_size = -1; + INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1; + CHAR* MethodNamespace_full_name=NULL; + INT MethodName_path_size = -1; + INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1; + CHAR* MethodName_full_name=NULL; + INT MethodSignature_path_size = -1; + INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1; + CHAR* MethodSignature_full_name=NULL; + + MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodNamespace_full_name != NULL); + if(MethodNamespace_full_name == NULL){goto LExit;} + + MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size ); + if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodName_full_name != NULL); + if(MethodName_full_name == NULL){goto LExit;} + + MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodName_path_size == MethodName_full_name_path_size ); + if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodSignature_full_name != NULL); + if(MethodSignature_full_name == NULL){goto LExit;} + + MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size ); + if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + MethodDCEndVerboseV2, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags, + MethodNamespace_full_name, + MethodName_full_name, + MethodSignature_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);} + if (MethodName_full_name != NULL) {free(MethodName_full_name);} + if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledMethodLoad(){ return TRUE;} +extern "C" ULONG FireEtwMethodLoad( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodLoad()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + MethodLoad, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledMethodLoad_V1(){ return TRUE;} +extern "C" ULONG FireEtwMethodLoad_V1( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodLoad_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + MethodLoad_V1, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledMethodLoad_V2(){ return TRUE;} +extern "C" ULONG FireEtwMethodLoad_V2( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + const unsigned short ClrInstanceID, + const unsigned __int64 ReJITID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodLoad_V2()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + MethodLoad_V2, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags, + ClrInstanceID, + ReJITID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledMethodUnload(){ return TRUE;} +extern "C" ULONG FireEtwMethodUnload( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodUnload()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + MethodUnload, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledMethodUnload_V1(){ return TRUE;} +extern "C" ULONG FireEtwMethodUnload_V1( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodUnload_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + MethodUnload_V1, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledMethodUnload_V2(){ return TRUE;} +extern "C" ULONG FireEtwMethodUnload_V2( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + const unsigned short ClrInstanceID, + const unsigned __int64 ReJITID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodUnload_V2()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + MethodUnload_V2, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags, + ClrInstanceID, + ReJITID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledMethodLoadVerbose(){ return TRUE;} +extern "C" ULONG FireEtwMethodLoadVerbose( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodLoadVerbose()){ return ERROR_SUCCESS;}; + INT MethodNamespace_path_size = -1; + INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1; + CHAR* MethodNamespace_full_name=NULL; + INT MethodName_path_size = -1; + INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1; + CHAR* MethodName_full_name=NULL; + INT MethodSignature_path_size = -1; + INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1; + CHAR* MethodSignature_full_name=NULL; + + MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodNamespace_full_name != NULL); + if(MethodNamespace_full_name == NULL){goto LExit;} + + MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size ); + if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodName_full_name != NULL); + if(MethodName_full_name == NULL){goto LExit;} + + MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodName_path_size == MethodName_full_name_path_size ); + if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodSignature_full_name != NULL); + if(MethodSignature_full_name == NULL){goto LExit;} + + MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size ); + if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + MethodLoadVerbose, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags, + MethodNamespace_full_name, + MethodName_full_name, + MethodSignature_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);} + if (MethodName_full_name != NULL) {free(MethodName_full_name);} + if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledMethodLoadVerbose_V1(){ return TRUE;} +extern "C" ULONG FireEtwMethodLoadVerbose_V1( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodLoadVerbose_V1()){ return ERROR_SUCCESS;}; + INT MethodNamespace_path_size = -1; + INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1; + CHAR* MethodNamespace_full_name=NULL; + INT MethodName_path_size = -1; + INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1; + CHAR* MethodName_full_name=NULL; + INT MethodSignature_path_size = -1; + INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1; + CHAR* MethodSignature_full_name=NULL; + + MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodNamespace_full_name != NULL); + if(MethodNamespace_full_name == NULL){goto LExit;} + + MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size ); + if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodName_full_name != NULL); + if(MethodName_full_name == NULL){goto LExit;} + + MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodName_path_size == MethodName_full_name_path_size ); + if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodSignature_full_name != NULL); + if(MethodSignature_full_name == NULL){goto LExit;} + + MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size ); + if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + MethodLoadVerbose_V1, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags, + MethodNamespace_full_name, + MethodName_full_name, + MethodSignature_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);} + if (MethodName_full_name != NULL) {free(MethodName_full_name);} + if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledMethodLoadVerbose_V2(){ return TRUE;} +extern "C" ULONG FireEtwMethodLoadVerbose_V2( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature, + const unsigned short ClrInstanceID, + const unsigned __int64 ReJITID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodLoadVerbose_V2()){ return ERROR_SUCCESS;}; + INT MethodNamespace_path_size = -1; + INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1; + CHAR* MethodNamespace_full_name=NULL; + INT MethodName_path_size = -1; + INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1; + CHAR* MethodName_full_name=NULL; + INT MethodSignature_path_size = -1; + INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1; + CHAR* MethodSignature_full_name=NULL; + + MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodNamespace_full_name != NULL); + if(MethodNamespace_full_name == NULL){goto LExit;} + + MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size ); + if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodName_full_name != NULL); + if(MethodName_full_name == NULL){goto LExit;} + + MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodName_path_size == MethodName_full_name_path_size ); + if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodSignature_full_name != NULL); + if(MethodSignature_full_name == NULL){goto LExit;} + + MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size ); + if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + MethodLoadVerbose_V2, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags, + MethodNamespace_full_name, + MethodName_full_name, + MethodSignature_full_name, + ClrInstanceID + ); + + tracepoint( + DotNETRuntime, + MethodLoadVerbose_V2_1, + ReJITID + ); + + Error = ERROR_SUCCESS; +LExit: + if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);} + if (MethodName_full_name != NULL) {free(MethodName_full_name);} + if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledMethodUnloadVerbose(){ return TRUE;} +extern "C" ULONG FireEtwMethodUnloadVerbose( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodUnloadVerbose()){ return ERROR_SUCCESS;}; + INT MethodNamespace_path_size = -1; + INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1; + CHAR* MethodNamespace_full_name=NULL; + INT MethodName_path_size = -1; + INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1; + CHAR* MethodName_full_name=NULL; + INT MethodSignature_path_size = -1; + INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1; + CHAR* MethodSignature_full_name=NULL; + + MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodNamespace_full_name != NULL); + if(MethodNamespace_full_name == NULL){goto LExit;} + + MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size ); + if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodName_full_name != NULL); + if(MethodName_full_name == NULL){goto LExit;} + + MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodName_path_size == MethodName_full_name_path_size ); + if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodSignature_full_name != NULL); + if(MethodSignature_full_name == NULL){goto LExit;} + + MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size ); + if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + MethodUnloadVerbose, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags, + MethodNamespace_full_name, + MethodName_full_name, + MethodSignature_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);} + if (MethodName_full_name != NULL) {free(MethodName_full_name);} + if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledMethodUnloadVerbose_V1(){ return TRUE;} +extern "C" ULONG FireEtwMethodUnloadVerbose_V1( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodUnloadVerbose_V1()){ return ERROR_SUCCESS;}; + INT MethodNamespace_path_size = -1; + INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1; + CHAR* MethodNamespace_full_name=NULL; + INT MethodName_path_size = -1; + INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1; + CHAR* MethodName_full_name=NULL; + INT MethodSignature_path_size = -1; + INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1; + CHAR* MethodSignature_full_name=NULL; + + MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodNamespace_full_name != NULL); + if(MethodNamespace_full_name == NULL){goto LExit;} + + MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size ); + if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodName_full_name != NULL); + if(MethodName_full_name == NULL){goto LExit;} + + MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodName_path_size == MethodName_full_name_path_size ); + if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodSignature_full_name != NULL); + if(MethodSignature_full_name == NULL){goto LExit;} + + MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size ); + if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + MethodUnloadVerbose_V1, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags, + MethodNamespace_full_name, + MethodName_full_name, + MethodSignature_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);} + if (MethodName_full_name != NULL) {free(MethodName_full_name);} + if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledMethodUnloadVerbose_V2(){ return TRUE;} +extern "C" ULONG FireEtwMethodUnloadVerbose_V2( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature, + const unsigned short ClrInstanceID, + const unsigned __int64 ReJITID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodUnloadVerbose_V2()){ return ERROR_SUCCESS;}; + INT MethodNamespace_path_size = -1; + INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1; + CHAR* MethodNamespace_full_name=NULL; + INT MethodName_path_size = -1; + INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1; + CHAR* MethodName_full_name=NULL; + INT MethodSignature_path_size = -1; + INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1; + CHAR* MethodSignature_full_name=NULL; + + MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodNamespace_full_name != NULL); + if(MethodNamespace_full_name == NULL){goto LExit;} + + MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size ); + if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodName_full_name != NULL); + if(MethodName_full_name == NULL){goto LExit;} + + MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodName_path_size == MethodName_full_name_path_size ); + if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodSignature_full_name != NULL); + if(MethodSignature_full_name == NULL){goto LExit;} + + MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size ); + if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + MethodUnloadVerbose_V2, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags, + MethodNamespace_full_name, + MethodName_full_name, + MethodSignature_full_name, + ClrInstanceID + ); + + tracepoint( + DotNETRuntime, + MethodUnloadVerbose_V2_1, + ReJITID + ); + + Error = ERROR_SUCCESS; +LExit: + if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);} + if (MethodName_full_name != NULL) {free(MethodName_full_name);} + if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledMethodJittingStarted(){ return TRUE;} +extern "C" ULONG FireEtwMethodJittingStarted( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned int MethodToken, + const unsigned int MethodILSize, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodJittingStarted()){ return ERROR_SUCCESS;}; + INT MethodNamespace_path_size = -1; + INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1; + CHAR* MethodNamespace_full_name=NULL; + INT MethodName_path_size = -1; + INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1; + CHAR* MethodName_full_name=NULL; + INT MethodSignature_path_size = -1; + INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1; + CHAR* MethodSignature_full_name=NULL; + + MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodNamespace_full_name != NULL); + if(MethodNamespace_full_name == NULL){goto LExit;} + + MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size ); + if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodName_full_name != NULL); + if(MethodName_full_name == NULL){goto LExit;} + + MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodName_path_size == MethodName_full_name_path_size ); + if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodSignature_full_name != NULL); + if(MethodSignature_full_name == NULL){goto LExit;} + + MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size ); + if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + MethodJittingStarted, + MethodID, + ModuleID, + MethodToken, + MethodILSize, + MethodNamespace_full_name, + MethodName_full_name, + MethodSignature_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);} + if (MethodName_full_name != NULL) {free(MethodName_full_name);} + if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledMethodJittingStarted_V1(){ return TRUE;} +extern "C" ULONG FireEtwMethodJittingStarted_V1( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned int MethodToken, + const unsigned int MethodILSize, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodJittingStarted_V1()){ return ERROR_SUCCESS;}; + INT MethodNamespace_path_size = -1; + INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1; + CHAR* MethodNamespace_full_name=NULL; + INT MethodName_path_size = -1; + INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1; + CHAR* MethodName_full_name=NULL; + INT MethodSignature_path_size = -1; + INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1; + CHAR* MethodSignature_full_name=NULL; + + MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodNamespace_full_name != NULL); + if(MethodNamespace_full_name == NULL){goto LExit;} + + MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size ); + if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodName_full_name != NULL); + if(MethodName_full_name == NULL){goto LExit;} + + MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodName_path_size == MethodName_full_name_path_size ); + if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodSignature_full_name != NULL); + if(MethodSignature_full_name == NULL){goto LExit;} + + MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size ); + if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + MethodJittingStarted_V1, + MethodID, + ModuleID, + MethodToken, + MethodILSize, + MethodNamespace_full_name, + MethodName_full_name, + MethodSignature_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);} + if (MethodName_full_name != NULL) {free(MethodName_full_name);} + if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledMethodJitInliningSucceeded(){ return TRUE;} +extern "C" ULONG FireEtwMethodJitInliningSucceeded( + PCWSTR MethodBeingCompiledNamespace, + PCWSTR MethodBeingCompiledName, + PCWSTR MethodBeingCompiledNameSignature, + PCWSTR InlinerNamespace, + PCWSTR InlinerName, + PCWSTR InlinerNameSignature, + PCWSTR InlineeNamespace, + PCWSTR InlineeName, + PCWSTR InlineeNameSignature, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodJitInliningSucceeded()){ return ERROR_SUCCESS;}; + INT MethodBeingCompiledNamespace_path_size = -1; + INT MethodBeingCompiledNamespace_full_name_path_size = PAL_wcslen(MethodBeingCompiledNamespace) + 1; + CHAR* MethodBeingCompiledNamespace_full_name=NULL; + INT MethodBeingCompiledName_path_size = -1; + INT MethodBeingCompiledName_full_name_path_size = PAL_wcslen(MethodBeingCompiledName) + 1; + CHAR* MethodBeingCompiledName_full_name=NULL; + INT MethodBeingCompiledNameSignature_path_size = -1; + INT MethodBeingCompiledNameSignature_full_name_path_size = PAL_wcslen(MethodBeingCompiledNameSignature) + 1; + CHAR* MethodBeingCompiledNameSignature_full_name=NULL; + INT InlinerNamespace_path_size = -1; + INT InlinerNamespace_full_name_path_size = PAL_wcslen(InlinerNamespace) + 1; + CHAR* InlinerNamespace_full_name=NULL; + INT InlinerName_path_size = -1; + INT InlinerName_full_name_path_size = PAL_wcslen(InlinerName) + 1; + CHAR* InlinerName_full_name=NULL; + INT InlinerNameSignature_path_size = -1; + INT InlinerNameSignature_full_name_path_size = PAL_wcslen(InlinerNameSignature) + 1; + CHAR* InlinerNameSignature_full_name=NULL; + INT InlineeNamespace_path_size = -1; + INT InlineeNamespace_full_name_path_size = PAL_wcslen(InlineeNamespace) + 1; + CHAR* InlineeNamespace_full_name=NULL; + INT InlineeName_path_size = -1; + INT InlineeName_full_name_path_size = PAL_wcslen(InlineeName) + 1; + CHAR* InlineeName_full_name=NULL; + INT InlineeNameSignature_path_size = -1; + INT InlineeNameSignature_full_name_path_size = PAL_wcslen(InlineeNameSignature) + 1; + CHAR* InlineeNameSignature_full_name=NULL; + + MethodBeingCompiledNamespace_full_name = (CHAR*)malloc(MethodBeingCompiledNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodBeingCompiledNamespace_full_name != NULL); + if(MethodBeingCompiledNamespace_full_name == NULL){goto LExit;} + + MethodBeingCompiledNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNamespace, -1, MethodBeingCompiledNamespace_full_name, MethodBeingCompiledNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodBeingCompiledNamespace_path_size == MethodBeingCompiledNamespace_full_name_path_size ); + if( MethodBeingCompiledNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodBeingCompiledName_full_name = (CHAR*)malloc(MethodBeingCompiledName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodBeingCompiledName_full_name != NULL); + if(MethodBeingCompiledName_full_name == NULL){goto LExit;} + + MethodBeingCompiledName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledName, -1, MethodBeingCompiledName_full_name, MethodBeingCompiledName_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodBeingCompiledName_path_size == MethodBeingCompiledName_full_name_path_size ); + if( MethodBeingCompiledName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodBeingCompiledNameSignature_full_name = (CHAR*)malloc(MethodBeingCompiledNameSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodBeingCompiledNameSignature_full_name != NULL); + if(MethodBeingCompiledNameSignature_full_name == NULL){goto LExit;} + + MethodBeingCompiledNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNameSignature, -1, MethodBeingCompiledNameSignature_full_name, MethodBeingCompiledNameSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodBeingCompiledNameSignature_path_size == MethodBeingCompiledNameSignature_full_name_path_size ); + if( MethodBeingCompiledNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + InlinerNamespace_full_name = (CHAR*)malloc(InlinerNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(InlinerNamespace_full_name != NULL); + if(InlinerNamespace_full_name == NULL){goto LExit;} + + InlinerNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, InlinerNamespace, -1, InlinerNamespace_full_name, InlinerNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(InlinerNamespace_path_size == InlinerNamespace_full_name_path_size ); + if( InlinerNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + InlinerName_full_name = (CHAR*)malloc(InlinerName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(InlinerName_full_name != NULL); + if(InlinerName_full_name == NULL){goto LExit;} + + InlinerName_path_size = WideCharToMultiByte( CP_ACP, 0, InlinerName, -1, InlinerName_full_name, InlinerName_full_name_path_size, NULL, NULL ); + _ASSERTE(InlinerName_path_size == InlinerName_full_name_path_size ); + if( InlinerName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + InlinerNameSignature_full_name = (CHAR*)malloc(InlinerNameSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(InlinerNameSignature_full_name != NULL); + if(InlinerNameSignature_full_name == NULL){goto LExit;} + + InlinerNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, InlinerNameSignature, -1, InlinerNameSignature_full_name, InlinerNameSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(InlinerNameSignature_path_size == InlinerNameSignature_full_name_path_size ); + if( InlinerNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + InlineeNamespace_full_name = (CHAR*)malloc(InlineeNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(InlineeNamespace_full_name != NULL); + if(InlineeNamespace_full_name == NULL){goto LExit;} + + InlineeNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, InlineeNamespace, -1, InlineeNamespace_full_name, InlineeNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(InlineeNamespace_path_size == InlineeNamespace_full_name_path_size ); + if( InlineeNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + InlineeName_full_name = (CHAR*)malloc(InlineeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(InlineeName_full_name != NULL); + if(InlineeName_full_name == NULL){goto LExit;} + + InlineeName_path_size = WideCharToMultiByte( CP_ACP, 0, InlineeName, -1, InlineeName_full_name, InlineeName_full_name_path_size, NULL, NULL ); + _ASSERTE(InlineeName_path_size == InlineeName_full_name_path_size ); + if( InlineeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + InlineeNameSignature_full_name = (CHAR*)malloc(InlineeNameSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(InlineeNameSignature_full_name != NULL); + if(InlineeNameSignature_full_name == NULL){goto LExit;} + + InlineeNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, InlineeNameSignature, -1, InlineeNameSignature_full_name, InlineeNameSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(InlineeNameSignature_path_size == InlineeNameSignature_full_name_path_size ); + if( InlineeNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + MethodJitInliningSucceeded, + MethodBeingCompiledNamespace_full_name, + MethodBeingCompiledName_full_name, + MethodBeingCompiledNameSignature_full_name, + InlinerNamespace_full_name, + InlinerName_full_name, + InlinerNameSignature_full_name, + InlineeNamespace_full_name, + InlineeName_full_name, + InlineeNameSignature_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (InlineeNameSignature_full_name != NULL) {free(InlineeNameSignature_full_name);} + if (InlineeName_full_name != NULL) {free(InlineeName_full_name);} + if (InlineeNamespace_full_name != NULL) {free(InlineeNamespace_full_name);} + if (InlinerNameSignature_full_name != NULL) {free(InlinerNameSignature_full_name);} + if (InlinerName_full_name != NULL) {free(InlinerName_full_name);} + if (InlinerNamespace_full_name != NULL) {free(InlinerNamespace_full_name);} + if (MethodBeingCompiledNameSignature_full_name != NULL) {free(MethodBeingCompiledNameSignature_full_name);} + if (MethodBeingCompiledName_full_name != NULL) {free(MethodBeingCompiledName_full_name);} + if (MethodBeingCompiledNamespace_full_name != NULL) {free(MethodBeingCompiledNamespace_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledMethodJitInliningFailed(){ return TRUE;} +extern "C" ULONG FireEtwMethodJitInliningFailed( + PCWSTR MethodBeingCompiledNamespace, + PCWSTR MethodBeingCompiledName, + PCWSTR MethodBeingCompiledNameSignature, + PCWSTR InlinerNamespace, + PCWSTR InlinerName, + PCWSTR InlinerNameSignature, + PCWSTR InlineeNamespace, + PCWSTR InlineeName, + PCWSTR InlineeNameSignature, + const BOOL FailAlways, + LPCSTR FailReason, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodJitInliningFailed()){ return ERROR_SUCCESS;}; + INT MethodBeingCompiledNamespace_path_size = -1; + INT MethodBeingCompiledNamespace_full_name_path_size = PAL_wcslen(MethodBeingCompiledNamespace) + 1; + CHAR* MethodBeingCompiledNamespace_full_name=NULL; + INT MethodBeingCompiledName_path_size = -1; + INT MethodBeingCompiledName_full_name_path_size = PAL_wcslen(MethodBeingCompiledName) + 1; + CHAR* MethodBeingCompiledName_full_name=NULL; + INT MethodBeingCompiledNameSignature_path_size = -1; + INT MethodBeingCompiledNameSignature_full_name_path_size = PAL_wcslen(MethodBeingCompiledNameSignature) + 1; + CHAR* MethodBeingCompiledNameSignature_full_name=NULL; + INT InlinerNamespace_path_size = -1; + INT InlinerNamespace_full_name_path_size = PAL_wcslen(InlinerNamespace) + 1; + CHAR* InlinerNamespace_full_name=NULL; + INT InlinerName_path_size = -1; + INT InlinerName_full_name_path_size = PAL_wcslen(InlinerName) + 1; + CHAR* InlinerName_full_name=NULL; + INT InlinerNameSignature_path_size = -1; + INT InlinerNameSignature_full_name_path_size = PAL_wcslen(InlinerNameSignature) + 1; + CHAR* InlinerNameSignature_full_name=NULL; + INT InlineeNamespace_path_size = -1; + INT InlineeNamespace_full_name_path_size = PAL_wcslen(InlineeNamespace) + 1; + CHAR* InlineeNamespace_full_name=NULL; + INT InlineeName_path_size = -1; + INT InlineeName_full_name_path_size = PAL_wcslen(InlineeName) + 1; + CHAR* InlineeName_full_name=NULL; + INT InlineeNameSignature_path_size = -1; + INT InlineeNameSignature_full_name_path_size = PAL_wcslen(InlineeNameSignature) + 1; + CHAR* InlineeNameSignature_full_name=NULL; + + MethodBeingCompiledNamespace_full_name = (CHAR*)malloc(MethodBeingCompiledNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodBeingCompiledNamespace_full_name != NULL); + if(MethodBeingCompiledNamespace_full_name == NULL){goto LExit;} + + MethodBeingCompiledNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNamespace, -1, MethodBeingCompiledNamespace_full_name, MethodBeingCompiledNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodBeingCompiledNamespace_path_size == MethodBeingCompiledNamespace_full_name_path_size ); + if( MethodBeingCompiledNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodBeingCompiledName_full_name = (CHAR*)malloc(MethodBeingCompiledName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodBeingCompiledName_full_name != NULL); + if(MethodBeingCompiledName_full_name == NULL){goto LExit;} + + MethodBeingCompiledName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledName, -1, MethodBeingCompiledName_full_name, MethodBeingCompiledName_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodBeingCompiledName_path_size == MethodBeingCompiledName_full_name_path_size ); + if( MethodBeingCompiledName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodBeingCompiledNameSignature_full_name = (CHAR*)malloc(MethodBeingCompiledNameSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodBeingCompiledNameSignature_full_name != NULL); + if(MethodBeingCompiledNameSignature_full_name == NULL){goto LExit;} + + MethodBeingCompiledNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNameSignature, -1, MethodBeingCompiledNameSignature_full_name, MethodBeingCompiledNameSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodBeingCompiledNameSignature_path_size == MethodBeingCompiledNameSignature_full_name_path_size ); + if( MethodBeingCompiledNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + InlinerNamespace_full_name = (CHAR*)malloc(InlinerNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(InlinerNamespace_full_name != NULL); + if(InlinerNamespace_full_name == NULL){goto LExit;} + + InlinerNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, InlinerNamespace, -1, InlinerNamespace_full_name, InlinerNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(InlinerNamespace_path_size == InlinerNamespace_full_name_path_size ); + if( InlinerNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + InlinerName_full_name = (CHAR*)malloc(InlinerName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(InlinerName_full_name != NULL); + if(InlinerName_full_name == NULL){goto LExit;} + + InlinerName_path_size = WideCharToMultiByte( CP_ACP, 0, InlinerName, -1, InlinerName_full_name, InlinerName_full_name_path_size, NULL, NULL ); + _ASSERTE(InlinerName_path_size == InlinerName_full_name_path_size ); + if( InlinerName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + InlinerNameSignature_full_name = (CHAR*)malloc(InlinerNameSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(InlinerNameSignature_full_name != NULL); + if(InlinerNameSignature_full_name == NULL){goto LExit;} + + InlinerNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, InlinerNameSignature, -1, InlinerNameSignature_full_name, InlinerNameSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(InlinerNameSignature_path_size == InlinerNameSignature_full_name_path_size ); + if( InlinerNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + InlineeNamespace_full_name = (CHAR*)malloc(InlineeNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(InlineeNamespace_full_name != NULL); + if(InlineeNamespace_full_name == NULL){goto LExit;} + + InlineeNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, InlineeNamespace, -1, InlineeNamespace_full_name, InlineeNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(InlineeNamespace_path_size == InlineeNamespace_full_name_path_size ); + if( InlineeNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + InlineeName_full_name = (CHAR*)malloc(InlineeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(InlineeName_full_name != NULL); + if(InlineeName_full_name == NULL){goto LExit;} + + InlineeName_path_size = WideCharToMultiByte( CP_ACP, 0, InlineeName, -1, InlineeName_full_name, InlineeName_full_name_path_size, NULL, NULL ); + _ASSERTE(InlineeName_path_size == InlineeName_full_name_path_size ); + if( InlineeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + InlineeNameSignature_full_name = (CHAR*)malloc(InlineeNameSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(InlineeNameSignature_full_name != NULL); + if(InlineeNameSignature_full_name == NULL){goto LExit;} + + InlineeNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, InlineeNameSignature, -1, InlineeNameSignature_full_name, InlineeNameSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(InlineeNameSignature_path_size == InlineeNameSignature_full_name_path_size ); + if( InlineeNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + MethodJitInliningFailed, + MethodBeingCompiledNamespace_full_name, + MethodBeingCompiledName_full_name, + MethodBeingCompiledNameSignature_full_name, + InlinerNamespace_full_name, + InlinerName_full_name, + InlinerNameSignature_full_name, + InlineeNamespace_full_name, + InlineeName_full_name, + InlineeNameSignature_full_name, + FailAlways + ); + + tracepoint( + DotNETRuntime, + MethodJitInliningFailed_1, + FailReason, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (InlineeNameSignature_full_name != NULL) {free(InlineeNameSignature_full_name);} + if (InlineeName_full_name != NULL) {free(InlineeName_full_name);} + if (InlineeNamespace_full_name != NULL) {free(InlineeNamespace_full_name);} + if (InlinerNameSignature_full_name != NULL) {free(InlinerNameSignature_full_name);} + if (InlinerName_full_name != NULL) {free(InlinerName_full_name);} + if (InlinerNamespace_full_name != NULL) {free(InlinerNamespace_full_name);} + if (MethodBeingCompiledNameSignature_full_name != NULL) {free(MethodBeingCompiledNameSignature_full_name);} + if (MethodBeingCompiledName_full_name != NULL) {free(MethodBeingCompiledName_full_name);} + if (MethodBeingCompiledNamespace_full_name != NULL) {free(MethodBeingCompiledNamespace_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledMethodJitTailCallSucceeded(){ return TRUE;} +extern "C" ULONG FireEtwMethodJitTailCallSucceeded( + PCWSTR MethodBeingCompiledNamespace, + PCWSTR MethodBeingCompiledName, + PCWSTR MethodBeingCompiledNameSignature, + PCWSTR CallerNamespace, + PCWSTR CallerName, + PCWSTR CallerNameSignature, + PCWSTR CalleeNamespace, + PCWSTR CalleeName, + PCWSTR CalleeNameSignature, + const BOOL TailPrefix, + const unsigned int TailCallType, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodJitTailCallSucceeded()){ return ERROR_SUCCESS;}; + INT MethodBeingCompiledNamespace_path_size = -1; + INT MethodBeingCompiledNamespace_full_name_path_size = PAL_wcslen(MethodBeingCompiledNamespace) + 1; + CHAR* MethodBeingCompiledNamespace_full_name=NULL; + INT MethodBeingCompiledName_path_size = -1; + INT MethodBeingCompiledName_full_name_path_size = PAL_wcslen(MethodBeingCompiledName) + 1; + CHAR* MethodBeingCompiledName_full_name=NULL; + INT MethodBeingCompiledNameSignature_path_size = -1; + INT MethodBeingCompiledNameSignature_full_name_path_size = PAL_wcslen(MethodBeingCompiledNameSignature) + 1; + CHAR* MethodBeingCompiledNameSignature_full_name=NULL; + INT CallerNamespace_path_size = -1; + INT CallerNamespace_full_name_path_size = PAL_wcslen(CallerNamespace) + 1; + CHAR* CallerNamespace_full_name=NULL; + INT CallerName_path_size = -1; + INT CallerName_full_name_path_size = PAL_wcslen(CallerName) + 1; + CHAR* CallerName_full_name=NULL; + INT CallerNameSignature_path_size = -1; + INT CallerNameSignature_full_name_path_size = PAL_wcslen(CallerNameSignature) + 1; + CHAR* CallerNameSignature_full_name=NULL; + INT CalleeNamespace_path_size = -1; + INT CalleeNamespace_full_name_path_size = PAL_wcslen(CalleeNamespace) + 1; + CHAR* CalleeNamespace_full_name=NULL; + INT CalleeName_path_size = -1; + INT CalleeName_full_name_path_size = PAL_wcslen(CalleeName) + 1; + CHAR* CalleeName_full_name=NULL; + INT CalleeNameSignature_path_size = -1; + INT CalleeNameSignature_full_name_path_size = PAL_wcslen(CalleeNameSignature) + 1; + CHAR* CalleeNameSignature_full_name=NULL; + + MethodBeingCompiledNamespace_full_name = (CHAR*)malloc(MethodBeingCompiledNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodBeingCompiledNamespace_full_name != NULL); + if(MethodBeingCompiledNamespace_full_name == NULL){goto LExit;} + + MethodBeingCompiledNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNamespace, -1, MethodBeingCompiledNamespace_full_name, MethodBeingCompiledNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodBeingCompiledNamespace_path_size == MethodBeingCompiledNamespace_full_name_path_size ); + if( MethodBeingCompiledNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodBeingCompiledName_full_name = (CHAR*)malloc(MethodBeingCompiledName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodBeingCompiledName_full_name != NULL); + if(MethodBeingCompiledName_full_name == NULL){goto LExit;} + + MethodBeingCompiledName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledName, -1, MethodBeingCompiledName_full_name, MethodBeingCompiledName_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodBeingCompiledName_path_size == MethodBeingCompiledName_full_name_path_size ); + if( MethodBeingCompiledName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodBeingCompiledNameSignature_full_name = (CHAR*)malloc(MethodBeingCompiledNameSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodBeingCompiledNameSignature_full_name != NULL); + if(MethodBeingCompiledNameSignature_full_name == NULL){goto LExit;} + + MethodBeingCompiledNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNameSignature, -1, MethodBeingCompiledNameSignature_full_name, MethodBeingCompiledNameSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodBeingCompiledNameSignature_path_size == MethodBeingCompiledNameSignature_full_name_path_size ); + if( MethodBeingCompiledNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + CallerNamespace_full_name = (CHAR*)malloc(CallerNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(CallerNamespace_full_name != NULL); + if(CallerNamespace_full_name == NULL){goto LExit;} + + CallerNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, CallerNamespace, -1, CallerNamespace_full_name, CallerNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(CallerNamespace_path_size == CallerNamespace_full_name_path_size ); + if( CallerNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + CallerName_full_name = (CHAR*)malloc(CallerName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(CallerName_full_name != NULL); + if(CallerName_full_name == NULL){goto LExit;} + + CallerName_path_size = WideCharToMultiByte( CP_ACP, 0, CallerName, -1, CallerName_full_name, CallerName_full_name_path_size, NULL, NULL ); + _ASSERTE(CallerName_path_size == CallerName_full_name_path_size ); + if( CallerName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + CallerNameSignature_full_name = (CHAR*)malloc(CallerNameSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(CallerNameSignature_full_name != NULL); + if(CallerNameSignature_full_name == NULL){goto LExit;} + + CallerNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, CallerNameSignature, -1, CallerNameSignature_full_name, CallerNameSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(CallerNameSignature_path_size == CallerNameSignature_full_name_path_size ); + if( CallerNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + CalleeNamespace_full_name = (CHAR*)malloc(CalleeNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(CalleeNamespace_full_name != NULL); + if(CalleeNamespace_full_name == NULL){goto LExit;} + + CalleeNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, CalleeNamespace, -1, CalleeNamespace_full_name, CalleeNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(CalleeNamespace_path_size == CalleeNamespace_full_name_path_size ); + if( CalleeNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + CalleeName_full_name = (CHAR*)malloc(CalleeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(CalleeName_full_name != NULL); + if(CalleeName_full_name == NULL){goto LExit;} + + CalleeName_path_size = WideCharToMultiByte( CP_ACP, 0, CalleeName, -1, CalleeName_full_name, CalleeName_full_name_path_size, NULL, NULL ); + _ASSERTE(CalleeName_path_size == CalleeName_full_name_path_size ); + if( CalleeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + CalleeNameSignature_full_name = (CHAR*)malloc(CalleeNameSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(CalleeNameSignature_full_name != NULL); + if(CalleeNameSignature_full_name == NULL){goto LExit;} + + CalleeNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, CalleeNameSignature, -1, CalleeNameSignature_full_name, CalleeNameSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(CalleeNameSignature_path_size == CalleeNameSignature_full_name_path_size ); + if( CalleeNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + MethodJitTailCallSucceeded, + MethodBeingCompiledNamespace_full_name, + MethodBeingCompiledName_full_name, + MethodBeingCompiledNameSignature_full_name, + CallerNamespace_full_name, + CallerName_full_name, + CallerNameSignature_full_name, + CalleeNamespace_full_name, + CalleeName_full_name, + CalleeNameSignature_full_name, + TailPrefix + ); + + tracepoint( + DotNETRuntime, + MethodJitTailCallSucceeded_1, + TailCallType, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (CalleeNameSignature_full_name != NULL) {free(CalleeNameSignature_full_name);} + if (CalleeName_full_name != NULL) {free(CalleeName_full_name);} + if (CalleeNamespace_full_name != NULL) {free(CalleeNamespace_full_name);} + if (CallerNameSignature_full_name != NULL) {free(CallerNameSignature_full_name);} + if (CallerName_full_name != NULL) {free(CallerName_full_name);} + if (CallerNamespace_full_name != NULL) {free(CallerNamespace_full_name);} + if (MethodBeingCompiledNameSignature_full_name != NULL) {free(MethodBeingCompiledNameSignature_full_name);} + if (MethodBeingCompiledName_full_name != NULL) {free(MethodBeingCompiledName_full_name);} + if (MethodBeingCompiledNamespace_full_name != NULL) {free(MethodBeingCompiledNamespace_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledMethodJitTailCallFailed(){ return TRUE;} +extern "C" ULONG FireEtwMethodJitTailCallFailed( + PCWSTR MethodBeingCompiledNamespace, + PCWSTR MethodBeingCompiledName, + PCWSTR MethodBeingCompiledNameSignature, + PCWSTR CallerNamespace, + PCWSTR CallerName, + PCWSTR CallerNameSignature, + PCWSTR CalleeNamespace, + PCWSTR CalleeName, + PCWSTR CalleeNameSignature, + const BOOL TailPrefix, + LPCSTR FailReason, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodJitTailCallFailed()){ return ERROR_SUCCESS;}; + INT MethodBeingCompiledNamespace_path_size = -1; + INT MethodBeingCompiledNamespace_full_name_path_size = PAL_wcslen(MethodBeingCompiledNamespace) + 1; + CHAR* MethodBeingCompiledNamespace_full_name=NULL; + INT MethodBeingCompiledName_path_size = -1; + INT MethodBeingCompiledName_full_name_path_size = PAL_wcslen(MethodBeingCompiledName) + 1; + CHAR* MethodBeingCompiledName_full_name=NULL; + INT MethodBeingCompiledNameSignature_path_size = -1; + INT MethodBeingCompiledNameSignature_full_name_path_size = PAL_wcslen(MethodBeingCompiledNameSignature) + 1; + CHAR* MethodBeingCompiledNameSignature_full_name=NULL; + INT CallerNamespace_path_size = -1; + INT CallerNamespace_full_name_path_size = PAL_wcslen(CallerNamespace) + 1; + CHAR* CallerNamespace_full_name=NULL; + INT CallerName_path_size = -1; + INT CallerName_full_name_path_size = PAL_wcslen(CallerName) + 1; + CHAR* CallerName_full_name=NULL; + INT CallerNameSignature_path_size = -1; + INT CallerNameSignature_full_name_path_size = PAL_wcslen(CallerNameSignature) + 1; + CHAR* CallerNameSignature_full_name=NULL; + INT CalleeNamespace_path_size = -1; + INT CalleeNamespace_full_name_path_size = PAL_wcslen(CalleeNamespace) + 1; + CHAR* CalleeNamespace_full_name=NULL; + INT CalleeName_path_size = -1; + INT CalleeName_full_name_path_size = PAL_wcslen(CalleeName) + 1; + CHAR* CalleeName_full_name=NULL; + INT CalleeNameSignature_path_size = -1; + INT CalleeNameSignature_full_name_path_size = PAL_wcslen(CalleeNameSignature) + 1; + CHAR* CalleeNameSignature_full_name=NULL; + + MethodBeingCompiledNamespace_full_name = (CHAR*)malloc(MethodBeingCompiledNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodBeingCompiledNamespace_full_name != NULL); + if(MethodBeingCompiledNamespace_full_name == NULL){goto LExit;} + + MethodBeingCompiledNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNamespace, -1, MethodBeingCompiledNamespace_full_name, MethodBeingCompiledNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodBeingCompiledNamespace_path_size == MethodBeingCompiledNamespace_full_name_path_size ); + if( MethodBeingCompiledNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodBeingCompiledName_full_name = (CHAR*)malloc(MethodBeingCompiledName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodBeingCompiledName_full_name != NULL); + if(MethodBeingCompiledName_full_name == NULL){goto LExit;} + + MethodBeingCompiledName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledName, -1, MethodBeingCompiledName_full_name, MethodBeingCompiledName_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodBeingCompiledName_path_size == MethodBeingCompiledName_full_name_path_size ); + if( MethodBeingCompiledName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodBeingCompiledNameSignature_full_name = (CHAR*)malloc(MethodBeingCompiledNameSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodBeingCompiledNameSignature_full_name != NULL); + if(MethodBeingCompiledNameSignature_full_name == NULL){goto LExit;} + + MethodBeingCompiledNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNameSignature, -1, MethodBeingCompiledNameSignature_full_name, MethodBeingCompiledNameSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodBeingCompiledNameSignature_path_size == MethodBeingCompiledNameSignature_full_name_path_size ); + if( MethodBeingCompiledNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + CallerNamespace_full_name = (CHAR*)malloc(CallerNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(CallerNamespace_full_name != NULL); + if(CallerNamespace_full_name == NULL){goto LExit;} + + CallerNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, CallerNamespace, -1, CallerNamespace_full_name, CallerNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(CallerNamespace_path_size == CallerNamespace_full_name_path_size ); + if( CallerNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + CallerName_full_name = (CHAR*)malloc(CallerName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(CallerName_full_name != NULL); + if(CallerName_full_name == NULL){goto LExit;} + + CallerName_path_size = WideCharToMultiByte( CP_ACP, 0, CallerName, -1, CallerName_full_name, CallerName_full_name_path_size, NULL, NULL ); + _ASSERTE(CallerName_path_size == CallerName_full_name_path_size ); + if( CallerName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + CallerNameSignature_full_name = (CHAR*)malloc(CallerNameSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(CallerNameSignature_full_name != NULL); + if(CallerNameSignature_full_name == NULL){goto LExit;} + + CallerNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, CallerNameSignature, -1, CallerNameSignature_full_name, CallerNameSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(CallerNameSignature_path_size == CallerNameSignature_full_name_path_size ); + if( CallerNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + CalleeNamespace_full_name = (CHAR*)malloc(CalleeNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(CalleeNamespace_full_name != NULL); + if(CalleeNamespace_full_name == NULL){goto LExit;} + + CalleeNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, CalleeNamespace, -1, CalleeNamespace_full_name, CalleeNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(CalleeNamespace_path_size == CalleeNamespace_full_name_path_size ); + if( CalleeNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + CalleeName_full_name = (CHAR*)malloc(CalleeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(CalleeName_full_name != NULL); + if(CalleeName_full_name == NULL){goto LExit;} + + CalleeName_path_size = WideCharToMultiByte( CP_ACP, 0, CalleeName, -1, CalleeName_full_name, CalleeName_full_name_path_size, NULL, NULL ); + _ASSERTE(CalleeName_path_size == CalleeName_full_name_path_size ); + if( CalleeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + CalleeNameSignature_full_name = (CHAR*)malloc(CalleeNameSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(CalleeNameSignature_full_name != NULL); + if(CalleeNameSignature_full_name == NULL){goto LExit;} + + CalleeNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, CalleeNameSignature, -1, CalleeNameSignature_full_name, CalleeNameSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(CalleeNameSignature_path_size == CalleeNameSignature_full_name_path_size ); + if( CalleeNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + MethodJitTailCallFailed, + MethodBeingCompiledNamespace_full_name, + MethodBeingCompiledName_full_name, + MethodBeingCompiledNameSignature_full_name, + CallerNamespace_full_name, + CallerName_full_name, + CallerNameSignature_full_name, + CalleeNamespace_full_name, + CalleeName_full_name, + CalleeNameSignature_full_name, + TailPrefix + ); + + tracepoint( + DotNETRuntime, + MethodJitTailCallFailed_1, + FailReason, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (CalleeNameSignature_full_name != NULL) {free(CalleeNameSignature_full_name);} + if (CalleeName_full_name != NULL) {free(CalleeName_full_name);} + if (CalleeNamespace_full_name != NULL) {free(CalleeNamespace_full_name);} + if (CallerNameSignature_full_name != NULL) {free(CallerNameSignature_full_name);} + if (CallerName_full_name != NULL) {free(CallerName_full_name);} + if (CallerNamespace_full_name != NULL) {free(CallerNamespace_full_name);} + if (MethodBeingCompiledNameSignature_full_name != NULL) {free(MethodBeingCompiledNameSignature_full_name);} + if (MethodBeingCompiledName_full_name != NULL) {free(MethodBeingCompiledName_full_name);} + if (MethodBeingCompiledNamespace_full_name != NULL) {free(MethodBeingCompiledNamespace_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledMethodILToNativeMap(){ return TRUE;} +extern "C" ULONG FireEtwMethodILToNativeMap( + const unsigned __int64 MethodID, + const unsigned __int64 ReJITID, + const unsigned char MethodExtent, + const unsigned short CountOfMapEntries, + const unsigned int* ILOffsets, + const unsigned int* NativeOffsets, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodILToNativeMap()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + MethodILToNativeMap, + MethodID, + ReJITID, + MethodExtent, + CountOfMapEntries, + (const unsigned int*) ILOffsets, + (const unsigned int*) NativeOffsets, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledModuleDCStartV2(){ return TRUE;} +extern "C" ULONG FireEtwModuleDCStartV2( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledModuleDCStartV2()){ return ERROR_SUCCESS;}; + INT ModuleILPath_path_size = -1; + INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1; + CHAR* ModuleILPath_full_name=NULL; + INT ModuleNativePath_path_size = -1; + INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1; + CHAR* ModuleNativePath_full_name=NULL; + + ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleILPath_full_name != NULL); + if(ModuleILPath_full_name == NULL){goto LExit;} + + ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size ); + if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleNativePath_full_name != NULL); + if(ModuleNativePath_full_name == NULL){goto LExit;} + + ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size ); + if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + ModuleDCStartV2, + ModuleID, + AssemblyID, + ModuleFlags, + Reserved1, + ModuleILPath_full_name, + ModuleNativePath_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);} + if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledModuleDCEndV2(){ return TRUE;} +extern "C" ULONG FireEtwModuleDCEndV2( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledModuleDCEndV2()){ return ERROR_SUCCESS;}; + INT ModuleILPath_path_size = -1; + INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1; + CHAR* ModuleILPath_full_name=NULL; + INT ModuleNativePath_path_size = -1; + INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1; + CHAR* ModuleNativePath_full_name=NULL; + + ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleILPath_full_name != NULL); + if(ModuleILPath_full_name == NULL){goto LExit;} + + ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size ); + if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleNativePath_full_name != NULL); + if(ModuleNativePath_full_name == NULL){goto LExit;} + + ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size ); + if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + ModuleDCEndV2, + ModuleID, + AssemblyID, + ModuleFlags, + Reserved1, + ModuleILPath_full_name, + ModuleNativePath_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);} + if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledDomainModuleLoad(){ return TRUE;} +extern "C" ULONG FireEtwDomainModuleLoad( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledDomainModuleLoad()){ return ERROR_SUCCESS;}; + INT ModuleILPath_path_size = -1; + INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1; + CHAR* ModuleILPath_full_name=NULL; + INT ModuleNativePath_path_size = -1; + INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1; + CHAR* ModuleNativePath_full_name=NULL; + + ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleILPath_full_name != NULL); + if(ModuleILPath_full_name == NULL){goto LExit;} + + ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size ); + if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleNativePath_full_name != NULL); + if(ModuleNativePath_full_name == NULL){goto LExit;} + + ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size ); + if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + DomainModuleLoad, + ModuleID, + AssemblyID, + AppDomainID, + ModuleFlags, + Reserved1, + ModuleILPath_full_name, + ModuleNativePath_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);} + if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledDomainModuleLoad_V1(){ return TRUE;} +extern "C" ULONG FireEtwDomainModuleLoad_V1( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledDomainModuleLoad_V1()){ return ERROR_SUCCESS;}; + INT ModuleILPath_path_size = -1; + INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1; + CHAR* ModuleILPath_full_name=NULL; + INT ModuleNativePath_path_size = -1; + INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1; + CHAR* ModuleNativePath_full_name=NULL; + + ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleILPath_full_name != NULL); + if(ModuleILPath_full_name == NULL){goto LExit;} + + ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size ); + if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleNativePath_full_name != NULL); + if(ModuleNativePath_full_name == NULL){goto LExit;} + + ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size ); + if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + DomainModuleLoad_V1, + ModuleID, + AssemblyID, + AppDomainID, + ModuleFlags, + Reserved1, + ModuleILPath_full_name, + ModuleNativePath_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);} + if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledModuleLoad(){ return TRUE;} +extern "C" ULONG FireEtwModuleLoad( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledModuleLoad()){ return ERROR_SUCCESS;}; + INT ModuleILPath_path_size = -1; + INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1; + CHAR* ModuleILPath_full_name=NULL; + INT ModuleNativePath_path_size = -1; + INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1; + CHAR* ModuleNativePath_full_name=NULL; + + ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleILPath_full_name != NULL); + if(ModuleILPath_full_name == NULL){goto LExit;} + + ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size ); + if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleNativePath_full_name != NULL); + if(ModuleNativePath_full_name == NULL){goto LExit;} + + ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size ); + if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + ModuleLoad, + ModuleID, + AssemblyID, + ModuleFlags, + Reserved1, + ModuleILPath_full_name, + ModuleNativePath_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);} + if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledModuleLoad_V1(){ return TRUE;} +extern "C" ULONG FireEtwModuleLoad_V1( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledModuleLoad_V1()){ return ERROR_SUCCESS;}; + INT ModuleILPath_path_size = -1; + INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1; + CHAR* ModuleILPath_full_name=NULL; + INT ModuleNativePath_path_size = -1; + INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1; + CHAR* ModuleNativePath_full_name=NULL; + + ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleILPath_full_name != NULL); + if(ModuleILPath_full_name == NULL){goto LExit;} + + ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size ); + if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleNativePath_full_name != NULL); + if(ModuleNativePath_full_name == NULL){goto LExit;} + + ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size ); + if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + ModuleLoad_V1, + ModuleID, + AssemblyID, + ModuleFlags, + Reserved1, + ModuleILPath_full_name, + ModuleNativePath_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);} + if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledModuleLoad_V2(){ return TRUE;} +extern "C" ULONG FireEtwModuleLoad_V2( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath, + const unsigned short ClrInstanceID, + const GUID* ManagedPdbSignature, + const unsigned int ManagedPdbAge, + PCWSTR ManagedPdbBuildPath, + const GUID* NativePdbSignature, + const unsigned int NativePdbAge, + PCWSTR NativePdbBuildPath +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledModuleLoad_V2()){ return ERROR_SUCCESS;}; + INT ModuleILPath_path_size = -1; + INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1; + CHAR* ModuleILPath_full_name=NULL; + INT ModuleNativePath_path_size = -1; + INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1; + CHAR* ModuleNativePath_full_name=NULL; + INT ManagedPdbBuildPath_path_size = -1; + INT ManagedPdbBuildPath_full_name_path_size = PAL_wcslen(ManagedPdbBuildPath) + 1; + CHAR* ManagedPdbBuildPath_full_name=NULL; + INT NativePdbBuildPath_path_size = -1; + INT NativePdbBuildPath_full_name_path_size = PAL_wcslen(NativePdbBuildPath) + 1; + CHAR* NativePdbBuildPath_full_name=NULL; + + ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleILPath_full_name != NULL); + if(ModuleILPath_full_name == NULL){goto LExit;} + + ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size ); + if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleNativePath_full_name != NULL); + if(ModuleNativePath_full_name == NULL){goto LExit;} + + ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size ); + if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ManagedPdbBuildPath_full_name = (CHAR*)malloc(ManagedPdbBuildPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ManagedPdbBuildPath_full_name != NULL); + if(ManagedPdbBuildPath_full_name == NULL){goto LExit;} + + ManagedPdbBuildPath_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedPdbBuildPath, -1, ManagedPdbBuildPath_full_name, ManagedPdbBuildPath_full_name_path_size, NULL, NULL ); + _ASSERTE(ManagedPdbBuildPath_path_size == ManagedPdbBuildPath_full_name_path_size ); + if( ManagedPdbBuildPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + NativePdbBuildPath_full_name = (CHAR*)malloc(NativePdbBuildPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(NativePdbBuildPath_full_name != NULL); + if(NativePdbBuildPath_full_name == NULL){goto LExit;} + + NativePdbBuildPath_path_size = WideCharToMultiByte( CP_ACP, 0, NativePdbBuildPath, -1, NativePdbBuildPath_full_name, NativePdbBuildPath_full_name_path_size, NULL, NULL ); + _ASSERTE(NativePdbBuildPath_path_size == NativePdbBuildPath_full_name_path_size ); + if( NativePdbBuildPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + ModuleLoad_V2, + ModuleID, + AssemblyID, + ModuleFlags, + Reserved1, + ModuleILPath_full_name, + ModuleNativePath_full_name, + ClrInstanceID, + (const int*) ManagedPdbSignature, + ManagedPdbAge, + ManagedPdbBuildPath_full_name + ); + + tracepoint( + DotNETRuntime, + ModuleLoad_V2_1, + (const int*) NativePdbSignature, + NativePdbAge, + NativePdbBuildPath_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (NativePdbBuildPath_full_name != NULL) {free(NativePdbBuildPath_full_name);} + if (ManagedPdbBuildPath_full_name != NULL) {free(ManagedPdbBuildPath_full_name);} + if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);} + if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledModuleUnload(){ return TRUE;} +extern "C" ULONG FireEtwModuleUnload( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledModuleUnload()){ return ERROR_SUCCESS;}; + INT ModuleILPath_path_size = -1; + INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1; + CHAR* ModuleILPath_full_name=NULL; + INT ModuleNativePath_path_size = -1; + INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1; + CHAR* ModuleNativePath_full_name=NULL; + + ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleILPath_full_name != NULL); + if(ModuleILPath_full_name == NULL){goto LExit;} + + ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size ); + if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleNativePath_full_name != NULL); + if(ModuleNativePath_full_name == NULL){goto LExit;} + + ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size ); + if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + ModuleUnload, + ModuleID, + AssemblyID, + ModuleFlags, + Reserved1, + ModuleILPath_full_name, + ModuleNativePath_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);} + if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledModuleUnload_V1(){ return TRUE;} +extern "C" ULONG FireEtwModuleUnload_V1( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledModuleUnload_V1()){ return ERROR_SUCCESS;}; + INT ModuleILPath_path_size = -1; + INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1; + CHAR* ModuleILPath_full_name=NULL; + INT ModuleNativePath_path_size = -1; + INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1; + CHAR* ModuleNativePath_full_name=NULL; + + ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleILPath_full_name != NULL); + if(ModuleILPath_full_name == NULL){goto LExit;} + + ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size ); + if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleNativePath_full_name != NULL); + if(ModuleNativePath_full_name == NULL){goto LExit;} + + ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size ); + if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + ModuleUnload_V1, + ModuleID, + AssemblyID, + ModuleFlags, + Reserved1, + ModuleILPath_full_name, + ModuleNativePath_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);} + if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledModuleUnload_V2(){ return TRUE;} +extern "C" ULONG FireEtwModuleUnload_V2( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath, + const unsigned short ClrInstanceID, + const GUID* ManagedPdbSignature, + const unsigned int ManagedPdbAge, + PCWSTR ManagedPdbBuildPath, + const GUID* NativePdbSignature, + const unsigned int NativePdbAge, + PCWSTR NativePdbBuildPath +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledModuleUnload_V2()){ return ERROR_SUCCESS;}; + INT ModuleILPath_path_size = -1; + INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1; + CHAR* ModuleILPath_full_name=NULL; + INT ModuleNativePath_path_size = -1; + INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1; + CHAR* ModuleNativePath_full_name=NULL; + INT ManagedPdbBuildPath_path_size = -1; + INT ManagedPdbBuildPath_full_name_path_size = PAL_wcslen(ManagedPdbBuildPath) + 1; + CHAR* ManagedPdbBuildPath_full_name=NULL; + INT NativePdbBuildPath_path_size = -1; + INT NativePdbBuildPath_full_name_path_size = PAL_wcslen(NativePdbBuildPath) + 1; + CHAR* NativePdbBuildPath_full_name=NULL; + + ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleILPath_full_name != NULL); + if(ModuleILPath_full_name == NULL){goto LExit;} + + ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size ); + if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleNativePath_full_name != NULL); + if(ModuleNativePath_full_name == NULL){goto LExit;} + + ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size ); + if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ManagedPdbBuildPath_full_name = (CHAR*)malloc(ManagedPdbBuildPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ManagedPdbBuildPath_full_name != NULL); + if(ManagedPdbBuildPath_full_name == NULL){goto LExit;} + + ManagedPdbBuildPath_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedPdbBuildPath, -1, ManagedPdbBuildPath_full_name, ManagedPdbBuildPath_full_name_path_size, NULL, NULL ); + _ASSERTE(ManagedPdbBuildPath_path_size == ManagedPdbBuildPath_full_name_path_size ); + if( ManagedPdbBuildPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + NativePdbBuildPath_full_name = (CHAR*)malloc(NativePdbBuildPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(NativePdbBuildPath_full_name != NULL); + if(NativePdbBuildPath_full_name == NULL){goto LExit;} + + NativePdbBuildPath_path_size = WideCharToMultiByte( CP_ACP, 0, NativePdbBuildPath, -1, NativePdbBuildPath_full_name, NativePdbBuildPath_full_name_path_size, NULL, NULL ); + _ASSERTE(NativePdbBuildPath_path_size == NativePdbBuildPath_full_name_path_size ); + if( NativePdbBuildPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + ModuleUnload_V2, + ModuleID, + AssemblyID, + ModuleFlags, + Reserved1, + ModuleILPath_full_name, + ModuleNativePath_full_name, + ClrInstanceID, + (const int*) ManagedPdbSignature, + ManagedPdbAge, + ManagedPdbBuildPath_full_name + ); + + tracepoint( + DotNETRuntime, + ModuleUnload_V2_1, + (const int*) NativePdbSignature, + NativePdbAge, + NativePdbBuildPath_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (NativePdbBuildPath_full_name != NULL) {free(NativePdbBuildPath_full_name);} + if (ManagedPdbBuildPath_full_name != NULL) {free(ManagedPdbBuildPath_full_name);} + if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);} + if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledAssemblyLoad(){ return TRUE;} +extern "C" ULONG FireEtwAssemblyLoad( + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned int AssemblyFlags, + PCWSTR FullyQualifiedAssemblyName +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAssemblyLoad()){ return ERROR_SUCCESS;}; + INT FullyQualifiedAssemblyName_path_size = -1; + INT FullyQualifiedAssemblyName_full_name_path_size = PAL_wcslen(FullyQualifiedAssemblyName) + 1; + CHAR* FullyQualifiedAssemblyName_full_name=NULL; + + FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL); + if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;} + + FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size ); + if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + AssemblyLoad, + AssemblyID, + AppDomainID, + AssemblyFlags, + FullyQualifiedAssemblyName_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledAssemblyLoad_V1(){ return TRUE;} +extern "C" ULONG FireEtwAssemblyLoad_V1( + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned __int64 BindingID, + const unsigned int AssemblyFlags, + PCWSTR FullyQualifiedAssemblyName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAssemblyLoad_V1()){ return ERROR_SUCCESS;}; + INT FullyQualifiedAssemblyName_path_size = -1; + INT FullyQualifiedAssemblyName_full_name_path_size = PAL_wcslen(FullyQualifiedAssemblyName) + 1; + CHAR* FullyQualifiedAssemblyName_full_name=NULL; + + FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL); + if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;} + + FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size ); + if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + AssemblyLoad_V1, + AssemblyID, + AppDomainID, + BindingID, + AssemblyFlags, + FullyQualifiedAssemblyName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledAssemblyUnload(){ return TRUE;} +extern "C" ULONG FireEtwAssemblyUnload( + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned int AssemblyFlags, + PCWSTR FullyQualifiedAssemblyName +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAssemblyUnload()){ return ERROR_SUCCESS;}; + INT FullyQualifiedAssemblyName_path_size = -1; + INT FullyQualifiedAssemblyName_full_name_path_size = PAL_wcslen(FullyQualifiedAssemblyName) + 1; + CHAR* FullyQualifiedAssemblyName_full_name=NULL; + + FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL); + if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;} + + FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size ); + if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + AssemblyUnload, + AssemblyID, + AppDomainID, + AssemblyFlags, + FullyQualifiedAssemblyName_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledAssemblyUnload_V1(){ return TRUE;} +extern "C" ULONG FireEtwAssemblyUnload_V1( + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned __int64 BindingID, + const unsigned int AssemblyFlags, + PCWSTR FullyQualifiedAssemblyName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAssemblyUnload_V1()){ return ERROR_SUCCESS;}; + INT FullyQualifiedAssemblyName_path_size = -1; + INT FullyQualifiedAssemblyName_full_name_path_size = PAL_wcslen(FullyQualifiedAssemblyName) + 1; + CHAR* FullyQualifiedAssemblyName_full_name=NULL; + + FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL); + if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;} + + FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size ); + if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + AssemblyUnload_V1, + AssemblyID, + AppDomainID, + BindingID, + AssemblyFlags, + FullyQualifiedAssemblyName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledAppDomainLoad(){ return TRUE;} +extern "C" ULONG FireEtwAppDomainLoad( + const unsigned __int64 AppDomainID, + const unsigned int AppDomainFlags, + PCWSTR AppDomainName +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAppDomainLoad()){ return ERROR_SUCCESS;}; + INT AppDomainName_path_size = -1; + INT AppDomainName_full_name_path_size = PAL_wcslen(AppDomainName) + 1; + CHAR* AppDomainName_full_name=NULL; + + AppDomainName_full_name = (CHAR*)malloc(AppDomainName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AppDomainName_full_name != NULL); + if(AppDomainName_full_name == NULL){goto LExit;} + + AppDomainName_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, AppDomainName_full_name, AppDomainName_full_name_path_size, NULL, NULL ); + _ASSERTE(AppDomainName_path_size == AppDomainName_full_name_path_size ); + if( AppDomainName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + AppDomainLoad, + AppDomainID, + AppDomainFlags, + AppDomainName_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (AppDomainName_full_name != NULL) {free(AppDomainName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledAppDomainLoad_V1(){ return TRUE;} +extern "C" ULONG FireEtwAppDomainLoad_V1( + const unsigned __int64 AppDomainID, + const unsigned int AppDomainFlags, + PCWSTR AppDomainName, + const unsigned int AppDomainIndex, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAppDomainLoad_V1()){ return ERROR_SUCCESS;}; + INT AppDomainName_path_size = -1; + INT AppDomainName_full_name_path_size = PAL_wcslen(AppDomainName) + 1; + CHAR* AppDomainName_full_name=NULL; + + AppDomainName_full_name = (CHAR*)malloc(AppDomainName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AppDomainName_full_name != NULL); + if(AppDomainName_full_name == NULL){goto LExit;} + + AppDomainName_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, AppDomainName_full_name, AppDomainName_full_name_path_size, NULL, NULL ); + _ASSERTE(AppDomainName_path_size == AppDomainName_full_name_path_size ); + if( AppDomainName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + AppDomainLoad_V1, + AppDomainID, + AppDomainFlags, + AppDomainName_full_name, + AppDomainIndex, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (AppDomainName_full_name != NULL) {free(AppDomainName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledAppDomainUnload(){ return TRUE;} +extern "C" ULONG FireEtwAppDomainUnload( + const unsigned __int64 AppDomainID, + const unsigned int AppDomainFlags, + PCWSTR AppDomainName +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAppDomainUnload()){ return ERROR_SUCCESS;}; + INT AppDomainName_path_size = -1; + INT AppDomainName_full_name_path_size = PAL_wcslen(AppDomainName) + 1; + CHAR* AppDomainName_full_name=NULL; + + AppDomainName_full_name = (CHAR*)malloc(AppDomainName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AppDomainName_full_name != NULL); + if(AppDomainName_full_name == NULL){goto LExit;} + + AppDomainName_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, AppDomainName_full_name, AppDomainName_full_name_path_size, NULL, NULL ); + _ASSERTE(AppDomainName_path_size == AppDomainName_full_name_path_size ); + if( AppDomainName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + AppDomainUnload, + AppDomainID, + AppDomainFlags, + AppDomainName_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (AppDomainName_full_name != NULL) {free(AppDomainName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledAppDomainUnload_V1(){ return TRUE;} +extern "C" ULONG FireEtwAppDomainUnload_V1( + const unsigned __int64 AppDomainID, + const unsigned int AppDomainFlags, + PCWSTR AppDomainName, + const unsigned int AppDomainIndex, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAppDomainUnload_V1()){ return ERROR_SUCCESS;}; + INT AppDomainName_path_size = -1; + INT AppDomainName_full_name_path_size = PAL_wcslen(AppDomainName) + 1; + CHAR* AppDomainName_full_name=NULL; + + AppDomainName_full_name = (CHAR*)malloc(AppDomainName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AppDomainName_full_name != NULL); + if(AppDomainName_full_name == NULL){goto LExit;} + + AppDomainName_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, AppDomainName_full_name, AppDomainName_full_name_path_size, NULL, NULL ); + _ASSERTE(AppDomainName_path_size == AppDomainName_full_name_path_size ); + if( AppDomainName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + AppDomainUnload_V1, + AppDomainID, + AppDomainFlags, + AppDomainName_full_name, + AppDomainIndex, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (AppDomainName_full_name != NULL) {free(AppDomainName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledModuleRangeLoad(){ return TRUE;} +extern "C" ULONG FireEtwModuleRangeLoad( + const unsigned short ClrInstanceID, + const unsigned __int64 ModuleID, + const unsigned int RangeBegin, + const unsigned int RangeSize, + const unsigned char RangeType +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledModuleRangeLoad()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + ModuleRangeLoad, + ClrInstanceID, + ModuleID, + RangeBegin, + RangeSize, + RangeType + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledStrongNameVerificationStart(){ return TRUE;} +extern "C" ULONG FireEtwStrongNameVerificationStart( + const unsigned int VerificationFlags, + const unsigned int ErrorCode, + PCWSTR FullyQualifiedAssemblyName +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledStrongNameVerificationStart()){ return ERROR_SUCCESS;}; + INT FullyQualifiedAssemblyName_path_size = -1; + INT FullyQualifiedAssemblyName_full_name_path_size = PAL_wcslen(FullyQualifiedAssemblyName) + 1; + CHAR* FullyQualifiedAssemblyName_full_name=NULL; + + FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL); + if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;} + + FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size ); + if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + StrongNameVerificationStart, + VerificationFlags, + ErrorCode, + FullyQualifiedAssemblyName_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledStrongNameVerificationStart_V1(){ return TRUE;} +extern "C" ULONG FireEtwStrongNameVerificationStart_V1( + const unsigned int VerificationFlags, + const unsigned int ErrorCode, + PCWSTR FullyQualifiedAssemblyName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledStrongNameVerificationStart_V1()){ return ERROR_SUCCESS;}; + INT FullyQualifiedAssemblyName_path_size = -1; + INT FullyQualifiedAssemblyName_full_name_path_size = PAL_wcslen(FullyQualifiedAssemblyName) + 1; + CHAR* FullyQualifiedAssemblyName_full_name=NULL; + + FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL); + if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;} + + FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size ); + if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + StrongNameVerificationStart_V1, + VerificationFlags, + ErrorCode, + FullyQualifiedAssemblyName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledStrongNameVerificationStop(){ return TRUE;} +extern "C" ULONG FireEtwStrongNameVerificationStop( + const unsigned int VerificationFlags, + const unsigned int ErrorCode, + PCWSTR FullyQualifiedAssemblyName +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledStrongNameVerificationStop()){ return ERROR_SUCCESS;}; + INT FullyQualifiedAssemblyName_path_size = -1; + INT FullyQualifiedAssemblyName_full_name_path_size = PAL_wcslen(FullyQualifiedAssemblyName) + 1; + CHAR* FullyQualifiedAssemblyName_full_name=NULL; + + FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL); + if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;} + + FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size ); + if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + StrongNameVerificationStop, + VerificationFlags, + ErrorCode, + FullyQualifiedAssemblyName_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledStrongNameVerificationStop_V1(){ return TRUE;} +extern "C" ULONG FireEtwStrongNameVerificationStop_V1( + const unsigned int VerificationFlags, + const unsigned int ErrorCode, + PCWSTR FullyQualifiedAssemblyName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledStrongNameVerificationStop_V1()){ return ERROR_SUCCESS;}; + INT FullyQualifiedAssemblyName_path_size = -1; + INT FullyQualifiedAssemblyName_full_name_path_size = PAL_wcslen(FullyQualifiedAssemblyName) + 1; + CHAR* FullyQualifiedAssemblyName_full_name=NULL; + + FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL); + if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;} + + FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size ); + if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + StrongNameVerificationStop_V1, + VerificationFlags, + ErrorCode, + FullyQualifiedAssemblyName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledAuthenticodeVerificationStart(){ return TRUE;} +extern "C" ULONG FireEtwAuthenticodeVerificationStart( + const unsigned int VerificationFlags, + const unsigned int ErrorCode, + PCWSTR ModulePath +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAuthenticodeVerificationStart()){ return ERROR_SUCCESS;}; + INT ModulePath_path_size = -1; + INT ModulePath_full_name_path_size = PAL_wcslen(ModulePath) + 1; + CHAR* ModulePath_full_name=NULL; + + ModulePath_full_name = (CHAR*)malloc(ModulePath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModulePath_full_name != NULL); + if(ModulePath_full_name == NULL){goto LExit;} + + ModulePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModulePath, -1, ModulePath_full_name, ModulePath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModulePath_path_size == ModulePath_full_name_path_size ); + if( ModulePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + AuthenticodeVerificationStart, + VerificationFlags, + ErrorCode, + ModulePath_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (ModulePath_full_name != NULL) {free(ModulePath_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledAuthenticodeVerificationStart_V1(){ return TRUE;} +extern "C" ULONG FireEtwAuthenticodeVerificationStart_V1( + const unsigned int VerificationFlags, + const unsigned int ErrorCode, + PCWSTR ModulePath, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAuthenticodeVerificationStart_V1()){ return ERROR_SUCCESS;}; + INT ModulePath_path_size = -1; + INT ModulePath_full_name_path_size = PAL_wcslen(ModulePath) + 1; + CHAR* ModulePath_full_name=NULL; + + ModulePath_full_name = (CHAR*)malloc(ModulePath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModulePath_full_name != NULL); + if(ModulePath_full_name == NULL){goto LExit;} + + ModulePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModulePath, -1, ModulePath_full_name, ModulePath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModulePath_path_size == ModulePath_full_name_path_size ); + if( ModulePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + AuthenticodeVerificationStart_V1, + VerificationFlags, + ErrorCode, + ModulePath_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (ModulePath_full_name != NULL) {free(ModulePath_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledAuthenticodeVerificationStop(){ return TRUE;} +extern "C" ULONG FireEtwAuthenticodeVerificationStop( + const unsigned int VerificationFlags, + const unsigned int ErrorCode, + PCWSTR ModulePath +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAuthenticodeVerificationStop()){ return ERROR_SUCCESS;}; + INT ModulePath_path_size = -1; + INT ModulePath_full_name_path_size = PAL_wcslen(ModulePath) + 1; + CHAR* ModulePath_full_name=NULL; + + ModulePath_full_name = (CHAR*)malloc(ModulePath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModulePath_full_name != NULL); + if(ModulePath_full_name == NULL){goto LExit;} + + ModulePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModulePath, -1, ModulePath_full_name, ModulePath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModulePath_path_size == ModulePath_full_name_path_size ); + if( ModulePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + AuthenticodeVerificationStop, + VerificationFlags, + ErrorCode, + ModulePath_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (ModulePath_full_name != NULL) {free(ModulePath_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledAuthenticodeVerificationStop_V1(){ return TRUE;} +extern "C" ULONG FireEtwAuthenticodeVerificationStop_V1( + const unsigned int VerificationFlags, + const unsigned int ErrorCode, + PCWSTR ModulePath, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAuthenticodeVerificationStop_V1()){ return ERROR_SUCCESS;}; + INT ModulePath_path_size = -1; + INT ModulePath_full_name_path_size = PAL_wcslen(ModulePath) + 1; + CHAR* ModulePath_full_name=NULL; + + ModulePath_full_name = (CHAR*)malloc(ModulePath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModulePath_full_name != NULL); + if(ModulePath_full_name == NULL){goto LExit;} + + ModulePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModulePath, -1, ModulePath_full_name, ModulePath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModulePath_path_size == ModulePath_full_name_path_size ); + if( ModulePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + AuthenticodeVerificationStop_V1, + VerificationFlags, + ErrorCode, + ModulePath_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (ModulePath_full_name != NULL) {free(ModulePath_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledRuntimeInformationStart(){ return TRUE;} +extern "C" ULONG FireEtwRuntimeInformationStart( + const unsigned short ClrInstanceID, + const unsigned short Sku, + const unsigned short BclMajorVersion, + const unsigned short BclMinorVersion, + const unsigned short BclBuildNumber, + const unsigned short BclQfeNumber, + const unsigned short VMMajorVersion, + const unsigned short VMMinorVersion, + const unsigned short VMBuildNumber, + const unsigned short VMQfeNumber, + const unsigned int StartupFlags, + const unsigned char StartupMode, + PCWSTR CommandLine, + const GUID* ComObjectGuid, + PCWSTR RuntimeDllPath +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledRuntimeInformationStart()){ return ERROR_SUCCESS;}; + INT CommandLine_path_size = -1; + INT CommandLine_full_name_path_size = PAL_wcslen(CommandLine) + 1; + CHAR* CommandLine_full_name=NULL; + INT RuntimeDllPath_path_size = -1; + INT RuntimeDllPath_full_name_path_size = PAL_wcslen(RuntimeDllPath) + 1; + CHAR* RuntimeDllPath_full_name=NULL; + + CommandLine_full_name = (CHAR*)malloc(CommandLine_full_name_path_size*sizeof(CHAR)); + _ASSERTE(CommandLine_full_name != NULL); + if(CommandLine_full_name == NULL){goto LExit;} + + CommandLine_path_size = WideCharToMultiByte( CP_ACP, 0, CommandLine, -1, CommandLine_full_name, CommandLine_full_name_path_size, NULL, NULL ); + _ASSERTE(CommandLine_path_size == CommandLine_full_name_path_size ); + if( CommandLine_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + RuntimeDllPath_full_name = (CHAR*)malloc(RuntimeDllPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(RuntimeDllPath_full_name != NULL); + if(RuntimeDllPath_full_name == NULL){goto LExit;} + + RuntimeDllPath_path_size = WideCharToMultiByte( CP_ACP, 0, RuntimeDllPath, -1, RuntimeDllPath_full_name, RuntimeDllPath_full_name_path_size, NULL, NULL ); + _ASSERTE(RuntimeDllPath_path_size == RuntimeDllPath_full_name_path_size ); + if( RuntimeDllPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntime, + RuntimeInformationStart, + ClrInstanceID, + Sku, + BclMajorVersion, + BclMinorVersion, + BclBuildNumber, + BclQfeNumber, + VMMajorVersion, + VMMinorVersion, + VMBuildNumber, + VMQfeNumber + ); + + tracepoint( + DotNETRuntime, + RuntimeInformationStart_1, + StartupFlags, + StartupMode, + CommandLine_full_name, + (const int*) ComObjectGuid, + RuntimeDllPath_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (RuntimeDllPath_full_name != NULL) {free(RuntimeDllPath_full_name);} + if (CommandLine_full_name != NULL) {free(CommandLine_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledIncreaseMemoryPressure(){ return TRUE;} +extern "C" ULONG FireEtwIncreaseMemoryPressure( + const unsigned __int64 BytesAllocated, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledIncreaseMemoryPressure()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + IncreaseMemoryPressure, + BytesAllocated, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledDecreaseMemoryPressure(){ return TRUE;} +extern "C" ULONG FireEtwDecreaseMemoryPressure( + const unsigned __int64 BytesFreed, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledDecreaseMemoryPressure()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + DecreaseMemoryPressure, + BytesFreed, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCMarkWithType(){ return TRUE;} +extern "C" ULONG FireEtwGCMarkWithType( + const unsigned int HeapNum, + const unsigned short ClrInstanceID, + const unsigned int Type, + const unsigned __int64 Bytes +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCMarkWithType()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCMarkWithType, + HeapNum, + ClrInstanceID, + Type, + Bytes + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCJoin_V2(){ return TRUE;} +extern "C" ULONG FireEtwGCJoin_V2( + const unsigned int Heap, + const unsigned int JoinTime, + const unsigned int JoinType, + const unsigned short ClrInstanceID, + const unsigned int JoinID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCJoin_V2()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCJoin_V2, + Heap, + JoinTime, + JoinType, + ClrInstanceID, + JoinID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCPerHeapHistory_V3(){ return TRUE;} +extern "C" ULONG FireEtwGCPerHeapHistory_V3( + const unsigned short ClrInstanceID, + const void* FreeListAllocated, + const void* FreeListRejected, + const void* EndOfSegAllocated, + const void* CondemnedAllocated, + const void* PinnedAllocated, + const void* PinnedAllocatedAdvance, + const unsigned int RunningFreeListEfficiency, + const unsigned int CondemnReasons0, + const unsigned int CondemnReasons1, + const unsigned int CompactMechanisms, + const unsigned int ExpandMechanisms, + const unsigned int HeapIndex, + const void* ExtraGen0Commit, + const unsigned int Count, + const ULONG Arg15_Struct_Len_, + const void* Arg15_Struct_Pointer_ +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCPerHeapHistory_V3()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCPerHeapHistory_V3, + ClrInstanceID, + (const size_t) FreeListAllocated, + (const size_t) FreeListRejected, + (const size_t) EndOfSegAllocated, + (const size_t) CondemnedAllocated, + (const size_t) PinnedAllocated, + (const size_t) PinnedAllocatedAdvance, + RunningFreeListEfficiency, + CondemnReasons0, + CondemnReasons1 + ); + + tracepoint( + DotNETRuntime, + GCPerHeapHistory_V3_1, + CompactMechanisms, + ExpandMechanisms, + HeapIndex, + (const size_t) ExtraGen0Commit, + Count, + Arg15_Struct_Len_, + (const int*) Arg15_Struct_Pointer_ + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCGlobalHeapHistory_V2(){ return TRUE;} +extern "C" ULONG FireEtwGCGlobalHeapHistory_V2( + const unsigned __int64 FinalYoungestDesired, + const signed int NumHeaps, + const unsigned int CondemnedGeneration, + const unsigned int Gen0ReductionCount, + const unsigned int Reason, + const unsigned int GlobalMechanisms, + const unsigned short ClrInstanceID, + const unsigned int PauseMode, + const unsigned int MemoryPressure +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCGlobalHeapHistory_V2()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + GCGlobalHeapHistory_V2, + FinalYoungestDesired, + NumHeaps, + CondemnedGeneration, + Gen0ReductionCount, + Reason, + GlobalMechanisms, + ClrInstanceID, + PauseMode, + MemoryPressure + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledDebugIPCEventStart(){ return TRUE;} +extern "C" ULONG FireEtwDebugIPCEventStart( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledDebugIPCEventStart()){ return ERROR_SUCCESS;}; + + tracepoint( + DotNETRuntime, + DebugIPCEventStart + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledDebugIPCEventEnd(){ return TRUE;} +extern "C" ULONG FireEtwDebugIPCEventEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledDebugIPCEventEnd()){ return ERROR_SUCCESS;}; + + tracepoint( + DotNETRuntime, + DebugIPCEventEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledDebugExceptionProcessingStart(){ return TRUE;} +extern "C" ULONG FireEtwDebugExceptionProcessingStart( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledDebugExceptionProcessingStart()){ return ERROR_SUCCESS;}; + + tracepoint( + DotNETRuntime, + DebugExceptionProcessingStart + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledDebugExceptionProcessingEnd(){ return TRUE;} +extern "C" ULONG FireEtwDebugExceptionProcessingEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledDebugExceptionProcessingEnd()){ return ERROR_SUCCESS;}; + + tracepoint( + DotNETRuntime, + DebugExceptionProcessingEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledCodeSymbols(){ return TRUE;} +extern "C" ULONG FireEtwCodeSymbols( + const unsigned __int64 ModuleId, + const unsigned short TotalChunks, + const unsigned short ChunkNumber, + const unsigned int ChunkLength, + const BYTE* Chunk, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledCodeSymbols()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntime, + CodeSymbols, + ModuleId, + TotalChunks, + ChunkNumber, + ChunkLength, + (const BYTE*) Chunk, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} diff --git a/src/pal/src/eventprovider/lttng/eventprovdotnetruntimeprivate.cpp b/src/pal/src/eventprovider/lttng/eventprovdotnetruntimeprivate.cpp new file mode 100644 index 0000000000..0b24579a57 --- /dev/null +++ b/src/pal/src/eventprovider/lttng/eventprovdotnetruntimeprivate.cpp @@ -0,0 +1,4851 @@ +// +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. +// + +/****************************************************************** + +DO NOT MODIFY. AUTOGENERATED FILE. +This file is generated using the logic from <root>/src/inc/genXplatLttng.pl + +******************************************************************/ + + +#define TRACEPOINT_DEFINE +#define TRACEPOINT_PROBE_DYNAMIC_LINKAGE +#include "lttng/tpdotnetruntimeprivate.h" +extern "C" BOOL EventEnabledGCDecision(){ return TRUE;} +extern "C" ULONG FireEtwGCDecision( + const BOOL DoCompact +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCDecision()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + GCDecision, + DoCompact + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCDecision_V1(){ return TRUE;} +extern "C" ULONG FireEtwGCDecision_V1( + const BOOL DoCompact, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCDecision_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + GCDecision_V1, + DoCompact, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCSettings(){ return TRUE;} +extern "C" ULONG FireEtwGCSettings( + const unsigned __int64 SegmentSize, + const unsigned __int64 LargeObjectSegmentSize, + const BOOL ServerGC +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCSettings()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + GCSettings, + SegmentSize, + LargeObjectSegmentSize, + ServerGC + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCSettings_V1(){ return TRUE;} +extern "C" ULONG FireEtwGCSettings_V1( + const unsigned __int64 SegmentSize, + const unsigned __int64 LargeObjectSegmentSize, + const BOOL ServerGC, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCSettings_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + GCSettings_V1, + SegmentSize, + LargeObjectSegmentSize, + ServerGC, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCOptimized(){ return TRUE;} +extern "C" ULONG FireEtwGCOptimized( + const unsigned __int64 DesiredAllocation, + const unsigned __int64 NewAllocation, + const unsigned int GenerationNumber +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCOptimized()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + GCOptimized, + DesiredAllocation, + NewAllocation, + GenerationNumber + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCOptimized_V1(){ return TRUE;} +extern "C" ULONG FireEtwGCOptimized_V1( + const unsigned __int64 DesiredAllocation, + const unsigned __int64 NewAllocation, + const unsigned int GenerationNumber, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCOptimized_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + GCOptimized_V1, + DesiredAllocation, + NewAllocation, + GenerationNumber, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCPerHeapHistory(){ return TRUE;} +extern "C" ULONG FireEtwGCPerHeapHistory( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCPerHeapHistory()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + GCPerHeapHistory + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCPerHeapHistory_V1(){ return TRUE;} +extern "C" ULONG FireEtwGCPerHeapHistory_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCPerHeapHistory_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + GCPerHeapHistory_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCGlobalHeapHistory(){ return TRUE;} +extern "C" ULONG FireEtwGCGlobalHeapHistory( + const unsigned __int64 FinalYoungestDesired, + const signed int NumHeaps, + const unsigned int CondemnedGeneration, + const unsigned int Gen0ReductionCount, + const unsigned int Reason, + const unsigned int GlobalMechanisms +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCGlobalHeapHistory()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + GCGlobalHeapHistory, + FinalYoungestDesired, + NumHeaps, + CondemnedGeneration, + Gen0ReductionCount, + Reason, + GlobalMechanisms + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCGlobalHeapHistory_V1(){ return TRUE;} +extern "C" ULONG FireEtwGCGlobalHeapHistory_V1( + const unsigned __int64 FinalYoungestDesired, + const signed int NumHeaps, + const unsigned int CondemnedGeneration, + const unsigned int Gen0ReductionCount, + const unsigned int Reason, + const unsigned int GlobalMechanisms, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCGlobalHeapHistory_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + GCGlobalHeapHistory_V1, + FinalYoungestDesired, + NumHeaps, + CondemnedGeneration, + Gen0ReductionCount, + Reason, + GlobalMechanisms, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCJoin(){ return TRUE;} +extern "C" ULONG FireEtwGCJoin( + const unsigned int Heap, + const unsigned int JoinTime, + const unsigned int JoinType +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCJoin()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + GCJoin, + Heap, + JoinTime, + JoinType + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCJoin_V1(){ return TRUE;} +extern "C" ULONG FireEtwGCJoin_V1( + const unsigned int Heap, + const unsigned int JoinTime, + const unsigned int JoinType, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCJoin_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + GCJoin_V1, + Heap, + JoinTime, + JoinType, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledPrvGCMarkStackRoots(){ return TRUE;} +extern "C" ULONG FireEtwPrvGCMarkStackRoots( + const unsigned int HeapNum +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledPrvGCMarkStackRoots()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + PrvGCMarkStackRoots, + HeapNum + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledPrvGCMarkStackRoots_V1(){ return TRUE;} +extern "C" ULONG FireEtwPrvGCMarkStackRoots_V1( + const unsigned int HeapNum, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledPrvGCMarkStackRoots_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + PrvGCMarkStackRoots_V1, + HeapNum, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledPrvGCMarkFinalizeQueueRoots(){ return TRUE;} +extern "C" ULONG FireEtwPrvGCMarkFinalizeQueueRoots( + const unsigned int HeapNum +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledPrvGCMarkFinalizeQueueRoots()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + PrvGCMarkFinalizeQueueRoots, + HeapNum + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledPrvGCMarkFinalizeQueueRoots_V1(){ return TRUE;} +extern "C" ULONG FireEtwPrvGCMarkFinalizeQueueRoots_V1( + const unsigned int HeapNum, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledPrvGCMarkFinalizeQueueRoots_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + PrvGCMarkFinalizeQueueRoots_V1, + HeapNum, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledPrvGCMarkHandles(){ return TRUE;} +extern "C" ULONG FireEtwPrvGCMarkHandles( + const unsigned int HeapNum +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledPrvGCMarkHandles()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + PrvGCMarkHandles, + HeapNum + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledPrvGCMarkHandles_V1(){ return TRUE;} +extern "C" ULONG FireEtwPrvGCMarkHandles_V1( + const unsigned int HeapNum, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledPrvGCMarkHandles_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + PrvGCMarkHandles_V1, + HeapNum, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledPrvGCMarkCards(){ return TRUE;} +extern "C" ULONG FireEtwPrvGCMarkCards( + const unsigned int HeapNum +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledPrvGCMarkCards()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + PrvGCMarkCards, + HeapNum + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledPrvGCMarkCards_V1(){ return TRUE;} +extern "C" ULONG FireEtwPrvGCMarkCards_V1( + const unsigned int HeapNum, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledPrvGCMarkCards_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + PrvGCMarkCards_V1, + HeapNum, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledBGCBegin(){ return TRUE;} +extern "C" ULONG FireEtwBGCBegin( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBGCBegin()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + BGCBegin, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledBGC1stNonConEnd(){ return TRUE;} +extern "C" ULONG FireEtwBGC1stNonConEnd( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBGC1stNonConEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + BGC1stNonConEnd, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledBGC1stConEnd(){ return TRUE;} +extern "C" ULONG FireEtwBGC1stConEnd( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBGC1stConEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + BGC1stConEnd, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledBGC2ndNonConBegin(){ return TRUE;} +extern "C" ULONG FireEtwBGC2ndNonConBegin( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBGC2ndNonConBegin()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + BGC2ndNonConBegin, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledBGC2ndNonConEnd(){ return TRUE;} +extern "C" ULONG FireEtwBGC2ndNonConEnd( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBGC2ndNonConEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + BGC2ndNonConEnd, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledBGC2ndConBegin(){ return TRUE;} +extern "C" ULONG FireEtwBGC2ndConBegin( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBGC2ndConBegin()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + BGC2ndConBegin, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledBGC2ndConEnd(){ return TRUE;} +extern "C" ULONG FireEtwBGC2ndConEnd( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBGC2ndConEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + BGC2ndConEnd, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledBGCPlanEnd(){ return TRUE;} +extern "C" ULONG FireEtwBGCPlanEnd( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBGCPlanEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + BGCPlanEnd, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledBGCSweepEnd(){ return TRUE;} +extern "C" ULONG FireEtwBGCSweepEnd( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBGCSweepEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + BGCSweepEnd, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledBGCDrainMark(){ return TRUE;} +extern "C" ULONG FireEtwBGCDrainMark( + const unsigned __int64 Objects, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBGCDrainMark()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + BGCDrainMark, + Objects, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledBGCRevisit(){ return TRUE;} +extern "C" ULONG FireEtwBGCRevisit( + const unsigned __int64 Pages, + const unsigned __int64 Objects, + const unsigned int IsLarge, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBGCRevisit()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + BGCRevisit, + Pages, + Objects, + IsLarge, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledBGCOverflow(){ return TRUE;} +extern "C" ULONG FireEtwBGCOverflow( + const unsigned __int64 Min, + const unsigned __int64 Max, + const unsigned __int64 Objects, + const unsigned int IsLarge, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBGCOverflow()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + BGCOverflow, + Min, + Max, + Objects, + IsLarge, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledBGCAllocWaitBegin(){ return TRUE;} +extern "C" ULONG FireEtwBGCAllocWaitBegin( + const unsigned int Reason, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBGCAllocWaitBegin()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + BGCAllocWaitBegin, + Reason, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledBGCAllocWaitEnd(){ return TRUE;} +extern "C" ULONG FireEtwBGCAllocWaitEnd( + const unsigned int Reason, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBGCAllocWaitEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + BGCAllocWaitEnd, + Reason, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCFullNotify(){ return TRUE;} +extern "C" ULONG FireEtwGCFullNotify( + const unsigned int GenNumber, + const unsigned int IsAlloc +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCFullNotify()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + GCFullNotify, + GenNumber, + IsAlloc + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGCFullNotify_V1(){ return TRUE;} +extern "C" ULONG FireEtwGCFullNotify_V1( + const unsigned int GenNumber, + const unsigned int IsAlloc, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGCFullNotify_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + GCFullNotify_V1, + GenNumber, + IsAlloc, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledEEStartupStart(){ return TRUE;} +extern "C" ULONG FireEtwEEStartupStart( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledEEStartupStart()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + EEStartupStart + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledEEStartupStart_V1(){ return TRUE;} +extern "C" ULONG FireEtwEEStartupStart_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledEEStartupStart_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + EEStartupStart_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledEEStartupEnd(){ return TRUE;} +extern "C" ULONG FireEtwEEStartupEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledEEStartupEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + EEStartupEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledEEStartupEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwEEStartupEnd_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledEEStartupEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + EEStartupEnd_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledEEConfigSetup(){ return TRUE;} +extern "C" ULONG FireEtwEEConfigSetup( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledEEConfigSetup()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + EEConfigSetup + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledEEConfigSetup_V1(){ return TRUE;} +extern "C" ULONG FireEtwEEConfigSetup_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledEEConfigSetup_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + EEConfigSetup_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledEEConfigSetupEnd(){ return TRUE;} +extern "C" ULONG FireEtwEEConfigSetupEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledEEConfigSetupEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + EEConfigSetupEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledEEConfigSetupEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwEEConfigSetupEnd_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledEEConfigSetupEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + EEConfigSetupEnd_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledLdSysBases(){ return TRUE;} +extern "C" ULONG FireEtwLdSysBases( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledLdSysBases()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + LdSysBases + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledLdSysBases_V1(){ return TRUE;} +extern "C" ULONG FireEtwLdSysBases_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledLdSysBases_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + LdSysBases_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledLdSysBasesEnd(){ return TRUE;} +extern "C" ULONG FireEtwLdSysBasesEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledLdSysBasesEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + LdSysBasesEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledLdSysBasesEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwLdSysBasesEnd_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledLdSysBasesEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + LdSysBasesEnd_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledExecExe(){ return TRUE;} +extern "C" ULONG FireEtwExecExe( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledExecExe()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + ExecExe + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledExecExe_V1(){ return TRUE;} +extern "C" ULONG FireEtwExecExe_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledExecExe_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + ExecExe_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledExecExeEnd(){ return TRUE;} +extern "C" ULONG FireEtwExecExeEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledExecExeEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + ExecExeEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledExecExeEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwExecExeEnd_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledExecExeEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + ExecExeEnd_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledMain(){ return TRUE;} +extern "C" ULONG FireEtwMain( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMain()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + Main + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledMain_V1(){ return TRUE;} +extern "C" ULONG FireEtwMain_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMain_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + Main_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledMainEnd(){ return TRUE;} +extern "C" ULONG FireEtwMainEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMainEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + MainEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledMainEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwMainEnd_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMainEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + MainEnd_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledApplyPolicyStart(){ return TRUE;} +extern "C" ULONG FireEtwApplyPolicyStart( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledApplyPolicyStart()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + ApplyPolicyStart + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledApplyPolicyStart_V1(){ return TRUE;} +extern "C" ULONG FireEtwApplyPolicyStart_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledApplyPolicyStart_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + ApplyPolicyStart_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledApplyPolicyEnd(){ return TRUE;} +extern "C" ULONG FireEtwApplyPolicyEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledApplyPolicyEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + ApplyPolicyEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledApplyPolicyEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwApplyPolicyEnd_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledApplyPolicyEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + ApplyPolicyEnd_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledLdLibShFolder(){ return TRUE;} +extern "C" ULONG FireEtwLdLibShFolder( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledLdLibShFolder()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + LdLibShFolder + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledLdLibShFolder_V1(){ return TRUE;} +extern "C" ULONG FireEtwLdLibShFolder_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledLdLibShFolder_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + LdLibShFolder_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledLdLibShFolderEnd(){ return TRUE;} +extern "C" ULONG FireEtwLdLibShFolderEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledLdLibShFolderEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + LdLibShFolderEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledLdLibShFolderEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwLdLibShFolderEnd_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledLdLibShFolderEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + LdLibShFolderEnd_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledPrestubWorker(){ return TRUE;} +extern "C" ULONG FireEtwPrestubWorker( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledPrestubWorker()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + PrestubWorker + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledPrestubWorker_V1(){ return TRUE;} +extern "C" ULONG FireEtwPrestubWorker_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledPrestubWorker_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + PrestubWorker_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledPrestubWorkerEnd(){ return TRUE;} +extern "C" ULONG FireEtwPrestubWorkerEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledPrestubWorkerEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + PrestubWorkerEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledPrestubWorkerEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwPrestubWorkerEnd_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledPrestubWorkerEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + PrestubWorkerEnd_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGetInstallationStart(){ return TRUE;} +extern "C" ULONG FireEtwGetInstallationStart( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGetInstallationStart()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + GetInstallationStart + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGetInstallationStart_V1(){ return TRUE;} +extern "C" ULONG FireEtwGetInstallationStart_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGetInstallationStart_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + GetInstallationStart_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGetInstallationEnd(){ return TRUE;} +extern "C" ULONG FireEtwGetInstallationEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGetInstallationEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + GetInstallationEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledGetInstallationEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwGetInstallationEnd_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGetInstallationEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + GetInstallationEnd_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledOpenHModule(){ return TRUE;} +extern "C" ULONG FireEtwOpenHModule( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledOpenHModule()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + OpenHModule + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledOpenHModule_V1(){ return TRUE;} +extern "C" ULONG FireEtwOpenHModule_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledOpenHModule_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + OpenHModule_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledOpenHModuleEnd(){ return TRUE;} +extern "C" ULONG FireEtwOpenHModuleEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledOpenHModuleEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + OpenHModuleEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledOpenHModuleEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwOpenHModuleEnd_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledOpenHModuleEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + OpenHModuleEnd_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledExplicitBindStart(){ return TRUE;} +extern "C" ULONG FireEtwExplicitBindStart( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledExplicitBindStart()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + ExplicitBindStart + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledExplicitBindStart_V1(){ return TRUE;} +extern "C" ULONG FireEtwExplicitBindStart_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledExplicitBindStart_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + ExplicitBindStart_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledExplicitBindEnd(){ return TRUE;} +extern "C" ULONG FireEtwExplicitBindEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledExplicitBindEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + ExplicitBindEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledExplicitBindEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwExplicitBindEnd_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledExplicitBindEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + ExplicitBindEnd_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledParseXml(){ return TRUE;} +extern "C" ULONG FireEtwParseXml( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledParseXml()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + ParseXml + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledParseXml_V1(){ return TRUE;} +extern "C" ULONG FireEtwParseXml_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledParseXml_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + ParseXml_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledParseXmlEnd(){ return TRUE;} +extern "C" ULONG FireEtwParseXmlEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledParseXmlEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + ParseXmlEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledParseXmlEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwParseXmlEnd_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledParseXmlEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + ParseXmlEnd_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledInitDefaultDomain(){ return TRUE;} +extern "C" ULONG FireEtwInitDefaultDomain( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledInitDefaultDomain()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + InitDefaultDomain + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledInitDefaultDomain_V1(){ return TRUE;} +extern "C" ULONG FireEtwInitDefaultDomain_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledInitDefaultDomain_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + InitDefaultDomain_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledInitDefaultDomainEnd(){ return TRUE;} +extern "C" ULONG FireEtwInitDefaultDomainEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledInitDefaultDomainEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + InitDefaultDomainEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledInitDefaultDomainEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwInitDefaultDomainEnd_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledInitDefaultDomainEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + InitDefaultDomainEnd_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledInitSecurity(){ return TRUE;} +extern "C" ULONG FireEtwInitSecurity( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledInitSecurity()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + InitSecurity + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledInitSecurity_V1(){ return TRUE;} +extern "C" ULONG FireEtwInitSecurity_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledInitSecurity_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + InitSecurity_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledInitSecurityEnd(){ return TRUE;} +extern "C" ULONG FireEtwInitSecurityEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledInitSecurityEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + InitSecurityEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledInitSecurityEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwInitSecurityEnd_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledInitSecurityEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + InitSecurityEnd_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledAllowBindingRedirs(){ return TRUE;} +extern "C" ULONG FireEtwAllowBindingRedirs( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAllowBindingRedirs()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + AllowBindingRedirs + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledAllowBindingRedirs_V1(){ return TRUE;} +extern "C" ULONG FireEtwAllowBindingRedirs_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAllowBindingRedirs_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + AllowBindingRedirs_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledAllowBindingRedirsEnd(){ return TRUE;} +extern "C" ULONG FireEtwAllowBindingRedirsEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAllowBindingRedirsEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + AllowBindingRedirsEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledAllowBindingRedirsEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwAllowBindingRedirsEnd_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAllowBindingRedirsEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + AllowBindingRedirsEnd_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledEEConfigSync(){ return TRUE;} +extern "C" ULONG FireEtwEEConfigSync( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledEEConfigSync()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + EEConfigSync + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledEEConfigSync_V1(){ return TRUE;} +extern "C" ULONG FireEtwEEConfigSync_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledEEConfigSync_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + EEConfigSync_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledEEConfigSyncEnd(){ return TRUE;} +extern "C" ULONG FireEtwEEConfigSyncEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledEEConfigSyncEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + EEConfigSyncEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledEEConfigSyncEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwEEConfigSyncEnd_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledEEConfigSyncEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + EEConfigSyncEnd_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledFusionBinding(){ return TRUE;} +extern "C" ULONG FireEtwFusionBinding( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledFusionBinding()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + FusionBinding + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledFusionBinding_V1(){ return TRUE;} +extern "C" ULONG FireEtwFusionBinding_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledFusionBinding_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + FusionBinding_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledFusionBindingEnd(){ return TRUE;} +extern "C" ULONG FireEtwFusionBindingEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledFusionBindingEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + FusionBindingEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledFusionBindingEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwFusionBindingEnd_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledFusionBindingEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + FusionBindingEnd_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledLoaderCatchCall(){ return TRUE;} +extern "C" ULONG FireEtwLoaderCatchCall( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledLoaderCatchCall()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + LoaderCatchCall + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledLoaderCatchCall_V1(){ return TRUE;} +extern "C" ULONG FireEtwLoaderCatchCall_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledLoaderCatchCall_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + LoaderCatchCall_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledLoaderCatchCallEnd(){ return TRUE;} +extern "C" ULONG FireEtwLoaderCatchCallEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledLoaderCatchCallEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + LoaderCatchCallEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledLoaderCatchCallEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwLoaderCatchCallEnd_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledLoaderCatchCallEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + LoaderCatchCallEnd_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledFusionInit(){ return TRUE;} +extern "C" ULONG FireEtwFusionInit( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledFusionInit()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + FusionInit + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledFusionInit_V1(){ return TRUE;} +extern "C" ULONG FireEtwFusionInit_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledFusionInit_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + FusionInit_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledFusionInitEnd(){ return TRUE;} +extern "C" ULONG FireEtwFusionInitEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledFusionInitEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + FusionInitEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledFusionInitEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwFusionInitEnd_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledFusionInitEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + FusionInitEnd_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledFusionAppCtx(){ return TRUE;} +extern "C" ULONG FireEtwFusionAppCtx( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledFusionAppCtx()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + FusionAppCtx + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledFusionAppCtx_V1(){ return TRUE;} +extern "C" ULONG FireEtwFusionAppCtx_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledFusionAppCtx_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + FusionAppCtx_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledFusionAppCtxEnd(){ return TRUE;} +extern "C" ULONG FireEtwFusionAppCtxEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledFusionAppCtxEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + FusionAppCtxEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledFusionAppCtxEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwFusionAppCtxEnd_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledFusionAppCtxEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + FusionAppCtxEnd_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledFusion2EE(){ return TRUE;} +extern "C" ULONG FireEtwFusion2EE( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledFusion2EE()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + Fusion2EE + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledFusion2EE_V1(){ return TRUE;} +extern "C" ULONG FireEtwFusion2EE_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledFusion2EE_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + Fusion2EE_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledFusion2EEEnd(){ return TRUE;} +extern "C" ULONG FireEtwFusion2EEEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledFusion2EEEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + Fusion2EEEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledFusion2EEEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwFusion2EEEnd_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledFusion2EEEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + Fusion2EEEnd_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledSecurityCatchCall(){ return TRUE;} +extern "C" ULONG FireEtwSecurityCatchCall( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledSecurityCatchCall()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + SecurityCatchCall + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledSecurityCatchCall_V1(){ return TRUE;} +extern "C" ULONG FireEtwSecurityCatchCall_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledSecurityCatchCall_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + SecurityCatchCall_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledSecurityCatchCallEnd(){ return TRUE;} +extern "C" ULONG FireEtwSecurityCatchCallEnd( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledSecurityCatchCallEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + SecurityCatchCallEnd + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledSecurityCatchCallEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwSecurityCatchCallEnd_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledSecurityCatchCallEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + SecurityCatchCallEnd_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledCLRStackWalkPrivate(){ return TRUE;} +extern "C" ULONG FireEtwCLRStackWalkPrivate( + const unsigned short ClrInstanceID, + const unsigned char Reserved1, + const unsigned char Reserved2, + const unsigned int FrameCount, + const void** Stack +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledCLRStackWalkPrivate()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + CLRStackWalkPrivate, + ClrInstanceID, + Reserved1, + Reserved2, + FrameCount, + (const size_t*) Stack + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledModuleRangeLoadPrivate(){ return TRUE;} +extern "C" ULONG FireEtwModuleRangeLoadPrivate( + const unsigned short ClrInstanceID, + const unsigned __int64 ModuleID, + const unsigned int RangeBegin, + const unsigned int RangeSize, + const unsigned char RangeType, + const unsigned char IBCType, + const unsigned short SectionType +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledModuleRangeLoadPrivate()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + ModuleRangeLoadPrivate, + ClrInstanceID, + ModuleID, + RangeBegin, + RangeSize, + RangeType, + IBCType, + SectionType + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledBindingPolicyPhaseStart(){ return TRUE;} +extern "C" ULONG FireEtwBindingPolicyPhaseStart( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBindingPolicyPhaseStart()){ return ERROR_SUCCESS;}; + INT AssemblyCodebase_path_size = -1; + INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1; + CHAR* AssemblyCodebase_full_name=NULL; + INT AssemblyName_path_size = -1; + INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1; + CHAR* AssemblyName_full_name=NULL; + + AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyCodebase_full_name != NULL); + if(AssemblyCodebase_full_name == NULL){goto LExit;} + + AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size ); + if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyName_full_name != NULL); + if(AssemblyName_full_name == NULL){goto LExit;} + + AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size ); + if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + BindingPolicyPhaseStart, + AppDomainID, + LoadContextID, + FromLoaderCache, + DynamicLoad, + AssemblyCodebase_full_name, + AssemblyName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);} + if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledBindingPolicyPhaseEnd(){ return TRUE;} +extern "C" ULONG FireEtwBindingPolicyPhaseEnd( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBindingPolicyPhaseEnd()){ return ERROR_SUCCESS;}; + INT AssemblyCodebase_path_size = -1; + INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1; + CHAR* AssemblyCodebase_full_name=NULL; + INT AssemblyName_path_size = -1; + INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1; + CHAR* AssemblyName_full_name=NULL; + + AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyCodebase_full_name != NULL); + if(AssemblyCodebase_full_name == NULL){goto LExit;} + + AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size ); + if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyName_full_name != NULL); + if(AssemblyName_full_name == NULL){goto LExit;} + + AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size ); + if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + BindingPolicyPhaseEnd, + AppDomainID, + LoadContextID, + FromLoaderCache, + DynamicLoad, + AssemblyCodebase_full_name, + AssemblyName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);} + if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledBindingNgenPhaseStart(){ return TRUE;} +extern "C" ULONG FireEtwBindingNgenPhaseStart( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBindingNgenPhaseStart()){ return ERROR_SUCCESS;}; + INT AssemblyCodebase_path_size = -1; + INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1; + CHAR* AssemblyCodebase_full_name=NULL; + INT AssemblyName_path_size = -1; + INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1; + CHAR* AssemblyName_full_name=NULL; + + AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyCodebase_full_name != NULL); + if(AssemblyCodebase_full_name == NULL){goto LExit;} + + AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size ); + if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyName_full_name != NULL); + if(AssemblyName_full_name == NULL){goto LExit;} + + AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size ); + if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + BindingNgenPhaseStart, + AppDomainID, + LoadContextID, + FromLoaderCache, + DynamicLoad, + AssemblyCodebase_full_name, + AssemblyName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);} + if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledBindingNgenPhaseEnd(){ return TRUE;} +extern "C" ULONG FireEtwBindingNgenPhaseEnd( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBindingNgenPhaseEnd()){ return ERROR_SUCCESS;}; + INT AssemblyCodebase_path_size = -1; + INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1; + CHAR* AssemblyCodebase_full_name=NULL; + INT AssemblyName_path_size = -1; + INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1; + CHAR* AssemblyName_full_name=NULL; + + AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyCodebase_full_name != NULL); + if(AssemblyCodebase_full_name == NULL){goto LExit;} + + AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size ); + if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyName_full_name != NULL); + if(AssemblyName_full_name == NULL){goto LExit;} + + AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size ); + if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + BindingNgenPhaseEnd, + AppDomainID, + LoadContextID, + FromLoaderCache, + DynamicLoad, + AssemblyCodebase_full_name, + AssemblyName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);} + if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledBindingLookupAndProbingPhaseStart(){ return TRUE;} +extern "C" ULONG FireEtwBindingLookupAndProbingPhaseStart( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBindingLookupAndProbingPhaseStart()){ return ERROR_SUCCESS;}; + INT AssemblyCodebase_path_size = -1; + INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1; + CHAR* AssemblyCodebase_full_name=NULL; + INT AssemblyName_path_size = -1; + INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1; + CHAR* AssemblyName_full_name=NULL; + + AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyCodebase_full_name != NULL); + if(AssemblyCodebase_full_name == NULL){goto LExit;} + + AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size ); + if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyName_full_name != NULL); + if(AssemblyName_full_name == NULL){goto LExit;} + + AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size ); + if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + BindingLookupAndProbingPhaseStart, + AppDomainID, + LoadContextID, + FromLoaderCache, + DynamicLoad, + AssemblyCodebase_full_name, + AssemblyName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);} + if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledBindingLookupAndProbingPhaseEnd(){ return TRUE;} +extern "C" ULONG FireEtwBindingLookupAndProbingPhaseEnd( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBindingLookupAndProbingPhaseEnd()){ return ERROR_SUCCESS;}; + INT AssemblyCodebase_path_size = -1; + INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1; + CHAR* AssemblyCodebase_full_name=NULL; + INT AssemblyName_path_size = -1; + INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1; + CHAR* AssemblyName_full_name=NULL; + + AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyCodebase_full_name != NULL); + if(AssemblyCodebase_full_name == NULL){goto LExit;} + + AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size ); + if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyName_full_name != NULL); + if(AssemblyName_full_name == NULL){goto LExit;} + + AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size ); + if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + BindingLookupAndProbingPhaseEnd, + AppDomainID, + LoadContextID, + FromLoaderCache, + DynamicLoad, + AssemblyCodebase_full_name, + AssemblyName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);} + if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledLoaderPhaseStart(){ return TRUE;} +extern "C" ULONG FireEtwLoaderPhaseStart( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledLoaderPhaseStart()){ return ERROR_SUCCESS;}; + INT AssemblyCodebase_path_size = -1; + INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1; + CHAR* AssemblyCodebase_full_name=NULL; + INT AssemblyName_path_size = -1; + INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1; + CHAR* AssemblyName_full_name=NULL; + + AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyCodebase_full_name != NULL); + if(AssemblyCodebase_full_name == NULL){goto LExit;} + + AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size ); + if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyName_full_name != NULL); + if(AssemblyName_full_name == NULL){goto LExit;} + + AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size ); + if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + LoaderPhaseStart, + AppDomainID, + LoadContextID, + FromLoaderCache, + DynamicLoad, + AssemblyCodebase_full_name, + AssemblyName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);} + if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledLoaderPhaseEnd(){ return TRUE;} +extern "C" ULONG FireEtwLoaderPhaseEnd( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledLoaderPhaseEnd()){ return ERROR_SUCCESS;}; + INT AssemblyCodebase_path_size = -1; + INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1; + CHAR* AssemblyCodebase_full_name=NULL; + INT AssemblyName_path_size = -1; + INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1; + CHAR* AssemblyName_full_name=NULL; + + AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyCodebase_full_name != NULL); + if(AssemblyCodebase_full_name == NULL){goto LExit;} + + AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size ); + if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyName_full_name != NULL); + if(AssemblyName_full_name == NULL){goto LExit;} + + AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size ); + if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + LoaderPhaseEnd, + AppDomainID, + LoadContextID, + FromLoaderCache, + DynamicLoad, + AssemblyCodebase_full_name, + AssemblyName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);} + if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledBindingPhaseStart(){ return TRUE;} +extern "C" ULONG FireEtwBindingPhaseStart( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBindingPhaseStart()){ return ERROR_SUCCESS;}; + INT AssemblyCodebase_path_size = -1; + INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1; + CHAR* AssemblyCodebase_full_name=NULL; + INT AssemblyName_path_size = -1; + INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1; + CHAR* AssemblyName_full_name=NULL; + + AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyCodebase_full_name != NULL); + if(AssemblyCodebase_full_name == NULL){goto LExit;} + + AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size ); + if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyName_full_name != NULL); + if(AssemblyName_full_name == NULL){goto LExit;} + + AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size ); + if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + BindingPhaseStart, + AppDomainID, + LoadContextID, + FromLoaderCache, + DynamicLoad, + AssemblyCodebase_full_name, + AssemblyName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);} + if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledBindingPhaseEnd(){ return TRUE;} +extern "C" ULONG FireEtwBindingPhaseEnd( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBindingPhaseEnd()){ return ERROR_SUCCESS;}; + INT AssemblyCodebase_path_size = -1; + INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1; + CHAR* AssemblyCodebase_full_name=NULL; + INT AssemblyName_path_size = -1; + INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1; + CHAR* AssemblyName_full_name=NULL; + + AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyCodebase_full_name != NULL); + if(AssemblyCodebase_full_name == NULL){goto LExit;} + + AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size ); + if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyName_full_name != NULL); + if(AssemblyName_full_name == NULL){goto LExit;} + + AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size ); + if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + BindingPhaseEnd, + AppDomainID, + LoadContextID, + FromLoaderCache, + DynamicLoad, + AssemblyCodebase_full_name, + AssemblyName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);} + if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledBindingDownloadPhaseStart(){ return TRUE;} +extern "C" ULONG FireEtwBindingDownloadPhaseStart( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBindingDownloadPhaseStart()){ return ERROR_SUCCESS;}; + INT AssemblyCodebase_path_size = -1; + INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1; + CHAR* AssemblyCodebase_full_name=NULL; + INT AssemblyName_path_size = -1; + INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1; + CHAR* AssemblyName_full_name=NULL; + + AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyCodebase_full_name != NULL); + if(AssemblyCodebase_full_name == NULL){goto LExit;} + + AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size ); + if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyName_full_name != NULL); + if(AssemblyName_full_name == NULL){goto LExit;} + + AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size ); + if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + BindingDownloadPhaseStart, + AppDomainID, + LoadContextID, + FromLoaderCache, + DynamicLoad, + AssemblyCodebase_full_name, + AssemblyName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);} + if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledBindingDownloadPhaseEnd(){ return TRUE;} +extern "C" ULONG FireEtwBindingDownloadPhaseEnd( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBindingDownloadPhaseEnd()){ return ERROR_SUCCESS;}; + INT AssemblyCodebase_path_size = -1; + INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1; + CHAR* AssemblyCodebase_full_name=NULL; + INT AssemblyName_path_size = -1; + INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1; + CHAR* AssemblyName_full_name=NULL; + + AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyCodebase_full_name != NULL); + if(AssemblyCodebase_full_name == NULL){goto LExit;} + + AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size ); + if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyName_full_name != NULL); + if(AssemblyName_full_name == NULL){goto LExit;} + + AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size ); + if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + BindingDownloadPhaseEnd, + AppDomainID, + LoadContextID, + FromLoaderCache, + DynamicLoad, + AssemblyCodebase_full_name, + AssemblyName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);} + if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledLoaderAssemblyInitPhaseStart(){ return TRUE;} +extern "C" ULONG FireEtwLoaderAssemblyInitPhaseStart( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledLoaderAssemblyInitPhaseStart()){ return ERROR_SUCCESS;}; + INT AssemblyCodebase_path_size = -1; + INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1; + CHAR* AssemblyCodebase_full_name=NULL; + INT AssemblyName_path_size = -1; + INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1; + CHAR* AssemblyName_full_name=NULL; + + AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyCodebase_full_name != NULL); + if(AssemblyCodebase_full_name == NULL){goto LExit;} + + AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size ); + if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyName_full_name != NULL); + if(AssemblyName_full_name == NULL){goto LExit;} + + AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size ); + if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + LoaderAssemblyInitPhaseStart, + AppDomainID, + LoadContextID, + FromLoaderCache, + DynamicLoad, + AssemblyCodebase_full_name, + AssemblyName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);} + if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledLoaderAssemblyInitPhaseEnd(){ return TRUE;} +extern "C" ULONG FireEtwLoaderAssemblyInitPhaseEnd( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledLoaderAssemblyInitPhaseEnd()){ return ERROR_SUCCESS;}; + INT AssemblyCodebase_path_size = -1; + INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1; + CHAR* AssemblyCodebase_full_name=NULL; + INT AssemblyName_path_size = -1; + INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1; + CHAR* AssemblyName_full_name=NULL; + + AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyCodebase_full_name != NULL); + if(AssemblyCodebase_full_name == NULL){goto LExit;} + + AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size ); + if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyName_full_name != NULL); + if(AssemblyName_full_name == NULL){goto LExit;} + + AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size ); + if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + LoaderAssemblyInitPhaseEnd, + AppDomainID, + LoadContextID, + FromLoaderCache, + DynamicLoad, + AssemblyCodebase_full_name, + AssemblyName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);} + if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledLoaderMappingPhaseStart(){ return TRUE;} +extern "C" ULONG FireEtwLoaderMappingPhaseStart( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledLoaderMappingPhaseStart()){ return ERROR_SUCCESS;}; + INT AssemblyCodebase_path_size = -1; + INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1; + CHAR* AssemblyCodebase_full_name=NULL; + INT AssemblyName_path_size = -1; + INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1; + CHAR* AssemblyName_full_name=NULL; + + AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyCodebase_full_name != NULL); + if(AssemblyCodebase_full_name == NULL){goto LExit;} + + AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size ); + if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyName_full_name != NULL); + if(AssemblyName_full_name == NULL){goto LExit;} + + AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size ); + if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + LoaderMappingPhaseStart, + AppDomainID, + LoadContextID, + FromLoaderCache, + DynamicLoad, + AssemblyCodebase_full_name, + AssemblyName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);} + if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledLoaderMappingPhaseEnd(){ return TRUE;} +extern "C" ULONG FireEtwLoaderMappingPhaseEnd( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledLoaderMappingPhaseEnd()){ return ERROR_SUCCESS;}; + INT AssemblyCodebase_path_size = -1; + INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1; + CHAR* AssemblyCodebase_full_name=NULL; + INT AssemblyName_path_size = -1; + INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1; + CHAR* AssemblyName_full_name=NULL; + + AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyCodebase_full_name != NULL); + if(AssemblyCodebase_full_name == NULL){goto LExit;} + + AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size ); + if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyName_full_name != NULL); + if(AssemblyName_full_name == NULL){goto LExit;} + + AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size ); + if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + LoaderMappingPhaseEnd, + AppDomainID, + LoadContextID, + FromLoaderCache, + DynamicLoad, + AssemblyCodebase_full_name, + AssemblyName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);} + if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledLoaderDeliverEventsPhaseStart(){ return TRUE;} +extern "C" ULONG FireEtwLoaderDeliverEventsPhaseStart( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledLoaderDeliverEventsPhaseStart()){ return ERROR_SUCCESS;}; + INT AssemblyCodebase_path_size = -1; + INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1; + CHAR* AssemblyCodebase_full_name=NULL; + INT AssemblyName_path_size = -1; + INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1; + CHAR* AssemblyName_full_name=NULL; + + AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyCodebase_full_name != NULL); + if(AssemblyCodebase_full_name == NULL){goto LExit;} + + AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size ); + if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyName_full_name != NULL); + if(AssemblyName_full_name == NULL){goto LExit;} + + AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size ); + if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + LoaderDeliverEventsPhaseStart, + AppDomainID, + LoadContextID, + FromLoaderCache, + DynamicLoad, + AssemblyCodebase_full_name, + AssemblyName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);} + if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledLoaderDeliverEventsPhaseEnd(){ return TRUE;} +extern "C" ULONG FireEtwLoaderDeliverEventsPhaseEnd( + const unsigned int AppDomainID, + const unsigned int LoadContextID, + const unsigned int FromLoaderCache, + const unsigned int DynamicLoad, + PCWSTR AssemblyCodebase, + PCWSTR AssemblyName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledLoaderDeliverEventsPhaseEnd()){ return ERROR_SUCCESS;}; + INT AssemblyCodebase_path_size = -1; + INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1; + CHAR* AssemblyCodebase_full_name=NULL; + INT AssemblyName_path_size = -1; + INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1; + CHAR* AssemblyName_full_name=NULL; + + AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyCodebase_full_name != NULL); + if(AssemblyCodebase_full_name == NULL){goto LExit;} + + AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size ); + if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyName_full_name != NULL); + if(AssemblyName_full_name == NULL){goto LExit;} + + AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size ); + if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + LoaderDeliverEventsPhaseEnd, + AppDomainID, + LoadContextID, + FromLoaderCache, + DynamicLoad, + AssemblyCodebase_full_name, + AssemblyName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);} + if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledEvidenceGenerated(){ return TRUE;} +extern "C" ULONG FireEtwEvidenceGenerated( + const unsigned int Type, + const unsigned int AppDomain, + PCWSTR ILImage, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledEvidenceGenerated()){ return ERROR_SUCCESS;}; + INT ILImage_path_size = -1; + INT ILImage_full_name_path_size = PAL_wcslen(ILImage) + 1; + CHAR* ILImage_full_name=NULL; + + ILImage_full_name = (CHAR*)malloc(ILImage_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ILImage_full_name != NULL); + if(ILImage_full_name == NULL){goto LExit;} + + ILImage_path_size = WideCharToMultiByte( CP_ACP, 0, ILImage, -1, ILImage_full_name, ILImage_full_name_path_size, NULL, NULL ); + _ASSERTE(ILImage_path_size == ILImage_full_name_path_size ); + if( ILImage_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + EvidenceGenerated, + Type, + AppDomain, + ILImage_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (ILImage_full_name != NULL) {free(ILImage_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledModuleTransparencyComputationStart(){ return TRUE;} +extern "C" ULONG FireEtwModuleTransparencyComputationStart( + PCWSTR Module, + const unsigned int AppDomainID, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledModuleTransparencyComputationStart()){ return ERROR_SUCCESS;}; + INT Module_path_size = -1; + INT Module_full_name_path_size = PAL_wcslen(Module) + 1; + CHAR* Module_full_name=NULL; + + Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR)); + _ASSERTE(Module_full_name != NULL); + if(Module_full_name == NULL){goto LExit;} + + Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL ); + _ASSERTE(Module_path_size == Module_full_name_path_size ); + if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + ModuleTransparencyComputationStart, + Module_full_name, + AppDomainID, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (Module_full_name != NULL) {free(Module_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledModuleTransparencyComputationEnd(){ return TRUE;} +extern "C" ULONG FireEtwModuleTransparencyComputationEnd( + PCWSTR Module, + const unsigned int AppDomainID, + const BOOL IsAllCritical, + const BOOL IsAllTransparent, + const BOOL IsTreatAsSafe, + const BOOL IsOpportunisticallyCritical, + const unsigned int SecurityRuleSet, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledModuleTransparencyComputationEnd()){ return ERROR_SUCCESS;}; + INT Module_path_size = -1; + INT Module_full_name_path_size = PAL_wcslen(Module) + 1; + CHAR* Module_full_name=NULL; + + Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR)); + _ASSERTE(Module_full_name != NULL); + if(Module_full_name == NULL){goto LExit;} + + Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL ); + _ASSERTE(Module_path_size == Module_full_name_path_size ); + if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + ModuleTransparencyComputationEnd, + Module_full_name, + AppDomainID, + IsAllCritical, + IsAllTransparent, + IsTreatAsSafe, + IsOpportunisticallyCritical, + SecurityRuleSet, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (Module_full_name != NULL) {free(Module_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledTypeTransparencyComputationStart(){ return TRUE;} +extern "C" ULONG FireEtwTypeTransparencyComputationStart( + PCWSTR Type, + PCWSTR Module, + const unsigned int AppDomainID, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledTypeTransparencyComputationStart()){ return ERROR_SUCCESS;}; + INT Type_path_size = -1; + INT Type_full_name_path_size = PAL_wcslen(Type) + 1; + CHAR* Type_full_name=NULL; + INT Module_path_size = -1; + INT Module_full_name_path_size = PAL_wcslen(Module) + 1; + CHAR* Module_full_name=NULL; + + Type_full_name = (CHAR*)malloc(Type_full_name_path_size*sizeof(CHAR)); + _ASSERTE(Type_full_name != NULL); + if(Type_full_name == NULL){goto LExit;} + + Type_path_size = WideCharToMultiByte( CP_ACP, 0, Type, -1, Type_full_name, Type_full_name_path_size, NULL, NULL ); + _ASSERTE(Type_path_size == Type_full_name_path_size ); + if( Type_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR)); + _ASSERTE(Module_full_name != NULL); + if(Module_full_name == NULL){goto LExit;} + + Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL ); + _ASSERTE(Module_path_size == Module_full_name_path_size ); + if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + TypeTransparencyComputationStart, + Type_full_name, + Module_full_name, + AppDomainID, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (Module_full_name != NULL) {free(Module_full_name);} + if (Type_full_name != NULL) {free(Type_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledTypeTransparencyComputationEnd(){ return TRUE;} +extern "C" ULONG FireEtwTypeTransparencyComputationEnd( + PCWSTR Type, + PCWSTR Module, + const unsigned int AppDomainID, + const BOOL IsAllCritical, + const BOOL IsAllTransparent, + const BOOL IsCritical, + const BOOL IsTreatAsSafe, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledTypeTransparencyComputationEnd()){ return ERROR_SUCCESS;}; + INT Type_path_size = -1; + INT Type_full_name_path_size = PAL_wcslen(Type) + 1; + CHAR* Type_full_name=NULL; + INT Module_path_size = -1; + INT Module_full_name_path_size = PAL_wcslen(Module) + 1; + CHAR* Module_full_name=NULL; + + Type_full_name = (CHAR*)malloc(Type_full_name_path_size*sizeof(CHAR)); + _ASSERTE(Type_full_name != NULL); + if(Type_full_name == NULL){goto LExit;} + + Type_path_size = WideCharToMultiByte( CP_ACP, 0, Type, -1, Type_full_name, Type_full_name_path_size, NULL, NULL ); + _ASSERTE(Type_path_size == Type_full_name_path_size ); + if( Type_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR)); + _ASSERTE(Module_full_name != NULL); + if(Module_full_name == NULL){goto LExit;} + + Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL ); + _ASSERTE(Module_path_size == Module_full_name_path_size ); + if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + TypeTransparencyComputationEnd, + Type_full_name, + Module_full_name, + AppDomainID, + IsAllCritical, + IsAllTransparent, + IsCritical, + IsTreatAsSafe, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (Module_full_name != NULL) {free(Module_full_name);} + if (Type_full_name != NULL) {free(Type_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledMethodTransparencyComputationStart(){ return TRUE;} +extern "C" ULONG FireEtwMethodTransparencyComputationStart( + PCWSTR Method, + PCWSTR Module, + const unsigned int AppDomainID, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodTransparencyComputationStart()){ return ERROR_SUCCESS;}; + INT Method_path_size = -1; + INT Method_full_name_path_size = PAL_wcslen(Method) + 1; + CHAR* Method_full_name=NULL; + INT Module_path_size = -1; + INT Module_full_name_path_size = PAL_wcslen(Module) + 1; + CHAR* Module_full_name=NULL; + + Method_full_name = (CHAR*)malloc(Method_full_name_path_size*sizeof(CHAR)); + _ASSERTE(Method_full_name != NULL); + if(Method_full_name == NULL){goto LExit;} + + Method_path_size = WideCharToMultiByte( CP_ACP, 0, Method, -1, Method_full_name, Method_full_name_path_size, NULL, NULL ); + _ASSERTE(Method_path_size == Method_full_name_path_size ); + if( Method_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR)); + _ASSERTE(Module_full_name != NULL); + if(Module_full_name == NULL){goto LExit;} + + Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL ); + _ASSERTE(Module_path_size == Module_full_name_path_size ); + if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + MethodTransparencyComputationStart, + Method_full_name, + Module_full_name, + AppDomainID, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (Module_full_name != NULL) {free(Module_full_name);} + if (Method_full_name != NULL) {free(Method_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledMethodTransparencyComputationEnd(){ return TRUE;} +extern "C" ULONG FireEtwMethodTransparencyComputationEnd( + PCWSTR Method, + PCWSTR Module, + const unsigned int AppDomainID, + const BOOL IsCritical, + const BOOL IsTreatAsSafe, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodTransparencyComputationEnd()){ return ERROR_SUCCESS;}; + INT Method_path_size = -1; + INT Method_full_name_path_size = PAL_wcslen(Method) + 1; + CHAR* Method_full_name=NULL; + INT Module_path_size = -1; + INT Module_full_name_path_size = PAL_wcslen(Module) + 1; + CHAR* Module_full_name=NULL; + + Method_full_name = (CHAR*)malloc(Method_full_name_path_size*sizeof(CHAR)); + _ASSERTE(Method_full_name != NULL); + if(Method_full_name == NULL){goto LExit;} + + Method_path_size = WideCharToMultiByte( CP_ACP, 0, Method, -1, Method_full_name, Method_full_name_path_size, NULL, NULL ); + _ASSERTE(Method_path_size == Method_full_name_path_size ); + if( Method_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR)); + _ASSERTE(Module_full_name != NULL); + if(Module_full_name == NULL){goto LExit;} + + Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL ); + _ASSERTE(Module_path_size == Module_full_name_path_size ); + if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + MethodTransparencyComputationEnd, + Method_full_name, + Module_full_name, + AppDomainID, + IsCritical, + IsTreatAsSafe, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (Module_full_name != NULL) {free(Module_full_name);} + if (Method_full_name != NULL) {free(Method_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledFieldTransparencyComputationStart(){ return TRUE;} +extern "C" ULONG FireEtwFieldTransparencyComputationStart( + PCWSTR Field, + PCWSTR Module, + const unsigned int AppDomainID, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledFieldTransparencyComputationStart()){ return ERROR_SUCCESS;}; + INT Field_path_size = -1; + INT Field_full_name_path_size = PAL_wcslen(Field) + 1; + CHAR* Field_full_name=NULL; + INT Module_path_size = -1; + INT Module_full_name_path_size = PAL_wcslen(Module) + 1; + CHAR* Module_full_name=NULL; + + Field_full_name = (CHAR*)malloc(Field_full_name_path_size*sizeof(CHAR)); + _ASSERTE(Field_full_name != NULL); + if(Field_full_name == NULL){goto LExit;} + + Field_path_size = WideCharToMultiByte( CP_ACP, 0, Field, -1, Field_full_name, Field_full_name_path_size, NULL, NULL ); + _ASSERTE(Field_path_size == Field_full_name_path_size ); + if( Field_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR)); + _ASSERTE(Module_full_name != NULL); + if(Module_full_name == NULL){goto LExit;} + + Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL ); + _ASSERTE(Module_path_size == Module_full_name_path_size ); + if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + FieldTransparencyComputationStart, + Field_full_name, + Module_full_name, + AppDomainID, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (Module_full_name != NULL) {free(Module_full_name);} + if (Field_full_name != NULL) {free(Field_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledFieldTransparencyComputationEnd(){ return TRUE;} +extern "C" ULONG FireEtwFieldTransparencyComputationEnd( + PCWSTR Field, + PCWSTR Module, + const unsigned int AppDomainID, + const BOOL IsCritical, + const BOOL IsTreatAsSafe, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledFieldTransparencyComputationEnd()){ return ERROR_SUCCESS;}; + INT Field_path_size = -1; + INT Field_full_name_path_size = PAL_wcslen(Field) + 1; + CHAR* Field_full_name=NULL; + INT Module_path_size = -1; + INT Module_full_name_path_size = PAL_wcslen(Module) + 1; + CHAR* Module_full_name=NULL; + + Field_full_name = (CHAR*)malloc(Field_full_name_path_size*sizeof(CHAR)); + _ASSERTE(Field_full_name != NULL); + if(Field_full_name == NULL){goto LExit;} + + Field_path_size = WideCharToMultiByte( CP_ACP, 0, Field, -1, Field_full_name, Field_full_name_path_size, NULL, NULL ); + _ASSERTE(Field_path_size == Field_full_name_path_size ); + if( Field_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR)); + _ASSERTE(Module_full_name != NULL); + if(Module_full_name == NULL){goto LExit;} + + Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL ); + _ASSERTE(Module_path_size == Module_full_name_path_size ); + if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + FieldTransparencyComputationEnd, + Field_full_name, + Module_full_name, + AppDomainID, + IsCritical, + IsTreatAsSafe, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (Module_full_name != NULL) {free(Module_full_name);} + if (Field_full_name != NULL) {free(Field_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledTokenTransparencyComputationStart(){ return TRUE;} +extern "C" ULONG FireEtwTokenTransparencyComputationStart( + const unsigned int Token, + PCWSTR Module, + const unsigned int AppDomainID, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledTokenTransparencyComputationStart()){ return ERROR_SUCCESS;}; + INT Module_path_size = -1; + INT Module_full_name_path_size = PAL_wcslen(Module) + 1; + CHAR* Module_full_name=NULL; + + Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR)); + _ASSERTE(Module_full_name != NULL); + if(Module_full_name == NULL){goto LExit;} + + Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL ); + _ASSERTE(Module_path_size == Module_full_name_path_size ); + if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + TokenTransparencyComputationStart, + Token, + Module_full_name, + AppDomainID, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (Module_full_name != NULL) {free(Module_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledTokenTransparencyComputationEnd(){ return TRUE;} +extern "C" ULONG FireEtwTokenTransparencyComputationEnd( + const unsigned int Token, + PCWSTR Module, + const unsigned int AppDomainID, + const BOOL IsCritical, + const BOOL IsTreatAsSafe, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledTokenTransparencyComputationEnd()){ return ERROR_SUCCESS;}; + INT Module_path_size = -1; + INT Module_full_name_path_size = PAL_wcslen(Module) + 1; + CHAR* Module_full_name=NULL; + + Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR)); + _ASSERTE(Module_full_name != NULL); + if(Module_full_name == NULL){goto LExit;} + + Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL ); + _ASSERTE(Module_path_size == Module_full_name_path_size ); + if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + TokenTransparencyComputationEnd, + Token, + Module_full_name, + AppDomainID, + IsCritical, + IsTreatAsSafe, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (Module_full_name != NULL) {free(Module_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledNgenBindEvent(){ return TRUE;} +extern "C" ULONG FireEtwNgenBindEvent( + const unsigned short ClrInstanceID, + const unsigned __int64 BindingID, + const unsigned int ReasonCode, + PCWSTR AssemblyName +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledNgenBindEvent()){ return ERROR_SUCCESS;}; + INT AssemblyName_path_size = -1; + INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1; + CHAR* AssemblyName_full_name=NULL; + + AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AssemblyName_full_name != NULL); + if(AssemblyName_full_name == NULL){goto LExit;} + + AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size ); + if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + NgenBindEvent, + ClrInstanceID, + BindingID, + ReasonCode, + AssemblyName_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledFailFast(){ return TRUE;} +extern "C" ULONG FireEtwFailFast( + PCWSTR FailFastUserMessage, + const void* FailedEIP, + const unsigned int OSExitCode, + const unsigned int ClrExitCode, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledFailFast()){ return ERROR_SUCCESS;}; + INT FailFastUserMessage_path_size = -1; + INT FailFastUserMessage_full_name_path_size = PAL_wcslen(FailFastUserMessage) + 1; + CHAR* FailFastUserMessage_full_name=NULL; + + FailFastUserMessage_full_name = (CHAR*)malloc(FailFastUserMessage_full_name_path_size*sizeof(CHAR)); + _ASSERTE(FailFastUserMessage_full_name != NULL); + if(FailFastUserMessage_full_name == NULL){goto LExit;} + + FailFastUserMessage_path_size = WideCharToMultiByte( CP_ACP, 0, FailFastUserMessage, -1, FailFastUserMessage_full_name, FailFastUserMessage_full_name_path_size, NULL, NULL ); + _ASSERTE(FailFastUserMessage_path_size == FailFastUserMessage_full_name_path_size ); + if( FailFastUserMessage_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + FailFast, + FailFastUserMessage_full_name, + (const size_t) FailedEIP, + OSExitCode, + ClrExitCode, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (FailFastUserMessage_full_name != NULL) {free(FailFastUserMessage_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledPrvFinalizeObject(){ return TRUE;} +extern "C" ULONG FireEtwPrvFinalizeObject( + const void* TypeID, + const void* ObjectID, + const unsigned short ClrInstanceID, + PCWSTR TypeName +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledPrvFinalizeObject()){ return ERROR_SUCCESS;}; + INT TypeName_path_size = -1; + INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1; + CHAR* TypeName_full_name=NULL; + + TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(TypeName_full_name != NULL); + if(TypeName_full_name == NULL){goto LExit;} + + TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL ); + _ASSERTE(TypeName_path_size == TypeName_full_name_path_size ); + if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + PrvFinalizeObject, + (const size_t) TypeID, + (const size_t) ObjectID, + ClrInstanceID, + TypeName_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (TypeName_full_name != NULL) {free(TypeName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledCCWRefCountChange(){ return TRUE;} +extern "C" ULONG FireEtwCCWRefCountChange( + const void* HandleID, + const void* ObjectID, + const void* COMInterfacePointer, + const unsigned int NewRefCount, + const unsigned __int64 AppDomainID, + LPCSTR ClassName, + LPCSTR NameSpace, + PCWSTR Operation, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledCCWRefCountChange()){ return ERROR_SUCCESS;}; + INT Operation_path_size = -1; + INT Operation_full_name_path_size = PAL_wcslen(Operation) + 1; + CHAR* Operation_full_name=NULL; + + Operation_full_name = (CHAR*)malloc(Operation_full_name_path_size*sizeof(CHAR)); + _ASSERTE(Operation_full_name != NULL); + if(Operation_full_name == NULL){goto LExit;} + + Operation_path_size = WideCharToMultiByte( CP_ACP, 0, Operation, -1, Operation_full_name, Operation_full_name_path_size, NULL, NULL ); + _ASSERTE(Operation_path_size == Operation_full_name_path_size ); + if( Operation_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + CCWRefCountChange, + (const size_t) HandleID, + (const size_t) ObjectID, + (const size_t) COMInterfacePointer, + NewRefCount, + AppDomainID, + ClassName, + NameSpace, + Operation_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (Operation_full_name != NULL) {free(Operation_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledPrvSetGCHandle(){ return TRUE;} +extern "C" ULONG FireEtwPrvSetGCHandle( + const void* HandleID, + const void* ObjectID, + const unsigned int Kind, + const unsigned int Generation, + const unsigned __int64 AppDomainID, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledPrvSetGCHandle()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + PrvSetGCHandle, + (const size_t) HandleID, + (const size_t) ObjectID, + Kind, + Generation, + AppDomainID, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledPrvDestroyGCHandle(){ return TRUE;} +extern "C" ULONG FireEtwPrvDestroyGCHandle( + const void* HandleID, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledPrvDestroyGCHandle()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + PrvDestroyGCHandle, + (const size_t) HandleID, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledFusionMessageEvent(){ return TRUE;} +extern "C" ULONG FireEtwFusionMessageEvent( + const unsigned short ClrInstanceID, + const BOOL Prepend, + PCWSTR Message +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledFusionMessageEvent()){ return ERROR_SUCCESS;}; + INT Message_path_size = -1; + INT Message_full_name_path_size = PAL_wcslen(Message) + 1; + CHAR* Message_full_name=NULL; + + Message_full_name = (CHAR*)malloc(Message_full_name_path_size*sizeof(CHAR)); + _ASSERTE(Message_full_name != NULL); + if(Message_full_name == NULL){goto LExit;} + + Message_path_size = WideCharToMultiByte( CP_ACP, 0, Message, -1, Message_full_name, Message_full_name_path_size, NULL, NULL ); + _ASSERTE(Message_path_size == Message_full_name_path_size ); + if( Message_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + FusionMessageEvent, + ClrInstanceID, + Prepend, + Message_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (Message_full_name != NULL) {free(Message_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledFusionErrorCodeEvent(){ return TRUE;} +extern "C" ULONG FireEtwFusionErrorCodeEvent( + const unsigned short ClrInstanceID, + const unsigned int Category, + const unsigned int ErrorCode +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledFusionErrorCodeEvent()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + FusionErrorCodeEvent, + ClrInstanceID, + Category, + ErrorCode + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledPinPlugAtGCTime(){ return TRUE;} +extern "C" ULONG FireEtwPinPlugAtGCTime( + const void* PlugStart, + const void* PlugEnd, + const void* GapBeforeSize, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledPinPlugAtGCTime()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + PinPlugAtGCTime, + (const size_t) PlugStart, + (const size_t) PlugEnd, + (const size_t) GapBeforeSize, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledAllocRequest(){ return TRUE;} +extern "C" ULONG FireEtwAllocRequest( + const void* LoaderHeapPtr, + const void* MemoryAddress, + const unsigned int RequestSize, + const unsigned int Unused1, + const unsigned __int64 Unused2, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAllocRequest()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + AllocRequest, + (const size_t) LoaderHeapPtr, + (const size_t) MemoryAddress, + RequestSize, + Unused1, + Unused2, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledMulticoreJit(){ return TRUE;} +extern "C" ULONG FireEtwMulticoreJit( + const unsigned short ClrInstanceID, + PCWSTR String1, + PCWSTR String2, + const signed int Int1, + const signed int Int2, + const signed int Int3 +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMulticoreJit()){ return ERROR_SUCCESS;}; + INT String1_path_size = -1; + INT String1_full_name_path_size = PAL_wcslen(String1) + 1; + CHAR* String1_full_name=NULL; + INT String2_path_size = -1; + INT String2_full_name_path_size = PAL_wcslen(String2) + 1; + CHAR* String2_full_name=NULL; + + String1_full_name = (CHAR*)malloc(String1_full_name_path_size*sizeof(CHAR)); + _ASSERTE(String1_full_name != NULL); + if(String1_full_name == NULL){goto LExit;} + + String1_path_size = WideCharToMultiByte( CP_ACP, 0, String1, -1, String1_full_name, String1_full_name_path_size, NULL, NULL ); + _ASSERTE(String1_path_size == String1_full_name_path_size ); + if( String1_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + String2_full_name = (CHAR*)malloc(String2_full_name_path_size*sizeof(CHAR)); + _ASSERTE(String2_full_name != NULL); + if(String2_full_name == NULL){goto LExit;} + + String2_path_size = WideCharToMultiByte( CP_ACP, 0, String2, -1, String2_full_name, String2_full_name_path_size, NULL, NULL ); + _ASSERTE(String2_path_size == String2_full_name_path_size ); + if( String2_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + MulticoreJit, + ClrInstanceID, + String1_full_name, + String2_full_name, + Int1, + Int2, + Int3 + ); + + Error = ERROR_SUCCESS; +LExit: + if (String2_full_name != NULL) {free(String2_full_name);} + if (String1_full_name != NULL) {free(String1_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledMulticoreJitMethodCodeReturned(){ return TRUE;} +extern "C" ULONG FireEtwMulticoreJitMethodCodeReturned( + const unsigned short ClrInstanceID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMulticoreJitMethodCodeReturned()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + MulticoreJitMethodCodeReturned, + ClrInstanceID, + ModuleID, + MethodID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledIInspectableRuntimeClassName(){ return TRUE;} +extern "C" ULONG FireEtwIInspectableRuntimeClassName( + PCWSTR TypeName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledIInspectableRuntimeClassName()){ return ERROR_SUCCESS;}; + INT TypeName_path_size = -1; + INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1; + CHAR* TypeName_full_name=NULL; + + TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(TypeName_full_name != NULL); + if(TypeName_full_name == NULL){goto LExit;} + + TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL ); + _ASSERTE(TypeName_path_size == TypeName_full_name_path_size ); + if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + IInspectableRuntimeClassName, + TypeName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (TypeName_full_name != NULL) {free(TypeName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledWinRTUnbox(){ return TRUE;} +extern "C" ULONG FireEtwWinRTUnbox( + PCWSTR TypeName, + PCWSTR SecondTypeName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledWinRTUnbox()){ return ERROR_SUCCESS;}; + INT TypeName_path_size = -1; + INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1; + CHAR* TypeName_full_name=NULL; + INT SecondTypeName_path_size = -1; + INT SecondTypeName_full_name_path_size = PAL_wcslen(SecondTypeName) + 1; + CHAR* SecondTypeName_full_name=NULL; + + TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(TypeName_full_name != NULL); + if(TypeName_full_name == NULL){goto LExit;} + + TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL ); + _ASSERTE(TypeName_path_size == TypeName_full_name_path_size ); + if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + SecondTypeName_full_name = (CHAR*)malloc(SecondTypeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(SecondTypeName_full_name != NULL); + if(SecondTypeName_full_name == NULL){goto LExit;} + + SecondTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, SecondTypeName, -1, SecondTypeName_full_name, SecondTypeName_full_name_path_size, NULL, NULL ); + _ASSERTE(SecondTypeName_path_size == SecondTypeName_full_name_path_size ); + if( SecondTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + WinRTUnbox, + TypeName_full_name, + SecondTypeName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (SecondTypeName_full_name != NULL) {free(SecondTypeName_full_name);} + if (TypeName_full_name != NULL) {free(TypeName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledCreateRCW(){ return TRUE;} +extern "C" ULONG FireEtwCreateRCW( + PCWSTR TypeName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledCreateRCW()){ return ERROR_SUCCESS;}; + INT TypeName_path_size = -1; + INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1; + CHAR* TypeName_full_name=NULL; + + TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(TypeName_full_name != NULL); + if(TypeName_full_name == NULL){goto LExit;} + + TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL ); + _ASSERTE(TypeName_path_size == TypeName_full_name_path_size ); + if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + CreateRCW, + TypeName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (TypeName_full_name != NULL) {free(TypeName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledRCWVariance(){ return TRUE;} +extern "C" ULONG FireEtwRCWVariance( + PCWSTR TypeName, + PCWSTR InterfaceTypeName, + PCWSTR VariantInterfaceTypeName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledRCWVariance()){ return ERROR_SUCCESS;}; + INT TypeName_path_size = -1; + INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1; + CHAR* TypeName_full_name=NULL; + INT InterfaceTypeName_path_size = -1; + INT InterfaceTypeName_full_name_path_size = PAL_wcslen(InterfaceTypeName) + 1; + CHAR* InterfaceTypeName_full_name=NULL; + INT VariantInterfaceTypeName_path_size = -1; + INT VariantInterfaceTypeName_full_name_path_size = PAL_wcslen(VariantInterfaceTypeName) + 1; + CHAR* VariantInterfaceTypeName_full_name=NULL; + + TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(TypeName_full_name != NULL); + if(TypeName_full_name == NULL){goto LExit;} + + TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL ); + _ASSERTE(TypeName_path_size == TypeName_full_name_path_size ); + if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + InterfaceTypeName_full_name = (CHAR*)malloc(InterfaceTypeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(InterfaceTypeName_full_name != NULL); + if(InterfaceTypeName_full_name == NULL){goto LExit;} + + InterfaceTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, InterfaceTypeName, -1, InterfaceTypeName_full_name, InterfaceTypeName_full_name_path_size, NULL, NULL ); + _ASSERTE(InterfaceTypeName_path_size == InterfaceTypeName_full_name_path_size ); + if( InterfaceTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + VariantInterfaceTypeName_full_name = (CHAR*)malloc(VariantInterfaceTypeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(VariantInterfaceTypeName_full_name != NULL); + if(VariantInterfaceTypeName_full_name == NULL){goto LExit;} + + VariantInterfaceTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, VariantInterfaceTypeName, -1, VariantInterfaceTypeName_full_name, VariantInterfaceTypeName_full_name_path_size, NULL, NULL ); + _ASSERTE(VariantInterfaceTypeName_path_size == VariantInterfaceTypeName_full_name_path_size ); + if( VariantInterfaceTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + RCWVariance, + TypeName_full_name, + InterfaceTypeName_full_name, + VariantInterfaceTypeName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (VariantInterfaceTypeName_full_name != NULL) {free(VariantInterfaceTypeName_full_name);} + if (InterfaceTypeName_full_name != NULL) {free(InterfaceTypeName_full_name);} + if (TypeName_full_name != NULL) {free(TypeName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledRCWIEnumerableCasting(){ return TRUE;} +extern "C" ULONG FireEtwRCWIEnumerableCasting( + PCWSTR TypeName, + PCWSTR SecondTypeName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledRCWIEnumerableCasting()){ return ERROR_SUCCESS;}; + INT TypeName_path_size = -1; + INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1; + CHAR* TypeName_full_name=NULL; + INT SecondTypeName_path_size = -1; + INT SecondTypeName_full_name_path_size = PAL_wcslen(SecondTypeName) + 1; + CHAR* SecondTypeName_full_name=NULL; + + TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(TypeName_full_name != NULL); + if(TypeName_full_name == NULL){goto LExit;} + + TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL ); + _ASSERTE(TypeName_path_size == TypeName_full_name_path_size ); + if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + SecondTypeName_full_name = (CHAR*)malloc(SecondTypeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(SecondTypeName_full_name != NULL); + if(SecondTypeName_full_name == NULL){goto LExit;} + + SecondTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, SecondTypeName, -1, SecondTypeName_full_name, SecondTypeName_full_name_path_size, NULL, NULL ); + _ASSERTE(SecondTypeName_path_size == SecondTypeName_full_name_path_size ); + if( SecondTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + RCWIEnumerableCasting, + TypeName_full_name, + SecondTypeName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (SecondTypeName_full_name != NULL) {free(SecondTypeName_full_name);} + if (TypeName_full_name != NULL) {free(TypeName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledCreateCCW(){ return TRUE;} +extern "C" ULONG FireEtwCreateCCW( + PCWSTR TypeName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledCreateCCW()){ return ERROR_SUCCESS;}; + INT TypeName_path_size = -1; + INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1; + CHAR* TypeName_full_name=NULL; + + TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(TypeName_full_name != NULL); + if(TypeName_full_name == NULL){goto LExit;} + + TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL ); + _ASSERTE(TypeName_path_size == TypeName_full_name_path_size ); + if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + CreateCCW, + TypeName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (TypeName_full_name != NULL) {free(TypeName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledCCWVariance(){ return TRUE;} +extern "C" ULONG FireEtwCCWVariance( + PCWSTR TypeName, + PCWSTR InterfaceTypeName, + PCWSTR VariantInterfaceTypeName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledCCWVariance()){ return ERROR_SUCCESS;}; + INT TypeName_path_size = -1; + INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1; + CHAR* TypeName_full_name=NULL; + INT InterfaceTypeName_path_size = -1; + INT InterfaceTypeName_full_name_path_size = PAL_wcslen(InterfaceTypeName) + 1; + CHAR* InterfaceTypeName_full_name=NULL; + INT VariantInterfaceTypeName_path_size = -1; + INT VariantInterfaceTypeName_full_name_path_size = PAL_wcslen(VariantInterfaceTypeName) + 1; + CHAR* VariantInterfaceTypeName_full_name=NULL; + + TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(TypeName_full_name != NULL); + if(TypeName_full_name == NULL){goto LExit;} + + TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL ); + _ASSERTE(TypeName_path_size == TypeName_full_name_path_size ); + if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + InterfaceTypeName_full_name = (CHAR*)malloc(InterfaceTypeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(InterfaceTypeName_full_name != NULL); + if(InterfaceTypeName_full_name == NULL){goto LExit;} + + InterfaceTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, InterfaceTypeName, -1, InterfaceTypeName_full_name, InterfaceTypeName_full_name_path_size, NULL, NULL ); + _ASSERTE(InterfaceTypeName_path_size == InterfaceTypeName_full_name_path_size ); + if( InterfaceTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + VariantInterfaceTypeName_full_name = (CHAR*)malloc(VariantInterfaceTypeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(VariantInterfaceTypeName_full_name != NULL); + if(VariantInterfaceTypeName_full_name == NULL){goto LExit;} + + VariantInterfaceTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, VariantInterfaceTypeName, -1, VariantInterfaceTypeName_full_name, VariantInterfaceTypeName_full_name_path_size, NULL, NULL ); + _ASSERTE(VariantInterfaceTypeName_path_size == VariantInterfaceTypeName_full_name_path_size ); + if( VariantInterfaceTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + CCWVariance, + TypeName_full_name, + InterfaceTypeName_full_name, + VariantInterfaceTypeName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (VariantInterfaceTypeName_full_name != NULL) {free(VariantInterfaceTypeName_full_name);} + if (InterfaceTypeName_full_name != NULL) {free(InterfaceTypeName_full_name);} + if (TypeName_full_name != NULL) {free(TypeName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledObjectVariantMarshallingToNative(){ return TRUE;} +extern "C" ULONG FireEtwObjectVariantMarshallingToNative( + PCWSTR TypeName, + const signed int Int1, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledObjectVariantMarshallingToNative()){ return ERROR_SUCCESS;}; + INT TypeName_path_size = -1; + INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1; + CHAR* TypeName_full_name=NULL; + + TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(TypeName_full_name != NULL); + if(TypeName_full_name == NULL){goto LExit;} + + TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL ); + _ASSERTE(TypeName_path_size == TypeName_full_name_path_size ); + if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + ObjectVariantMarshallingToNative, + TypeName_full_name, + Int1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (TypeName_full_name != NULL) {free(TypeName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledGetTypeFromGUID(){ return TRUE;} +extern "C" ULONG FireEtwGetTypeFromGUID( + PCWSTR TypeName, + PCWSTR SecondTypeName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGetTypeFromGUID()){ return ERROR_SUCCESS;}; + INT TypeName_path_size = -1; + INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1; + CHAR* TypeName_full_name=NULL; + INT SecondTypeName_path_size = -1; + INT SecondTypeName_full_name_path_size = PAL_wcslen(SecondTypeName) + 1; + CHAR* SecondTypeName_full_name=NULL; + + TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(TypeName_full_name != NULL); + if(TypeName_full_name == NULL){goto LExit;} + + TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL ); + _ASSERTE(TypeName_path_size == TypeName_full_name_path_size ); + if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + SecondTypeName_full_name = (CHAR*)malloc(SecondTypeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(SecondTypeName_full_name != NULL); + if(SecondTypeName_full_name == NULL){goto LExit;} + + SecondTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, SecondTypeName, -1, SecondTypeName_full_name, SecondTypeName_full_name_path_size, NULL, NULL ); + _ASSERTE(SecondTypeName_path_size == SecondTypeName_full_name_path_size ); + if( SecondTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + GetTypeFromGUID, + TypeName_full_name, + SecondTypeName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (SecondTypeName_full_name != NULL) {free(SecondTypeName_full_name);} + if (TypeName_full_name != NULL) {free(TypeName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledGetTypeFromProgID(){ return TRUE;} +extern "C" ULONG FireEtwGetTypeFromProgID( + PCWSTR TypeName, + PCWSTR SecondTypeName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledGetTypeFromProgID()){ return ERROR_SUCCESS;}; + INT TypeName_path_size = -1; + INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1; + CHAR* TypeName_full_name=NULL; + INT SecondTypeName_path_size = -1; + INT SecondTypeName_full_name_path_size = PAL_wcslen(SecondTypeName) + 1; + CHAR* SecondTypeName_full_name=NULL; + + TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(TypeName_full_name != NULL); + if(TypeName_full_name == NULL){goto LExit;} + + TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL ); + _ASSERTE(TypeName_path_size == TypeName_full_name_path_size ); + if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + SecondTypeName_full_name = (CHAR*)malloc(SecondTypeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(SecondTypeName_full_name != NULL); + if(SecondTypeName_full_name == NULL){goto LExit;} + + SecondTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, SecondTypeName, -1, SecondTypeName_full_name, SecondTypeName_full_name_path_size, NULL, NULL ); + _ASSERTE(SecondTypeName_path_size == SecondTypeName_full_name_path_size ); + if( SecondTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + GetTypeFromProgID, + TypeName_full_name, + SecondTypeName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (SecondTypeName_full_name != NULL) {free(SecondTypeName_full_name);} + if (TypeName_full_name != NULL) {free(TypeName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledConvertToCallbackEtw(){ return TRUE;} +extern "C" ULONG FireEtwConvertToCallbackEtw( + PCWSTR TypeName, + PCWSTR SecondTypeName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledConvertToCallbackEtw()){ return ERROR_SUCCESS;}; + INT TypeName_path_size = -1; + INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1; + CHAR* TypeName_full_name=NULL; + INT SecondTypeName_path_size = -1; + INT SecondTypeName_full_name_path_size = PAL_wcslen(SecondTypeName) + 1; + CHAR* SecondTypeName_full_name=NULL; + + TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(TypeName_full_name != NULL); + if(TypeName_full_name == NULL){goto LExit;} + + TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL ); + _ASSERTE(TypeName_path_size == TypeName_full_name_path_size ); + if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + SecondTypeName_full_name = (CHAR*)malloc(SecondTypeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(SecondTypeName_full_name != NULL); + if(SecondTypeName_full_name == NULL){goto LExit;} + + SecondTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, SecondTypeName, -1, SecondTypeName_full_name, SecondTypeName_full_name_path_size, NULL, NULL ); + _ASSERTE(SecondTypeName_path_size == SecondTypeName_full_name_path_size ); + if( SecondTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + ConvertToCallbackEtw, + TypeName_full_name, + SecondTypeName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (SecondTypeName_full_name != NULL) {free(SecondTypeName_full_name);} + if (TypeName_full_name != NULL) {free(TypeName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledBeginCreateManagedReference(){ return TRUE;} +extern "C" ULONG FireEtwBeginCreateManagedReference( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledBeginCreateManagedReference()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + BeginCreateManagedReference, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledEndCreateManagedReference(){ return TRUE;} +extern "C" ULONG FireEtwEndCreateManagedReference( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledEndCreateManagedReference()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimePrivate, + EndCreateManagedReference, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledObjectVariantMarshallingToManaged(){ return TRUE;} +extern "C" ULONG FireEtwObjectVariantMarshallingToManaged( + PCWSTR TypeName, + const signed int Int1, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledObjectVariantMarshallingToManaged()){ return ERROR_SUCCESS;}; + INT TypeName_path_size = -1; + INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1; + CHAR* TypeName_full_name=NULL; + + TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(TypeName_full_name != NULL); + if(TypeName_full_name == NULL){goto LExit;} + + TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL ); + _ASSERTE(TypeName_path_size == TypeName_full_name_path_size ); + if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimePrivate, + ObjectVariantMarshallingToManaged, + TypeName_full_name, + Int1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (TypeName_full_name != NULL) {free(TypeName_full_name);} + +return Error; +} diff --git a/src/pal/src/eventprovider/lttng/eventprovdotnetruntimerundown.cpp b/src/pal/src/eventprovider/lttng/eventprovdotnetruntimerundown.cpp new file mode 100644 index 0000000000..5cb9b7a7db --- /dev/null +++ b/src/pal/src/eventprovider/lttng/eventprovdotnetruntimerundown.cpp @@ -0,0 +1,1947 @@ +// +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. +// + +/****************************************************************** + +DO NOT MODIFY. AUTOGENERATED FILE. +This file is generated using the logic from <root>/src/inc/genXplatLttng.pl + +******************************************************************/ + + +#define TRACEPOINT_DEFINE +#define TRACEPOINT_PROBE_DYNAMIC_LINKAGE +#include "lttng/tpdotnetruntimerundown.h" +extern "C" BOOL EventEnabledCLRStackWalkDCStart(){ return TRUE;} +extern "C" ULONG FireEtwCLRStackWalkDCStart( + const unsigned short ClrInstanceID, + const unsigned char Reserved1, + const unsigned char Reserved2, + const unsigned int FrameCount, + const void** Stack +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledCLRStackWalkDCStart()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimeRundown, + CLRStackWalkDCStart, + ClrInstanceID, + Reserved1, + Reserved2, + FrameCount, + (const size_t*) Stack + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledMethodDCStart(){ return TRUE;} +extern "C" ULONG FireEtwMethodDCStart( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodDCStart()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimeRundown, + MethodDCStart, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledMethodDCStart_V1(){ return TRUE;} +extern "C" ULONG FireEtwMethodDCStart_V1( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodDCStart_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimeRundown, + MethodDCStart_V1, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledMethodDCStart_V2(){ return TRUE;} +extern "C" ULONG FireEtwMethodDCStart_V2( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + const unsigned short ClrInstanceID, + const unsigned __int64 ReJITID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodDCStart_V2()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimeRundown, + MethodDCStart_V2, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags, + ClrInstanceID, + ReJITID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledMethodDCEnd(){ return TRUE;} +extern "C" ULONG FireEtwMethodDCEnd( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodDCEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimeRundown, + MethodDCEnd, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledMethodDCEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwMethodDCEnd_V1( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodDCEnd_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimeRundown, + MethodDCEnd_V1, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledMethodDCEnd_V2(){ return TRUE;} +extern "C" ULONG FireEtwMethodDCEnd_V2( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + const unsigned short ClrInstanceID, + const unsigned __int64 ReJITID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodDCEnd_V2()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimeRundown, + MethodDCEnd_V2, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags, + ClrInstanceID, + ReJITID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledMethodDCStartVerbose(){ return TRUE;} +extern "C" ULONG FireEtwMethodDCStartVerbose( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodDCStartVerbose()){ return ERROR_SUCCESS;}; + INT MethodNamespace_path_size = -1; + INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1; + CHAR* MethodNamespace_full_name=NULL; + INT MethodName_path_size = -1; + INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1; + CHAR* MethodName_full_name=NULL; + INT MethodSignature_path_size = -1; + INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1; + CHAR* MethodSignature_full_name=NULL; + + MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodNamespace_full_name != NULL); + if(MethodNamespace_full_name == NULL){goto LExit;} + + MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size ); + if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodName_full_name != NULL); + if(MethodName_full_name == NULL){goto LExit;} + + MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodName_path_size == MethodName_full_name_path_size ); + if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodSignature_full_name != NULL); + if(MethodSignature_full_name == NULL){goto LExit;} + + MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size ); + if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimeRundown, + MethodDCStartVerbose, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags, + MethodNamespace_full_name, + MethodName_full_name, + MethodSignature_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);} + if (MethodName_full_name != NULL) {free(MethodName_full_name);} + if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledMethodDCStartVerbose_V1(){ return TRUE;} +extern "C" ULONG FireEtwMethodDCStartVerbose_V1( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodDCStartVerbose_V1()){ return ERROR_SUCCESS;}; + INT MethodNamespace_path_size = -1; + INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1; + CHAR* MethodNamespace_full_name=NULL; + INT MethodName_path_size = -1; + INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1; + CHAR* MethodName_full_name=NULL; + INT MethodSignature_path_size = -1; + INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1; + CHAR* MethodSignature_full_name=NULL; + + MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodNamespace_full_name != NULL); + if(MethodNamespace_full_name == NULL){goto LExit;} + + MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size ); + if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodName_full_name != NULL); + if(MethodName_full_name == NULL){goto LExit;} + + MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodName_path_size == MethodName_full_name_path_size ); + if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodSignature_full_name != NULL); + if(MethodSignature_full_name == NULL){goto LExit;} + + MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size ); + if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimeRundown, + MethodDCStartVerbose_V1, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags, + MethodNamespace_full_name, + MethodName_full_name, + MethodSignature_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);} + if (MethodName_full_name != NULL) {free(MethodName_full_name);} + if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledMethodDCStartVerbose_V2(){ return TRUE;} +extern "C" ULONG FireEtwMethodDCStartVerbose_V2( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature, + const unsigned short ClrInstanceID, + const unsigned __int64 ReJITID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodDCStartVerbose_V2()){ return ERROR_SUCCESS;}; + INT MethodNamespace_path_size = -1; + INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1; + CHAR* MethodNamespace_full_name=NULL; + INT MethodName_path_size = -1; + INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1; + CHAR* MethodName_full_name=NULL; + INT MethodSignature_path_size = -1; + INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1; + CHAR* MethodSignature_full_name=NULL; + + MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodNamespace_full_name != NULL); + if(MethodNamespace_full_name == NULL){goto LExit;} + + MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size ); + if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodName_full_name != NULL); + if(MethodName_full_name == NULL){goto LExit;} + + MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodName_path_size == MethodName_full_name_path_size ); + if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodSignature_full_name != NULL); + if(MethodSignature_full_name == NULL){goto LExit;} + + MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size ); + if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimeRundown, + MethodDCStartVerbose_V2, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags, + MethodNamespace_full_name, + MethodName_full_name, + MethodSignature_full_name, + ClrInstanceID + ); + + tracepoint( + DotNETRuntimeRundown, + MethodDCStartVerbose_V2_1, + ReJITID + ); + + Error = ERROR_SUCCESS; +LExit: + if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);} + if (MethodName_full_name != NULL) {free(MethodName_full_name);} + if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledMethodDCEndVerbose(){ return TRUE;} +extern "C" ULONG FireEtwMethodDCEndVerbose( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodDCEndVerbose()){ return ERROR_SUCCESS;}; + INT MethodNamespace_path_size = -1; + INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1; + CHAR* MethodNamespace_full_name=NULL; + INT MethodName_path_size = -1; + INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1; + CHAR* MethodName_full_name=NULL; + INT MethodSignature_path_size = -1; + INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1; + CHAR* MethodSignature_full_name=NULL; + + MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodNamespace_full_name != NULL); + if(MethodNamespace_full_name == NULL){goto LExit;} + + MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size ); + if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodName_full_name != NULL); + if(MethodName_full_name == NULL){goto LExit;} + + MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodName_path_size == MethodName_full_name_path_size ); + if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodSignature_full_name != NULL); + if(MethodSignature_full_name == NULL){goto LExit;} + + MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size ); + if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimeRundown, + MethodDCEndVerbose, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags, + MethodNamespace_full_name, + MethodName_full_name, + MethodSignature_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);} + if (MethodName_full_name != NULL) {free(MethodName_full_name);} + if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledMethodDCEndVerbose_V1(){ return TRUE;} +extern "C" ULONG FireEtwMethodDCEndVerbose_V1( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodDCEndVerbose_V1()){ return ERROR_SUCCESS;}; + INT MethodNamespace_path_size = -1; + INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1; + CHAR* MethodNamespace_full_name=NULL; + INT MethodName_path_size = -1; + INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1; + CHAR* MethodName_full_name=NULL; + INT MethodSignature_path_size = -1; + INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1; + CHAR* MethodSignature_full_name=NULL; + + MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodNamespace_full_name != NULL); + if(MethodNamespace_full_name == NULL){goto LExit;} + + MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size ); + if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodName_full_name != NULL); + if(MethodName_full_name == NULL){goto LExit;} + + MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodName_path_size == MethodName_full_name_path_size ); + if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodSignature_full_name != NULL); + if(MethodSignature_full_name == NULL){goto LExit;} + + MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size ); + if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimeRundown, + MethodDCEndVerbose_V1, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags, + MethodNamespace_full_name, + MethodName_full_name, + MethodSignature_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);} + if (MethodName_full_name != NULL) {free(MethodName_full_name);} + if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledMethodDCEndVerbose_V2(){ return TRUE;} +extern "C" ULONG FireEtwMethodDCEndVerbose_V2( + const unsigned __int64 MethodID, + const unsigned __int64 ModuleID, + const unsigned __int64 MethodStartAddress, + const unsigned int MethodSize, + const unsigned int MethodToken, + const unsigned int MethodFlags, + PCWSTR MethodNamespace, + PCWSTR MethodName, + PCWSTR MethodSignature, + const unsigned short ClrInstanceID, + const unsigned __int64 ReJITID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodDCEndVerbose_V2()){ return ERROR_SUCCESS;}; + INT MethodNamespace_path_size = -1; + INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1; + CHAR* MethodNamespace_full_name=NULL; + INT MethodName_path_size = -1; + INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1; + CHAR* MethodName_full_name=NULL; + INT MethodSignature_path_size = -1; + INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1; + CHAR* MethodSignature_full_name=NULL; + + MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodNamespace_full_name != NULL); + if(MethodNamespace_full_name == NULL){goto LExit;} + + MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size ); + if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodName_full_name != NULL); + if(MethodName_full_name == NULL){goto LExit;} + + MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodName_path_size == MethodName_full_name_path_size ); + if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR)); + _ASSERTE(MethodSignature_full_name != NULL); + if(MethodSignature_full_name == NULL){goto LExit;} + + MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL ); + _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size ); + if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimeRundown, + MethodDCEndVerbose_V2, + MethodID, + ModuleID, + MethodStartAddress, + MethodSize, + MethodToken, + MethodFlags, + MethodNamespace_full_name, + MethodName_full_name, + MethodSignature_full_name, + ClrInstanceID + ); + + tracepoint( + DotNETRuntimeRundown, + MethodDCEndVerbose_V2_1, + ReJITID + ); + + Error = ERROR_SUCCESS; +LExit: + if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);} + if (MethodName_full_name != NULL) {free(MethodName_full_name);} + if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledDCStartComplete(){ return TRUE;} +extern "C" ULONG FireEtwDCStartComplete( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledDCStartComplete()){ return ERROR_SUCCESS;}; + + tracepoint( + DotNETRuntimeRundown, + DCStartComplete + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledDCStartComplete_V1(){ return TRUE;} +extern "C" ULONG FireEtwDCStartComplete_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledDCStartComplete_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimeRundown, + DCStartComplete_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledDCEndComplete(){ return TRUE;} +extern "C" ULONG FireEtwDCEndComplete( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledDCEndComplete()){ return ERROR_SUCCESS;}; + + tracepoint( + DotNETRuntimeRundown, + DCEndComplete + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledDCEndComplete_V1(){ return TRUE;} +extern "C" ULONG FireEtwDCEndComplete_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledDCEndComplete_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimeRundown, + DCEndComplete_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledDCStartInit(){ return TRUE;} +extern "C" ULONG FireEtwDCStartInit( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledDCStartInit()){ return ERROR_SUCCESS;}; + + tracepoint( + DotNETRuntimeRundown, + DCStartInit + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledDCStartInit_V1(){ return TRUE;} +extern "C" ULONG FireEtwDCStartInit_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledDCStartInit_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimeRundown, + DCStartInit_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledDCEndInit(){ return TRUE;} +extern "C" ULONG FireEtwDCEndInit( +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledDCEndInit()){ return ERROR_SUCCESS;}; + + tracepoint( + DotNETRuntimeRundown, + DCEndInit + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledDCEndInit_V1(){ return TRUE;} +extern "C" ULONG FireEtwDCEndInit_V1( + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledDCEndInit_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimeRundown, + DCEndInit_V1, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledMethodDCStartILToNativeMap(){ return TRUE;} +extern "C" ULONG FireEtwMethodDCStartILToNativeMap( + const unsigned __int64 MethodID, + const unsigned __int64 ReJITID, + const unsigned char MethodExtent, + const unsigned short CountOfMapEntries, + const unsigned int* ILOffsets, + const unsigned int* NativeOffsets, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodDCStartILToNativeMap()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimeRundown, + MethodDCStartILToNativeMap, + MethodID, + ReJITID, + MethodExtent, + CountOfMapEntries, + (const unsigned int*) ILOffsets, + (const unsigned int*) NativeOffsets, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledMethodDCEndILToNativeMap(){ return TRUE;} +extern "C" ULONG FireEtwMethodDCEndILToNativeMap( + const unsigned __int64 MethodID, + const unsigned __int64 ReJITID, + const unsigned char MethodExtent, + const unsigned short CountOfMapEntries, + const unsigned int* ILOffsets, + const unsigned int* NativeOffsets, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledMethodDCEndILToNativeMap()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimeRundown, + MethodDCEndILToNativeMap, + MethodID, + ReJITID, + MethodExtent, + CountOfMapEntries, + (const unsigned int*) ILOffsets, + (const unsigned int*) NativeOffsets, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledDomainModuleDCStart(){ return TRUE;} +extern "C" ULONG FireEtwDomainModuleDCStart( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledDomainModuleDCStart()){ return ERROR_SUCCESS;}; + INT ModuleILPath_path_size = -1; + INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1; + CHAR* ModuleILPath_full_name=NULL; + INT ModuleNativePath_path_size = -1; + INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1; + CHAR* ModuleNativePath_full_name=NULL; + + ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleILPath_full_name != NULL); + if(ModuleILPath_full_name == NULL){goto LExit;} + + ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size ); + if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleNativePath_full_name != NULL); + if(ModuleNativePath_full_name == NULL){goto LExit;} + + ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size ); + if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimeRundown, + DomainModuleDCStart, + ModuleID, + AssemblyID, + AppDomainID, + ModuleFlags, + Reserved1, + ModuleILPath_full_name, + ModuleNativePath_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);} + if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledDomainModuleDCStart_V1(){ return TRUE;} +extern "C" ULONG FireEtwDomainModuleDCStart_V1( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledDomainModuleDCStart_V1()){ return ERROR_SUCCESS;}; + INT ModuleILPath_path_size = -1; + INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1; + CHAR* ModuleILPath_full_name=NULL; + INT ModuleNativePath_path_size = -1; + INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1; + CHAR* ModuleNativePath_full_name=NULL; + + ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleILPath_full_name != NULL); + if(ModuleILPath_full_name == NULL){goto LExit;} + + ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size ); + if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleNativePath_full_name != NULL); + if(ModuleNativePath_full_name == NULL){goto LExit;} + + ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size ); + if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimeRundown, + DomainModuleDCStart_V1, + ModuleID, + AssemblyID, + AppDomainID, + ModuleFlags, + Reserved1, + ModuleILPath_full_name, + ModuleNativePath_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);} + if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledDomainModuleDCEnd(){ return TRUE;} +extern "C" ULONG FireEtwDomainModuleDCEnd( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledDomainModuleDCEnd()){ return ERROR_SUCCESS;}; + INT ModuleILPath_path_size = -1; + INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1; + CHAR* ModuleILPath_full_name=NULL; + INT ModuleNativePath_path_size = -1; + INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1; + CHAR* ModuleNativePath_full_name=NULL; + + ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleILPath_full_name != NULL); + if(ModuleILPath_full_name == NULL){goto LExit;} + + ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size ); + if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleNativePath_full_name != NULL); + if(ModuleNativePath_full_name == NULL){goto LExit;} + + ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size ); + if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimeRundown, + DomainModuleDCEnd, + ModuleID, + AssemblyID, + AppDomainID, + ModuleFlags, + Reserved1, + ModuleILPath_full_name, + ModuleNativePath_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);} + if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledDomainModuleDCEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwDomainModuleDCEnd_V1( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledDomainModuleDCEnd_V1()){ return ERROR_SUCCESS;}; + INT ModuleILPath_path_size = -1; + INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1; + CHAR* ModuleILPath_full_name=NULL; + INT ModuleNativePath_path_size = -1; + INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1; + CHAR* ModuleNativePath_full_name=NULL; + + ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleILPath_full_name != NULL); + if(ModuleILPath_full_name == NULL){goto LExit;} + + ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size ); + if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleNativePath_full_name != NULL); + if(ModuleNativePath_full_name == NULL){goto LExit;} + + ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size ); + if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimeRundown, + DomainModuleDCEnd_V1, + ModuleID, + AssemblyID, + AppDomainID, + ModuleFlags, + Reserved1, + ModuleILPath_full_name, + ModuleNativePath_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);} + if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledModuleDCStart(){ return TRUE;} +extern "C" ULONG FireEtwModuleDCStart( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledModuleDCStart()){ return ERROR_SUCCESS;}; + INT ModuleILPath_path_size = -1; + INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1; + CHAR* ModuleILPath_full_name=NULL; + INT ModuleNativePath_path_size = -1; + INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1; + CHAR* ModuleNativePath_full_name=NULL; + + ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleILPath_full_name != NULL); + if(ModuleILPath_full_name == NULL){goto LExit;} + + ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size ); + if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleNativePath_full_name != NULL); + if(ModuleNativePath_full_name == NULL){goto LExit;} + + ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size ); + if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimeRundown, + ModuleDCStart, + ModuleID, + AssemblyID, + ModuleFlags, + Reserved1, + ModuleILPath_full_name, + ModuleNativePath_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);} + if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledModuleDCStart_V1(){ return TRUE;} +extern "C" ULONG FireEtwModuleDCStart_V1( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledModuleDCStart_V1()){ return ERROR_SUCCESS;}; + INT ModuleILPath_path_size = -1; + INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1; + CHAR* ModuleILPath_full_name=NULL; + INT ModuleNativePath_path_size = -1; + INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1; + CHAR* ModuleNativePath_full_name=NULL; + + ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleILPath_full_name != NULL); + if(ModuleILPath_full_name == NULL){goto LExit;} + + ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size ); + if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleNativePath_full_name != NULL); + if(ModuleNativePath_full_name == NULL){goto LExit;} + + ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size ); + if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimeRundown, + ModuleDCStart_V1, + ModuleID, + AssemblyID, + ModuleFlags, + Reserved1, + ModuleILPath_full_name, + ModuleNativePath_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);} + if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledModuleDCStart_V2(){ return TRUE;} +extern "C" ULONG FireEtwModuleDCStart_V2( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath, + const unsigned short ClrInstanceID, + const GUID* ManagedPdbSignature, + const unsigned int ManagedPdbAge, + PCWSTR ManagedPdbBuildPath, + const GUID* NativePdbSignature, + const unsigned int NativePdbAge, + PCWSTR NativePdbBuildPath +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledModuleDCStart_V2()){ return ERROR_SUCCESS;}; + INT ModuleILPath_path_size = -1; + INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1; + CHAR* ModuleILPath_full_name=NULL; + INT ModuleNativePath_path_size = -1; + INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1; + CHAR* ModuleNativePath_full_name=NULL; + INT ManagedPdbBuildPath_path_size = -1; + INT ManagedPdbBuildPath_full_name_path_size = PAL_wcslen(ManagedPdbBuildPath) + 1; + CHAR* ManagedPdbBuildPath_full_name=NULL; + INT NativePdbBuildPath_path_size = -1; + INT NativePdbBuildPath_full_name_path_size = PAL_wcslen(NativePdbBuildPath) + 1; + CHAR* NativePdbBuildPath_full_name=NULL; + + ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleILPath_full_name != NULL); + if(ModuleILPath_full_name == NULL){goto LExit;} + + ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size ); + if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleNativePath_full_name != NULL); + if(ModuleNativePath_full_name == NULL){goto LExit;} + + ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size ); + if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ManagedPdbBuildPath_full_name = (CHAR*)malloc(ManagedPdbBuildPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ManagedPdbBuildPath_full_name != NULL); + if(ManagedPdbBuildPath_full_name == NULL){goto LExit;} + + ManagedPdbBuildPath_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedPdbBuildPath, -1, ManagedPdbBuildPath_full_name, ManagedPdbBuildPath_full_name_path_size, NULL, NULL ); + _ASSERTE(ManagedPdbBuildPath_path_size == ManagedPdbBuildPath_full_name_path_size ); + if( ManagedPdbBuildPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + NativePdbBuildPath_full_name = (CHAR*)malloc(NativePdbBuildPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(NativePdbBuildPath_full_name != NULL); + if(NativePdbBuildPath_full_name == NULL){goto LExit;} + + NativePdbBuildPath_path_size = WideCharToMultiByte( CP_ACP, 0, NativePdbBuildPath, -1, NativePdbBuildPath_full_name, NativePdbBuildPath_full_name_path_size, NULL, NULL ); + _ASSERTE(NativePdbBuildPath_path_size == NativePdbBuildPath_full_name_path_size ); + if( NativePdbBuildPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimeRundown, + ModuleDCStart_V2, + ModuleID, + AssemblyID, + ModuleFlags, + Reserved1, + ModuleILPath_full_name, + ModuleNativePath_full_name, + ClrInstanceID, + (const int*) ManagedPdbSignature, + ManagedPdbAge, + ManagedPdbBuildPath_full_name + ); + + tracepoint( + DotNETRuntimeRundown, + ModuleDCStart_V2_1, + (const int*) NativePdbSignature, + NativePdbAge, + NativePdbBuildPath_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (NativePdbBuildPath_full_name != NULL) {free(NativePdbBuildPath_full_name);} + if (ManagedPdbBuildPath_full_name != NULL) {free(ManagedPdbBuildPath_full_name);} + if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);} + if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledModuleDCEnd(){ return TRUE;} +extern "C" ULONG FireEtwModuleDCEnd( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledModuleDCEnd()){ return ERROR_SUCCESS;}; + INT ModuleILPath_path_size = -1; + INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1; + CHAR* ModuleILPath_full_name=NULL; + INT ModuleNativePath_path_size = -1; + INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1; + CHAR* ModuleNativePath_full_name=NULL; + + ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleILPath_full_name != NULL); + if(ModuleILPath_full_name == NULL){goto LExit;} + + ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size ); + if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleNativePath_full_name != NULL); + if(ModuleNativePath_full_name == NULL){goto LExit;} + + ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size ); + if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimeRundown, + ModuleDCEnd, + ModuleID, + AssemblyID, + ModuleFlags, + Reserved1, + ModuleILPath_full_name, + ModuleNativePath_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);} + if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledModuleDCEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwModuleDCEnd_V1( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledModuleDCEnd_V1()){ return ERROR_SUCCESS;}; + INT ModuleILPath_path_size = -1; + INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1; + CHAR* ModuleILPath_full_name=NULL; + INT ModuleNativePath_path_size = -1; + INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1; + CHAR* ModuleNativePath_full_name=NULL; + + ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleILPath_full_name != NULL); + if(ModuleILPath_full_name == NULL){goto LExit;} + + ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size ); + if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleNativePath_full_name != NULL); + if(ModuleNativePath_full_name == NULL){goto LExit;} + + ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size ); + if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimeRundown, + ModuleDCEnd_V1, + ModuleID, + AssemblyID, + ModuleFlags, + Reserved1, + ModuleILPath_full_name, + ModuleNativePath_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);} + if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledModuleDCEnd_V2(){ return TRUE;} +extern "C" ULONG FireEtwModuleDCEnd_V2( + const unsigned __int64 ModuleID, + const unsigned __int64 AssemblyID, + const unsigned int ModuleFlags, + const unsigned int Reserved1, + PCWSTR ModuleILPath, + PCWSTR ModuleNativePath, + const unsigned short ClrInstanceID, + const GUID* ManagedPdbSignature, + const unsigned int ManagedPdbAge, + PCWSTR ManagedPdbBuildPath, + const GUID* NativePdbSignature, + const unsigned int NativePdbAge, + PCWSTR NativePdbBuildPath +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledModuleDCEnd_V2()){ return ERROR_SUCCESS;}; + INT ModuleILPath_path_size = -1; + INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1; + CHAR* ModuleILPath_full_name=NULL; + INT ModuleNativePath_path_size = -1; + INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1; + CHAR* ModuleNativePath_full_name=NULL; + INT ManagedPdbBuildPath_path_size = -1; + INT ManagedPdbBuildPath_full_name_path_size = PAL_wcslen(ManagedPdbBuildPath) + 1; + CHAR* ManagedPdbBuildPath_full_name=NULL; + INT NativePdbBuildPath_path_size = -1; + INT NativePdbBuildPath_full_name_path_size = PAL_wcslen(NativePdbBuildPath) + 1; + CHAR* NativePdbBuildPath_full_name=NULL; + + ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleILPath_full_name != NULL); + if(ModuleILPath_full_name == NULL){goto LExit;} + + ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size ); + if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ModuleNativePath_full_name != NULL); + if(ModuleNativePath_full_name == NULL){goto LExit;} + + ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL ); + _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size ); + if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + ManagedPdbBuildPath_full_name = (CHAR*)malloc(ManagedPdbBuildPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(ManagedPdbBuildPath_full_name != NULL); + if(ManagedPdbBuildPath_full_name == NULL){goto LExit;} + + ManagedPdbBuildPath_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedPdbBuildPath, -1, ManagedPdbBuildPath_full_name, ManagedPdbBuildPath_full_name_path_size, NULL, NULL ); + _ASSERTE(ManagedPdbBuildPath_path_size == ManagedPdbBuildPath_full_name_path_size ); + if( ManagedPdbBuildPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + NativePdbBuildPath_full_name = (CHAR*)malloc(NativePdbBuildPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(NativePdbBuildPath_full_name != NULL); + if(NativePdbBuildPath_full_name == NULL){goto LExit;} + + NativePdbBuildPath_path_size = WideCharToMultiByte( CP_ACP, 0, NativePdbBuildPath, -1, NativePdbBuildPath_full_name, NativePdbBuildPath_full_name_path_size, NULL, NULL ); + _ASSERTE(NativePdbBuildPath_path_size == NativePdbBuildPath_full_name_path_size ); + if( NativePdbBuildPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimeRundown, + ModuleDCEnd_V2, + ModuleID, + AssemblyID, + ModuleFlags, + Reserved1, + ModuleILPath_full_name, + ModuleNativePath_full_name, + ClrInstanceID, + (const int*) ManagedPdbSignature, + ManagedPdbAge, + ManagedPdbBuildPath_full_name + ); + + tracepoint( + DotNETRuntimeRundown, + ModuleDCEnd_V2_1, + (const int*) NativePdbSignature, + NativePdbAge, + NativePdbBuildPath_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (NativePdbBuildPath_full_name != NULL) {free(NativePdbBuildPath_full_name);} + if (ManagedPdbBuildPath_full_name != NULL) {free(ManagedPdbBuildPath_full_name);} + if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);} + if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledAssemblyDCStart(){ return TRUE;} +extern "C" ULONG FireEtwAssemblyDCStart( + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned int AssemblyFlags, + PCWSTR FullyQualifiedAssemblyName +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAssemblyDCStart()){ return ERROR_SUCCESS;}; + INT FullyQualifiedAssemblyName_path_size = -1; + INT FullyQualifiedAssemblyName_full_name_path_size = PAL_wcslen(FullyQualifiedAssemblyName) + 1; + CHAR* FullyQualifiedAssemblyName_full_name=NULL; + + FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL); + if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;} + + FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size ); + if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimeRundown, + AssemblyDCStart, + AssemblyID, + AppDomainID, + AssemblyFlags, + FullyQualifiedAssemblyName_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledAssemblyDCStart_V1(){ return TRUE;} +extern "C" ULONG FireEtwAssemblyDCStart_V1( + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned __int64 BindingID, + const unsigned int AssemblyFlags, + PCWSTR FullyQualifiedAssemblyName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAssemblyDCStart_V1()){ return ERROR_SUCCESS;}; + INT FullyQualifiedAssemblyName_path_size = -1; + INT FullyQualifiedAssemblyName_full_name_path_size = PAL_wcslen(FullyQualifiedAssemblyName) + 1; + CHAR* FullyQualifiedAssemblyName_full_name=NULL; + + FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL); + if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;} + + FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size ); + if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimeRundown, + AssemblyDCStart_V1, + AssemblyID, + AppDomainID, + BindingID, + AssemblyFlags, + FullyQualifiedAssemblyName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledAssemblyDCEnd(){ return TRUE;} +extern "C" ULONG FireEtwAssemblyDCEnd( + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned int AssemblyFlags, + PCWSTR FullyQualifiedAssemblyName +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAssemblyDCEnd()){ return ERROR_SUCCESS;}; + INT FullyQualifiedAssemblyName_path_size = -1; + INT FullyQualifiedAssemblyName_full_name_path_size = PAL_wcslen(FullyQualifiedAssemblyName) + 1; + CHAR* FullyQualifiedAssemblyName_full_name=NULL; + + FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL); + if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;} + + FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size ); + if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimeRundown, + AssemblyDCEnd, + AssemblyID, + AppDomainID, + AssemblyFlags, + FullyQualifiedAssemblyName_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledAssemblyDCEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwAssemblyDCEnd_V1( + const unsigned __int64 AssemblyID, + const unsigned __int64 AppDomainID, + const unsigned __int64 BindingID, + const unsigned int AssemblyFlags, + PCWSTR FullyQualifiedAssemblyName, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAssemblyDCEnd_V1()){ return ERROR_SUCCESS;}; + INT FullyQualifiedAssemblyName_path_size = -1; + INT FullyQualifiedAssemblyName_full_name_path_size = PAL_wcslen(FullyQualifiedAssemblyName) + 1; + CHAR* FullyQualifiedAssemblyName_full_name=NULL; + + FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL); + if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;} + + FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL ); + _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size ); + if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimeRundown, + AssemblyDCEnd_V1, + AssemblyID, + AppDomainID, + BindingID, + AssemblyFlags, + FullyQualifiedAssemblyName_full_name, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledAppDomainDCStart(){ return TRUE;} +extern "C" ULONG FireEtwAppDomainDCStart( + const unsigned __int64 AppDomainID, + const unsigned int AppDomainFlags, + PCWSTR AppDomainName +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAppDomainDCStart()){ return ERROR_SUCCESS;}; + INT AppDomainName_path_size = -1; + INT AppDomainName_full_name_path_size = PAL_wcslen(AppDomainName) + 1; + CHAR* AppDomainName_full_name=NULL; + + AppDomainName_full_name = (CHAR*)malloc(AppDomainName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AppDomainName_full_name != NULL); + if(AppDomainName_full_name == NULL){goto LExit;} + + AppDomainName_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, AppDomainName_full_name, AppDomainName_full_name_path_size, NULL, NULL ); + _ASSERTE(AppDomainName_path_size == AppDomainName_full_name_path_size ); + if( AppDomainName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimeRundown, + AppDomainDCStart, + AppDomainID, + AppDomainFlags, + AppDomainName_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (AppDomainName_full_name != NULL) {free(AppDomainName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledAppDomainDCStart_V1(){ return TRUE;} +extern "C" ULONG FireEtwAppDomainDCStart_V1( + const unsigned __int64 AppDomainID, + const unsigned int AppDomainFlags, + PCWSTR AppDomainName, + const unsigned int AppDomainIndex, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAppDomainDCStart_V1()){ return ERROR_SUCCESS;}; + INT AppDomainName_path_size = -1; + INT AppDomainName_full_name_path_size = PAL_wcslen(AppDomainName) + 1; + CHAR* AppDomainName_full_name=NULL; + + AppDomainName_full_name = (CHAR*)malloc(AppDomainName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AppDomainName_full_name != NULL); + if(AppDomainName_full_name == NULL){goto LExit;} + + AppDomainName_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, AppDomainName_full_name, AppDomainName_full_name_path_size, NULL, NULL ); + _ASSERTE(AppDomainName_path_size == AppDomainName_full_name_path_size ); + if( AppDomainName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimeRundown, + AppDomainDCStart_V1, + AppDomainID, + AppDomainFlags, + AppDomainName_full_name, + AppDomainIndex, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (AppDomainName_full_name != NULL) {free(AppDomainName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledAppDomainDCEnd(){ return TRUE;} +extern "C" ULONG FireEtwAppDomainDCEnd( + const unsigned __int64 AppDomainID, + const unsigned int AppDomainFlags, + PCWSTR AppDomainName +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAppDomainDCEnd()){ return ERROR_SUCCESS;}; + INT AppDomainName_path_size = -1; + INT AppDomainName_full_name_path_size = PAL_wcslen(AppDomainName) + 1; + CHAR* AppDomainName_full_name=NULL; + + AppDomainName_full_name = (CHAR*)malloc(AppDomainName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AppDomainName_full_name != NULL); + if(AppDomainName_full_name == NULL){goto LExit;} + + AppDomainName_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, AppDomainName_full_name, AppDomainName_full_name_path_size, NULL, NULL ); + _ASSERTE(AppDomainName_path_size == AppDomainName_full_name_path_size ); + if( AppDomainName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimeRundown, + AppDomainDCEnd, + AppDomainID, + AppDomainFlags, + AppDomainName_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (AppDomainName_full_name != NULL) {free(AppDomainName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledAppDomainDCEnd_V1(){ return TRUE;} +extern "C" ULONG FireEtwAppDomainDCEnd_V1( + const unsigned __int64 AppDomainID, + const unsigned int AppDomainFlags, + PCWSTR AppDomainName, + const unsigned int AppDomainIndex, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledAppDomainDCEnd_V1()){ return ERROR_SUCCESS;}; + INT AppDomainName_path_size = -1; + INT AppDomainName_full_name_path_size = PAL_wcslen(AppDomainName) + 1; + CHAR* AppDomainName_full_name=NULL; + + AppDomainName_full_name = (CHAR*)malloc(AppDomainName_full_name_path_size*sizeof(CHAR)); + _ASSERTE(AppDomainName_full_name != NULL); + if(AppDomainName_full_name == NULL){goto LExit;} + + AppDomainName_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, AppDomainName_full_name, AppDomainName_full_name_path_size, NULL, NULL ); + _ASSERTE(AppDomainName_path_size == AppDomainName_full_name_path_size ); + if( AppDomainName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimeRundown, + AppDomainDCEnd_V1, + AppDomainID, + AppDomainFlags, + AppDomainName_full_name, + AppDomainIndex, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; +LExit: + if (AppDomainName_full_name != NULL) {free(AppDomainName_full_name);} + +return Error; +} +extern "C" BOOL EventEnabledThreadDC(){ return TRUE;} +extern "C" ULONG FireEtwThreadDC( + const unsigned __int64 ManagedThreadID, + const unsigned __int64 AppDomainID, + const unsigned int Flags, + const unsigned int ManagedThreadIndex, + const unsigned int OSThreadID, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledThreadDC()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimeRundown, + ThreadDC, + ManagedThreadID, + AppDomainID, + Flags, + ManagedThreadIndex, + OSThreadID, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledModuleRangeDCStart(){ return TRUE;} +extern "C" ULONG FireEtwModuleRangeDCStart( + const unsigned short ClrInstanceID, + const unsigned __int64 ModuleID, + const unsigned int RangeBegin, + const unsigned int RangeSize, + const unsigned char RangeType +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledModuleRangeDCStart()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimeRundown, + ModuleRangeDCStart, + ClrInstanceID, + ModuleID, + RangeBegin, + RangeSize, + RangeType + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledModuleRangeDCEnd(){ return TRUE;} +extern "C" ULONG FireEtwModuleRangeDCEnd( + const unsigned short ClrInstanceID, + const unsigned __int64 ModuleID, + const unsigned int RangeBegin, + const unsigned int RangeSize, + const unsigned char RangeType +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledModuleRangeDCEnd()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimeRundown, + ModuleRangeDCEnd, + ClrInstanceID, + ModuleID, + RangeBegin, + RangeSize, + RangeType + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledRuntimeInformationDCStart(){ return TRUE;} +extern "C" ULONG FireEtwRuntimeInformationDCStart( + const unsigned short ClrInstanceID, + const unsigned short Sku, + const unsigned short BclMajorVersion, + const unsigned short BclMinorVersion, + const unsigned short BclBuildNumber, + const unsigned short BclQfeNumber, + const unsigned short VMMajorVersion, + const unsigned short VMMinorVersion, + const unsigned short VMBuildNumber, + const unsigned short VMQfeNumber, + const unsigned int StartupFlags, + const unsigned char StartupMode, + PCWSTR CommandLine, + const GUID* ComObjectGuid, + PCWSTR RuntimeDllPath +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledRuntimeInformationDCStart()){ return ERROR_SUCCESS;}; + INT CommandLine_path_size = -1; + INT CommandLine_full_name_path_size = PAL_wcslen(CommandLine) + 1; + CHAR* CommandLine_full_name=NULL; + INT RuntimeDllPath_path_size = -1; + INT RuntimeDllPath_full_name_path_size = PAL_wcslen(RuntimeDllPath) + 1; + CHAR* RuntimeDllPath_full_name=NULL; + + CommandLine_full_name = (CHAR*)malloc(CommandLine_full_name_path_size*sizeof(CHAR)); + _ASSERTE(CommandLine_full_name != NULL); + if(CommandLine_full_name == NULL){goto LExit;} + + CommandLine_path_size = WideCharToMultiByte( CP_ACP, 0, CommandLine, -1, CommandLine_full_name, CommandLine_full_name_path_size, NULL, NULL ); + _ASSERTE(CommandLine_path_size == CommandLine_full_name_path_size ); + if( CommandLine_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + RuntimeDllPath_full_name = (CHAR*)malloc(RuntimeDllPath_full_name_path_size*sizeof(CHAR)); + _ASSERTE(RuntimeDllPath_full_name != NULL); + if(RuntimeDllPath_full_name == NULL){goto LExit;} + + RuntimeDllPath_path_size = WideCharToMultiByte( CP_ACP, 0, RuntimeDllPath, -1, RuntimeDllPath_full_name, RuntimeDllPath_full_name_path_size, NULL, NULL ); + _ASSERTE(RuntimeDllPath_path_size == RuntimeDllPath_full_name_path_size ); + if( RuntimeDllPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;} + + tracepoint( + DotNETRuntimeRundown, + RuntimeInformationDCStart, + ClrInstanceID, + Sku, + BclMajorVersion, + BclMinorVersion, + BclBuildNumber, + BclQfeNumber, + VMMajorVersion, + VMMinorVersion, + VMBuildNumber, + VMQfeNumber + ); + + tracepoint( + DotNETRuntimeRundown, + RuntimeInformationDCStart_1, + StartupFlags, + StartupMode, + CommandLine_full_name, + (const int*) ComObjectGuid, + RuntimeDllPath_full_name + ); + + Error = ERROR_SUCCESS; +LExit: + if (RuntimeDllPath_full_name != NULL) {free(RuntimeDllPath_full_name);} + if (CommandLine_full_name != NULL) {free(CommandLine_full_name);} + +return Error; +} diff --git a/src/pal/src/eventprovider/lttng/eventprovdotnetruntimestress.cpp b/src/pal/src/eventprovider/lttng/eventprovdotnetruntimestress.cpp new file mode 100644 index 0000000000..73cdcb87a5 --- /dev/null +++ b/src/pal/src/eventprovider/lttng/eventprovdotnetruntimestress.cpp @@ -0,0 +1,91 @@ +// +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. +// + +/****************************************************************** + +DO NOT MODIFY. AUTOGENERATED FILE. +This file is generated using the logic from <root>/src/inc/genXplatLttng.pl + +******************************************************************/ + + +#define TRACEPOINT_DEFINE +#define TRACEPOINT_PROBE_DYNAMIC_LINKAGE +#include "lttng/tpdotnetruntimestress.h" +extern "C" BOOL EventEnabledStressLogEvent(){ return TRUE;} +extern "C" ULONG FireEtwStressLogEvent( + const unsigned int Facility, + const unsigned char LogLevel, + LPCSTR Message +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledStressLogEvent()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimeStress, + StressLogEvent, + Facility, + LogLevel, + Message + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledStressLogEvent_V1(){ return TRUE;} +extern "C" ULONG FireEtwStressLogEvent_V1( + const unsigned int Facility, + const unsigned char LogLevel, + LPCSTR Message, + const unsigned short ClrInstanceID +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledStressLogEvent_V1()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimeStress, + StressLogEvent_V1, + Facility, + LogLevel, + Message, + ClrInstanceID + ); + + Error = ERROR_SUCCESS; + +return Error; +} +extern "C" BOOL EventEnabledCLRStackWalkStress(){ return TRUE;} +extern "C" ULONG FireEtwCLRStackWalkStress( + const unsigned short ClrInstanceID, + const unsigned char Reserved1, + const unsigned char Reserved2, + const unsigned int FrameCount, + const void** Stack +) +{ + ULONG Error = ERROR_WRITE_FAULT; + if (!EventEnabledCLRStackWalkStress()){ return ERROR_SUCCESS;}; + + + tracepoint( + DotNETRuntimeStress, + CLRStackWalkStress, + ClrInstanceID, + Reserved1, + Reserved2, + FrameCount, + (const size_t*) Stack + ); + + Error = ERROR_SUCCESS; + +return Error; +} diff --git a/src/pal/src/eventprovider/lttng/tpdotnetruntime.h b/src/pal/src/eventprovider/lttng/tpdotnetruntime.h new file mode 100644 index 0000000000..0b3c8a7dbc --- /dev/null +++ b/src/pal/src/eventprovider/lttng/tpdotnetruntime.h @@ -0,0 +1,3208 @@ +// +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. +// + +/****************************************************************** + +DO NOT MODIFY. AUTOGENERATED FILE. +This file is generated using the logic from <root>/src/inc/genXplatLttng.pl + +******************************************************************/ + + +#include "palrt.h" +#include "pal.h" + +#undef TRACEPOINT_PROVIDER +#define TRACEPOINT_PROVIDER DotNETRuntime + +#undef TRACEPOINT_INCLUDE +#define TRACEPOINT_INCLUDE "./lttng/tpdotnetruntime.h" + +#if !defined(LTTNG_CORECLR_HDotNETRuntime) || defined(TRACEPOINT_HEADER_MULTI_READ) +#define LTTNG_CORECLR_HDotNETRuntime + +#include <lttng/tracepoint.h> + + +#define StrongNameVerification_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,VerificationFlags,\ + const unsigned int ,ErrorCode,\ + const char* ,FullyQualifiedAssemblyName\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + StrongNameVerification, + StrongNameVerification_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,VerificationFlags,VerificationFlags) + ctf_integer(unsigned int,ErrorCode,ErrorCode) + ctf_string(FullyQualifiedAssemblyName,FullyQualifiedAssemblyName) + ) +) +#define StrongNameVerificationT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + StrongNameVerification ,\ + name ,\ + StrongNameVerification_TRACEPOINT_ARGS \ +) + +#define StrongNameVerification_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,VerificationFlags,\ + const unsigned int ,ErrorCode,\ + const char* ,FullyQualifiedAssemblyName,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + StrongNameVerification_V1, + StrongNameVerification_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,VerificationFlags,VerificationFlags) + ctf_integer(unsigned int,ErrorCode,ErrorCode) + ctf_string(FullyQualifiedAssemblyName,FullyQualifiedAssemblyName) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define StrongNameVerification_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + StrongNameVerification_V1 ,\ + name ,\ + StrongNameVerification_V1_TRACEPOINT_ARGS \ +) + +#define AuthenticodeVerification_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,VerificationFlags,\ + const unsigned int ,ErrorCode,\ + const char* ,ModulePath\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + AuthenticodeVerification, + AuthenticodeVerification_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,VerificationFlags,VerificationFlags) + ctf_integer(unsigned int,ErrorCode,ErrorCode) + ctf_string(ModulePath,ModulePath) + ) +) +#define AuthenticodeVerificationT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + AuthenticodeVerification ,\ + name ,\ + AuthenticodeVerification_TRACEPOINT_ARGS \ +) + +#define AuthenticodeVerification_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,VerificationFlags,\ + const unsigned int ,ErrorCode,\ + const char* ,ModulePath,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + AuthenticodeVerification_V1, + AuthenticodeVerification_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,VerificationFlags,VerificationFlags) + ctf_integer(unsigned int,ErrorCode,ErrorCode) + ctf_string(ModulePath,ModulePath) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define AuthenticodeVerification_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + AuthenticodeVerification_V1 ,\ + name ,\ + AuthenticodeVerification_V1_TRACEPOINT_ARGS \ +) + +#define RuntimeInformation_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID,\ + const unsigned short ,Sku,\ + const unsigned short ,BclMajorVersion,\ + const unsigned short ,BclMinorVersion,\ + const unsigned short ,BclBuildNumber,\ + const unsigned short ,BclQfeNumber,\ + const unsigned short ,VMMajorVersion,\ + const unsigned short ,VMMinorVersion,\ + const unsigned short ,VMBuildNumber,\ + const unsigned short ,VMQfeNumber\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + RuntimeInformation, + RuntimeInformation_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(unsigned short,Sku,Sku) + ctf_integer(unsigned short,BclMajorVersion,BclMajorVersion) + ctf_integer(unsigned short,BclMinorVersion,BclMinorVersion) + ctf_integer(unsigned short,BclBuildNumber,BclBuildNumber) + ctf_integer(unsigned short,BclQfeNumber,BclQfeNumber) + ctf_integer(unsigned short,VMMajorVersion,VMMajorVersion) + ctf_integer(unsigned short,VMMinorVersion,VMMinorVersion) + ctf_integer(unsigned short,VMBuildNumber,VMBuildNumber) + ctf_integer(unsigned short,VMQfeNumber,VMQfeNumber) + ) +) +#define RuntimeInformationT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + RuntimeInformation ,\ + name ,\ + RuntimeInformation_TRACEPOINT_ARGS \ +) + +#define RuntimeInformation_1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,StartupFlags,\ + const unsigned char ,StartupMode,\ + const char* ,CommandLine,\ + const int* ,ComObjectGuid,\ + const char* ,RuntimeDllPath\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + RuntimeInformation_1, + RuntimeInformation_1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,StartupFlags,StartupFlags) + ctf_integer(unsigned char,StartupMode,StartupMode) + ctf_string(CommandLine,CommandLine) + ctf_sequence(int, ComObjectGuid, ComObjectGuid,size_t,sizeof(GUID)/sizeof(int)) + ctf_string(RuntimeDllPath,RuntimeDllPath) + ) +) +#define RuntimeInformation_1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + RuntimeInformation_1 ,\ + name ,\ + RuntimeInformation_1_TRACEPOINT_ARGS \ +) + +#define GCStart_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Count,\ + const unsigned int ,Reason\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCStart, + GCStart_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Count,Count) + ctf_integer(unsigned int,Reason,Reason) + ) +) +#define GCStartT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCStart ,\ + name ,\ + GCStart_TRACEPOINT_ARGS \ +) + +#define GCStart_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Count,\ + const unsigned int ,Depth,\ + const unsigned int ,Reason,\ + const unsigned int ,Type,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCStart_V1, + GCStart_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Count,Count) + ctf_integer(unsigned int,Depth,Depth) + ctf_integer(unsigned int,Reason,Reason) + ctf_integer(unsigned int,Type,Type) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define GCStart_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCStart_V1 ,\ + name ,\ + GCStart_V1_TRACEPOINT_ARGS \ +) + +#define GCStart_V2_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Count,\ + const unsigned int ,Depth,\ + const unsigned int ,Reason,\ + const unsigned int ,Type,\ + const unsigned short ,ClrInstanceID,\ + const unsigned __int64 ,ClientSequenceNumber\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCStart_V2, + GCStart_V2_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Count,Count) + ctf_integer(unsigned int,Depth,Depth) + ctf_integer(unsigned int,Reason,Reason) + ctf_integer(unsigned int,Type,Type) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(unsigned __int64,ClientSequenceNumber,ClientSequenceNumber) + ) +) +#define GCStart_V2T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCStart_V2 ,\ + name ,\ + GCStart_V2_TRACEPOINT_ARGS \ +) + +#define GCEnd_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Count,\ + const unsigned short ,Depth\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCEnd, + GCEnd_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Count,Count) + ctf_integer(unsigned short,Depth,Depth) + ) +) +#define GCEndT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCEnd ,\ + name ,\ + GCEnd_TRACEPOINT_ARGS \ +) + +#define GCEnd_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Count,\ + const unsigned int ,Depth,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCEnd_V1, + GCEnd_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Count,Count) + ctf_integer(unsigned int,Depth,Depth) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define GCEnd_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCEnd_V1 ,\ + name ,\ + GCEnd_V1_TRACEPOINT_ARGS \ +) + +#define GCHeapStats_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,GenerationSize0,\ + const unsigned __int64 ,TotalPromotedSize0,\ + const unsigned __int64 ,GenerationSize1,\ + const unsigned __int64 ,TotalPromotedSize1,\ + const unsigned __int64 ,GenerationSize2,\ + const unsigned __int64 ,TotalPromotedSize2,\ + const unsigned __int64 ,GenerationSize3,\ + const unsigned __int64 ,TotalPromotedSize3,\ + const unsigned __int64 ,FinalizationPromotedSize,\ + const unsigned __int64 ,FinalizationPromotedCount\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCHeapStats, + GCHeapStats_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,GenerationSize0,GenerationSize0) + ctf_integer(unsigned __int64,TotalPromotedSize0,TotalPromotedSize0) + ctf_integer(unsigned __int64,GenerationSize1,GenerationSize1) + ctf_integer(unsigned __int64,TotalPromotedSize1,TotalPromotedSize1) + ctf_integer(unsigned __int64,GenerationSize2,GenerationSize2) + ctf_integer(unsigned __int64,TotalPromotedSize2,TotalPromotedSize2) + ctf_integer(unsigned __int64,GenerationSize3,GenerationSize3) + ctf_integer(unsigned __int64,TotalPromotedSize3,TotalPromotedSize3) + ctf_integer(unsigned __int64,FinalizationPromotedSize,FinalizationPromotedSize) + ctf_integer(unsigned __int64,FinalizationPromotedCount,FinalizationPromotedCount) + ) +) +#define GCHeapStatsT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCHeapStats ,\ + name ,\ + GCHeapStats_TRACEPOINT_ARGS \ +) + +#define GCHeapStats_1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,PinnedObjectCount,\ + const unsigned int ,SinkBlockCount,\ + const unsigned int ,GCHandleCount\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCHeapStats_1, + GCHeapStats_1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,PinnedObjectCount,PinnedObjectCount) + ctf_integer(unsigned int,SinkBlockCount,SinkBlockCount) + ctf_integer(unsigned int,GCHandleCount,GCHandleCount) + ) +) +#define GCHeapStats_1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCHeapStats_1 ,\ + name ,\ + GCHeapStats_1_TRACEPOINT_ARGS \ +) + +#define GCHeapStats_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,GenerationSize0,\ + const unsigned __int64 ,TotalPromotedSize0,\ + const unsigned __int64 ,GenerationSize1,\ + const unsigned __int64 ,TotalPromotedSize1,\ + const unsigned __int64 ,GenerationSize2,\ + const unsigned __int64 ,TotalPromotedSize2,\ + const unsigned __int64 ,GenerationSize3,\ + const unsigned __int64 ,TotalPromotedSize3,\ + const unsigned __int64 ,FinalizationPromotedSize,\ + const unsigned __int64 ,FinalizationPromotedCount\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCHeapStats_V1, + GCHeapStats_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,GenerationSize0,GenerationSize0) + ctf_integer(unsigned __int64,TotalPromotedSize0,TotalPromotedSize0) + ctf_integer(unsigned __int64,GenerationSize1,GenerationSize1) + ctf_integer(unsigned __int64,TotalPromotedSize1,TotalPromotedSize1) + ctf_integer(unsigned __int64,GenerationSize2,GenerationSize2) + ctf_integer(unsigned __int64,TotalPromotedSize2,TotalPromotedSize2) + ctf_integer(unsigned __int64,GenerationSize3,GenerationSize3) + ctf_integer(unsigned __int64,TotalPromotedSize3,TotalPromotedSize3) + ctf_integer(unsigned __int64,FinalizationPromotedSize,FinalizationPromotedSize) + ctf_integer(unsigned __int64,FinalizationPromotedCount,FinalizationPromotedCount) + ) +) +#define GCHeapStats_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCHeapStats_V1 ,\ + name ,\ + GCHeapStats_V1_TRACEPOINT_ARGS \ +) + +#define GCHeapStats_V1_1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,PinnedObjectCount,\ + const unsigned int ,SinkBlockCount,\ + const unsigned int ,GCHandleCount,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCHeapStats_V1_1, + GCHeapStats_V1_1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,PinnedObjectCount,PinnedObjectCount) + ctf_integer(unsigned int,SinkBlockCount,SinkBlockCount) + ctf_integer(unsigned int,GCHandleCount,GCHandleCount) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define GCHeapStats_V1_1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCHeapStats_V1_1 ,\ + name ,\ + GCHeapStats_V1_1_TRACEPOINT_ARGS \ +) + +#define GCCreateSegment_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,Address,\ + const unsigned __int64 ,Size,\ + const unsigned int ,Type\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCCreateSegment, + GCCreateSegment_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,Address,Address) + ctf_integer(unsigned __int64,Size,Size) + ctf_integer(unsigned int,Type,Type) + ) +) +#define GCCreateSegmentT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCCreateSegment ,\ + name ,\ + GCCreateSegment_TRACEPOINT_ARGS \ +) + +#define GCCreateSegment_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,Address,\ + const unsigned __int64 ,Size,\ + const unsigned int ,Type,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCCreateSegment_V1, + GCCreateSegment_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,Address,Address) + ctf_integer(unsigned __int64,Size,Size) + ctf_integer(unsigned int,Type,Type) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define GCCreateSegment_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCCreateSegment_V1 ,\ + name ,\ + GCCreateSegment_V1_TRACEPOINT_ARGS \ +) + +#define GCFreeSegment_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,Address\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCFreeSegment, + GCFreeSegment_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,Address,Address) + ) +) +#define GCFreeSegmentT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCFreeSegment ,\ + name ,\ + GCFreeSegment_TRACEPOINT_ARGS \ +) + +#define GCFreeSegment_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,Address,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCFreeSegment_V1, + GCFreeSegment_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,Address,Address) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define GCFreeSegment_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCFreeSegment_V1 ,\ + name ,\ + GCFreeSegment_V1_TRACEPOINT_ARGS \ +) + +#define GCNoUserData_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCNoUserData, + GCNoUserData_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define GCNoUserDataT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCNoUserData ,\ + name ,\ + GCNoUserData_TRACEPOINT_ARGS \ +) + +#define GCSuspendEE_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,Reason\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCSuspendEE, + GCSuspendEE_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,Reason,Reason) + ) +) +#define GCSuspendEET_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCSuspendEE ,\ + name ,\ + GCSuspendEE_TRACEPOINT_ARGS \ +) + +#define GCSuspendEE_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Reason,\ + const unsigned int ,Count,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCSuspendEE_V1, + GCSuspendEE_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Reason,Reason) + ctf_integer(unsigned int,Count,Count) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define GCSuspendEE_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCSuspendEE_V1 ,\ + name ,\ + GCSuspendEE_V1_TRACEPOINT_ARGS \ +) + +#define GCAllocationTick_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,AllocationAmount,\ + const unsigned int ,AllocationKind\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCAllocationTick, + GCAllocationTick_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,AllocationAmount,AllocationAmount) + ctf_integer(unsigned int,AllocationKind,AllocationKind) + ) +) +#define GCAllocationTickT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCAllocationTick ,\ + name ,\ + GCAllocationTick_TRACEPOINT_ARGS \ +) + +#define GCAllocationTick_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,AllocationAmount,\ + const unsigned int ,AllocationKind,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCAllocationTick_V1, + GCAllocationTick_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,AllocationAmount,AllocationAmount) + ctf_integer(unsigned int,AllocationKind,AllocationKind) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define GCAllocationTick_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCAllocationTick_V1 ,\ + name ,\ + GCAllocationTick_V1_TRACEPOINT_ARGS \ +) + +#define GCAllocationTick_V2_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,AllocationAmount,\ + const unsigned int ,AllocationKind,\ + const unsigned short ,ClrInstanceID,\ + const unsigned __int64 ,AllocationAmount64,\ + const size_t ,TypeID,\ + const char* ,TypeName,\ + const unsigned int ,HeapIndex\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCAllocationTick_V2, + GCAllocationTick_V2_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,AllocationAmount,AllocationAmount) + ctf_integer(unsigned int,AllocationKind,AllocationKind) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(unsigned __int64,AllocationAmount64,AllocationAmount64) + ctf_integer(size_t,TypeID,TypeID) + ctf_string(TypeName,TypeName) + ctf_integer(unsigned int,HeapIndex,HeapIndex) + ) +) +#define GCAllocationTick_V2T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCAllocationTick_V2 ,\ + name ,\ + GCAllocationTick_V2_TRACEPOINT_ARGS \ +) + +#define GCAllocationTick_V3_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,AllocationAmount,\ + const unsigned int ,AllocationKind,\ + const unsigned short ,ClrInstanceID,\ + const unsigned __int64 ,AllocationAmount64,\ + const size_t ,TypeID,\ + const char* ,TypeName,\ + const unsigned int ,HeapIndex,\ + const size_t ,Address\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCAllocationTick_V3, + GCAllocationTick_V3_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,AllocationAmount,AllocationAmount) + ctf_integer(unsigned int,AllocationKind,AllocationKind) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(unsigned __int64,AllocationAmount64,AllocationAmount64) + ctf_integer(size_t,TypeID,TypeID) + ctf_string(TypeName,TypeName) + ctf_integer(unsigned int,HeapIndex,HeapIndex) + ctf_integer(size_t,Address,Address) + ) +) +#define GCAllocationTick_V3T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCAllocationTick_V3 ,\ + name ,\ + GCAllocationTick_V3_TRACEPOINT_ARGS \ +) + +#define GCCreateConcurrentThread_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCCreateConcurrentThread, + GCCreateConcurrentThread_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define GCCreateConcurrentThreadT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCCreateConcurrentThread ,\ + name ,\ + GCCreateConcurrentThread_TRACEPOINT_ARGS \ +) + +#define GCTerminateConcurrentThread_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCTerminateConcurrentThread, + GCTerminateConcurrentThread_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define GCTerminateConcurrentThreadT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCTerminateConcurrentThread ,\ + name ,\ + GCTerminateConcurrentThread_TRACEPOINT_ARGS \ +) + +#define GCFinalizersEnd_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Count\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCFinalizersEnd, + GCFinalizersEnd_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Count,Count) + ) +) +#define GCFinalizersEndT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCFinalizersEnd ,\ + name ,\ + GCFinalizersEnd_TRACEPOINT_ARGS \ +) + +#define GCFinalizersEnd_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Count,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCFinalizersEnd_V1, + GCFinalizersEnd_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Count,Count) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define GCFinalizersEnd_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCFinalizersEnd_V1 ,\ + name ,\ + GCFinalizersEnd_V1_TRACEPOINT_ARGS \ +) + +#define GCMark_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,HeapNum,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCMark, + GCMark_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,HeapNum,HeapNum) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define GCMarkT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCMark ,\ + name ,\ + GCMark_TRACEPOINT_ARGS \ +) + +#define GCMarkWithType_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,HeapNum,\ + const unsigned short ,ClrInstanceID,\ + const unsigned int ,Type,\ + const unsigned __int64 ,Bytes\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCMarkWithType, + GCMarkWithType_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,HeapNum,HeapNum) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(unsigned int,Type,Type) + ctf_integer(unsigned __int64,Bytes,Bytes) + ) +) +#define GCMarkWithTypeT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCMarkWithType ,\ + name ,\ + GCMarkWithType_TRACEPOINT_ARGS \ +) + +#define GCJoin_V2_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Heap,\ + const unsigned int ,JoinTime,\ + const unsigned int ,JoinType,\ + const unsigned short ,ClrInstanceID,\ + const unsigned int ,JoinID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCJoin_V2, + GCJoin_V2_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Heap,Heap) + ctf_integer(unsigned int,JoinTime,JoinTime) + ctf_integer(unsigned int,JoinType,JoinType) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(unsigned int,JoinID,JoinID) + ) +) +#define GCJoin_V2T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCJoin_V2 ,\ + name ,\ + GCJoin_V2_TRACEPOINT_ARGS \ +) + +#define GCPerHeapHistory_V3_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID,\ + const size_t ,FreeListAllocated,\ + const size_t ,FreeListRejected,\ + const size_t ,EndOfSegAllocated,\ + const size_t ,CondemnedAllocated,\ + const size_t ,PinnedAllocated,\ + const size_t ,PinnedAllocatedAdvance,\ + const unsigned int ,RunningFreeListEfficiency,\ + const unsigned int ,CondemnReasons0,\ + const unsigned int ,CondemnReasons1\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCPerHeapHistory_V3, + GCPerHeapHistory_V3_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(size_t,FreeListAllocated,FreeListAllocated) + ctf_integer(size_t,FreeListRejected,FreeListRejected) + ctf_integer(size_t,EndOfSegAllocated,EndOfSegAllocated) + ctf_integer(size_t,CondemnedAllocated,CondemnedAllocated) + ctf_integer(size_t,PinnedAllocated,PinnedAllocated) + ctf_integer(size_t,PinnedAllocatedAdvance,PinnedAllocatedAdvance) + ctf_integer(unsigned int,RunningFreeListEfficiency,RunningFreeListEfficiency) + ctf_integer(unsigned int,CondemnReasons0,CondemnReasons0) + ctf_integer(unsigned int,CondemnReasons1,CondemnReasons1) + ) +) +#define GCPerHeapHistory_V3T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCPerHeapHistory_V3 ,\ + name ,\ + GCPerHeapHistory_V3_TRACEPOINT_ARGS \ +) + +#define GCPerHeapHistory_V3_1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,CompactMechanisms,\ + const unsigned int ,ExpandMechanisms,\ + const unsigned int ,HeapIndex,\ + const size_t ,ExtraGen0Commit,\ + const unsigned int ,Count,\ + const ULONG ,Arg15_Struct_Len_,\ + const int* ,Arg15_Struct_Pointer_\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCPerHeapHistory_V3_1, + GCPerHeapHistory_V3_1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,CompactMechanisms,CompactMechanisms) + ctf_integer(unsigned int,ExpandMechanisms,ExpandMechanisms) + ctf_integer(unsigned int,HeapIndex,HeapIndex) + ctf_integer(size_t,ExtraGen0Commit,ExtraGen0Commit) + ctf_integer(unsigned int,Count,Count) + ctf_integer(ULONG,Arg15_Struct_Len_,Arg15_Struct_Len_) + ctf_sequence(int, Arg15_Struct_Pointer_, Arg15_Struct_Pointer_,size_t,Count*Arg15_Struct_Len_/sizeof(int)) + ) +) +#define GCPerHeapHistory_V3_1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCPerHeapHistory_V3_1 ,\ + name ,\ + GCPerHeapHistory_V3_1_TRACEPOINT_ARGS \ +) + +#define GCGlobalHeap_V2_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,FinalYoungestDesired,\ + const signed int ,NumHeaps,\ + const unsigned int ,CondemnedGeneration,\ + const unsigned int ,Gen0ReductionCount,\ + const unsigned int ,Reason,\ + const unsigned int ,GlobalMechanisms,\ + const unsigned short ,ClrInstanceID,\ + const unsigned int ,PauseMode,\ + const unsigned int ,MemoryPressure\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCGlobalHeap_V2, + GCGlobalHeap_V2_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,FinalYoungestDesired,FinalYoungestDesired) + ctf_integer(signed int,NumHeaps,NumHeaps) + ctf_integer(unsigned int,CondemnedGeneration,CondemnedGeneration) + ctf_integer(unsigned int,Gen0ReductionCount,Gen0ReductionCount) + ctf_integer(unsigned int,Reason,Reason) + ctf_integer(unsigned int,GlobalMechanisms,GlobalMechanisms) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(unsigned int,PauseMode,PauseMode) + ctf_integer(unsigned int,MemoryPressure,MemoryPressure) + ) +) +#define GCGlobalHeap_V2T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCGlobalHeap_V2 ,\ + name ,\ + GCGlobalHeap_V2_TRACEPOINT_ARGS \ +) + +#define FinalizeObject_TRACEPOINT_ARGS \ +TP_ARGS(\ + const size_t ,TypeID,\ + const size_t ,ObjectID,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + FinalizeObject, + FinalizeObject_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(size_t,TypeID,TypeID) + ctf_integer(size_t,ObjectID,ObjectID) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define FinalizeObjectT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + FinalizeObject ,\ + name ,\ + FinalizeObject_TRACEPOINT_ARGS \ +) + +#define DestroyGCHandle_TRACEPOINT_ARGS \ +TP_ARGS(\ + const size_t ,HandleID,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + DestroyGCHandle, + DestroyGCHandle_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(size_t,HandleID,HandleID) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define DestroyGCHandleT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + DestroyGCHandle ,\ + name ,\ + DestroyGCHandle_TRACEPOINT_ARGS \ +) + +#define SetGCHandle_TRACEPOINT_ARGS \ +TP_ARGS(\ + const size_t ,HandleID,\ + const size_t ,ObjectID,\ + const unsigned int ,Kind,\ + const unsigned int ,Generation,\ + const unsigned __int64 ,AppDomainID,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + SetGCHandle, + SetGCHandle_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(size_t,HandleID,HandleID) + ctf_integer(size_t,ObjectID,ObjectID) + ctf_integer(unsigned int,Kind,Kind) + ctf_integer(unsigned int,Generation,Generation) + ctf_integer(unsigned __int64,AppDomainID,AppDomainID) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define SetGCHandleT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + SetGCHandle ,\ + name ,\ + SetGCHandle_TRACEPOINT_ARGS \ +) + +#define GCTriggered_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Reason,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCTriggered, + GCTriggered_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Reason,Reason) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define GCTriggeredT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCTriggered ,\ + name ,\ + GCTriggered_TRACEPOINT_ARGS \ +) + +#define PinObjectAtGCTime_TRACEPOINT_ARGS \ +TP_ARGS(\ + const size_t ,HandleID,\ + const size_t ,ObjectID,\ + const unsigned __int64 ,ObjectSize,\ + const char* ,TypeName,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + PinObjectAtGCTime, + PinObjectAtGCTime_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(size_t,HandleID,HandleID) + ctf_integer(size_t,ObjectID,ObjectID) + ctf_integer(unsigned __int64,ObjectSize,ObjectSize) + ctf_string(TypeName,TypeName) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define PinObjectAtGCTimeT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + PinObjectAtGCTime ,\ + name ,\ + PinObjectAtGCTime_TRACEPOINT_ARGS \ +) + +#define IncreaseMemoryPressure_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,BytesAllocated,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + IncreaseMemoryPressure, + IncreaseMemoryPressure_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,BytesAllocated,BytesAllocated) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define IncreaseMemoryPressureT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + IncreaseMemoryPressure ,\ + name ,\ + IncreaseMemoryPressure_TRACEPOINT_ARGS \ +) + +#define DecreaseMemoryPressure_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,BytesFreed,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + DecreaseMemoryPressure, + DecreaseMemoryPressure_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,BytesFreed,BytesFreed) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define DecreaseMemoryPressureT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + DecreaseMemoryPressure ,\ + name ,\ + DecreaseMemoryPressure_TRACEPOINT_ARGS \ +) + +#define ClrWorkerThread_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,WorkerThreadCount,\ + const unsigned int ,RetiredWorkerThreads\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + ClrWorkerThread, + ClrWorkerThread_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,WorkerThreadCount,WorkerThreadCount) + ctf_integer(unsigned int,RetiredWorkerThreads,RetiredWorkerThreads) + ) +) +#define ClrWorkerThreadT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + ClrWorkerThread ,\ + name ,\ + ClrWorkerThread_TRACEPOINT_ARGS \ +) + +#define IOThread_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,IOThreadCount,\ + const unsigned int ,RetiredIOThreads\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + IOThread, + IOThread_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,IOThreadCount,IOThreadCount) + ctf_integer(unsigned int,RetiredIOThreads,RetiredIOThreads) + ) +) +#define IOThreadT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + IOThread ,\ + name ,\ + IOThread_TRACEPOINT_ARGS \ +) + +#define IOThread_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,IOThreadCount,\ + const unsigned int ,RetiredIOThreads,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + IOThread_V1, + IOThread_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,IOThreadCount,IOThreadCount) + ctf_integer(unsigned int,RetiredIOThreads,RetiredIOThreads) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define IOThread_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + IOThread_V1 ,\ + name ,\ + IOThread_V1_TRACEPOINT_ARGS \ +) + +#define ClrThreadPoolSuspend_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,ClrThreadID,\ + const unsigned int ,CpuUtilization\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + ClrThreadPoolSuspend, + ClrThreadPoolSuspend_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,ClrThreadID,ClrThreadID) + ctf_integer(unsigned int,CpuUtilization,CpuUtilization) + ) +) +#define ClrThreadPoolSuspendT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + ClrThreadPoolSuspend ,\ + name ,\ + ClrThreadPoolSuspend_TRACEPOINT_ARGS \ +) + +#define ThreadPoolWorkerThread_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,ActiveWorkerThreadCount,\ + const unsigned int ,RetiredWorkerThreadCount,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + ThreadPoolWorkerThread, + ThreadPoolWorkerThread_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,ActiveWorkerThreadCount,ActiveWorkerThreadCount) + ctf_integer(unsigned int,RetiredWorkerThreadCount,RetiredWorkerThreadCount) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define ThreadPoolWorkerThreadT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + ThreadPoolWorkerThread ,\ + name ,\ + ThreadPoolWorkerThread_TRACEPOINT_ARGS \ +) + +#define ThreadPoolWorkerThreadAdjustmentSample_TRACEPOINT_ARGS \ +TP_ARGS(\ + const double ,Throughput,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + ThreadPoolWorkerThreadAdjustmentSample, + ThreadPoolWorkerThreadAdjustmentSample_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_float(double,Throughput,Throughput) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define ThreadPoolWorkerThreadAdjustmentSampleT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + ThreadPoolWorkerThreadAdjustmentSample ,\ + name ,\ + ThreadPoolWorkerThreadAdjustmentSample_TRACEPOINT_ARGS \ +) + +#define ThreadPoolWorkerThreadAdjustmentAdjustment_TRACEPOINT_ARGS \ +TP_ARGS(\ + const double ,AverageThroughput,\ + const unsigned int ,NewWorkerThreadCount,\ + const unsigned int ,Reason,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + ThreadPoolWorkerThreadAdjustmentAdjustment, + ThreadPoolWorkerThreadAdjustmentAdjustment_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_float(double,AverageThroughput,AverageThroughput) + ctf_integer(unsigned int,NewWorkerThreadCount,NewWorkerThreadCount) + ctf_integer(unsigned int,Reason,Reason) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define ThreadPoolWorkerThreadAdjustmentAdjustmentT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + ThreadPoolWorkerThreadAdjustmentAdjustment ,\ + name ,\ + ThreadPoolWorkerThreadAdjustmentAdjustment_TRACEPOINT_ARGS \ +) + +#define ThreadPoolWorkerThreadAdjustmentStats_TRACEPOINT_ARGS \ +TP_ARGS(\ + const double ,Duration,\ + const double ,Throughput,\ + const double ,ThreadWave,\ + const double ,ThroughputWave,\ + const double ,ThroughputErrorEstimate,\ + const double ,AverageThroughputErrorEstimate,\ + const double ,ThroughputRatio,\ + const double ,Confidence,\ + const double ,NewControlSetting,\ + const unsigned short ,NewThreadWaveMagnitude\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + ThreadPoolWorkerThreadAdjustmentStats, + ThreadPoolWorkerThreadAdjustmentStats_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_float(double,Duration,Duration) + ctf_float(double,Throughput,Throughput) + ctf_float(double,ThreadWave,ThreadWave) + ctf_float(double,ThroughputWave,ThroughputWave) + ctf_float(double,ThroughputErrorEstimate,ThroughputErrorEstimate) + ctf_float(double,AverageThroughputErrorEstimate,AverageThroughputErrorEstimate) + ctf_float(double,ThroughputRatio,ThroughputRatio) + ctf_float(double,Confidence,Confidence) + ctf_float(double,NewControlSetting,NewControlSetting) + ctf_integer(unsigned short,NewThreadWaveMagnitude,NewThreadWaveMagnitude) + ) +) +#define ThreadPoolWorkerThreadAdjustmentStatsT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + ThreadPoolWorkerThreadAdjustmentStats ,\ + name ,\ + ThreadPoolWorkerThreadAdjustmentStats_TRACEPOINT_ARGS \ +) + +#define ThreadPoolWorkerThreadAdjustmentStats_1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + ThreadPoolWorkerThreadAdjustmentStats_1, + ThreadPoolWorkerThreadAdjustmentStats_1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define ThreadPoolWorkerThreadAdjustmentStats_1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + ThreadPoolWorkerThreadAdjustmentStats_1 ,\ + name ,\ + ThreadPoolWorkerThreadAdjustmentStats_1_TRACEPOINT_ARGS \ +) + +#define ThreadPoolWork_TRACEPOINT_ARGS \ +TP_ARGS(\ + const size_t ,WorkID,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + ThreadPoolWork, + ThreadPoolWork_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(size_t,WorkID,WorkID) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define ThreadPoolWorkT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + ThreadPoolWork ,\ + name ,\ + ThreadPoolWork_TRACEPOINT_ARGS \ +) + +#define ThreadPoolIOWork_TRACEPOINT_ARGS \ +TP_ARGS(\ + const size_t ,NativeOverlapped,\ + const size_t ,Overlapped,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + ThreadPoolIOWork, + ThreadPoolIOWork_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(size_t,NativeOverlapped,NativeOverlapped) + ctf_integer(size_t,Overlapped,Overlapped) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define ThreadPoolIOWorkT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + ThreadPoolIOWork ,\ + name ,\ + ThreadPoolIOWork_TRACEPOINT_ARGS \ +) + +#define ThreadPoolIOWorkEnqueue_TRACEPOINT_ARGS \ +TP_ARGS(\ + const size_t ,NativeOverlapped,\ + const size_t ,Overlapped,\ + const BOOL ,MultiDequeues,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + ThreadPoolIOWorkEnqueue, + ThreadPoolIOWorkEnqueue_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(size_t,NativeOverlapped,NativeOverlapped) + ctf_integer(size_t,Overlapped,Overlapped) + ctf_integer(BOOL,MultiDequeues,MultiDequeues) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define ThreadPoolIOWorkEnqueueT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + ThreadPoolIOWorkEnqueue ,\ + name ,\ + ThreadPoolIOWorkEnqueue_TRACEPOINT_ARGS \ +) + +#define ThreadPoolWorkingThreadCount_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Count,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + ThreadPoolWorkingThreadCount, + ThreadPoolWorkingThreadCount_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Count,Count) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define ThreadPoolWorkingThreadCountT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + ThreadPoolWorkingThreadCount ,\ + name ,\ + ThreadPoolWorkingThreadCount_TRACEPOINT_ARGS \ +) + +#define ThreadStartWork_TRACEPOINT_ARGS \ +TP_ARGS(\ + const size_t ,ID,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + ThreadStartWork, + ThreadStartWork_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(size_t,ID,ID) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define ThreadStartWorkT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + ThreadStartWork ,\ + name ,\ + ThreadStartWork_TRACEPOINT_ARGS \ +) + +#define Exception_TRACEPOINT_ARGS \ +TP_ARGS(\ + const char* ,ExceptionType,\ + const char* ,ExceptionMessage,\ + const size_t ,ExceptionEIP,\ + const unsigned int ,ExceptionHRESULT,\ + const unsigned short ,ExceptionFlags,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + Exception, + Exception_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_string(ExceptionType,ExceptionType) + ctf_string(ExceptionMessage,ExceptionMessage) + ctf_integer(size_t,ExceptionEIP,ExceptionEIP) + ctf_integer(unsigned int,ExceptionHRESULT,ExceptionHRESULT) + ctf_integer(unsigned short,ExceptionFlags,ExceptionFlags) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define ExceptionT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + Exception ,\ + name ,\ + Exception_TRACEPOINT_ARGS \ +) + +#define ExceptionHandling_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,EntryEIP,\ + const unsigned __int64 ,MethodID,\ + const char* ,MethodName,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + ExceptionHandling, + ExceptionHandling_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,EntryEIP,EntryEIP) + ctf_integer(unsigned __int64,MethodID,MethodID) + ctf_string(MethodName,MethodName) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define ExceptionHandlingT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + ExceptionHandling ,\ + name ,\ + ExceptionHandling_TRACEPOINT_ARGS \ +) + +#define Contention_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned char ,ContentionFlags,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + Contention, + Contention_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned char,ContentionFlags,ContentionFlags) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define ContentionT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + Contention ,\ + name ,\ + Contention_TRACEPOINT_ARGS \ +) + +#define DomainModuleLoadUnload_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,ModuleID,\ + const unsigned __int64 ,AssemblyID,\ + const unsigned __int64 ,AppDomainID,\ + const unsigned int ,ModuleFlags,\ + const unsigned int ,Reserved1,\ + const char* ,ModuleILPath,\ + const char* ,ModuleNativePath\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + DomainModuleLoadUnload, + DomainModuleLoadUnload_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned __int64,AssemblyID,AssemblyID) + ctf_integer(unsigned __int64,AppDomainID,AppDomainID) + ctf_integer(unsigned int,ModuleFlags,ModuleFlags) + ctf_integer(unsigned int,Reserved1,Reserved1) + ctf_string(ModuleILPath,ModuleILPath) + ctf_string(ModuleNativePath,ModuleNativePath) + ) +) +#define DomainModuleLoadUnloadT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + DomainModuleLoadUnload ,\ + name ,\ + DomainModuleLoadUnload_TRACEPOINT_ARGS \ +) + +#define DomainModuleLoadUnload_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,ModuleID,\ + const unsigned __int64 ,AssemblyID,\ + const unsigned __int64 ,AppDomainID,\ + const unsigned int ,ModuleFlags,\ + const unsigned int ,Reserved1,\ + const char* ,ModuleILPath,\ + const char* ,ModuleNativePath,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + DomainModuleLoadUnload_V1, + DomainModuleLoadUnload_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned __int64,AssemblyID,AssemblyID) + ctf_integer(unsigned __int64,AppDomainID,AppDomainID) + ctf_integer(unsigned int,ModuleFlags,ModuleFlags) + ctf_integer(unsigned int,Reserved1,Reserved1) + ctf_string(ModuleILPath,ModuleILPath) + ctf_string(ModuleNativePath,ModuleNativePath) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define DomainModuleLoadUnload_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + DomainModuleLoadUnload_V1 ,\ + name ,\ + DomainModuleLoadUnload_V1_TRACEPOINT_ARGS \ +) + +#define ModuleLoadUnload_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,ModuleID,\ + const unsigned __int64 ,AssemblyID,\ + const unsigned int ,ModuleFlags,\ + const unsigned int ,Reserved1,\ + const char* ,ModuleILPath,\ + const char* ,ModuleNativePath\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + ModuleLoadUnload, + ModuleLoadUnload_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned __int64,AssemblyID,AssemblyID) + ctf_integer(unsigned int,ModuleFlags,ModuleFlags) + ctf_integer(unsigned int,Reserved1,Reserved1) + ctf_string(ModuleILPath,ModuleILPath) + ctf_string(ModuleNativePath,ModuleNativePath) + ) +) +#define ModuleLoadUnloadT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + ModuleLoadUnload ,\ + name ,\ + ModuleLoadUnload_TRACEPOINT_ARGS \ +) + +#define ModuleLoadUnload_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,ModuleID,\ + const unsigned __int64 ,AssemblyID,\ + const unsigned int ,ModuleFlags,\ + const unsigned int ,Reserved1,\ + const char* ,ModuleILPath,\ + const char* ,ModuleNativePath,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + ModuleLoadUnload_V1, + ModuleLoadUnload_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned __int64,AssemblyID,AssemblyID) + ctf_integer(unsigned int,ModuleFlags,ModuleFlags) + ctf_integer(unsigned int,Reserved1,Reserved1) + ctf_string(ModuleILPath,ModuleILPath) + ctf_string(ModuleNativePath,ModuleNativePath) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define ModuleLoadUnload_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + ModuleLoadUnload_V1 ,\ + name ,\ + ModuleLoadUnload_V1_TRACEPOINT_ARGS \ +) + +#define ModuleLoadUnload_V2_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,ModuleID,\ + const unsigned __int64 ,AssemblyID,\ + const unsigned int ,ModuleFlags,\ + const unsigned int ,Reserved1,\ + const char* ,ModuleILPath,\ + const char* ,ModuleNativePath,\ + const unsigned short ,ClrInstanceID,\ + const int* ,ManagedPdbSignature,\ + const unsigned int ,ManagedPdbAge,\ + const char* ,ManagedPdbBuildPath\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + ModuleLoadUnload_V2, + ModuleLoadUnload_V2_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned __int64,AssemblyID,AssemblyID) + ctf_integer(unsigned int,ModuleFlags,ModuleFlags) + ctf_integer(unsigned int,Reserved1,Reserved1) + ctf_string(ModuleILPath,ModuleILPath) + ctf_string(ModuleNativePath,ModuleNativePath) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_sequence(int, ManagedPdbSignature, ManagedPdbSignature,size_t,sizeof(GUID)/sizeof(int)) + ctf_integer(unsigned int,ManagedPdbAge,ManagedPdbAge) + ctf_string(ManagedPdbBuildPath,ManagedPdbBuildPath) + ) +) +#define ModuleLoadUnload_V2T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + ModuleLoadUnload_V2 ,\ + name ,\ + ModuleLoadUnload_V2_TRACEPOINT_ARGS \ +) + +#define ModuleLoadUnload_V2_1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const int* ,NativePdbSignature,\ + const unsigned int ,NativePdbAge,\ + const char* ,NativePdbBuildPath\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + ModuleLoadUnload_V2_1, + ModuleLoadUnload_V2_1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_sequence(int, NativePdbSignature, NativePdbSignature,size_t,sizeof(GUID)/sizeof(int)) + ctf_integer(unsigned int,NativePdbAge,NativePdbAge) + ctf_string(NativePdbBuildPath,NativePdbBuildPath) + ) +) +#define ModuleLoadUnload_V2_1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + ModuleLoadUnload_V2_1 ,\ + name ,\ + ModuleLoadUnload_V2_1_TRACEPOINT_ARGS \ +) + +#define AssemblyLoadUnload_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,AssemblyID,\ + const unsigned __int64 ,AppDomainID,\ + const unsigned int ,AssemblyFlags,\ + const char* ,FullyQualifiedAssemblyName\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + AssemblyLoadUnload, + AssemblyLoadUnload_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,AssemblyID,AssemblyID) + ctf_integer(unsigned __int64,AppDomainID,AppDomainID) + ctf_integer(unsigned int,AssemblyFlags,AssemblyFlags) + ctf_string(FullyQualifiedAssemblyName,FullyQualifiedAssemblyName) + ) +) +#define AssemblyLoadUnloadT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + AssemblyLoadUnload ,\ + name ,\ + AssemblyLoadUnload_TRACEPOINT_ARGS \ +) + +#define AssemblyLoadUnload_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,AssemblyID,\ + const unsigned __int64 ,AppDomainID,\ + const unsigned __int64 ,BindingID,\ + const unsigned int ,AssemblyFlags,\ + const char* ,FullyQualifiedAssemblyName,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + AssemblyLoadUnload_V1, + AssemblyLoadUnload_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,AssemblyID,AssemblyID) + ctf_integer(unsigned __int64,AppDomainID,AppDomainID) + ctf_integer(unsigned __int64,BindingID,BindingID) + ctf_integer(unsigned int,AssemblyFlags,AssemblyFlags) + ctf_string(FullyQualifiedAssemblyName,FullyQualifiedAssemblyName) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define AssemblyLoadUnload_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + AssemblyLoadUnload_V1 ,\ + name ,\ + AssemblyLoadUnload_V1_TRACEPOINT_ARGS \ +) + +#define AppDomainLoadUnload_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,AppDomainID,\ + const unsigned int ,AppDomainFlags,\ + const char* ,AppDomainName\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + AppDomainLoadUnload, + AppDomainLoadUnload_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,AppDomainID,AppDomainID) + ctf_integer(unsigned int,AppDomainFlags,AppDomainFlags) + ctf_string(AppDomainName,AppDomainName) + ) +) +#define AppDomainLoadUnloadT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + AppDomainLoadUnload ,\ + name ,\ + AppDomainLoadUnload_TRACEPOINT_ARGS \ +) + +#define AppDomainLoadUnload_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,AppDomainID,\ + const unsigned int ,AppDomainFlags,\ + const char* ,AppDomainName,\ + const unsigned int ,AppDomainIndex,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + AppDomainLoadUnload_V1, + AppDomainLoadUnload_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,AppDomainID,AppDomainID) + ctf_integer(unsigned int,AppDomainFlags,AppDomainFlags) + ctf_string(AppDomainName,AppDomainName) + ctf_integer(unsigned int,AppDomainIndex,AppDomainIndex) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define AppDomainLoadUnload_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + AppDomainLoadUnload_V1 ,\ + name ,\ + AppDomainLoadUnload_V1_TRACEPOINT_ARGS \ +) + +#define MethodLoadUnload_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,MethodID,\ + const unsigned __int64 ,ModuleID,\ + const unsigned __int64 ,MethodStartAddress,\ + const unsigned int ,MethodSize,\ + const unsigned int ,MethodToken,\ + const unsigned int ,MethodFlags\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + MethodLoadUnload, + MethodLoadUnload_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,MethodID,MethodID) + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress) + ctf_integer(unsigned int,MethodSize,MethodSize) + ctf_integer(unsigned int,MethodToken,MethodToken) + ctf_integer(unsigned int,MethodFlags,MethodFlags) + ) +) +#define MethodLoadUnloadT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + MethodLoadUnload ,\ + name ,\ + MethodLoadUnload_TRACEPOINT_ARGS \ +) + +#define MethodLoadUnload_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,MethodID,\ + const unsigned __int64 ,ModuleID,\ + const unsigned __int64 ,MethodStartAddress,\ + const unsigned int ,MethodSize,\ + const unsigned int ,MethodToken,\ + const unsigned int ,MethodFlags,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + MethodLoadUnload_V1, + MethodLoadUnload_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,MethodID,MethodID) + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress) + ctf_integer(unsigned int,MethodSize,MethodSize) + ctf_integer(unsigned int,MethodToken,MethodToken) + ctf_integer(unsigned int,MethodFlags,MethodFlags) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define MethodLoadUnload_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + MethodLoadUnload_V1 ,\ + name ,\ + MethodLoadUnload_V1_TRACEPOINT_ARGS \ +) + +#define MethodLoadUnload_V2_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,MethodID,\ + const unsigned __int64 ,ModuleID,\ + const unsigned __int64 ,MethodStartAddress,\ + const unsigned int ,MethodSize,\ + const unsigned int ,MethodToken,\ + const unsigned int ,MethodFlags,\ + const unsigned short ,ClrInstanceID,\ + const unsigned __int64 ,ReJITID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + MethodLoadUnload_V2, + MethodLoadUnload_V2_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,MethodID,MethodID) + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress) + ctf_integer(unsigned int,MethodSize,MethodSize) + ctf_integer(unsigned int,MethodToken,MethodToken) + ctf_integer(unsigned int,MethodFlags,MethodFlags) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(unsigned __int64,ReJITID,ReJITID) + ) +) +#define MethodLoadUnload_V2T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + MethodLoadUnload_V2 ,\ + name ,\ + MethodLoadUnload_V2_TRACEPOINT_ARGS \ +) + +#define MethodLoadUnloadVerbose_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,MethodID,\ + const unsigned __int64 ,ModuleID,\ + const unsigned __int64 ,MethodStartAddress,\ + const unsigned int ,MethodSize,\ + const unsigned int ,MethodToken,\ + const unsigned int ,MethodFlags,\ + const char* ,MethodNamespace,\ + const char* ,MethodName,\ + const char* ,MethodSignature\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + MethodLoadUnloadVerbose, + MethodLoadUnloadVerbose_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,MethodID,MethodID) + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress) + ctf_integer(unsigned int,MethodSize,MethodSize) + ctf_integer(unsigned int,MethodToken,MethodToken) + ctf_integer(unsigned int,MethodFlags,MethodFlags) + ctf_string(MethodNamespace,MethodNamespace) + ctf_string(MethodName,MethodName) + ctf_string(MethodSignature,MethodSignature) + ) +) +#define MethodLoadUnloadVerboseT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + MethodLoadUnloadVerbose ,\ + name ,\ + MethodLoadUnloadVerbose_TRACEPOINT_ARGS \ +) + +#define MethodLoadUnloadVerbose_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,MethodID,\ + const unsigned __int64 ,ModuleID,\ + const unsigned __int64 ,MethodStartAddress,\ + const unsigned int ,MethodSize,\ + const unsigned int ,MethodToken,\ + const unsigned int ,MethodFlags,\ + const char* ,MethodNamespace,\ + const char* ,MethodName,\ + const char* ,MethodSignature,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + MethodLoadUnloadVerbose_V1, + MethodLoadUnloadVerbose_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,MethodID,MethodID) + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress) + ctf_integer(unsigned int,MethodSize,MethodSize) + ctf_integer(unsigned int,MethodToken,MethodToken) + ctf_integer(unsigned int,MethodFlags,MethodFlags) + ctf_string(MethodNamespace,MethodNamespace) + ctf_string(MethodName,MethodName) + ctf_string(MethodSignature,MethodSignature) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define MethodLoadUnloadVerbose_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + MethodLoadUnloadVerbose_V1 ,\ + name ,\ + MethodLoadUnloadVerbose_V1_TRACEPOINT_ARGS \ +) + +#define MethodLoadUnloadVerbose_V2_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,MethodID,\ + const unsigned __int64 ,ModuleID,\ + const unsigned __int64 ,MethodStartAddress,\ + const unsigned int ,MethodSize,\ + const unsigned int ,MethodToken,\ + const unsigned int ,MethodFlags,\ + const char* ,MethodNamespace,\ + const char* ,MethodName,\ + const char* ,MethodSignature,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + MethodLoadUnloadVerbose_V2, + MethodLoadUnloadVerbose_V2_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,MethodID,MethodID) + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress) + ctf_integer(unsigned int,MethodSize,MethodSize) + ctf_integer(unsigned int,MethodToken,MethodToken) + ctf_integer(unsigned int,MethodFlags,MethodFlags) + ctf_string(MethodNamespace,MethodNamespace) + ctf_string(MethodName,MethodName) + ctf_string(MethodSignature,MethodSignature) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define MethodLoadUnloadVerbose_V2T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + MethodLoadUnloadVerbose_V2 ,\ + name ,\ + MethodLoadUnloadVerbose_V2_TRACEPOINT_ARGS \ +) + +#define MethodLoadUnloadVerbose_V2_1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,ReJITID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + MethodLoadUnloadVerbose_V2_1, + MethodLoadUnloadVerbose_V2_1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,ReJITID,ReJITID) + ) +) +#define MethodLoadUnloadVerbose_V2_1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + MethodLoadUnloadVerbose_V2_1 ,\ + name ,\ + MethodLoadUnloadVerbose_V2_1_TRACEPOINT_ARGS \ +) + +#define MethodJittingStarted_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,MethodID,\ + const unsigned __int64 ,ModuleID,\ + const unsigned int ,MethodToken,\ + const unsigned int ,MethodILSize,\ + const char* ,MethodNamespace,\ + const char* ,MethodName,\ + const char* ,MethodSignature\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + MethodJittingStarted, + MethodJittingStarted_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,MethodID,MethodID) + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned int,MethodToken,MethodToken) + ctf_integer(unsigned int,MethodILSize,MethodILSize) + ctf_string(MethodNamespace,MethodNamespace) + ctf_string(MethodName,MethodName) + ctf_string(MethodSignature,MethodSignature) + ) +) +#define MethodJittingStartedT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + MethodJittingStarted ,\ + name ,\ + MethodJittingStarted_TRACEPOINT_ARGS \ +) + +#define MethodJittingStarted_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,MethodID,\ + const unsigned __int64 ,ModuleID,\ + const unsigned int ,MethodToken,\ + const unsigned int ,MethodILSize,\ + const char* ,MethodNamespace,\ + const char* ,MethodName,\ + const char* ,MethodSignature,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + MethodJittingStarted_V1, + MethodJittingStarted_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,MethodID,MethodID) + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned int,MethodToken,MethodToken) + ctf_integer(unsigned int,MethodILSize,MethodILSize) + ctf_string(MethodNamespace,MethodNamespace) + ctf_string(MethodName,MethodName) + ctf_string(MethodSignature,MethodSignature) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define MethodJittingStarted_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + MethodJittingStarted_V1 ,\ + name ,\ + MethodJittingStarted_V1_TRACEPOINT_ARGS \ +) + +#define MethodJitInliningSucceeded_TRACEPOINT_ARGS \ +TP_ARGS(\ + const char* ,MethodBeingCompiledNamespace,\ + const char* ,MethodBeingCompiledName,\ + const char* ,MethodBeingCompiledNameSignature,\ + const char* ,InlinerNamespace,\ + const char* ,InlinerName,\ + const char* ,InlinerNameSignature,\ + const char* ,InlineeNamespace,\ + const char* ,InlineeName,\ + const char* ,InlineeNameSignature,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + MethodJitInliningSucceeded, + MethodJitInliningSucceeded_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_string(MethodBeingCompiledNamespace,MethodBeingCompiledNamespace) + ctf_string(MethodBeingCompiledName,MethodBeingCompiledName) + ctf_string(MethodBeingCompiledNameSignature,MethodBeingCompiledNameSignature) + ctf_string(InlinerNamespace,InlinerNamespace) + ctf_string(InlinerName,InlinerName) + ctf_string(InlinerNameSignature,InlinerNameSignature) + ctf_string(InlineeNamespace,InlineeNamespace) + ctf_string(InlineeName,InlineeName) + ctf_string(InlineeNameSignature,InlineeNameSignature) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define MethodJitInliningSucceededT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + MethodJitInliningSucceeded ,\ + name ,\ + MethodJitInliningSucceeded_TRACEPOINT_ARGS \ +) + +#define MethodJitInliningFailed_TRACEPOINT_ARGS \ +TP_ARGS(\ + const char* ,MethodBeingCompiledNamespace,\ + const char* ,MethodBeingCompiledName,\ + const char* ,MethodBeingCompiledNameSignature,\ + const char* ,InlinerNamespace,\ + const char* ,InlinerName,\ + const char* ,InlinerNameSignature,\ + const char* ,InlineeNamespace,\ + const char* ,InlineeName,\ + const char* ,InlineeNameSignature,\ + const BOOL ,FailAlways\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + MethodJitInliningFailed, + MethodJitInliningFailed_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_string(MethodBeingCompiledNamespace,MethodBeingCompiledNamespace) + ctf_string(MethodBeingCompiledName,MethodBeingCompiledName) + ctf_string(MethodBeingCompiledNameSignature,MethodBeingCompiledNameSignature) + ctf_string(InlinerNamespace,InlinerNamespace) + ctf_string(InlinerName,InlinerName) + ctf_string(InlinerNameSignature,InlinerNameSignature) + ctf_string(InlineeNamespace,InlineeNamespace) + ctf_string(InlineeName,InlineeName) + ctf_string(InlineeNameSignature,InlineeNameSignature) + ctf_integer(BOOL,FailAlways,FailAlways) + ) +) +#define MethodJitInliningFailedT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + MethodJitInliningFailed ,\ + name ,\ + MethodJitInliningFailed_TRACEPOINT_ARGS \ +) + +#define MethodJitInliningFailed_1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const char* ,FailReason,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + MethodJitInliningFailed_1, + MethodJitInliningFailed_1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_string(FailReason,FailReason) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define MethodJitInliningFailed_1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + MethodJitInliningFailed_1 ,\ + name ,\ + MethodJitInliningFailed_1_TRACEPOINT_ARGS \ +) + +#define MethodJitTailCallSucceeded_TRACEPOINT_ARGS \ +TP_ARGS(\ + const char* ,MethodBeingCompiledNamespace,\ + const char* ,MethodBeingCompiledName,\ + const char* ,MethodBeingCompiledNameSignature,\ + const char* ,CallerNamespace,\ + const char* ,CallerName,\ + const char* ,CallerNameSignature,\ + const char* ,CalleeNamespace,\ + const char* ,CalleeName,\ + const char* ,CalleeNameSignature,\ + const BOOL ,TailPrefix\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + MethodJitTailCallSucceeded, + MethodJitTailCallSucceeded_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_string(MethodBeingCompiledNamespace,MethodBeingCompiledNamespace) + ctf_string(MethodBeingCompiledName,MethodBeingCompiledName) + ctf_string(MethodBeingCompiledNameSignature,MethodBeingCompiledNameSignature) + ctf_string(CallerNamespace,CallerNamespace) + ctf_string(CallerName,CallerName) + ctf_string(CallerNameSignature,CallerNameSignature) + ctf_string(CalleeNamespace,CalleeNamespace) + ctf_string(CalleeName,CalleeName) + ctf_string(CalleeNameSignature,CalleeNameSignature) + ctf_integer(BOOL,TailPrefix,TailPrefix) + ) +) +#define MethodJitTailCallSucceededT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + MethodJitTailCallSucceeded ,\ + name ,\ + MethodJitTailCallSucceeded_TRACEPOINT_ARGS \ +) + +#define MethodJitTailCallSucceeded_1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,TailCallType,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + MethodJitTailCallSucceeded_1, + MethodJitTailCallSucceeded_1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,TailCallType,TailCallType) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define MethodJitTailCallSucceeded_1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + MethodJitTailCallSucceeded_1 ,\ + name ,\ + MethodJitTailCallSucceeded_1_TRACEPOINT_ARGS \ +) + +#define MethodJitTailCallFailed_TRACEPOINT_ARGS \ +TP_ARGS(\ + const char* ,MethodBeingCompiledNamespace,\ + const char* ,MethodBeingCompiledName,\ + const char* ,MethodBeingCompiledNameSignature,\ + const char* ,CallerNamespace,\ + const char* ,CallerName,\ + const char* ,CallerNameSignature,\ + const char* ,CalleeNamespace,\ + const char* ,CalleeName,\ + const char* ,CalleeNameSignature,\ + const BOOL ,TailPrefix\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + MethodJitTailCallFailed, + MethodJitTailCallFailed_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_string(MethodBeingCompiledNamespace,MethodBeingCompiledNamespace) + ctf_string(MethodBeingCompiledName,MethodBeingCompiledName) + ctf_string(MethodBeingCompiledNameSignature,MethodBeingCompiledNameSignature) + ctf_string(CallerNamespace,CallerNamespace) + ctf_string(CallerName,CallerName) + ctf_string(CallerNameSignature,CallerNameSignature) + ctf_string(CalleeNamespace,CalleeNamespace) + ctf_string(CalleeName,CalleeName) + ctf_string(CalleeNameSignature,CalleeNameSignature) + ctf_integer(BOOL,TailPrefix,TailPrefix) + ) +) +#define MethodJitTailCallFailedT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + MethodJitTailCallFailed ,\ + name ,\ + MethodJitTailCallFailed_TRACEPOINT_ARGS \ +) + +#define MethodJitTailCallFailed_1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const char* ,FailReason,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + MethodJitTailCallFailed_1, + MethodJitTailCallFailed_1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_string(FailReason,FailReason) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define MethodJitTailCallFailed_1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + MethodJitTailCallFailed_1 ,\ + name ,\ + MethodJitTailCallFailed_1_TRACEPOINT_ARGS \ +) + +#define MethodILToNativeMap_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,MethodID,\ + const unsigned __int64 ,ReJITID,\ + const unsigned char ,MethodExtent,\ + const unsigned short ,CountOfMapEntries,\ + const unsigned int* ,ILOffsets,\ + const unsigned int* ,NativeOffsets,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + MethodILToNativeMap, + MethodILToNativeMap_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,MethodID,MethodID) + ctf_integer(unsigned __int64,ReJITID,ReJITID) + ctf_integer(unsigned char,MethodExtent,MethodExtent) + ctf_integer(unsigned short,CountOfMapEntries,CountOfMapEntries) + ctf_sequence(unsigned int, ILOffsets, ILOffsets,size_t,CountOfMapEntries) + ctf_sequence(unsigned int, NativeOffsets, NativeOffsets,size_t,CountOfMapEntries) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define MethodILToNativeMapT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + MethodILToNativeMap ,\ + name ,\ + MethodILToNativeMap_TRACEPOINT_ARGS \ +) + +#define ClrStackWalk_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID,\ + const unsigned char ,Reserved1,\ + const unsigned char ,Reserved2,\ + const unsigned int ,FrameCount,\ + const size_t* ,Stack\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + ClrStackWalk, + ClrStackWalk_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(unsigned char,Reserved1,Reserved1) + ctf_integer(unsigned char,Reserved2,Reserved2) + ctf_integer(unsigned int,FrameCount,FrameCount) + ctf_sequence(size_t, Stack, Stack,size_t,2) + ) +) +#define ClrStackWalkT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + ClrStackWalk ,\ + name ,\ + ClrStackWalk_TRACEPOINT_ARGS \ +) + +#define AppDomainMemAllocated_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,AppDomainID,\ + const unsigned __int64 ,Allocated,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + AppDomainMemAllocated, + AppDomainMemAllocated_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,AppDomainID,AppDomainID) + ctf_integer(unsigned __int64,Allocated,Allocated) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define AppDomainMemAllocatedT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + AppDomainMemAllocated ,\ + name ,\ + AppDomainMemAllocated_TRACEPOINT_ARGS \ +) + +#define AppDomainMemSurvived_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,AppDomainID,\ + const unsigned __int64 ,Survived,\ + const unsigned __int64 ,ProcessSurvived,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + AppDomainMemSurvived, + AppDomainMemSurvived_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,AppDomainID,AppDomainID) + ctf_integer(unsigned __int64,Survived,Survived) + ctf_integer(unsigned __int64,ProcessSurvived,ProcessSurvived) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define AppDomainMemSurvivedT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + AppDomainMemSurvived ,\ + name ,\ + AppDomainMemSurvived_TRACEPOINT_ARGS \ +) + +#define ThreadCreated_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,ManagedThreadID,\ + const unsigned __int64 ,AppDomainID,\ + const unsigned int ,Flags,\ + const unsigned int ,ManagedThreadIndex,\ + const unsigned int ,OSThreadID,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + ThreadCreated, + ThreadCreated_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,ManagedThreadID,ManagedThreadID) + ctf_integer(unsigned __int64,AppDomainID,AppDomainID) + ctf_integer(unsigned int,Flags,Flags) + ctf_integer(unsigned int,ManagedThreadIndex,ManagedThreadIndex) + ctf_integer(unsigned int,OSThreadID,OSThreadID) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define ThreadCreatedT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + ThreadCreated ,\ + name ,\ + ThreadCreated_TRACEPOINT_ARGS \ +) + +#define ThreadTerminatedOrTransition_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,ManagedThreadID,\ + const unsigned __int64 ,AppDomainID,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + ThreadTerminatedOrTransition, + ThreadTerminatedOrTransition_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,ManagedThreadID,ManagedThreadID) + ctf_integer(unsigned __int64,AppDomainID,AppDomainID) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define ThreadTerminatedOrTransitionT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + ThreadTerminatedOrTransition ,\ + name ,\ + ThreadTerminatedOrTransition_TRACEPOINT_ARGS \ +) + +#define ILStubGenerated_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID,\ + const unsigned __int64 ,ModuleID,\ + const unsigned __int64 ,StubMethodID,\ + const unsigned int ,StubFlags,\ + const unsigned int ,ManagedInteropMethodToken,\ + const char* ,ManagedInteropMethodNamespace,\ + const char* ,ManagedInteropMethodName,\ + const char* ,ManagedInteropMethodSignature,\ + const char* ,NativeMethodSignature,\ + const char* ,StubMethodSignature\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + ILStubGenerated, + ILStubGenerated_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned __int64,StubMethodID,StubMethodID) + ctf_integer(unsigned int,StubFlags,StubFlags) + ctf_integer(unsigned int,ManagedInteropMethodToken,ManagedInteropMethodToken) + ctf_string(ManagedInteropMethodNamespace,ManagedInteropMethodNamespace) + ctf_string(ManagedInteropMethodName,ManagedInteropMethodName) + ctf_string(ManagedInteropMethodSignature,ManagedInteropMethodSignature) + ctf_string(NativeMethodSignature,NativeMethodSignature) + ctf_string(StubMethodSignature,StubMethodSignature) + ) +) +#define ILStubGeneratedT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + ILStubGenerated ,\ + name ,\ + ILStubGenerated_TRACEPOINT_ARGS \ +) + +#define ILStubGenerated_1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const char* ,StubMethodILCode\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + ILStubGenerated_1, + ILStubGenerated_1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_string(StubMethodILCode,StubMethodILCode) + ) +) +#define ILStubGenerated_1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + ILStubGenerated_1 ,\ + name ,\ + ILStubGenerated_1_TRACEPOINT_ARGS \ +) + +#define ILStubCacheHit_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID,\ + const unsigned __int64 ,ModuleID,\ + const unsigned __int64 ,StubMethodID,\ + const unsigned int ,ManagedInteropMethodToken,\ + const char* ,ManagedInteropMethodNamespace,\ + const char* ,ManagedInteropMethodName,\ + const char* ,ManagedInteropMethodSignature\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + ILStubCacheHit, + ILStubCacheHit_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned __int64,StubMethodID,StubMethodID) + ctf_integer(unsigned int,ManagedInteropMethodToken,ManagedInteropMethodToken) + ctf_string(ManagedInteropMethodNamespace,ManagedInteropMethodNamespace) + ctf_string(ManagedInteropMethodName,ManagedInteropMethodName) + ctf_string(ManagedInteropMethodSignature,ManagedInteropMethodSignature) + ) +) +#define ILStubCacheHitT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + ILStubCacheHit ,\ + name ,\ + ILStubCacheHit_TRACEPOINT_ARGS \ +) + +#define ModuleRange_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID,\ + const unsigned __int64 ,ModuleID,\ + const unsigned int ,RangeBegin,\ + const unsigned int ,RangeSize,\ + const unsigned char ,RangeType\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + ModuleRange, + ModuleRange_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned int,RangeBegin,RangeBegin) + ctf_integer(unsigned int,RangeSize,RangeSize) + ctf_integer(unsigned char,RangeType,RangeType) + ) +) +#define ModuleRangeT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + ModuleRange ,\ + name ,\ + ModuleRange_TRACEPOINT_ARGS \ +) + +#define BulkType_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Count,\ + const unsigned short ,ClrInstanceID,\ + const ULONG ,Arg2_Struct_Len_,\ + const int* ,Arg2_Struct_Pointer_\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + BulkType, + BulkType_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Count,Count) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(ULONG,Arg2_Struct_Len_,Arg2_Struct_Len_) + ctf_sequence(int, Arg2_Struct_Pointer_, Arg2_Struct_Pointer_,size_t,Count*Arg2_Struct_Len_/sizeof(int)) + ) +) +#define BulkTypeT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + BulkType ,\ + name ,\ + BulkType_TRACEPOINT_ARGS \ +) + +#define GCBulkRootEdge_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Index,\ + const unsigned int ,Count,\ + const unsigned short ,ClrInstanceID,\ + const ULONG ,Arg3_Struct_Len_,\ + const int* ,Arg3_Struct_Pointer_\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCBulkRootEdge, + GCBulkRootEdge_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Index,Index) + ctf_integer(unsigned int,Count,Count) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(ULONG,Arg3_Struct_Len_,Arg3_Struct_Len_) + ctf_sequence(int, Arg3_Struct_Pointer_, Arg3_Struct_Pointer_,size_t,Count*Arg3_Struct_Len_/sizeof(int)) + ) +) +#define GCBulkRootEdgeT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCBulkRootEdge ,\ + name ,\ + GCBulkRootEdge_TRACEPOINT_ARGS \ +) + +#define GCBulkRootCCW_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Count,\ + const unsigned short ,ClrInstanceID,\ + const ULONG ,Arg2_Struct_Len_,\ + const int* ,Arg2_Struct_Pointer_\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCBulkRootCCW, + GCBulkRootCCW_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Count,Count) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(ULONG,Arg2_Struct_Len_,Arg2_Struct_Len_) + ctf_sequence(int, Arg2_Struct_Pointer_, Arg2_Struct_Pointer_,size_t,Count*Arg2_Struct_Len_/sizeof(int)) + ) +) +#define GCBulkRootCCWT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCBulkRootCCW ,\ + name ,\ + GCBulkRootCCW_TRACEPOINT_ARGS \ +) + +#define GCBulkRCW_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Count,\ + const unsigned short ,ClrInstanceID,\ + const ULONG ,Arg2_Struct_Len_,\ + const int* ,Arg2_Struct_Pointer_\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCBulkRCW, + GCBulkRCW_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Count,Count) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(ULONG,Arg2_Struct_Len_,Arg2_Struct_Len_) + ctf_sequence(int, Arg2_Struct_Pointer_, Arg2_Struct_Pointer_,size_t,Count*Arg2_Struct_Len_/sizeof(int)) + ) +) +#define GCBulkRCWT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCBulkRCW ,\ + name ,\ + GCBulkRCW_TRACEPOINT_ARGS \ +) + +#define GCBulkRootStaticVar_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Count,\ + const unsigned __int64 ,AppDomainID,\ + const unsigned short ,ClrInstanceID,\ + const ULONG ,Arg3_Struct_Len_,\ + const int* ,Arg3_Struct_Pointer_\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCBulkRootStaticVar, + GCBulkRootStaticVar_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Count,Count) + ctf_integer(unsigned __int64,AppDomainID,AppDomainID) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(ULONG,Arg3_Struct_Len_,Arg3_Struct_Len_) + ctf_sequence(int, Arg3_Struct_Pointer_, Arg3_Struct_Pointer_,size_t,Count*Arg3_Struct_Len_/sizeof(int)) + ) +) +#define GCBulkRootStaticVarT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCBulkRootStaticVar ,\ + name ,\ + GCBulkRootStaticVar_TRACEPOINT_ARGS \ +) + +#define GCBulkRootConditionalWeakTableElementEdge_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Index,\ + const unsigned int ,Count,\ + const unsigned short ,ClrInstanceID,\ + const ULONG ,Arg3_Struct_Len_,\ + const int* ,Arg3_Struct_Pointer_\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCBulkRootConditionalWeakTableElementEdge, + GCBulkRootConditionalWeakTableElementEdge_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Index,Index) + ctf_integer(unsigned int,Count,Count) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(ULONG,Arg3_Struct_Len_,Arg3_Struct_Len_) + ctf_sequence(int, Arg3_Struct_Pointer_, Arg3_Struct_Pointer_,size_t,Count*Arg3_Struct_Len_/sizeof(int)) + ) +) +#define GCBulkRootConditionalWeakTableElementEdgeT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCBulkRootConditionalWeakTableElementEdge ,\ + name ,\ + GCBulkRootConditionalWeakTableElementEdge_TRACEPOINT_ARGS \ +) + +#define GCBulkNode_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Index,\ + const unsigned int ,Count,\ + const unsigned short ,ClrInstanceID,\ + const ULONG ,Arg3_Struct_Len_,\ + const int* ,Arg3_Struct_Pointer_\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCBulkNode, + GCBulkNode_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Index,Index) + ctf_integer(unsigned int,Count,Count) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(ULONG,Arg3_Struct_Len_,Arg3_Struct_Len_) + ctf_sequence(int, Arg3_Struct_Pointer_, Arg3_Struct_Pointer_,size_t,Count*Arg3_Struct_Len_/sizeof(int)) + ) +) +#define GCBulkNodeT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCBulkNode ,\ + name ,\ + GCBulkNode_TRACEPOINT_ARGS \ +) + +#define GCBulkEdge_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Index,\ + const unsigned int ,Count,\ + const unsigned short ,ClrInstanceID,\ + const ULONG ,Arg3_Struct_Len_,\ + const int* ,Arg3_Struct_Pointer_\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCBulkEdge, + GCBulkEdge_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Index,Index) + ctf_integer(unsigned int,Count,Count) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(ULONG,Arg3_Struct_Len_,Arg3_Struct_Len_) + ctf_sequence(int, Arg3_Struct_Pointer_, Arg3_Struct_Pointer_,size_t,Count*Arg3_Struct_Len_/sizeof(int)) + ) +) +#define GCBulkEdgeT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCBulkEdge ,\ + name ,\ + GCBulkEdge_TRACEPOINT_ARGS \ +) + +#define GCSampledObjectAllocation_TRACEPOINT_ARGS \ +TP_ARGS(\ + const size_t ,Address,\ + const size_t ,TypeID,\ + const unsigned int ,ObjectCountForTypeSample,\ + const unsigned __int64 ,TotalSizeForTypeSample,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCSampledObjectAllocation, + GCSampledObjectAllocation_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(size_t,Address,Address) + ctf_integer(size_t,TypeID,TypeID) + ctf_integer(unsigned int,ObjectCountForTypeSample,ObjectCountForTypeSample) + ctf_integer(unsigned __int64,TotalSizeForTypeSample,TotalSizeForTypeSample) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define GCSampledObjectAllocationT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCSampledObjectAllocation ,\ + name ,\ + GCSampledObjectAllocation_TRACEPOINT_ARGS \ +) + +#define GCBulkSurvivingObjectRanges_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Index,\ + const unsigned int ,Count,\ + const unsigned short ,ClrInstanceID,\ + const ULONG ,Arg3_Struct_Len_,\ + const int* ,Arg3_Struct_Pointer_\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCBulkSurvivingObjectRanges, + GCBulkSurvivingObjectRanges_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Index,Index) + ctf_integer(unsigned int,Count,Count) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(ULONG,Arg3_Struct_Len_,Arg3_Struct_Len_) + ctf_sequence(int, Arg3_Struct_Pointer_, Arg3_Struct_Pointer_,size_t,Count*Arg3_Struct_Len_/sizeof(int)) + ) +) +#define GCBulkSurvivingObjectRangesT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCBulkSurvivingObjectRanges ,\ + name ,\ + GCBulkSurvivingObjectRanges_TRACEPOINT_ARGS \ +) + +#define GCBulkMovedObjectRanges_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Index,\ + const unsigned int ,Count,\ + const unsigned short ,ClrInstanceID,\ + const ULONG ,Arg3_Struct_Len_,\ + const int* ,Arg3_Struct_Pointer_\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCBulkMovedObjectRanges, + GCBulkMovedObjectRanges_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Index,Index) + ctf_integer(unsigned int,Count,Count) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(ULONG,Arg3_Struct_Len_,Arg3_Struct_Len_) + ctf_sequence(int, Arg3_Struct_Pointer_, Arg3_Struct_Pointer_,size_t,Count*Arg3_Struct_Len_/sizeof(int)) + ) +) +#define GCBulkMovedObjectRangesT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCBulkMovedObjectRanges ,\ + name ,\ + GCBulkMovedObjectRanges_TRACEPOINT_ARGS \ +) + +#define GCGenerationRange_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned char ,Generation,\ + const size_t ,RangeStart,\ + const unsigned __int64 ,RangeUsedLength,\ + const unsigned __int64 ,RangeReservedLength,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + GCGenerationRange, + GCGenerationRange_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned char,Generation,Generation) + ctf_integer(size_t,RangeStart,RangeStart) + ctf_integer(unsigned __int64,RangeUsedLength,RangeUsedLength) + ctf_integer(unsigned __int64,RangeReservedLength,RangeReservedLength) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define GCGenerationRangeT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + GCGenerationRange ,\ + name ,\ + GCGenerationRange_TRACEPOINT_ARGS \ +) + +#define CodeSymbols_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,ModuleId,\ + const unsigned short ,TotalChunks,\ + const unsigned short ,ChunkNumber,\ + const unsigned int ,ChunkLength,\ + const BYTE* ,Chunk,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + CodeSymbols, + CodeSymbols_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,ModuleId,ModuleId) + ctf_integer(unsigned short,TotalChunks,TotalChunks) + ctf_integer(unsigned short,ChunkNumber,ChunkNumber) + ctf_integer(unsigned int,ChunkLength,ChunkLength) + ctf_sequence(BYTE, Chunk, Chunk,size_t,ChunkLength) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define CodeSymbolsT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + CodeSymbols ,\ + name ,\ + CodeSymbols_TRACEPOINT_ARGS \ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntime, + emptyTemplate , + TP_ARGS(), + TP_FIELDS() +) +#define T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntime,\ + emptyTemplate,\ + name ,\ + TP_ARGS()\ +) +GCStartT_TRACEPOINT_INSTANCE(GCStart) +GCStart_V1T_TRACEPOINT_INSTANCE(GCStart_V1) +GCStart_V2T_TRACEPOINT_INSTANCE(GCStart_V2) +GCEndT_TRACEPOINT_INSTANCE(GCEnd) +GCEnd_V1T_TRACEPOINT_INSTANCE(GCEnd_V1) +T_TRACEPOINT_INSTANCE(GCRestartEEEnd) +GCNoUserDataT_TRACEPOINT_INSTANCE(GCRestartEEEnd_V1) +GCHeapStatsT_TRACEPOINT_INSTANCE(GCHeapStats) +GCHeapStats_1T_TRACEPOINT_INSTANCE(GCHeapStats_1) +GCHeapStats_V1T_TRACEPOINT_INSTANCE(GCHeapStats_V1) +GCHeapStats_V1_1T_TRACEPOINT_INSTANCE(GCHeapStats_V1_1) +GCCreateSegmentT_TRACEPOINT_INSTANCE(GCCreateSegment) +GCCreateSegment_V1T_TRACEPOINT_INSTANCE(GCCreateSegment_V1) +GCFreeSegmentT_TRACEPOINT_INSTANCE(GCFreeSegment) +GCFreeSegment_V1T_TRACEPOINT_INSTANCE(GCFreeSegment_V1) +T_TRACEPOINT_INSTANCE(GCRestartEEBegin) +GCNoUserDataT_TRACEPOINT_INSTANCE(GCRestartEEBegin_V1) +T_TRACEPOINT_INSTANCE(GCSuspendEEEnd) +GCNoUserDataT_TRACEPOINT_INSTANCE(GCSuspendEEEnd_V1) +GCSuspendEET_TRACEPOINT_INSTANCE(GCSuspendEEBegin) +GCSuspendEE_V1T_TRACEPOINT_INSTANCE(GCSuspendEEBegin_V1) +GCAllocationTickT_TRACEPOINT_INSTANCE(GCAllocationTick) +GCAllocationTick_V1T_TRACEPOINT_INSTANCE(GCAllocationTick_V1) +GCAllocationTick_V2T_TRACEPOINT_INSTANCE(GCAllocationTick_V2) +GCAllocationTick_V3T_TRACEPOINT_INSTANCE(GCAllocationTick_V3) +T_TRACEPOINT_INSTANCE(GCCreateConcurrentThread) +GCCreateConcurrentThreadT_TRACEPOINT_INSTANCE(GCCreateConcurrentThread_V1) +T_TRACEPOINT_INSTANCE(GCTerminateConcurrentThread) +GCTerminateConcurrentThreadT_TRACEPOINT_INSTANCE(GCTerminateConcurrentThread_V1) +GCFinalizersEndT_TRACEPOINT_INSTANCE(GCFinalizersEnd) +GCFinalizersEnd_V1T_TRACEPOINT_INSTANCE(GCFinalizersEnd_V1) +T_TRACEPOINT_INSTANCE(GCFinalizersBegin) +GCNoUserDataT_TRACEPOINT_INSTANCE(GCFinalizersBegin_V1) +BulkTypeT_TRACEPOINT_INSTANCE(BulkType) +GCBulkRootEdgeT_TRACEPOINT_INSTANCE(GCBulkRootEdge) +GCBulkRootConditionalWeakTableElementEdgeT_TRACEPOINT_INSTANCE(GCBulkRootConditionalWeakTableElementEdge) +GCBulkNodeT_TRACEPOINT_INSTANCE(GCBulkNode) +GCBulkEdgeT_TRACEPOINT_INSTANCE(GCBulkEdge) +GCSampledObjectAllocationT_TRACEPOINT_INSTANCE(GCSampledObjectAllocationHigh) +GCBulkSurvivingObjectRangesT_TRACEPOINT_INSTANCE(GCBulkSurvivingObjectRanges) +GCBulkMovedObjectRangesT_TRACEPOINT_INSTANCE(GCBulkMovedObjectRanges) +GCGenerationRangeT_TRACEPOINT_INSTANCE(GCGenerationRange) +GCMarkT_TRACEPOINT_INSTANCE(GCMarkStackRoots) +GCMarkT_TRACEPOINT_INSTANCE(GCMarkFinalizeQueueRoots) +GCMarkT_TRACEPOINT_INSTANCE(GCMarkHandles) +GCMarkT_TRACEPOINT_INSTANCE(GCMarkOlderGenerationRoots) +FinalizeObjectT_TRACEPOINT_INSTANCE(FinalizeObject) +SetGCHandleT_TRACEPOINT_INSTANCE(SetGCHandle) +DestroyGCHandleT_TRACEPOINT_INSTANCE(DestroyGCHandle) +GCSampledObjectAllocationT_TRACEPOINT_INSTANCE(GCSampledObjectAllocationLow) +PinObjectAtGCTimeT_TRACEPOINT_INSTANCE(PinObjectAtGCTime) +GCTriggeredT_TRACEPOINT_INSTANCE(GCTriggered) +GCBulkRootCCWT_TRACEPOINT_INSTANCE(GCBulkRootCCW) +GCBulkRCWT_TRACEPOINT_INSTANCE(GCBulkRCW) +GCBulkRootStaticVarT_TRACEPOINT_INSTANCE(GCBulkRootStaticVar) +ClrWorkerThreadT_TRACEPOINT_INSTANCE(WorkerThreadCreate) +ClrWorkerThreadT_TRACEPOINT_INSTANCE(WorkerThreadTerminate) +ClrWorkerThreadT_TRACEPOINT_INSTANCE(WorkerThreadRetire) +ClrWorkerThreadT_TRACEPOINT_INSTANCE(WorkerThreadUnretire) +IOThreadT_TRACEPOINT_INSTANCE(IOThreadCreate) +IOThread_V1T_TRACEPOINT_INSTANCE(IOThreadCreate_V1) +IOThreadT_TRACEPOINT_INSTANCE(IOThreadTerminate) +IOThread_V1T_TRACEPOINT_INSTANCE(IOThreadTerminate_V1) +IOThreadT_TRACEPOINT_INSTANCE(IOThreadRetire) +IOThread_V1T_TRACEPOINT_INSTANCE(IOThreadRetire_V1) +IOThreadT_TRACEPOINT_INSTANCE(IOThreadUnretire) +IOThread_V1T_TRACEPOINT_INSTANCE(IOThreadUnretire_V1) +ClrThreadPoolSuspendT_TRACEPOINT_INSTANCE(ThreadpoolSuspensionSuspendThread) +ClrThreadPoolSuspendT_TRACEPOINT_INSTANCE(ThreadpoolSuspensionResumeThread) +ThreadPoolWorkerThreadT_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadStart) +ThreadPoolWorkerThreadT_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadStop) +ThreadPoolWorkerThreadT_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadRetirementStart) +ThreadPoolWorkerThreadT_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadRetirementStop) +ThreadPoolWorkerThreadAdjustmentSampleT_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadAdjustmentSample) +ThreadPoolWorkerThreadAdjustmentAdjustmentT_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadAdjustmentAdjustment) +ThreadPoolWorkerThreadAdjustmentStatsT_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadAdjustmentStats) +ThreadPoolWorkerThreadAdjustmentStats_1T_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadAdjustmentStats_1) +ThreadPoolWorkerThreadT_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadWait) +ThreadPoolWorkingThreadCountT_TRACEPOINT_INSTANCE(ThreadPoolWorkingThreadCount) +ThreadPoolWorkT_TRACEPOINT_INSTANCE(ThreadPoolEnqueue) +ThreadPoolWorkT_TRACEPOINT_INSTANCE(ThreadPoolDequeue) +ThreadPoolIOWorkEnqueueT_TRACEPOINT_INSTANCE(ThreadPoolIOEnqueue) +ThreadPoolIOWorkT_TRACEPOINT_INSTANCE(ThreadPoolIODequeue) +ThreadPoolIOWorkT_TRACEPOINT_INSTANCE(ThreadPoolIOPack) +ThreadStartWorkT_TRACEPOINT_INSTANCE(ThreadCreating) +ThreadStartWorkT_TRACEPOINT_INSTANCE(ThreadRunning) +T_TRACEPOINT_INSTANCE(ExceptionThrown) +ExceptionT_TRACEPOINT_INSTANCE(ExceptionThrown_V1) +ExceptionHandlingT_TRACEPOINT_INSTANCE(ExceptionCatchStart) +T_TRACEPOINT_INSTANCE(ExceptionCatchStop) +ExceptionHandlingT_TRACEPOINT_INSTANCE(ExceptionFinallyStart) +T_TRACEPOINT_INSTANCE(ExceptionFinallyStop) +ExceptionHandlingT_TRACEPOINT_INSTANCE(ExceptionFilterStart) +T_TRACEPOINT_INSTANCE(ExceptionFilterStop) +T_TRACEPOINT_INSTANCE(ExceptionThrownStop) +T_TRACEPOINT_INSTANCE(Contention) +ContentionT_TRACEPOINT_INSTANCE(ContentionStart_V1) +ContentionT_TRACEPOINT_INSTANCE(ContentionStop) +ClrStackWalkT_TRACEPOINT_INSTANCE(CLRStackWalk) +AppDomainMemAllocatedT_TRACEPOINT_INSTANCE(AppDomainMemAllocated) +AppDomainMemSurvivedT_TRACEPOINT_INSTANCE(AppDomainMemSurvived) +ThreadCreatedT_TRACEPOINT_INSTANCE(ThreadCreated) +ThreadTerminatedOrTransitionT_TRACEPOINT_INSTANCE(ThreadTerminated) +ThreadTerminatedOrTransitionT_TRACEPOINT_INSTANCE(ThreadDomainEnter) +ILStubGeneratedT_TRACEPOINT_INSTANCE(ILStubGenerated) +ILStubGenerated_1T_TRACEPOINT_INSTANCE(ILStubGenerated_1) +ILStubCacheHitT_TRACEPOINT_INSTANCE(ILStubCacheHit) +T_TRACEPOINT_INSTANCE(DCStartCompleteV2) +T_TRACEPOINT_INSTANCE(DCEndCompleteV2) +MethodLoadUnloadT_TRACEPOINT_INSTANCE(MethodDCStartV2) +MethodLoadUnloadT_TRACEPOINT_INSTANCE(MethodDCEndV2) +MethodLoadUnloadVerboseT_TRACEPOINT_INSTANCE(MethodDCStartVerboseV2) +MethodLoadUnloadVerboseT_TRACEPOINT_INSTANCE(MethodDCEndVerboseV2) +MethodLoadUnloadT_TRACEPOINT_INSTANCE(MethodLoad) +MethodLoadUnload_V1T_TRACEPOINT_INSTANCE(MethodLoad_V1) +MethodLoadUnload_V2T_TRACEPOINT_INSTANCE(MethodLoad_V2) +MethodLoadUnloadT_TRACEPOINT_INSTANCE(MethodUnload) +MethodLoadUnload_V1T_TRACEPOINT_INSTANCE(MethodUnload_V1) +MethodLoadUnload_V2T_TRACEPOINT_INSTANCE(MethodUnload_V2) +MethodLoadUnloadVerboseT_TRACEPOINT_INSTANCE(MethodLoadVerbose) +MethodLoadUnloadVerbose_V1T_TRACEPOINT_INSTANCE(MethodLoadVerbose_V1) +MethodLoadUnloadVerbose_V2T_TRACEPOINT_INSTANCE(MethodLoadVerbose_V2) +MethodLoadUnloadVerbose_V2_1T_TRACEPOINT_INSTANCE(MethodLoadVerbose_V2_1) +MethodLoadUnloadVerboseT_TRACEPOINT_INSTANCE(MethodUnloadVerbose) +MethodLoadUnloadVerbose_V1T_TRACEPOINT_INSTANCE(MethodUnloadVerbose_V1) +MethodLoadUnloadVerbose_V2T_TRACEPOINT_INSTANCE(MethodUnloadVerbose_V2) +MethodLoadUnloadVerbose_V2_1T_TRACEPOINT_INSTANCE(MethodUnloadVerbose_V2_1) +MethodJittingStartedT_TRACEPOINT_INSTANCE(MethodJittingStarted) +MethodJittingStarted_V1T_TRACEPOINT_INSTANCE(MethodJittingStarted_V1) +MethodJitInliningSucceededT_TRACEPOINT_INSTANCE(MethodJitInliningSucceeded) +MethodJitInliningFailedT_TRACEPOINT_INSTANCE(MethodJitInliningFailed) +MethodJitInliningFailed_1T_TRACEPOINT_INSTANCE(MethodJitInliningFailed_1) +MethodJitTailCallSucceededT_TRACEPOINT_INSTANCE(MethodJitTailCallSucceeded) +MethodJitTailCallSucceeded_1T_TRACEPOINT_INSTANCE(MethodJitTailCallSucceeded_1) +MethodJitTailCallFailedT_TRACEPOINT_INSTANCE(MethodJitTailCallFailed) +MethodJitTailCallFailed_1T_TRACEPOINT_INSTANCE(MethodJitTailCallFailed_1) +MethodILToNativeMapT_TRACEPOINT_INSTANCE(MethodILToNativeMap) +ModuleLoadUnloadT_TRACEPOINT_INSTANCE(ModuleDCStartV2) +ModuleLoadUnloadT_TRACEPOINT_INSTANCE(ModuleDCEndV2) +DomainModuleLoadUnloadT_TRACEPOINT_INSTANCE(DomainModuleLoad) +DomainModuleLoadUnload_V1T_TRACEPOINT_INSTANCE(DomainModuleLoad_V1) +ModuleLoadUnloadT_TRACEPOINT_INSTANCE(ModuleLoad) +ModuleLoadUnload_V1T_TRACEPOINT_INSTANCE(ModuleLoad_V1) +ModuleLoadUnload_V2T_TRACEPOINT_INSTANCE(ModuleLoad_V2) +ModuleLoadUnload_V2_1T_TRACEPOINT_INSTANCE(ModuleLoad_V2_1) +ModuleLoadUnloadT_TRACEPOINT_INSTANCE(ModuleUnload) +ModuleLoadUnload_V1T_TRACEPOINT_INSTANCE(ModuleUnload_V1) +ModuleLoadUnload_V2T_TRACEPOINT_INSTANCE(ModuleUnload_V2) +ModuleLoadUnload_V2_1T_TRACEPOINT_INSTANCE(ModuleUnload_V2_1) +AssemblyLoadUnloadT_TRACEPOINT_INSTANCE(AssemblyLoad) +AssemblyLoadUnload_V1T_TRACEPOINT_INSTANCE(AssemblyLoad_V1) +AssemblyLoadUnloadT_TRACEPOINT_INSTANCE(AssemblyUnload) +AssemblyLoadUnload_V1T_TRACEPOINT_INSTANCE(AssemblyUnload_V1) +AppDomainLoadUnloadT_TRACEPOINT_INSTANCE(AppDomainLoad) +AppDomainLoadUnload_V1T_TRACEPOINT_INSTANCE(AppDomainLoad_V1) +AppDomainLoadUnloadT_TRACEPOINT_INSTANCE(AppDomainUnload) +AppDomainLoadUnload_V1T_TRACEPOINT_INSTANCE(AppDomainUnload_V1) +ModuleRangeT_TRACEPOINT_INSTANCE(ModuleRangeLoad) +StrongNameVerificationT_TRACEPOINT_INSTANCE(StrongNameVerificationStart) +StrongNameVerification_V1T_TRACEPOINT_INSTANCE(StrongNameVerificationStart_V1) +StrongNameVerificationT_TRACEPOINT_INSTANCE(StrongNameVerificationStop) +StrongNameVerification_V1T_TRACEPOINT_INSTANCE(StrongNameVerificationStop_V1) +AuthenticodeVerificationT_TRACEPOINT_INSTANCE(AuthenticodeVerificationStart) +AuthenticodeVerification_V1T_TRACEPOINT_INSTANCE(AuthenticodeVerificationStart_V1) +AuthenticodeVerificationT_TRACEPOINT_INSTANCE(AuthenticodeVerificationStop) +AuthenticodeVerification_V1T_TRACEPOINT_INSTANCE(AuthenticodeVerificationStop_V1) +RuntimeInformationT_TRACEPOINT_INSTANCE(RuntimeInformationStart) +RuntimeInformation_1T_TRACEPOINT_INSTANCE(RuntimeInformationStart_1) +IncreaseMemoryPressureT_TRACEPOINT_INSTANCE(IncreaseMemoryPressure) +DecreaseMemoryPressureT_TRACEPOINT_INSTANCE(DecreaseMemoryPressure) +GCMarkWithTypeT_TRACEPOINT_INSTANCE(GCMarkWithType) +GCJoin_V2T_TRACEPOINT_INSTANCE(GCJoin_V2) +GCPerHeapHistory_V3T_TRACEPOINT_INSTANCE(GCPerHeapHistory_V3) +GCPerHeapHistory_V3_1T_TRACEPOINT_INSTANCE(GCPerHeapHistory_V3_1) +GCGlobalHeap_V2T_TRACEPOINT_INSTANCE(GCGlobalHeapHistory_V2) +T_TRACEPOINT_INSTANCE(DebugIPCEventStart) +T_TRACEPOINT_INSTANCE(DebugIPCEventEnd) +T_TRACEPOINT_INSTANCE(DebugExceptionProcessingStart) +T_TRACEPOINT_INSTANCE(DebugExceptionProcessingEnd) +CodeSymbolsT_TRACEPOINT_INSTANCE(CodeSymbols) +#endif /* LTTNG_CORECLR_HDotNETRuntime */ +#include <lttng/tracepoint-event.h> diff --git a/src/pal/src/eventprovider/lttng/tpdotnetruntimeprivate.h b/src/pal/src/eventprovider/lttng/tpdotnetruntimeprivate.h new file mode 100644 index 0000000000..12960fcc9d --- /dev/null +++ b/src/pal/src/eventprovider/lttng/tpdotnetruntimeprivate.h @@ -0,0 +1,1607 @@ +// +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. +// + +/****************************************************************** + +DO NOT MODIFY. AUTOGENERATED FILE. +This file is generated using the logic from <root>/src/inc/genXplatLttng.pl + +******************************************************************/ + + +#include "palrt.h" +#include "pal.h" + +#undef TRACEPOINT_PROVIDER +#define TRACEPOINT_PROVIDER DotNETRuntimePrivate + +#undef TRACEPOINT_INCLUDE +#define TRACEPOINT_INCLUDE "./lttng/tpdotnetruntimeprivate.h" + +#if !defined(LTTNG_CORECLR_HDotNETRuntimePrivate) || defined(TRACEPOINT_HEADER_MULTI_READ) +#define LTTNG_CORECLR_HDotNETRuntimePrivate + +#include <lttng/tracepoint.h> + + +#define ClrStackWalk_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID,\ + const unsigned char ,Reserved1,\ + const unsigned char ,Reserved2,\ + const unsigned int ,FrameCount,\ + const size_t* ,Stack\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + ClrStackWalk, + ClrStackWalk_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(unsigned char,Reserved1,Reserved1) + ctf_integer(unsigned char,Reserved2,Reserved2) + ctf_integer(unsigned int,FrameCount,FrameCount) + ctf_sequence(size_t, Stack, Stack,size_t,2) + ) +) +#define ClrStackWalkT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + ClrStackWalk ,\ + name ,\ + ClrStackWalk_TRACEPOINT_ARGS \ +) + +#define EvidenceGenerated_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Type,\ + const unsigned int ,AppDomain,\ + const char* ,ILImage,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + EvidenceGenerated, + EvidenceGenerated_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Type,Type) + ctf_integer(unsigned int,AppDomain,AppDomain) + ctf_string(ILImage,ILImage) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define EvidenceGeneratedT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + EvidenceGenerated ,\ + name ,\ + EvidenceGenerated_TRACEPOINT_ARGS \ +) + +#define GCDecision_TRACEPOINT_ARGS \ +TP_ARGS(\ + const BOOL ,DoCompact\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + GCDecision, + GCDecision_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(BOOL,DoCompact,DoCompact) + ) +) +#define GCDecisionT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + GCDecision ,\ + name ,\ + GCDecision_TRACEPOINT_ARGS \ +) + +#define GCDecision_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const BOOL ,DoCompact,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + GCDecision_V1, + GCDecision_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(BOOL,DoCompact,DoCompact) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define GCDecision_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + GCDecision_V1 ,\ + name ,\ + GCDecision_V1_TRACEPOINT_ARGS \ +) + +#define PrvGCMark_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,HeapNum\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + PrvGCMark, + PrvGCMark_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,HeapNum,HeapNum) + ) +) +#define PrvGCMarkT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + PrvGCMark ,\ + name ,\ + PrvGCMark_TRACEPOINT_ARGS \ +) + +#define PrvGCMark_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,HeapNum,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + PrvGCMark_V1, + PrvGCMark_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,HeapNum,HeapNum) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define PrvGCMark_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + PrvGCMark_V1 ,\ + name ,\ + PrvGCMark_V1_TRACEPOINT_ARGS \ +) + +#define GCPerHeapHistory_TRACEPOINT_ARGS \ +TP_ARGS(\ +\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + GCPerHeapHistory, + GCPerHeapHistory_TRACEPOINT_ARGS, + TP_FIELDS( + ) +) +#define GCPerHeapHistoryT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + GCPerHeapHistory ,\ + name ,\ + GCPerHeapHistory_TRACEPOINT_ARGS \ +) + +#define GCPerHeapHistory_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + GCPerHeapHistory_V1, + GCPerHeapHistory_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define GCPerHeapHistory_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + GCPerHeapHistory_V1 ,\ + name ,\ + GCPerHeapHistory_V1_TRACEPOINT_ARGS \ +) + +#define GCGlobalHeap_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,FinalYoungestDesired,\ + const signed int ,NumHeaps,\ + const unsigned int ,CondemnedGeneration,\ + const unsigned int ,Gen0ReductionCount,\ + const unsigned int ,Reason,\ + const unsigned int ,GlobalMechanisms\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + GCGlobalHeap, + GCGlobalHeap_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,FinalYoungestDesired,FinalYoungestDesired) + ctf_integer(signed int,NumHeaps,NumHeaps) + ctf_integer(unsigned int,CondemnedGeneration,CondemnedGeneration) + ctf_integer(unsigned int,Gen0ReductionCount,Gen0ReductionCount) + ctf_integer(unsigned int,Reason,Reason) + ctf_integer(unsigned int,GlobalMechanisms,GlobalMechanisms) + ) +) +#define GCGlobalHeapT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + GCGlobalHeap ,\ + name ,\ + GCGlobalHeap_TRACEPOINT_ARGS \ +) + +#define GCGlobalHeap_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,FinalYoungestDesired,\ + const signed int ,NumHeaps,\ + const unsigned int ,CondemnedGeneration,\ + const unsigned int ,Gen0ReductionCount,\ + const unsigned int ,Reason,\ + const unsigned int ,GlobalMechanisms,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + GCGlobalHeap_V1, + GCGlobalHeap_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,FinalYoungestDesired,FinalYoungestDesired) + ctf_integer(signed int,NumHeaps,NumHeaps) + ctf_integer(unsigned int,CondemnedGeneration,CondemnedGeneration) + ctf_integer(unsigned int,Gen0ReductionCount,Gen0ReductionCount) + ctf_integer(unsigned int,Reason,Reason) + ctf_integer(unsigned int,GlobalMechanisms,GlobalMechanisms) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define GCGlobalHeap_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + GCGlobalHeap_V1 ,\ + name ,\ + GCGlobalHeap_V1_TRACEPOINT_ARGS \ +) + +#define GCJoin_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Heap,\ + const unsigned int ,JoinTime,\ + const unsigned int ,JoinType\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + GCJoin, + GCJoin_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Heap,Heap) + ctf_integer(unsigned int,JoinTime,JoinTime) + ctf_integer(unsigned int,JoinType,JoinType) + ) +) +#define GCJoinT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + GCJoin ,\ + name ,\ + GCJoin_TRACEPOINT_ARGS \ +) + +#define GCJoin_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Heap,\ + const unsigned int ,JoinTime,\ + const unsigned int ,JoinType,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + GCJoin_V1, + GCJoin_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Heap,Heap) + ctf_integer(unsigned int,JoinTime,JoinTime) + ctf_integer(unsigned int,JoinType,JoinType) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define GCJoin_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + GCJoin_V1 ,\ + name ,\ + GCJoin_V1_TRACEPOINT_ARGS \ +) + +#define GCOptimized_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,DesiredAllocation,\ + const unsigned __int64 ,NewAllocation,\ + const unsigned int ,GenerationNumber\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + GCOptimized, + GCOptimized_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,DesiredAllocation,DesiredAllocation) + ctf_integer(unsigned __int64,NewAllocation,NewAllocation) + ctf_integer(unsigned int,GenerationNumber,GenerationNumber) + ) +) +#define GCOptimizedT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + GCOptimized ,\ + name ,\ + GCOptimized_TRACEPOINT_ARGS \ +) + +#define GCOptimized_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,DesiredAllocation,\ + const unsigned __int64 ,NewAllocation,\ + const unsigned int ,GenerationNumber,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + GCOptimized_V1, + GCOptimized_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,DesiredAllocation,DesiredAllocation) + ctf_integer(unsigned __int64,NewAllocation,NewAllocation) + ctf_integer(unsigned int,GenerationNumber,GenerationNumber) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define GCOptimized_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + GCOptimized_V1 ,\ + name ,\ + GCOptimized_V1_TRACEPOINT_ARGS \ +) + +#define GCSettings_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,SegmentSize,\ + const unsigned __int64 ,LargeObjectSegmentSize,\ + const BOOL ,ServerGC\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + GCSettings, + GCSettings_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,SegmentSize,SegmentSize) + ctf_integer(unsigned __int64,LargeObjectSegmentSize,LargeObjectSegmentSize) + ctf_integer(BOOL,ServerGC,ServerGC) + ) +) +#define GCSettingsT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + GCSettings ,\ + name ,\ + GCSettings_TRACEPOINT_ARGS \ +) + +#define GCSettings_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,SegmentSize,\ + const unsigned __int64 ,LargeObjectSegmentSize,\ + const BOOL ,ServerGC,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + GCSettings_V1, + GCSettings_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,SegmentSize,SegmentSize) + ctf_integer(unsigned __int64,LargeObjectSegmentSize,LargeObjectSegmentSize) + ctf_integer(BOOL,ServerGC,ServerGC) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define GCSettings_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + GCSettings_V1 ,\ + name ,\ + GCSettings_V1_TRACEPOINT_ARGS \ +) + +#define BGCDrainMark_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,Objects,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + BGCDrainMark, + BGCDrainMark_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,Objects,Objects) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define BGCDrainMarkT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + BGCDrainMark ,\ + name ,\ + BGCDrainMark_TRACEPOINT_ARGS \ +) + +#define BGCRevisit_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,Pages,\ + const unsigned __int64 ,Objects,\ + const unsigned int ,IsLarge,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + BGCRevisit, + BGCRevisit_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,Pages,Pages) + ctf_integer(unsigned __int64,Objects,Objects) + ctf_integer(unsigned int,IsLarge,IsLarge) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define BGCRevisitT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + BGCRevisit ,\ + name ,\ + BGCRevisit_TRACEPOINT_ARGS \ +) + +#define BGCOverflow_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,Min,\ + const unsigned __int64 ,Max,\ + const unsigned __int64 ,Objects,\ + const unsigned int ,IsLarge,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + BGCOverflow, + BGCOverflow_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,Min,Min) + ctf_integer(unsigned __int64,Max,Max) + ctf_integer(unsigned __int64,Objects,Objects) + ctf_integer(unsigned int,IsLarge,IsLarge) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define BGCOverflowT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + BGCOverflow ,\ + name ,\ + BGCOverflow_TRACEPOINT_ARGS \ +) + +#define BGCAllocWait_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Reason,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + BGCAllocWait, + BGCAllocWait_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Reason,Reason) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define BGCAllocWaitT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + BGCAllocWait ,\ + name ,\ + BGCAllocWait_TRACEPOINT_ARGS \ +) + +#define GCFullNotify_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,GenNumber,\ + const unsigned int ,IsAlloc\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + GCFullNotify, + GCFullNotify_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,GenNumber,GenNumber) + ctf_integer(unsigned int,IsAlloc,IsAlloc) + ) +) +#define GCFullNotifyT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + GCFullNotify ,\ + name ,\ + GCFullNotify_TRACEPOINT_ARGS \ +) + +#define GCFullNotify_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,GenNumber,\ + const unsigned int ,IsAlloc,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + GCFullNotify_V1, + GCFullNotify_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,GenNumber,GenNumber) + ctf_integer(unsigned int,IsAlloc,IsAlloc) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define GCFullNotify_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + GCFullNotify_V1 ,\ + name ,\ + GCFullNotify_V1_TRACEPOINT_ARGS \ +) + +#define GCNoUserData_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + GCNoUserData, + GCNoUserData_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define GCNoUserDataT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + GCNoUserData ,\ + name ,\ + GCNoUserData_TRACEPOINT_ARGS \ +) + +#define Startup_TRACEPOINT_ARGS \ +TP_ARGS(\ +\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + Startup, + Startup_TRACEPOINT_ARGS, + TP_FIELDS( + ) +) +#define StartupT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + Startup ,\ + name ,\ + Startup_TRACEPOINT_ARGS \ +) + +#define Startup_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + Startup_V1, + Startup_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define Startup_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + Startup_V1 ,\ + name ,\ + Startup_V1_TRACEPOINT_ARGS \ +) + +#define FusionMessage_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID,\ + const BOOL ,Prepend,\ + const char* ,Message\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + FusionMessage, + FusionMessage_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(BOOL,Prepend,Prepend) + ctf_string(Message,Message) + ) +) +#define FusionMessageT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + FusionMessage ,\ + name ,\ + FusionMessage_TRACEPOINT_ARGS \ +) + +#define FusionErrorCode_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID,\ + const unsigned int ,Category,\ + const unsigned int ,ErrorCode\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + FusionErrorCode, + FusionErrorCode_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(unsigned int,Category,Category) + ctf_integer(unsigned int,ErrorCode,ErrorCode) + ) +) +#define FusionErrorCodeT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + FusionErrorCode ,\ + name ,\ + FusionErrorCode_TRACEPOINT_ARGS \ +) + +#define Binding_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,AppDomainID,\ + const unsigned int ,LoadContextID,\ + const unsigned int ,FromLoaderCache,\ + const unsigned int ,DynamicLoad,\ + const char* ,AssemblyCodebase,\ + const char* ,AssemblyName,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + Binding, + Binding_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,AppDomainID,AppDomainID) + ctf_integer(unsigned int,LoadContextID,LoadContextID) + ctf_integer(unsigned int,FromLoaderCache,FromLoaderCache) + ctf_integer(unsigned int,DynamicLoad,DynamicLoad) + ctf_string(AssemblyCodebase,AssemblyCodebase) + ctf_string(AssemblyName,AssemblyName) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define BindingT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + Binding ,\ + name ,\ + Binding_TRACEPOINT_ARGS \ +) + +#define NgenBindEvent_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID,\ + const unsigned __int64 ,BindingID,\ + const unsigned int ,ReasonCode,\ + const char* ,AssemblyName\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + NgenBindEvent, + NgenBindEvent_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(unsigned __int64,BindingID,BindingID) + ctf_integer(unsigned int,ReasonCode,ReasonCode) + ctf_string(AssemblyName,AssemblyName) + ) +) +#define NgenBindEventT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + NgenBindEvent ,\ + name ,\ + NgenBindEvent_TRACEPOINT_ARGS \ +) + +#define ModuleTransparencyCalculation_TRACEPOINT_ARGS \ +TP_ARGS(\ + const char* ,Module,\ + const unsigned int ,AppDomainID,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + ModuleTransparencyCalculation, + ModuleTransparencyCalculation_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_string(Module,Module) + ctf_integer(unsigned int,AppDomainID,AppDomainID) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define ModuleTransparencyCalculationT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + ModuleTransparencyCalculation ,\ + name ,\ + ModuleTransparencyCalculation_TRACEPOINT_ARGS \ +) + +#define TypeTransparencyCalculation_TRACEPOINT_ARGS \ +TP_ARGS(\ + const char* ,Type,\ + const char* ,Module,\ + const unsigned int ,AppDomainID,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + TypeTransparencyCalculation, + TypeTransparencyCalculation_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_string(Type,Type) + ctf_string(Module,Module) + ctf_integer(unsigned int,AppDomainID,AppDomainID) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define TypeTransparencyCalculationT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + TypeTransparencyCalculation ,\ + name ,\ + TypeTransparencyCalculation_TRACEPOINT_ARGS \ +) + +#define MethodTransparencyCalculation_TRACEPOINT_ARGS \ +TP_ARGS(\ + const char* ,Method,\ + const char* ,Module,\ + const unsigned int ,AppDomainID,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + MethodTransparencyCalculation, + MethodTransparencyCalculation_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_string(Method,Method) + ctf_string(Module,Module) + ctf_integer(unsigned int,AppDomainID,AppDomainID) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define MethodTransparencyCalculationT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + MethodTransparencyCalculation ,\ + name ,\ + MethodTransparencyCalculation_TRACEPOINT_ARGS \ +) + +#define FieldTransparencyCalculation_TRACEPOINT_ARGS \ +TP_ARGS(\ + const char* ,Field,\ + const char* ,Module,\ + const unsigned int ,AppDomainID,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + FieldTransparencyCalculation, + FieldTransparencyCalculation_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_string(Field,Field) + ctf_string(Module,Module) + ctf_integer(unsigned int,AppDomainID,AppDomainID) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define FieldTransparencyCalculationT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + FieldTransparencyCalculation ,\ + name ,\ + FieldTransparencyCalculation_TRACEPOINT_ARGS \ +) + +#define TokenTransparencyCalculation_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Token,\ + const char* ,Module,\ + const unsigned int ,AppDomainID,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + TokenTransparencyCalculation, + TokenTransparencyCalculation_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Token,Token) + ctf_string(Module,Module) + ctf_integer(unsigned int,AppDomainID,AppDomainID) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define TokenTransparencyCalculationT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + TokenTransparencyCalculation ,\ + name ,\ + TokenTransparencyCalculation_TRACEPOINT_ARGS \ +) + +#define ModuleTransparencyCalculationResult_TRACEPOINT_ARGS \ +TP_ARGS(\ + const char* ,Module,\ + const unsigned int ,AppDomainID,\ + const BOOL ,IsAllCritical,\ + const BOOL ,IsAllTransparent,\ + const BOOL ,IsTreatAsSafe,\ + const BOOL ,IsOpportunisticallyCritical,\ + const unsigned int ,SecurityRuleSet,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + ModuleTransparencyCalculationResult, + ModuleTransparencyCalculationResult_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_string(Module,Module) + ctf_integer(unsigned int,AppDomainID,AppDomainID) + ctf_integer(BOOL,IsAllCritical,IsAllCritical) + ctf_integer(BOOL,IsAllTransparent,IsAllTransparent) + ctf_integer(BOOL,IsTreatAsSafe,IsTreatAsSafe) + ctf_integer(BOOL,IsOpportunisticallyCritical,IsOpportunisticallyCritical) + ctf_integer(unsigned int,SecurityRuleSet,SecurityRuleSet) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define ModuleTransparencyCalculationResultT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + ModuleTransparencyCalculationResult ,\ + name ,\ + ModuleTransparencyCalculationResult_TRACEPOINT_ARGS \ +) + +#define TypeTransparencyCalculationResult_TRACEPOINT_ARGS \ +TP_ARGS(\ + const char* ,Type,\ + const char* ,Module,\ + const unsigned int ,AppDomainID,\ + const BOOL ,IsAllCritical,\ + const BOOL ,IsAllTransparent,\ + const BOOL ,IsCritical,\ + const BOOL ,IsTreatAsSafe,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + TypeTransparencyCalculationResult, + TypeTransparencyCalculationResult_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_string(Type,Type) + ctf_string(Module,Module) + ctf_integer(unsigned int,AppDomainID,AppDomainID) + ctf_integer(BOOL,IsAllCritical,IsAllCritical) + ctf_integer(BOOL,IsAllTransparent,IsAllTransparent) + ctf_integer(BOOL,IsCritical,IsCritical) + ctf_integer(BOOL,IsTreatAsSafe,IsTreatAsSafe) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define TypeTransparencyCalculationResultT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + TypeTransparencyCalculationResult ,\ + name ,\ + TypeTransparencyCalculationResult_TRACEPOINT_ARGS \ +) + +#define MethodTransparencyCalculationResult_TRACEPOINT_ARGS \ +TP_ARGS(\ + const char* ,Method,\ + const char* ,Module,\ + const unsigned int ,AppDomainID,\ + const BOOL ,IsCritical,\ + const BOOL ,IsTreatAsSafe,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + MethodTransparencyCalculationResult, + MethodTransparencyCalculationResult_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_string(Method,Method) + ctf_string(Module,Module) + ctf_integer(unsigned int,AppDomainID,AppDomainID) + ctf_integer(BOOL,IsCritical,IsCritical) + ctf_integer(BOOL,IsTreatAsSafe,IsTreatAsSafe) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define MethodTransparencyCalculationResultT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + MethodTransparencyCalculationResult ,\ + name ,\ + MethodTransparencyCalculationResult_TRACEPOINT_ARGS \ +) + +#define FieldTransparencyCalculationResult_TRACEPOINT_ARGS \ +TP_ARGS(\ + const char* ,Field,\ + const char* ,Module,\ + const unsigned int ,AppDomainID,\ + const BOOL ,IsCritical,\ + const BOOL ,IsTreatAsSafe,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + FieldTransparencyCalculationResult, + FieldTransparencyCalculationResult_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_string(Field,Field) + ctf_string(Module,Module) + ctf_integer(unsigned int,AppDomainID,AppDomainID) + ctf_integer(BOOL,IsCritical,IsCritical) + ctf_integer(BOOL,IsTreatAsSafe,IsTreatAsSafe) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define FieldTransparencyCalculationResultT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + FieldTransparencyCalculationResult ,\ + name ,\ + FieldTransparencyCalculationResult_TRACEPOINT_ARGS \ +) + +#define TokenTransparencyCalculationResult_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Token,\ + const char* ,Module,\ + const unsigned int ,AppDomainID,\ + const BOOL ,IsCritical,\ + const BOOL ,IsTreatAsSafe,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + TokenTransparencyCalculationResult, + TokenTransparencyCalculationResult_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Token,Token) + ctf_string(Module,Module) + ctf_integer(unsigned int,AppDomainID,AppDomainID) + ctf_integer(BOOL,IsCritical,IsCritical) + ctf_integer(BOOL,IsTreatAsSafe,IsTreatAsSafe) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define TokenTransparencyCalculationResultT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + TokenTransparencyCalculationResult ,\ + name ,\ + TokenTransparencyCalculationResult_TRACEPOINT_ARGS \ +) + +#define FailFast_TRACEPOINT_ARGS \ +TP_ARGS(\ + const char* ,FailFastUserMessage,\ + const size_t ,FailedEIP,\ + const unsigned int ,OSExitCode,\ + const unsigned int ,ClrExitCode,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + FailFast, + FailFast_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_string(FailFastUserMessage,FailFastUserMessage) + ctf_integer(size_t,FailedEIP,FailedEIP) + ctf_integer(unsigned int,OSExitCode,OSExitCode) + ctf_integer(unsigned int,ClrExitCode,ClrExitCode) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define FailFastT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + FailFast ,\ + name ,\ + FailFast_TRACEPOINT_ARGS \ +) + +#define PrvFinalizeObject_TRACEPOINT_ARGS \ +TP_ARGS(\ + const size_t ,TypeID,\ + const size_t ,ObjectID,\ + const unsigned short ,ClrInstanceID,\ + const char* ,TypeName\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + PrvFinalizeObject, + PrvFinalizeObject_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(size_t,TypeID,TypeID) + ctf_integer(size_t,ObjectID,ObjectID) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_string(TypeName,TypeName) + ) +) +#define PrvFinalizeObjectT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + PrvFinalizeObject ,\ + name ,\ + PrvFinalizeObject_TRACEPOINT_ARGS \ +) + +#define CCWRefCountChange_TRACEPOINT_ARGS \ +TP_ARGS(\ + const size_t ,HandleID,\ + const size_t ,ObjectID,\ + const size_t ,COMInterfacePointer,\ + const unsigned int ,NewRefCount,\ + const unsigned __int64 ,AppDomainID,\ + const char* ,ClassName,\ + const char* ,NameSpace,\ + const char* ,Operation,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + CCWRefCountChange, + CCWRefCountChange_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(size_t,HandleID,HandleID) + ctf_integer(size_t,ObjectID,ObjectID) + ctf_integer(size_t,COMInterfacePointer,COMInterfacePointer) + ctf_integer(unsigned int,NewRefCount,NewRefCount) + ctf_integer(unsigned __int64,AppDomainID,AppDomainID) + ctf_string(ClassName,ClassName) + ctf_string(NameSpace,NameSpace) + ctf_string(Operation,Operation) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define CCWRefCountChangeT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + CCWRefCountChange ,\ + name ,\ + CCWRefCountChange_TRACEPOINT_ARGS \ +) + +#define PinPlugAtGCTime_TRACEPOINT_ARGS \ +TP_ARGS(\ + const size_t ,PlugStart,\ + const size_t ,PlugEnd,\ + const size_t ,GapBeforeSize,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + PinPlugAtGCTime, + PinPlugAtGCTime_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(size_t,PlugStart,PlugStart) + ctf_integer(size_t,PlugEnd,PlugEnd) + ctf_integer(size_t,GapBeforeSize,GapBeforeSize) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define PinPlugAtGCTimeT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + PinPlugAtGCTime ,\ + name ,\ + PinPlugAtGCTime_TRACEPOINT_ARGS \ +) + +#define PrvDestroyGCHandle_TRACEPOINT_ARGS \ +TP_ARGS(\ + const size_t ,HandleID,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + PrvDestroyGCHandle, + PrvDestroyGCHandle_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(size_t,HandleID,HandleID) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define PrvDestroyGCHandleT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + PrvDestroyGCHandle ,\ + name ,\ + PrvDestroyGCHandle_TRACEPOINT_ARGS \ +) + +#define PrvSetGCHandle_TRACEPOINT_ARGS \ +TP_ARGS(\ + const size_t ,HandleID,\ + const size_t ,ObjectID,\ + const unsigned int ,Kind,\ + const unsigned int ,Generation,\ + const unsigned __int64 ,AppDomainID,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + PrvSetGCHandle, + PrvSetGCHandle_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(size_t,HandleID,HandleID) + ctf_integer(size_t,ObjectID,ObjectID) + ctf_integer(unsigned int,Kind,Kind) + ctf_integer(unsigned int,Generation,Generation) + ctf_integer(unsigned __int64,AppDomainID,AppDomainID) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define PrvSetGCHandleT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + PrvSetGCHandle ,\ + name ,\ + PrvSetGCHandle_TRACEPOINT_ARGS \ +) + +#define LoaderHeapPrivate_TRACEPOINT_ARGS \ +TP_ARGS(\ + const size_t ,LoaderHeapPtr,\ + const size_t ,MemoryAddress,\ + const unsigned int ,RequestSize,\ + const unsigned int ,Unused1,\ + const unsigned __int64 ,Unused2,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + LoaderHeapPrivate, + LoaderHeapPrivate_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(size_t,LoaderHeapPtr,LoaderHeapPtr) + ctf_integer(size_t,MemoryAddress,MemoryAddress) + ctf_integer(unsigned int,RequestSize,RequestSize) + ctf_integer(unsigned int,Unused1,Unused1) + ctf_integer(unsigned __int64,Unused2,Unused2) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define LoaderHeapPrivateT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + LoaderHeapPrivate ,\ + name ,\ + LoaderHeapPrivate_TRACEPOINT_ARGS \ +) + +#define ModuleRangePrivate_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID,\ + const unsigned __int64 ,ModuleID,\ + const unsigned int ,RangeBegin,\ + const unsigned int ,RangeSize,\ + const unsigned char ,RangeType,\ + const unsigned char ,IBCType,\ + const unsigned short ,SectionType\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + ModuleRangePrivate, + ModuleRangePrivate_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned int,RangeBegin,RangeBegin) + ctf_integer(unsigned int,RangeSize,RangeSize) + ctf_integer(unsigned char,RangeType,RangeType) + ctf_integer(unsigned char,IBCType,IBCType) + ctf_integer(unsigned short,SectionType,SectionType) + ) +) +#define ModuleRangePrivateT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + ModuleRangePrivate ,\ + name ,\ + ModuleRangePrivate_TRACEPOINT_ARGS \ +) + +#define MulticoreJitPrivate_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID,\ + const char* ,String1,\ + const char* ,String2,\ + const signed int ,Int1,\ + const signed int ,Int2,\ + const signed int ,Int3\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + MulticoreJitPrivate, + MulticoreJitPrivate_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_string(String1,String1) + ctf_string(String2,String2) + ctf_integer(signed int,Int1,Int1) + ctf_integer(signed int,Int2,Int2) + ctf_integer(signed int,Int3,Int3) + ) +) +#define MulticoreJitPrivateT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + MulticoreJitPrivate ,\ + name ,\ + MulticoreJitPrivate_TRACEPOINT_ARGS \ +) + +#define MulticoreJitMethodCodeReturnedPrivate_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID,\ + const unsigned __int64 ,ModuleID,\ + const unsigned __int64 ,MethodID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + MulticoreJitMethodCodeReturnedPrivate, + MulticoreJitMethodCodeReturnedPrivate_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned __int64,MethodID,MethodID) + ) +) +#define MulticoreJitMethodCodeReturnedPrivateT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + MulticoreJitMethodCodeReturnedPrivate ,\ + name ,\ + MulticoreJitMethodCodeReturnedPrivate_TRACEPOINT_ARGS \ +) + +#define DynamicTypeUsePrivate_TRACEPOINT_ARGS \ +TP_ARGS(\ + const char* ,TypeName,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + DynamicTypeUsePrivate, + DynamicTypeUsePrivate_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_string(TypeName,TypeName) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define DynamicTypeUsePrivateT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + DynamicTypeUsePrivate ,\ + name ,\ + DynamicTypeUsePrivate_TRACEPOINT_ARGS \ +) + +#define DynamicTypeUseTwoParametersPrivate_TRACEPOINT_ARGS \ +TP_ARGS(\ + const char* ,TypeName,\ + const char* ,SecondTypeName,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + DynamicTypeUseTwoParametersPrivate, + DynamicTypeUseTwoParametersPrivate_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_string(TypeName,TypeName) + ctf_string(SecondTypeName,SecondTypeName) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define DynamicTypeUseTwoParametersPrivateT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + DynamicTypeUseTwoParametersPrivate ,\ + name ,\ + DynamicTypeUseTwoParametersPrivate_TRACEPOINT_ARGS \ +) + +#define DynamicTypeUsePrivateVariance_TRACEPOINT_ARGS \ +TP_ARGS(\ + const char* ,TypeName,\ + const char* ,InterfaceTypeName,\ + const char* ,VariantInterfaceTypeName,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + DynamicTypeUsePrivateVariance, + DynamicTypeUsePrivateVariance_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_string(TypeName,TypeName) + ctf_string(InterfaceTypeName,InterfaceTypeName) + ctf_string(VariantInterfaceTypeName,VariantInterfaceTypeName) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define DynamicTypeUsePrivateVarianceT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + DynamicTypeUsePrivateVariance ,\ + name ,\ + DynamicTypeUsePrivateVariance_TRACEPOINT_ARGS \ +) + +#define DynamicTypeUseStringAndIntPrivate_TRACEPOINT_ARGS \ +TP_ARGS(\ + const char* ,TypeName,\ + const signed int ,Int1,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + DynamicTypeUseStringAndIntPrivate, + DynamicTypeUseStringAndIntPrivate_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_string(TypeName,TypeName) + ctf_integer(signed int,Int1,Int1) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define DynamicTypeUseStringAndIntPrivateT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + DynamicTypeUseStringAndIntPrivate ,\ + name ,\ + DynamicTypeUseStringAndIntPrivate_TRACEPOINT_ARGS \ +) + +#define DynamicTypeUseNoParametersPrivate_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + DynamicTypeUseNoParametersPrivate, + DynamicTypeUseNoParametersPrivate_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define DynamicTypeUseNoParametersPrivateT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + DynamicTypeUseNoParametersPrivate ,\ + name ,\ + DynamicTypeUseNoParametersPrivate_TRACEPOINT_ARGS \ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimePrivate, + emptyTemplate , + TP_ARGS(), + TP_FIELDS() +) +#define T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimePrivate,\ + emptyTemplate,\ + name ,\ + TP_ARGS()\ +) +GCDecisionT_TRACEPOINT_INSTANCE(GCDecision) +GCDecision_V1T_TRACEPOINT_INSTANCE(GCDecision_V1) +GCSettingsT_TRACEPOINT_INSTANCE(GCSettings) +GCSettings_V1T_TRACEPOINT_INSTANCE(GCSettings_V1) +GCOptimizedT_TRACEPOINT_INSTANCE(GCOptimized) +GCOptimized_V1T_TRACEPOINT_INSTANCE(GCOptimized_V1) +GCPerHeapHistoryT_TRACEPOINT_INSTANCE(GCPerHeapHistory) +GCPerHeapHistory_V1T_TRACEPOINT_INSTANCE(GCPerHeapHistory_V1) +GCGlobalHeapT_TRACEPOINT_INSTANCE(GCGlobalHeapHistory) +GCGlobalHeap_V1T_TRACEPOINT_INSTANCE(GCGlobalHeapHistory_V1) +GCJoinT_TRACEPOINT_INSTANCE(GCJoin) +GCJoin_V1T_TRACEPOINT_INSTANCE(GCJoin_V1) +PrvGCMarkT_TRACEPOINT_INSTANCE(PrvGCMarkStackRoots) +PrvGCMark_V1T_TRACEPOINT_INSTANCE(PrvGCMarkStackRoots_V1) +PrvGCMarkT_TRACEPOINT_INSTANCE(PrvGCMarkFinalizeQueueRoots) +PrvGCMark_V1T_TRACEPOINT_INSTANCE(PrvGCMarkFinalizeQueueRoots_V1) +PrvGCMarkT_TRACEPOINT_INSTANCE(PrvGCMarkHandles) +PrvGCMark_V1T_TRACEPOINT_INSTANCE(PrvGCMarkHandles_V1) +PrvGCMarkT_TRACEPOINT_INSTANCE(PrvGCMarkCards) +PrvGCMark_V1T_TRACEPOINT_INSTANCE(PrvGCMarkCards_V1) +GCNoUserDataT_TRACEPOINT_INSTANCE(BGCBegin) +GCNoUserDataT_TRACEPOINT_INSTANCE(BGC1stNonConEnd) +GCNoUserDataT_TRACEPOINT_INSTANCE(BGC1stConEnd) +GCNoUserDataT_TRACEPOINT_INSTANCE(BGC2ndNonConBegin) +GCNoUserDataT_TRACEPOINT_INSTANCE(BGC2ndNonConEnd) +GCNoUserDataT_TRACEPOINT_INSTANCE(BGC2ndConBegin) +GCNoUserDataT_TRACEPOINT_INSTANCE(BGC2ndConEnd) +GCNoUserDataT_TRACEPOINT_INSTANCE(BGCPlanEnd) +GCNoUserDataT_TRACEPOINT_INSTANCE(BGCSweepEnd) +BGCDrainMarkT_TRACEPOINT_INSTANCE(BGCDrainMark) +BGCRevisitT_TRACEPOINT_INSTANCE(BGCRevisit) +BGCOverflowT_TRACEPOINT_INSTANCE(BGCOverflow) +BGCAllocWaitT_TRACEPOINT_INSTANCE(BGCAllocWaitBegin) +BGCAllocWaitT_TRACEPOINT_INSTANCE(BGCAllocWaitEnd) +GCFullNotifyT_TRACEPOINT_INSTANCE(GCFullNotify) +GCFullNotify_V1T_TRACEPOINT_INSTANCE(GCFullNotify_V1) +StartupT_TRACEPOINT_INSTANCE(EEStartupStart) +Startup_V1T_TRACEPOINT_INSTANCE(EEStartupStart_V1) +StartupT_TRACEPOINT_INSTANCE(EEStartupEnd) +Startup_V1T_TRACEPOINT_INSTANCE(EEStartupEnd_V1) +StartupT_TRACEPOINT_INSTANCE(EEConfigSetup) +Startup_V1T_TRACEPOINT_INSTANCE(EEConfigSetup_V1) +StartupT_TRACEPOINT_INSTANCE(EEConfigSetupEnd) +Startup_V1T_TRACEPOINT_INSTANCE(EEConfigSetupEnd_V1) +StartupT_TRACEPOINT_INSTANCE(LdSysBases) +Startup_V1T_TRACEPOINT_INSTANCE(LdSysBases_V1) +StartupT_TRACEPOINT_INSTANCE(LdSysBasesEnd) +Startup_V1T_TRACEPOINT_INSTANCE(LdSysBasesEnd_V1) +StartupT_TRACEPOINT_INSTANCE(ExecExe) +Startup_V1T_TRACEPOINT_INSTANCE(ExecExe_V1) +StartupT_TRACEPOINT_INSTANCE(ExecExeEnd) +Startup_V1T_TRACEPOINT_INSTANCE(ExecExeEnd_V1) +StartupT_TRACEPOINT_INSTANCE(Main) +Startup_V1T_TRACEPOINT_INSTANCE(Main_V1) +StartupT_TRACEPOINT_INSTANCE(MainEnd) +Startup_V1T_TRACEPOINT_INSTANCE(MainEnd_V1) +StartupT_TRACEPOINT_INSTANCE(ApplyPolicyStart) +Startup_V1T_TRACEPOINT_INSTANCE(ApplyPolicyStart_V1) +StartupT_TRACEPOINT_INSTANCE(ApplyPolicyEnd) +Startup_V1T_TRACEPOINT_INSTANCE(ApplyPolicyEnd_V1) +StartupT_TRACEPOINT_INSTANCE(LdLibShFolder) +Startup_V1T_TRACEPOINT_INSTANCE(LdLibShFolder_V1) +StartupT_TRACEPOINT_INSTANCE(LdLibShFolderEnd) +Startup_V1T_TRACEPOINT_INSTANCE(LdLibShFolderEnd_V1) +StartupT_TRACEPOINT_INSTANCE(PrestubWorker) +Startup_V1T_TRACEPOINT_INSTANCE(PrestubWorker_V1) +StartupT_TRACEPOINT_INSTANCE(PrestubWorkerEnd) +Startup_V1T_TRACEPOINT_INSTANCE(PrestubWorkerEnd_V1) +StartupT_TRACEPOINT_INSTANCE(GetInstallationStart) +Startup_V1T_TRACEPOINT_INSTANCE(GetInstallationStart_V1) +StartupT_TRACEPOINT_INSTANCE(GetInstallationEnd) +Startup_V1T_TRACEPOINT_INSTANCE(GetInstallationEnd_V1) +StartupT_TRACEPOINT_INSTANCE(OpenHModule) +Startup_V1T_TRACEPOINT_INSTANCE(OpenHModule_V1) +StartupT_TRACEPOINT_INSTANCE(OpenHModuleEnd) +Startup_V1T_TRACEPOINT_INSTANCE(OpenHModuleEnd_V1) +StartupT_TRACEPOINT_INSTANCE(ExplicitBindStart) +Startup_V1T_TRACEPOINT_INSTANCE(ExplicitBindStart_V1) +StartupT_TRACEPOINT_INSTANCE(ExplicitBindEnd) +Startup_V1T_TRACEPOINT_INSTANCE(ExplicitBindEnd_V1) +StartupT_TRACEPOINT_INSTANCE(ParseXml) +Startup_V1T_TRACEPOINT_INSTANCE(ParseXml_V1) +StartupT_TRACEPOINT_INSTANCE(ParseXmlEnd) +Startup_V1T_TRACEPOINT_INSTANCE(ParseXmlEnd_V1) +StartupT_TRACEPOINT_INSTANCE(InitDefaultDomain) +Startup_V1T_TRACEPOINT_INSTANCE(InitDefaultDomain_V1) +StartupT_TRACEPOINT_INSTANCE(InitDefaultDomainEnd) +Startup_V1T_TRACEPOINT_INSTANCE(InitDefaultDomainEnd_V1) +StartupT_TRACEPOINT_INSTANCE(InitSecurity) +Startup_V1T_TRACEPOINT_INSTANCE(InitSecurity_V1) +StartupT_TRACEPOINT_INSTANCE(InitSecurityEnd) +Startup_V1T_TRACEPOINT_INSTANCE(InitSecurityEnd_V1) +StartupT_TRACEPOINT_INSTANCE(AllowBindingRedirs) +Startup_V1T_TRACEPOINT_INSTANCE(AllowBindingRedirs_V1) +StartupT_TRACEPOINT_INSTANCE(AllowBindingRedirsEnd) +Startup_V1T_TRACEPOINT_INSTANCE(AllowBindingRedirsEnd_V1) +StartupT_TRACEPOINT_INSTANCE(EEConfigSync) +Startup_V1T_TRACEPOINT_INSTANCE(EEConfigSync_V1) +StartupT_TRACEPOINT_INSTANCE(EEConfigSyncEnd) +Startup_V1T_TRACEPOINT_INSTANCE(EEConfigSyncEnd_V1) +StartupT_TRACEPOINT_INSTANCE(FusionBinding) +Startup_V1T_TRACEPOINT_INSTANCE(FusionBinding_V1) +StartupT_TRACEPOINT_INSTANCE(FusionBindingEnd) +Startup_V1T_TRACEPOINT_INSTANCE(FusionBindingEnd_V1) +StartupT_TRACEPOINT_INSTANCE(LoaderCatchCall) +Startup_V1T_TRACEPOINT_INSTANCE(LoaderCatchCall_V1) +StartupT_TRACEPOINT_INSTANCE(LoaderCatchCallEnd) +Startup_V1T_TRACEPOINT_INSTANCE(LoaderCatchCallEnd_V1) +StartupT_TRACEPOINT_INSTANCE(FusionInit) +Startup_V1T_TRACEPOINT_INSTANCE(FusionInit_V1) +StartupT_TRACEPOINT_INSTANCE(FusionInitEnd) +Startup_V1T_TRACEPOINT_INSTANCE(FusionInitEnd_V1) +StartupT_TRACEPOINT_INSTANCE(FusionAppCtx) +Startup_V1T_TRACEPOINT_INSTANCE(FusionAppCtx_V1) +StartupT_TRACEPOINT_INSTANCE(FusionAppCtxEnd) +Startup_V1T_TRACEPOINT_INSTANCE(FusionAppCtxEnd_V1) +StartupT_TRACEPOINT_INSTANCE(Fusion2EE) +Startup_V1T_TRACEPOINT_INSTANCE(Fusion2EE_V1) +StartupT_TRACEPOINT_INSTANCE(Fusion2EEEnd) +Startup_V1T_TRACEPOINT_INSTANCE(Fusion2EEEnd_V1) +StartupT_TRACEPOINT_INSTANCE(SecurityCatchCall) +Startup_V1T_TRACEPOINT_INSTANCE(SecurityCatchCall_V1) +StartupT_TRACEPOINT_INSTANCE(SecurityCatchCallEnd) +Startup_V1T_TRACEPOINT_INSTANCE(SecurityCatchCallEnd_V1) +ClrStackWalkT_TRACEPOINT_INSTANCE(CLRStackWalkPrivate) +ModuleRangePrivateT_TRACEPOINT_INSTANCE(ModuleRangeLoadPrivate) +BindingT_TRACEPOINT_INSTANCE(BindingPolicyPhaseStart) +BindingT_TRACEPOINT_INSTANCE(BindingPolicyPhaseEnd) +BindingT_TRACEPOINT_INSTANCE(BindingNgenPhaseStart) +BindingT_TRACEPOINT_INSTANCE(BindingNgenPhaseEnd) +BindingT_TRACEPOINT_INSTANCE(BindingLookupAndProbingPhaseStart) +BindingT_TRACEPOINT_INSTANCE(BindingLookupAndProbingPhaseEnd) +BindingT_TRACEPOINT_INSTANCE(LoaderPhaseStart) +BindingT_TRACEPOINT_INSTANCE(LoaderPhaseEnd) +BindingT_TRACEPOINT_INSTANCE(BindingPhaseStart) +BindingT_TRACEPOINT_INSTANCE(BindingPhaseEnd) +BindingT_TRACEPOINT_INSTANCE(BindingDownloadPhaseStart) +BindingT_TRACEPOINT_INSTANCE(BindingDownloadPhaseEnd) +BindingT_TRACEPOINT_INSTANCE(LoaderAssemblyInitPhaseStart) +BindingT_TRACEPOINT_INSTANCE(LoaderAssemblyInitPhaseEnd) +BindingT_TRACEPOINT_INSTANCE(LoaderMappingPhaseStart) +BindingT_TRACEPOINT_INSTANCE(LoaderMappingPhaseEnd) +BindingT_TRACEPOINT_INSTANCE(LoaderDeliverEventsPhaseStart) +BindingT_TRACEPOINT_INSTANCE(LoaderDeliverEventsPhaseEnd) +EvidenceGeneratedT_TRACEPOINT_INSTANCE(EvidenceGenerated) +ModuleTransparencyCalculationT_TRACEPOINT_INSTANCE(ModuleTransparencyComputationStart) +ModuleTransparencyCalculationResultT_TRACEPOINT_INSTANCE(ModuleTransparencyComputationEnd) +TypeTransparencyCalculationT_TRACEPOINT_INSTANCE(TypeTransparencyComputationStart) +TypeTransparencyCalculationResultT_TRACEPOINT_INSTANCE(TypeTransparencyComputationEnd) +MethodTransparencyCalculationT_TRACEPOINT_INSTANCE(MethodTransparencyComputationStart) +MethodTransparencyCalculationResultT_TRACEPOINT_INSTANCE(MethodTransparencyComputationEnd) +FieldTransparencyCalculationT_TRACEPOINT_INSTANCE(FieldTransparencyComputationStart) +FieldTransparencyCalculationResultT_TRACEPOINT_INSTANCE(FieldTransparencyComputationEnd) +TokenTransparencyCalculationT_TRACEPOINT_INSTANCE(TokenTransparencyComputationStart) +TokenTransparencyCalculationResultT_TRACEPOINT_INSTANCE(TokenTransparencyComputationEnd) +NgenBindEventT_TRACEPOINT_INSTANCE(NgenBindEvent) +FailFastT_TRACEPOINT_INSTANCE(FailFast) +PrvFinalizeObjectT_TRACEPOINT_INSTANCE(PrvFinalizeObject) +CCWRefCountChangeT_TRACEPOINT_INSTANCE(CCWRefCountChange) +PrvSetGCHandleT_TRACEPOINT_INSTANCE(PrvSetGCHandle) +PrvDestroyGCHandleT_TRACEPOINT_INSTANCE(PrvDestroyGCHandle) +FusionMessageT_TRACEPOINT_INSTANCE(FusionMessageEvent) +FusionErrorCodeT_TRACEPOINT_INSTANCE(FusionErrorCodeEvent) +PinPlugAtGCTimeT_TRACEPOINT_INSTANCE(PinPlugAtGCTime) +LoaderHeapPrivateT_TRACEPOINT_INSTANCE(AllocRequest) +MulticoreJitPrivateT_TRACEPOINT_INSTANCE(MulticoreJit) +MulticoreJitMethodCodeReturnedPrivateT_TRACEPOINT_INSTANCE(MulticoreJitMethodCodeReturned) +DynamicTypeUsePrivateT_TRACEPOINT_INSTANCE(IInspectableRuntimeClassName) +DynamicTypeUseTwoParametersPrivateT_TRACEPOINT_INSTANCE(WinRTUnbox) +DynamicTypeUsePrivateT_TRACEPOINT_INSTANCE(CreateRCW) +DynamicTypeUsePrivateVarianceT_TRACEPOINT_INSTANCE(RCWVariance) +DynamicTypeUseTwoParametersPrivateT_TRACEPOINT_INSTANCE(RCWIEnumerableCasting) +DynamicTypeUsePrivateT_TRACEPOINT_INSTANCE(CreateCCW) +DynamicTypeUsePrivateVarianceT_TRACEPOINT_INSTANCE(CCWVariance) +DynamicTypeUseStringAndIntPrivateT_TRACEPOINT_INSTANCE(ObjectVariantMarshallingToNative) +DynamicTypeUseTwoParametersPrivateT_TRACEPOINT_INSTANCE(GetTypeFromGUID) +DynamicTypeUseTwoParametersPrivateT_TRACEPOINT_INSTANCE(GetTypeFromProgID) +DynamicTypeUseTwoParametersPrivateT_TRACEPOINT_INSTANCE(ConvertToCallbackEtw) +DynamicTypeUseNoParametersPrivateT_TRACEPOINT_INSTANCE(BeginCreateManagedReference) +DynamicTypeUseNoParametersPrivateT_TRACEPOINT_INSTANCE(EndCreateManagedReference) +DynamicTypeUseStringAndIntPrivateT_TRACEPOINT_INSTANCE(ObjectVariantMarshallingToManaged) +#endif /* LTTNG_CORECLR_HDotNETRuntimePrivate */ +#include <lttng/tracepoint-event.h> diff --git a/src/pal/src/eventprovider/lttng/tpdotnetruntimerundown.h b/src/pal/src/eventprovider/lttng/tpdotnetruntimerundown.h new file mode 100644 index 0000000000..789a90cb05 --- /dev/null +++ b/src/pal/src/eventprovider/lttng/tpdotnetruntimerundown.h @@ -0,0 +1,822 @@ +// +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. +// + +/****************************************************************** + +DO NOT MODIFY. AUTOGENERATED FILE. +This file is generated using the logic from <root>/src/inc/genXplatLttng.pl + +******************************************************************/ + + +#include "palrt.h" +#include "pal.h" + +#undef TRACEPOINT_PROVIDER +#define TRACEPOINT_PROVIDER DotNETRuntimeRundown + +#undef TRACEPOINT_INCLUDE +#define TRACEPOINT_INCLUDE "./lttng/tpdotnetruntimerundown.h" + +#if !defined(LTTNG_CORECLR_HDotNETRuntimeRundown) || defined(TRACEPOINT_HEADER_MULTI_READ) +#define LTTNG_CORECLR_HDotNETRuntimeRundown + +#include <lttng/tracepoint.h> + + +#define RuntimeInformationRundown_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID,\ + const unsigned short ,Sku,\ + const unsigned short ,BclMajorVersion,\ + const unsigned short ,BclMinorVersion,\ + const unsigned short ,BclBuildNumber,\ + const unsigned short ,BclQfeNumber,\ + const unsigned short ,VMMajorVersion,\ + const unsigned short ,VMMinorVersion,\ + const unsigned short ,VMBuildNumber,\ + const unsigned short ,VMQfeNumber\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeRundown, + RuntimeInformationRundown, + RuntimeInformationRundown_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(unsigned short,Sku,Sku) + ctf_integer(unsigned short,BclMajorVersion,BclMajorVersion) + ctf_integer(unsigned short,BclMinorVersion,BclMinorVersion) + ctf_integer(unsigned short,BclBuildNumber,BclBuildNumber) + ctf_integer(unsigned short,BclQfeNumber,BclQfeNumber) + ctf_integer(unsigned short,VMMajorVersion,VMMajorVersion) + ctf_integer(unsigned short,VMMinorVersion,VMMinorVersion) + ctf_integer(unsigned short,VMBuildNumber,VMBuildNumber) + ctf_integer(unsigned short,VMQfeNumber,VMQfeNumber) + ) +) +#define RuntimeInformationRundownT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeRundown,\ + RuntimeInformationRundown ,\ + name ,\ + RuntimeInformationRundown_TRACEPOINT_ARGS \ +) + +#define RuntimeInformationRundown_1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,StartupFlags,\ + const unsigned char ,StartupMode,\ + const char* ,CommandLine,\ + const int* ,ComObjectGuid,\ + const char* ,RuntimeDllPath\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeRundown, + RuntimeInformationRundown_1, + RuntimeInformationRundown_1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,StartupFlags,StartupFlags) + ctf_integer(unsigned char,StartupMode,StartupMode) + ctf_string(CommandLine,CommandLine) + ctf_sequence(int, ComObjectGuid, ComObjectGuid,size_t,sizeof(GUID)/sizeof(int)) + ctf_string(RuntimeDllPath,RuntimeDllPath) + ) +) +#define RuntimeInformationRundown_1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeRundown,\ + RuntimeInformationRundown_1 ,\ + name ,\ + RuntimeInformationRundown_1_TRACEPOINT_ARGS \ +) + +#define DomainModuleLoadUnloadRundown_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,ModuleID,\ + const unsigned __int64 ,AssemblyID,\ + const unsigned __int64 ,AppDomainID,\ + const unsigned int ,ModuleFlags,\ + const unsigned int ,Reserved1,\ + const char* ,ModuleILPath,\ + const char* ,ModuleNativePath\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeRundown, + DomainModuleLoadUnloadRundown, + DomainModuleLoadUnloadRundown_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned __int64,AssemblyID,AssemblyID) + ctf_integer(unsigned __int64,AppDomainID,AppDomainID) + ctf_integer(unsigned int,ModuleFlags,ModuleFlags) + ctf_integer(unsigned int,Reserved1,Reserved1) + ctf_string(ModuleILPath,ModuleILPath) + ctf_string(ModuleNativePath,ModuleNativePath) + ) +) +#define DomainModuleLoadUnloadRundownT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeRundown,\ + DomainModuleLoadUnloadRundown ,\ + name ,\ + DomainModuleLoadUnloadRundown_TRACEPOINT_ARGS \ +) + +#define DomainModuleLoadUnloadRundown_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,ModuleID,\ + const unsigned __int64 ,AssemblyID,\ + const unsigned __int64 ,AppDomainID,\ + const unsigned int ,ModuleFlags,\ + const unsigned int ,Reserved1,\ + const char* ,ModuleILPath,\ + const char* ,ModuleNativePath,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeRundown, + DomainModuleLoadUnloadRundown_V1, + DomainModuleLoadUnloadRundown_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned __int64,AssemblyID,AssemblyID) + ctf_integer(unsigned __int64,AppDomainID,AppDomainID) + ctf_integer(unsigned int,ModuleFlags,ModuleFlags) + ctf_integer(unsigned int,Reserved1,Reserved1) + ctf_string(ModuleILPath,ModuleILPath) + ctf_string(ModuleNativePath,ModuleNativePath) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define DomainModuleLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeRundown,\ + DomainModuleLoadUnloadRundown_V1 ,\ + name ,\ + DomainModuleLoadUnloadRundown_V1_TRACEPOINT_ARGS \ +) + +#define ModuleLoadUnloadRundown_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,ModuleID,\ + const unsigned __int64 ,AssemblyID,\ + const unsigned int ,ModuleFlags,\ + const unsigned int ,Reserved1,\ + const char* ,ModuleILPath,\ + const char* ,ModuleNativePath\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeRundown, + ModuleLoadUnloadRundown, + ModuleLoadUnloadRundown_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned __int64,AssemblyID,AssemblyID) + ctf_integer(unsigned int,ModuleFlags,ModuleFlags) + ctf_integer(unsigned int,Reserved1,Reserved1) + ctf_string(ModuleILPath,ModuleILPath) + ctf_string(ModuleNativePath,ModuleNativePath) + ) +) +#define ModuleLoadUnloadRundownT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeRundown,\ + ModuleLoadUnloadRundown ,\ + name ,\ + ModuleLoadUnloadRundown_TRACEPOINT_ARGS \ +) + +#define ModuleLoadUnloadRundown_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,ModuleID,\ + const unsigned __int64 ,AssemblyID,\ + const unsigned int ,ModuleFlags,\ + const unsigned int ,Reserved1,\ + const char* ,ModuleILPath,\ + const char* ,ModuleNativePath,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeRundown, + ModuleLoadUnloadRundown_V1, + ModuleLoadUnloadRundown_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned __int64,AssemblyID,AssemblyID) + ctf_integer(unsigned int,ModuleFlags,ModuleFlags) + ctf_integer(unsigned int,Reserved1,Reserved1) + ctf_string(ModuleILPath,ModuleILPath) + ctf_string(ModuleNativePath,ModuleNativePath) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define ModuleLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeRundown,\ + ModuleLoadUnloadRundown_V1 ,\ + name ,\ + ModuleLoadUnloadRundown_V1_TRACEPOINT_ARGS \ +) + +#define ModuleLoadUnloadRundown_V2_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,ModuleID,\ + const unsigned __int64 ,AssemblyID,\ + const unsigned int ,ModuleFlags,\ + const unsigned int ,Reserved1,\ + const char* ,ModuleILPath,\ + const char* ,ModuleNativePath,\ + const unsigned short ,ClrInstanceID,\ + const int* ,ManagedPdbSignature,\ + const unsigned int ,ManagedPdbAge,\ + const char* ,ManagedPdbBuildPath\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeRundown, + ModuleLoadUnloadRundown_V2, + ModuleLoadUnloadRundown_V2_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned __int64,AssemblyID,AssemblyID) + ctf_integer(unsigned int,ModuleFlags,ModuleFlags) + ctf_integer(unsigned int,Reserved1,Reserved1) + ctf_string(ModuleILPath,ModuleILPath) + ctf_string(ModuleNativePath,ModuleNativePath) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_sequence(int, ManagedPdbSignature, ManagedPdbSignature,size_t,sizeof(GUID)/sizeof(int)) + ctf_integer(unsigned int,ManagedPdbAge,ManagedPdbAge) + ctf_string(ManagedPdbBuildPath,ManagedPdbBuildPath) + ) +) +#define ModuleLoadUnloadRundown_V2T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeRundown,\ + ModuleLoadUnloadRundown_V2 ,\ + name ,\ + ModuleLoadUnloadRundown_V2_TRACEPOINT_ARGS \ +) + +#define ModuleLoadUnloadRundown_V2_1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const int* ,NativePdbSignature,\ + const unsigned int ,NativePdbAge,\ + const char* ,NativePdbBuildPath\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeRundown, + ModuleLoadUnloadRundown_V2_1, + ModuleLoadUnloadRundown_V2_1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_sequence(int, NativePdbSignature, NativePdbSignature,size_t,sizeof(GUID)/sizeof(int)) + ctf_integer(unsigned int,NativePdbAge,NativePdbAge) + ctf_string(NativePdbBuildPath,NativePdbBuildPath) + ) +) +#define ModuleLoadUnloadRundown_V2_1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeRundown,\ + ModuleLoadUnloadRundown_V2_1 ,\ + name ,\ + ModuleLoadUnloadRundown_V2_1_TRACEPOINT_ARGS \ +) + +#define AssemblyLoadUnloadRundown_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,AssemblyID,\ + const unsigned __int64 ,AppDomainID,\ + const unsigned int ,AssemblyFlags,\ + const char* ,FullyQualifiedAssemblyName\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeRundown, + AssemblyLoadUnloadRundown, + AssemblyLoadUnloadRundown_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,AssemblyID,AssemblyID) + ctf_integer(unsigned __int64,AppDomainID,AppDomainID) + ctf_integer(unsigned int,AssemblyFlags,AssemblyFlags) + ctf_string(FullyQualifiedAssemblyName,FullyQualifiedAssemblyName) + ) +) +#define AssemblyLoadUnloadRundownT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeRundown,\ + AssemblyLoadUnloadRundown ,\ + name ,\ + AssemblyLoadUnloadRundown_TRACEPOINT_ARGS \ +) + +#define AssemblyLoadUnloadRundown_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,AssemblyID,\ + const unsigned __int64 ,AppDomainID,\ + const unsigned __int64 ,BindingID,\ + const unsigned int ,AssemblyFlags,\ + const char* ,FullyQualifiedAssemblyName,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeRundown, + AssemblyLoadUnloadRundown_V1, + AssemblyLoadUnloadRundown_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,AssemblyID,AssemblyID) + ctf_integer(unsigned __int64,AppDomainID,AppDomainID) + ctf_integer(unsigned __int64,BindingID,BindingID) + ctf_integer(unsigned int,AssemblyFlags,AssemblyFlags) + ctf_string(FullyQualifiedAssemblyName,FullyQualifiedAssemblyName) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define AssemblyLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeRundown,\ + AssemblyLoadUnloadRundown_V1 ,\ + name ,\ + AssemblyLoadUnloadRundown_V1_TRACEPOINT_ARGS \ +) + +#define AppDomainLoadUnloadRundown_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,AppDomainID,\ + const unsigned int ,AppDomainFlags,\ + const char* ,AppDomainName\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeRundown, + AppDomainLoadUnloadRundown, + AppDomainLoadUnloadRundown_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,AppDomainID,AppDomainID) + ctf_integer(unsigned int,AppDomainFlags,AppDomainFlags) + ctf_string(AppDomainName,AppDomainName) + ) +) +#define AppDomainLoadUnloadRundownT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeRundown,\ + AppDomainLoadUnloadRundown ,\ + name ,\ + AppDomainLoadUnloadRundown_TRACEPOINT_ARGS \ +) + +#define AppDomainLoadUnloadRundown_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,AppDomainID,\ + const unsigned int ,AppDomainFlags,\ + const char* ,AppDomainName,\ + const unsigned int ,AppDomainIndex,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeRundown, + AppDomainLoadUnloadRundown_V1, + AppDomainLoadUnloadRundown_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,AppDomainID,AppDomainID) + ctf_integer(unsigned int,AppDomainFlags,AppDomainFlags) + ctf_string(AppDomainName,AppDomainName) + ctf_integer(unsigned int,AppDomainIndex,AppDomainIndex) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define AppDomainLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeRundown,\ + AppDomainLoadUnloadRundown_V1 ,\ + name ,\ + AppDomainLoadUnloadRundown_V1_TRACEPOINT_ARGS \ +) + +#define MethodLoadUnloadRundown_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,MethodID,\ + const unsigned __int64 ,ModuleID,\ + const unsigned __int64 ,MethodStartAddress,\ + const unsigned int ,MethodSize,\ + const unsigned int ,MethodToken,\ + const unsigned int ,MethodFlags\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeRundown, + MethodLoadUnloadRundown, + MethodLoadUnloadRundown_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,MethodID,MethodID) + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress) + ctf_integer(unsigned int,MethodSize,MethodSize) + ctf_integer(unsigned int,MethodToken,MethodToken) + ctf_integer(unsigned int,MethodFlags,MethodFlags) + ) +) +#define MethodLoadUnloadRundownT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeRundown,\ + MethodLoadUnloadRundown ,\ + name ,\ + MethodLoadUnloadRundown_TRACEPOINT_ARGS \ +) + +#define MethodLoadUnloadRundown_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,MethodID,\ + const unsigned __int64 ,ModuleID,\ + const unsigned __int64 ,MethodStartAddress,\ + const unsigned int ,MethodSize,\ + const unsigned int ,MethodToken,\ + const unsigned int ,MethodFlags,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeRundown, + MethodLoadUnloadRundown_V1, + MethodLoadUnloadRundown_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,MethodID,MethodID) + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress) + ctf_integer(unsigned int,MethodSize,MethodSize) + ctf_integer(unsigned int,MethodToken,MethodToken) + ctf_integer(unsigned int,MethodFlags,MethodFlags) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define MethodLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeRundown,\ + MethodLoadUnloadRundown_V1 ,\ + name ,\ + MethodLoadUnloadRundown_V1_TRACEPOINT_ARGS \ +) + +#define MethodLoadUnloadRundown_V2_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,MethodID,\ + const unsigned __int64 ,ModuleID,\ + const unsigned __int64 ,MethodStartAddress,\ + const unsigned int ,MethodSize,\ + const unsigned int ,MethodToken,\ + const unsigned int ,MethodFlags,\ + const unsigned short ,ClrInstanceID,\ + const unsigned __int64 ,ReJITID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeRundown, + MethodLoadUnloadRundown_V2, + MethodLoadUnloadRundown_V2_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,MethodID,MethodID) + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress) + ctf_integer(unsigned int,MethodSize,MethodSize) + ctf_integer(unsigned int,MethodToken,MethodToken) + ctf_integer(unsigned int,MethodFlags,MethodFlags) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(unsigned __int64,ReJITID,ReJITID) + ) +) +#define MethodLoadUnloadRundown_V2T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeRundown,\ + MethodLoadUnloadRundown_V2 ,\ + name ,\ + MethodLoadUnloadRundown_V2_TRACEPOINT_ARGS \ +) + +#define MethodLoadUnloadRundownVerbose_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,MethodID,\ + const unsigned __int64 ,ModuleID,\ + const unsigned __int64 ,MethodStartAddress,\ + const unsigned int ,MethodSize,\ + const unsigned int ,MethodToken,\ + const unsigned int ,MethodFlags,\ + const char* ,MethodNamespace,\ + const char* ,MethodName,\ + const char* ,MethodSignature\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeRundown, + MethodLoadUnloadRundownVerbose, + MethodLoadUnloadRundownVerbose_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,MethodID,MethodID) + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress) + ctf_integer(unsigned int,MethodSize,MethodSize) + ctf_integer(unsigned int,MethodToken,MethodToken) + ctf_integer(unsigned int,MethodFlags,MethodFlags) + ctf_string(MethodNamespace,MethodNamespace) + ctf_string(MethodName,MethodName) + ctf_string(MethodSignature,MethodSignature) + ) +) +#define MethodLoadUnloadRundownVerboseT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeRundown,\ + MethodLoadUnloadRundownVerbose ,\ + name ,\ + MethodLoadUnloadRundownVerbose_TRACEPOINT_ARGS \ +) + +#define MethodLoadUnloadRundownVerbose_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,MethodID,\ + const unsigned __int64 ,ModuleID,\ + const unsigned __int64 ,MethodStartAddress,\ + const unsigned int ,MethodSize,\ + const unsigned int ,MethodToken,\ + const unsigned int ,MethodFlags,\ + const char* ,MethodNamespace,\ + const char* ,MethodName,\ + const char* ,MethodSignature,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeRundown, + MethodLoadUnloadRundownVerbose_V1, + MethodLoadUnloadRundownVerbose_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,MethodID,MethodID) + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress) + ctf_integer(unsigned int,MethodSize,MethodSize) + ctf_integer(unsigned int,MethodToken,MethodToken) + ctf_integer(unsigned int,MethodFlags,MethodFlags) + ctf_string(MethodNamespace,MethodNamespace) + ctf_string(MethodName,MethodName) + ctf_string(MethodSignature,MethodSignature) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define MethodLoadUnloadRundownVerbose_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeRundown,\ + MethodLoadUnloadRundownVerbose_V1 ,\ + name ,\ + MethodLoadUnloadRundownVerbose_V1_TRACEPOINT_ARGS \ +) + +#define MethodLoadUnloadRundownVerbose_V2_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,MethodID,\ + const unsigned __int64 ,ModuleID,\ + const unsigned __int64 ,MethodStartAddress,\ + const unsigned int ,MethodSize,\ + const unsigned int ,MethodToken,\ + const unsigned int ,MethodFlags,\ + const char* ,MethodNamespace,\ + const char* ,MethodName,\ + const char* ,MethodSignature,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeRundown, + MethodLoadUnloadRundownVerbose_V2, + MethodLoadUnloadRundownVerbose_V2_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,MethodID,MethodID) + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress) + ctf_integer(unsigned int,MethodSize,MethodSize) + ctf_integer(unsigned int,MethodToken,MethodToken) + ctf_integer(unsigned int,MethodFlags,MethodFlags) + ctf_string(MethodNamespace,MethodNamespace) + ctf_string(MethodName,MethodName) + ctf_string(MethodSignature,MethodSignature) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define MethodLoadUnloadRundownVerbose_V2T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeRundown,\ + MethodLoadUnloadRundownVerbose_V2 ,\ + name ,\ + MethodLoadUnloadRundownVerbose_V2_TRACEPOINT_ARGS \ +) + +#define MethodLoadUnloadRundownVerbose_V2_1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,ReJITID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeRundown, + MethodLoadUnloadRundownVerbose_V2_1, + MethodLoadUnloadRundownVerbose_V2_1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,ReJITID,ReJITID) + ) +) +#define MethodLoadUnloadRundownVerbose_V2_1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeRundown,\ + MethodLoadUnloadRundownVerbose_V2_1 ,\ + name ,\ + MethodLoadUnloadRundownVerbose_V2_1_TRACEPOINT_ARGS \ +) + +#define MethodILToNativeMapRundown_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,MethodID,\ + const unsigned __int64 ,ReJITID,\ + const unsigned char ,MethodExtent,\ + const unsigned short ,CountOfMapEntries,\ + const unsigned int* ,ILOffsets,\ + const unsigned int* ,NativeOffsets,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeRundown, + MethodILToNativeMapRundown, + MethodILToNativeMapRundown_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,MethodID,MethodID) + ctf_integer(unsigned __int64,ReJITID,ReJITID) + ctf_integer(unsigned char,MethodExtent,MethodExtent) + ctf_integer(unsigned short,CountOfMapEntries,CountOfMapEntries) + ctf_sequence(unsigned int, ILOffsets, ILOffsets,size_t,CountOfMapEntries) + ctf_sequence(unsigned int, NativeOffsets, NativeOffsets,size_t,CountOfMapEntries) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define MethodILToNativeMapRundownT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeRundown,\ + MethodILToNativeMapRundown ,\ + name ,\ + MethodILToNativeMapRundown_TRACEPOINT_ARGS \ +) + +#define DCStartEnd_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeRundown, + DCStartEnd, + DCStartEnd_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define DCStartEndT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeRundown,\ + DCStartEnd ,\ + name ,\ + DCStartEnd_TRACEPOINT_ARGS \ +) + +#define ClrStackWalk_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID,\ + const unsigned char ,Reserved1,\ + const unsigned char ,Reserved2,\ + const unsigned int ,FrameCount,\ + const size_t* ,Stack\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeRundown, + ClrStackWalk, + ClrStackWalk_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(unsigned char,Reserved1,Reserved1) + ctf_integer(unsigned char,Reserved2,Reserved2) + ctf_integer(unsigned int,FrameCount,FrameCount) + ctf_sequence(size_t, Stack, Stack,size_t,2) + ) +) +#define ClrStackWalkT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeRundown,\ + ClrStackWalk ,\ + name ,\ + ClrStackWalk_TRACEPOINT_ARGS \ +) + +#define ThreadCreatedRundown_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned __int64 ,ManagedThreadID,\ + const unsigned __int64 ,AppDomainID,\ + const unsigned int ,Flags,\ + const unsigned int ,ManagedThreadIndex,\ + const unsigned int ,OSThreadID,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeRundown, + ThreadCreatedRundown, + ThreadCreatedRundown_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned __int64,ManagedThreadID,ManagedThreadID) + ctf_integer(unsigned __int64,AppDomainID,AppDomainID) + ctf_integer(unsigned int,Flags,Flags) + ctf_integer(unsigned int,ManagedThreadIndex,ManagedThreadIndex) + ctf_integer(unsigned int,OSThreadID,OSThreadID) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define ThreadCreatedRundownT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeRundown,\ + ThreadCreatedRundown ,\ + name ,\ + ThreadCreatedRundown_TRACEPOINT_ARGS \ +) + +#define ModuleRangeRundown_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID,\ + const unsigned __int64 ,ModuleID,\ + const unsigned int ,RangeBegin,\ + const unsigned int ,RangeSize,\ + const unsigned char ,RangeType\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeRundown, + ModuleRangeRundown, + ModuleRangeRundown_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(unsigned __int64,ModuleID,ModuleID) + ctf_integer(unsigned int,RangeBegin,RangeBegin) + ctf_integer(unsigned int,RangeSize,RangeSize) + ctf_integer(unsigned char,RangeType,RangeType) + ) +) +#define ModuleRangeRundownT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeRundown,\ + ModuleRangeRundown ,\ + name ,\ + ModuleRangeRundown_TRACEPOINT_ARGS \ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeRundown, + emptyTemplate , + TP_ARGS(), + TP_FIELDS() +) +#define T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeRundown,\ + emptyTemplate,\ + name ,\ + TP_ARGS()\ +) +ClrStackWalkT_TRACEPOINT_INSTANCE(CLRStackWalkDCStart) +MethodLoadUnloadRundownT_TRACEPOINT_INSTANCE(MethodDCStart) +MethodLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(MethodDCStart_V1) +MethodLoadUnloadRundown_V2T_TRACEPOINT_INSTANCE(MethodDCStart_V2) +MethodLoadUnloadRundownT_TRACEPOINT_INSTANCE(MethodDCEnd) +MethodLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(MethodDCEnd_V1) +MethodLoadUnloadRundown_V2T_TRACEPOINT_INSTANCE(MethodDCEnd_V2) +MethodLoadUnloadRundownVerboseT_TRACEPOINT_INSTANCE(MethodDCStartVerbose) +MethodLoadUnloadRundownVerbose_V1T_TRACEPOINT_INSTANCE(MethodDCStartVerbose_V1) +MethodLoadUnloadRundownVerbose_V2T_TRACEPOINT_INSTANCE(MethodDCStartVerbose_V2) +MethodLoadUnloadRundownVerbose_V2_1T_TRACEPOINT_INSTANCE(MethodDCStartVerbose_V2_1) +MethodLoadUnloadRundownVerboseT_TRACEPOINT_INSTANCE(MethodDCEndVerbose) +MethodLoadUnloadRundownVerbose_V1T_TRACEPOINT_INSTANCE(MethodDCEndVerbose_V1) +MethodLoadUnloadRundownVerbose_V2T_TRACEPOINT_INSTANCE(MethodDCEndVerbose_V2) +MethodLoadUnloadRundownVerbose_V2_1T_TRACEPOINT_INSTANCE(MethodDCEndVerbose_V2_1) +T_TRACEPOINT_INSTANCE(DCStartComplete) +DCStartEndT_TRACEPOINT_INSTANCE(DCStartComplete_V1) +T_TRACEPOINT_INSTANCE(DCEndComplete) +DCStartEndT_TRACEPOINT_INSTANCE(DCEndComplete_V1) +T_TRACEPOINT_INSTANCE(DCStartInit) +DCStartEndT_TRACEPOINT_INSTANCE(DCStartInit_V1) +T_TRACEPOINT_INSTANCE(DCEndInit) +DCStartEndT_TRACEPOINT_INSTANCE(DCEndInit_V1) +MethodILToNativeMapRundownT_TRACEPOINT_INSTANCE(MethodDCStartILToNativeMap) +MethodILToNativeMapRundownT_TRACEPOINT_INSTANCE(MethodDCEndILToNativeMap) +DomainModuleLoadUnloadRundownT_TRACEPOINT_INSTANCE(DomainModuleDCStart) +DomainModuleLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(DomainModuleDCStart_V1) +DomainModuleLoadUnloadRundownT_TRACEPOINT_INSTANCE(DomainModuleDCEnd) +DomainModuleLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(DomainModuleDCEnd_V1) +ModuleLoadUnloadRundownT_TRACEPOINT_INSTANCE(ModuleDCStart) +ModuleLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(ModuleDCStart_V1) +ModuleLoadUnloadRundown_V2T_TRACEPOINT_INSTANCE(ModuleDCStart_V2) +ModuleLoadUnloadRundown_V2_1T_TRACEPOINT_INSTANCE(ModuleDCStart_V2_1) +ModuleLoadUnloadRundownT_TRACEPOINT_INSTANCE(ModuleDCEnd) +ModuleLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(ModuleDCEnd_V1) +ModuleLoadUnloadRundown_V2T_TRACEPOINT_INSTANCE(ModuleDCEnd_V2) +ModuleLoadUnloadRundown_V2_1T_TRACEPOINT_INSTANCE(ModuleDCEnd_V2_1) +AssemblyLoadUnloadRundownT_TRACEPOINT_INSTANCE(AssemblyDCStart) +AssemblyLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(AssemblyDCStart_V1) +AssemblyLoadUnloadRundownT_TRACEPOINT_INSTANCE(AssemblyDCEnd) +AssemblyLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(AssemblyDCEnd_V1) +AppDomainLoadUnloadRundownT_TRACEPOINT_INSTANCE(AppDomainDCStart) +AppDomainLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(AppDomainDCStart_V1) +AppDomainLoadUnloadRundownT_TRACEPOINT_INSTANCE(AppDomainDCEnd) +AppDomainLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(AppDomainDCEnd_V1) +ThreadCreatedRundownT_TRACEPOINT_INSTANCE(ThreadDC) +ModuleRangeRundownT_TRACEPOINT_INSTANCE(ModuleRangeDCStart) +ModuleRangeRundownT_TRACEPOINT_INSTANCE(ModuleRangeDCEnd) +RuntimeInformationRundownT_TRACEPOINT_INSTANCE(RuntimeInformationDCStart) +RuntimeInformationRundown_1T_TRACEPOINT_INSTANCE(RuntimeInformationDCStart_1) +#endif /* LTTNG_CORECLR_HDotNETRuntimeRundown */ +#include <lttng/tracepoint-event.h> diff --git a/src/pal/src/eventprovider/lttng/tpdotnetruntimestress.h b/src/pal/src/eventprovider/lttng/tpdotnetruntimestress.h new file mode 100644 index 0000000000..ee4c697841 --- /dev/null +++ b/src/pal/src/eventprovider/lttng/tpdotnetruntimestress.h @@ -0,0 +1,123 @@ +// +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. +// + +/****************************************************************** + +DO NOT MODIFY. AUTOGENERATED FILE. +This file is generated using the logic from <root>/src/inc/genXplatLttng.pl + +******************************************************************/ + + +#include "palrt.h" +#include "pal.h" + +#undef TRACEPOINT_PROVIDER +#define TRACEPOINT_PROVIDER DotNETRuntimeStress + +#undef TRACEPOINT_INCLUDE +#define TRACEPOINT_INCLUDE "./lttng/tpdotnetruntimestress.h" + +#if !defined(LTTNG_CORECLR_HDotNETRuntimeStress) || defined(TRACEPOINT_HEADER_MULTI_READ) +#define LTTNG_CORECLR_HDotNETRuntimeStress + +#include <lttng/tracepoint.h> + + +#define StressLog_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Facility,\ + const unsigned char ,LogLevel,\ + const char* ,Message\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeStress, + StressLog, + StressLog_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Facility,Facility) + ctf_integer(unsigned char,LogLevel,LogLevel) + ctf_string(Message,Message) + ) +) +#define StressLogT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeStress,\ + StressLog ,\ + name ,\ + StressLog_TRACEPOINT_ARGS \ +) + +#define StressLog_V1_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned int ,Facility,\ + const unsigned char ,LogLevel,\ + const char* ,Message,\ + const unsigned short ,ClrInstanceID\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeStress, + StressLog_V1, + StressLog_V1_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned int,Facility,Facility) + ctf_integer(unsigned char,LogLevel,LogLevel) + ctf_string(Message,Message) + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ) +) +#define StressLog_V1T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeStress,\ + StressLog_V1 ,\ + name ,\ + StressLog_V1_TRACEPOINT_ARGS \ +) + +#define ClrStackWalk_TRACEPOINT_ARGS \ +TP_ARGS(\ + const unsigned short ,ClrInstanceID,\ + const unsigned char ,Reserved1,\ + const unsigned char ,Reserved2,\ + const unsigned int ,FrameCount,\ + const size_t* ,Stack\ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeStress, + ClrStackWalk, + ClrStackWalk_TRACEPOINT_ARGS, + TP_FIELDS( + ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID) + ctf_integer(unsigned char,Reserved1,Reserved1) + ctf_integer(unsigned char,Reserved2,Reserved2) + ctf_integer(unsigned int,FrameCount,FrameCount) + ctf_sequence(size_t, Stack, Stack,size_t,2) + ) +) +#define ClrStackWalkT_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeStress,\ + ClrStackWalk ,\ + name ,\ + ClrStackWalk_TRACEPOINT_ARGS \ +) +TRACEPOINT_EVENT_CLASS( + DotNETRuntimeStress, + emptyTemplate , + TP_ARGS(), + TP_FIELDS() +) +#define T_TRACEPOINT_INSTANCE(name) \ +TRACEPOINT_EVENT_INSTANCE(\ + DotNETRuntimeStress,\ + emptyTemplate,\ + name ,\ + TP_ARGS()\ +) +StressLogT_TRACEPOINT_INSTANCE(StressLogEvent) +StressLog_V1T_TRACEPOINT_INSTANCE(StressLogEvent_V1) +ClrStackWalkT_TRACEPOINT_INSTANCE(CLRStackWalkStress) +#endif /* LTTNG_CORECLR_HDotNETRuntimeStress */ +#include <lttng/tracepoint-event.h> diff --git a/src/pal/src/eventprovider/lttng/traceptprovdotnetruntime.cpp b/src/pal/src/eventprovider/lttng/traceptprovdotnetruntime.cpp new file mode 100644 index 0000000000..317932263d --- /dev/null +++ b/src/pal/src/eventprovider/lttng/traceptprovdotnetruntime.cpp @@ -0,0 +1,15 @@ +// +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. +// + +/****************************************************************** + +DO NOT MODIFY. AUTOGENERATED FILE. +This file is generated using the logic from <root>/src/inc/genXplatLttng.pl + +******************************************************************/ + + +#define TRACEPOINT_CREATE_PROBES +#include "./lttng/tpdotnetruntime.h" diff --git a/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimeprivate.cpp b/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimeprivate.cpp new file mode 100644 index 0000000000..3a81cdc724 --- /dev/null +++ b/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimeprivate.cpp @@ -0,0 +1,15 @@ +// +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. +// + +/****************************************************************** + +DO NOT MODIFY. AUTOGENERATED FILE. +This file is generated using the logic from <root>/src/inc/genXplatLttng.pl + +******************************************************************/ + + +#define TRACEPOINT_CREATE_PROBES +#include "./lttng/tpdotnetruntimeprivate.h" diff --git a/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimerundown.cpp b/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimerundown.cpp new file mode 100644 index 0000000000..398baee307 --- /dev/null +++ b/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimerundown.cpp @@ -0,0 +1,15 @@ +// +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. +// + +/****************************************************************** + +DO NOT MODIFY. AUTOGENERATED FILE. +This file is generated using the logic from <root>/src/inc/genXplatLttng.pl + +******************************************************************/ + + +#define TRACEPOINT_CREATE_PROBES +#include "./lttng/tpdotnetruntimerundown.h" diff --git a/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimestress.cpp b/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimestress.cpp new file mode 100644 index 0000000000..6ecb6110c4 --- /dev/null +++ b/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimestress.cpp @@ -0,0 +1,15 @@ +// +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. +// + +/****************************************************************** + +DO NOT MODIFY. AUTOGENERATED FILE. +This file is generated using the logic from <root>/src/inc/genXplatLttng.pl + +******************************************************************/ + + +#define TRACEPOINT_CREATE_PROBES +#include "./lttng/tpdotnetruntimestress.h" diff --git a/src/pal/src/eventprovider/tracepointprovider/CMakeLists.txt b/src/pal/src/eventprovider/tracepointprovider/CMakeLists.txt new file mode 100644 index 0000000000..1876736a14 --- /dev/null +++ b/src/pal/src/eventprovider/tracepointprovider/CMakeLists.txt @@ -0,0 +1,27 @@ +cmake_minimum_required(VERSION 2.8.12.2) + +project(coreclrtraceptprovider) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +add_definitions(-DPAL_STDCPP_COMPAT=1) +include_directories(${COREPAL_SOURCE_DIR}/inc/rt) +include_directories(${COREPAL_SOURCE_DIR}/src/eventprovider) +add_compile_options(-fPIC) + +add_library(coreclrtraceptprovider + SHARED + "../lttng/traceptprovdotnetruntime.cpp" + "../lttng/traceptprovdotnetruntimeprivate.cpp" + "../lttng/traceptprovdotnetruntimerundown.cpp" + "../lttng/traceptprovdotnetruntimestress.cpp" + ) + +target_link_libraries(coreclrtraceptprovider + -llttng-ust + ) + + +# Install the static PAL library for VS +install (TARGETS coreclrtraceptprovider DESTINATION .) + diff --git a/src/pal/tests/palsuite/CMakeLists.txt b/src/pal/tests/palsuite/CMakeLists.txt index 7095aa691b..19464a3bc7 100644 --- a/src/pal/tests/palsuite/CMakeLists.txt +++ b/src/pal/tests/palsuite/CMakeLists.txt @@ -21,4 +21,5 @@ add_subdirectory(miscellaneous) add_subdirectory(pal_specific) add_subdirectory(samples) add_subdirectory(threading) +add_subdirectory(eventprovider) diff --git a/src/pal/tests/palsuite/eventprovider/CMakeLists.txt b/src/pal/tests/palsuite/eventprovider/CMakeLists.txt new file mode 100644 index 0000000000..32b59592ee --- /dev/null +++ b/src/pal/tests/palsuite/eventprovider/CMakeLists.txt @@ -0,0 +1,35 @@ +cmake_minimum_required(VERSION 2.8.12.2) + + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + + +set(SOURCES + clralltestevents.cpp + ) +include_directories(${COREPAL_SOURCE_DIR}/prebuilt/inc) +include_directories(${COREPAL_SOURCE_DIR}/inc/rt) + + +add_executable(eventprovidertest + ${SOURCES} + ) +set(EVENT_PROVIDER_DEPENDENCIES "") +set(EVENT_PROVIDER_LINKER_OTPTIONS "") +if(CMAKE_SYSTEM_NAME STREQUAL Linux) + + list(APPEND EVENT_PROVIDER_DEPENDENCIES + eventprovider + ) + list(APPEND EVENT_PROVIDER_LINKER_OTPTIONS + ${EVENT_PROVIDER_DEPENDENCIES} + ) + +endif(CMAKE_SYSTEM_NAME STREQUAL Linux) + +add_dependencies(eventprovidertest ${EVENT_PROVIDER_DEPENDENCIES} coreclrpal) +target_link_libraries(eventprovidertest + coreclrpal + ${EVENT_PROVIDER_LINKER_OTPTIONS} + ) + diff --git a/src/pal/tests/palsuite/eventprovider/clralltestevents.cpp b/src/pal/tests/palsuite/eventprovider/clralltestevents.cpp new file mode 100644 index 0000000000..dd31161305 --- /dev/null +++ b/src/pal/tests/palsuite/eventprovider/clralltestevents.cpp @@ -0,0 +1,2690 @@ +// +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. +// + +/****************************************************************** + +DO NOT MODIFY. AUTOGENERATED FILE. +This file is generated using the logic from <root>/src/inc/genXplatEtw.pl + +******************************************************************/ + +/*===================================================================== +** +** Source: clralltestevents.cpp +** +** Purpose: Ensure Correctness of Eventing code +** +** +**===================================================================*/ +#include <palsuite.h> +#include <clrallevents.h> + +typedef struct _Struct1 { + ULONG Data1; + unsigned short Data2; + unsigned short Data3; + unsigned char Data4[8]; +} Struct1; + +Struct1 var21[2] = { { 245, 13, 14, "deadbea" }, { 542, 0, 14, "deadflu" } }; + +Struct1* var11 = var21; +Struct1* win_Struct = var21; + +GUID myGuid ={ 245, 13, 14, "deadbea" }; +double win_Double =34.04; +ULONG win_ULong = 34; +BOOL win_Boolean = FALSE; +unsigned __int64 win_UInt64 = 114; +unsigned int win_UInt32 = 4; +unsigned short win_UInt16 = 12; +unsigned char win_UInt8 = 9; +int win_Int32 = 12; +BYTE* win_Binary =(BYTE*)var21 ; +int __cdecl main(int argc, char **argv) +{ + + /* Initialize the PAL. + */ + + if(0 != PAL_Initialize(argc, argv)) + { + return FAIL; + } + + ULONG Error = ERROR_SUCCESS; +#if defined(FEATURE_EVENT_TRACE) + Trace("\n Starting functional eventing APIs tests \n"); + + EventEnabledGCStart(); +Error |= FireEtwGCStart( +2, +win_UInt32 +); + EventEnabledGCStart_V1(); +Error |= FireEtwGCStart_V1( +2, +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt16 +); + EventEnabledGCStart_V2(); +Error |= FireEtwGCStart_V2( +2, +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt16, +win_UInt64 +); + EventEnabledGCEnd(); +Error |= FireEtwGCEnd( +2, +win_UInt16 +); + EventEnabledGCEnd_V1(); +Error |= FireEtwGCEnd_V1( +2, +win_UInt32, +win_UInt16 +); + EventEnabledGCRestartEEEnd(); +Error |= FireEtwGCRestartEEEnd( +); + EventEnabledGCRestartEEEnd_V1(); +Error |= FireEtwGCRestartEEEnd_V1( +win_UInt16 +); + EventEnabledGCHeapStats(); +Error |= FireEtwGCHeapStats( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32 +); + EventEnabledGCHeapStats_V1(); +Error |= FireEtwGCHeapStats_V1( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt16 +); + EventEnabledGCCreateSegment(); +Error |= FireEtwGCCreateSegment( +win_UInt64, +win_UInt64, +win_UInt32 +); + EventEnabledGCCreateSegment_V1(); +Error |= FireEtwGCCreateSegment_V1( +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt16 +); + EventEnabledGCFreeSegment(); +Error |= FireEtwGCFreeSegment( +win_UInt64 +); + EventEnabledGCFreeSegment_V1(); +Error |= FireEtwGCFreeSegment_V1( +win_UInt64, +win_UInt16 +); + EventEnabledGCRestartEEBegin(); +Error |= FireEtwGCRestartEEBegin( +); + EventEnabledGCRestartEEBegin_V1(); +Error |= FireEtwGCRestartEEBegin_V1( +win_UInt16 +); + EventEnabledGCSuspendEEEnd(); +Error |= FireEtwGCSuspendEEEnd( +); + EventEnabledGCSuspendEEEnd_V1(); +Error |= FireEtwGCSuspendEEEnd_V1( +win_UInt16 +); + EventEnabledGCSuspendEEBegin(); +Error |= FireEtwGCSuspendEEBegin( +win_UInt16 +); + EventEnabledGCSuspendEEBegin_V1(); +Error |= FireEtwGCSuspendEEBegin_V1( +win_UInt32, +2, +win_UInt16 +); + EventEnabledGCAllocationTick(); +Error |= FireEtwGCAllocationTick( +win_UInt32, +win_UInt32 +); + EventEnabledGCAllocationTick_V1(); +Error |= FireEtwGCAllocationTick_V1( +win_UInt32, +win_UInt32, +win_UInt16 +); + EventEnabledGCAllocationTick_V2(); +Error |= FireEtwGCAllocationTick_V2( +win_UInt32, +win_UInt32, +win_UInt16, +win_UInt64, +(const void*)var11, +W(" Testing UnicodeString "), +win_UInt32 +); + EventEnabledGCAllocationTick_V3(); +Error |= FireEtwGCAllocationTick_V3( +win_UInt32, +win_UInt32, +win_UInt16, +win_UInt64, +(const void*)var11, +W(" Testing UnicodeString "), +win_UInt32, +(const void*)var11 +); + EventEnabledGCCreateConcurrentThread(); +Error |= FireEtwGCCreateConcurrentThread( +); + EventEnabledGCCreateConcurrentThread_V1(); +Error |= FireEtwGCCreateConcurrentThread_V1( +win_UInt16 +); + EventEnabledGCTerminateConcurrentThread(); +Error |= FireEtwGCTerminateConcurrentThread( +); + EventEnabledGCTerminateConcurrentThread_V1(); +Error |= FireEtwGCTerminateConcurrentThread_V1( +win_UInt16 +); + EventEnabledGCFinalizersEnd(); +Error |= FireEtwGCFinalizersEnd( +2 +); + EventEnabledGCFinalizersEnd_V1(); +Error |= FireEtwGCFinalizersEnd_V1( +2, +win_UInt16 +); + EventEnabledGCFinalizersBegin(); +Error |= FireEtwGCFinalizersBegin( +); + EventEnabledGCFinalizersBegin_V1(); +Error |= FireEtwGCFinalizersBegin_V1( +win_UInt16 +); + EventEnabledBulkType(); +Error |= FireEtwBulkType( +2, +win_UInt16, +win_ULong, +&win_Struct +); + EventEnabledGCBulkRootEdge(); +Error |= FireEtwGCBulkRootEdge( +win_UInt32, +2, +win_UInt16, +win_ULong, +&win_Struct +); + EventEnabledGCBulkRootConditionalWeakTableElementEdge(); +Error |= FireEtwGCBulkRootConditionalWeakTableElementEdge( +win_UInt32, +2, +win_UInt16, +win_ULong, +&win_Struct +); + EventEnabledGCBulkNode(); +Error |= FireEtwGCBulkNode( +win_UInt32, +2, +win_UInt16, +win_ULong, +&win_Struct +); + EventEnabledGCBulkEdge(); +Error |= FireEtwGCBulkEdge( +win_UInt32, +2, +win_UInt16, +win_ULong, +&win_Struct +); + EventEnabledGCSampledObjectAllocationHigh(); +Error |= FireEtwGCSampledObjectAllocationHigh( +(const void*)var11, +(const void*)var11, +win_UInt32, +win_UInt64, +win_UInt16 +); + EventEnabledGCBulkSurvivingObjectRanges(); +Error |= FireEtwGCBulkSurvivingObjectRanges( +win_UInt32, +2, +win_UInt16, +win_ULong, +&win_Struct +); + EventEnabledGCBulkMovedObjectRanges(); +Error |= FireEtwGCBulkMovedObjectRanges( +win_UInt32, +2, +win_UInt16, +win_ULong, +&win_Struct +); + EventEnabledGCGenerationRange(); +Error |= FireEtwGCGenerationRange( +win_UInt8, +(const void*)var11, +win_UInt64, +win_UInt64, +win_UInt16 +); + EventEnabledGCMarkStackRoots(); +Error |= FireEtwGCMarkStackRoots( +win_UInt32, +win_UInt16 +); + EventEnabledGCMarkFinalizeQueueRoots(); +Error |= FireEtwGCMarkFinalizeQueueRoots( +win_UInt32, +win_UInt16 +); + EventEnabledGCMarkHandles(); +Error |= FireEtwGCMarkHandles( +win_UInt32, +win_UInt16 +); + EventEnabledGCMarkOlderGenerationRoots(); +Error |= FireEtwGCMarkOlderGenerationRoots( +win_UInt32, +win_UInt16 +); + EventEnabledFinalizeObject(); +Error |= FireEtwFinalizeObject( +(const void*)var11, +(const void*)var11, +win_UInt16 +); + EventEnabledSetGCHandle(); +Error |= FireEtwSetGCHandle( +(const void*)var11, +(const void*)var11, +win_UInt32, +win_UInt32, +win_UInt64, +win_UInt16 +); + EventEnabledDestroyGCHandle(); +Error |= FireEtwDestroyGCHandle( +(const void*)var11, +win_UInt16 +); + EventEnabledGCSampledObjectAllocationLow(); +Error |= FireEtwGCSampledObjectAllocationLow( +(const void*)var11, +(const void*)var11, +win_UInt32, +win_UInt64, +win_UInt16 +); + EventEnabledPinObjectAtGCTime(); +Error |= FireEtwPinObjectAtGCTime( +(const void*)var11, +(const void*)var11, +win_UInt64, +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledGCTriggered(); +Error |= FireEtwGCTriggered( +win_UInt32, +win_UInt16 +); + EventEnabledGCBulkRootCCW(); +Error |= FireEtwGCBulkRootCCW( +2, +win_UInt16, +win_ULong, +&win_Struct +); + EventEnabledGCBulkRCW(); +Error |= FireEtwGCBulkRCW( +2, +win_UInt16, +win_ULong, +&win_Struct +); + EventEnabledGCBulkRootStaticVar(); +Error |= FireEtwGCBulkRootStaticVar( +2, +win_UInt64, +win_UInt16, +win_ULong, +&win_Struct +); + EventEnabledWorkerThreadCreate(); +Error |= FireEtwWorkerThreadCreate( +win_UInt32, +win_UInt32 +); + EventEnabledWorkerThreadTerminate(); +Error |= FireEtwWorkerThreadTerminate( +win_UInt32, +win_UInt32 +); + EventEnabledWorkerThreadRetire(); +Error |= FireEtwWorkerThreadRetire( +win_UInt32, +win_UInt32 +); + EventEnabledWorkerThreadUnretire(); +Error |= FireEtwWorkerThreadUnretire( +win_UInt32, +win_UInt32 +); + EventEnabledIOThreadCreate(); +Error |= FireEtwIOThreadCreate( +win_UInt32, +win_UInt32 +); + EventEnabledIOThreadCreate_V1(); +Error |= FireEtwIOThreadCreate_V1( +win_UInt32, +win_UInt32, +win_UInt16 +); + EventEnabledIOThreadTerminate(); +Error |= FireEtwIOThreadTerminate( +win_UInt32, +win_UInt32 +); + EventEnabledIOThreadTerminate_V1(); +Error |= FireEtwIOThreadTerminate_V1( +win_UInt32, +win_UInt32, +win_UInt16 +); + EventEnabledIOThreadRetire(); +Error |= FireEtwIOThreadRetire( +win_UInt32, +win_UInt32 +); + EventEnabledIOThreadRetire_V1(); +Error |= FireEtwIOThreadRetire_V1( +win_UInt32, +win_UInt32, +win_UInt16 +); + EventEnabledIOThreadUnretire(); +Error |= FireEtwIOThreadUnretire( +win_UInt32, +win_UInt32 +); + EventEnabledIOThreadUnretire_V1(); +Error |= FireEtwIOThreadUnretire_V1( +win_UInt32, +win_UInt32, +win_UInt16 +); + EventEnabledThreadpoolSuspensionSuspendThread(); +Error |= FireEtwThreadpoolSuspensionSuspendThread( +win_UInt32, +win_UInt32 +); + EventEnabledThreadpoolSuspensionResumeThread(); +Error |= FireEtwThreadpoolSuspensionResumeThread( +win_UInt32, +win_UInt32 +); + EventEnabledThreadPoolWorkerThreadStart(); +Error |= FireEtwThreadPoolWorkerThreadStart( +win_UInt32, +win_UInt32, +win_UInt16 +); + EventEnabledThreadPoolWorkerThreadStop(); +Error |= FireEtwThreadPoolWorkerThreadStop( +win_UInt32, +win_UInt32, +win_UInt16 +); + EventEnabledThreadPoolWorkerThreadRetirementStart(); +Error |= FireEtwThreadPoolWorkerThreadRetirementStart( +win_UInt32, +win_UInt32, +win_UInt16 +); + EventEnabledThreadPoolWorkerThreadRetirementStop(); +Error |= FireEtwThreadPoolWorkerThreadRetirementStop( +win_UInt32, +win_UInt32, +win_UInt16 +); + EventEnabledThreadPoolWorkerThreadAdjustmentSample(); +Error |= FireEtwThreadPoolWorkerThreadAdjustmentSample( +win_Double, +win_UInt16 +); + EventEnabledThreadPoolWorkerThreadAdjustmentAdjustment(); +Error |= FireEtwThreadPoolWorkerThreadAdjustmentAdjustment( +win_Double, +win_UInt32, +win_UInt32, +win_UInt16 +); + EventEnabledThreadPoolWorkerThreadAdjustmentStats(); +Error |= FireEtwThreadPoolWorkerThreadAdjustmentStats( +win_Double, +win_Double, +win_Double, +win_Double, +win_Double, +win_Double, +win_Double, +win_Double, +win_Double, +win_UInt16, +win_UInt16 +); + EventEnabledThreadPoolWorkerThreadWait(); +Error |= FireEtwThreadPoolWorkerThreadWait( +win_UInt32, +win_UInt32, +win_UInt16 +); + EventEnabledThreadPoolWorkingThreadCount(); +Error |= FireEtwThreadPoolWorkingThreadCount( +2, +win_UInt16 +); + EventEnabledThreadPoolEnqueue(); +Error |= FireEtwThreadPoolEnqueue( +(const void*)var11, +win_UInt16 +); + EventEnabledThreadPoolDequeue(); +Error |= FireEtwThreadPoolDequeue( +(const void*)var11, +win_UInt16 +); + EventEnabledThreadPoolIOEnqueue(); +Error |= FireEtwThreadPoolIOEnqueue( +(const void*)var11, +(const void*)var11, +win_Boolean, +win_UInt16 +); + EventEnabledThreadPoolIODequeue(); +Error |= FireEtwThreadPoolIODequeue( +(const void*)var11, +(const void*)var11, +win_UInt16 +); + EventEnabledThreadPoolIOPack(); +Error |= FireEtwThreadPoolIOPack( +(const void*)var11, +(const void*)var11, +win_UInt16 +); + EventEnabledThreadCreating(); +Error |= FireEtwThreadCreating( +(const void*)var11, +win_UInt16 +); + EventEnabledThreadRunning(); +Error |= FireEtwThreadRunning( +(const void*)var11, +win_UInt16 +); + EventEnabledExceptionThrown(); +Error |= FireEtwExceptionThrown( +); + EventEnabledExceptionThrown_V1(); +Error |= FireEtwExceptionThrown_V1( +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +(const void*)var11, +win_UInt32, +win_UInt16, +win_UInt16 +); + EventEnabledExceptionCatchStart(); +Error |= FireEtwExceptionCatchStart( +win_UInt64, +win_UInt64, +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledExceptionCatchStop(); +Error |= FireEtwExceptionCatchStop( +); + EventEnabledExceptionFinallyStart(); +Error |= FireEtwExceptionFinallyStart( +win_UInt64, +win_UInt64, +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledExceptionFinallyStop(); +Error |= FireEtwExceptionFinallyStop( +); + EventEnabledExceptionFilterStart(); +Error |= FireEtwExceptionFilterStart( +win_UInt64, +win_UInt64, +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledExceptionFilterStop(); +Error |= FireEtwExceptionFilterStop( +); + EventEnabledExceptionThrownStop(); +Error |= FireEtwExceptionThrownStop( +); + EventEnabledContention(); +Error |= FireEtwContention( +); + EventEnabledContentionStart_V1(); +Error |= FireEtwContentionStart_V1( +win_UInt8, +win_UInt16 +); + EventEnabledContentionStop(); +Error |= FireEtwContentionStop( +win_UInt8, +win_UInt16 +); + EventEnabledCLRStackWalk(); +Error |= FireEtwCLRStackWalk( +win_UInt16, +win_UInt8, +win_UInt8, +win_UInt32, +(const void**)&var11 +); + EventEnabledAppDomainMemAllocated(); +Error |= FireEtwAppDomainMemAllocated( +win_UInt64, +win_UInt64, +win_UInt16 +); + EventEnabledAppDomainMemSurvived(); +Error |= FireEtwAppDomainMemSurvived( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt16 +); + EventEnabledThreadCreated(); +Error |= FireEtwThreadCreated( +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt16 +); + EventEnabledThreadTerminated(); +Error |= FireEtwThreadTerminated( +win_UInt64, +win_UInt64, +win_UInt16 +); + EventEnabledThreadDomainEnter(); +Error |= FireEtwThreadDomainEnter( +win_UInt64, +win_UInt64, +win_UInt16 +); + EventEnabledILStubGenerated(); +Error |= FireEtwILStubGenerated( +win_UInt16, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString ") +); + EventEnabledILStubCacheHit(); +Error |= FireEtwILStubCacheHit( +win_UInt16, +win_UInt64, +win_UInt64, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString ") +); + EventEnabledDCStartCompleteV2(); +Error |= FireEtwDCStartCompleteV2( +); + EventEnabledDCEndCompleteV2(); +Error |= FireEtwDCEndCompleteV2( +); + EventEnabledMethodDCStartV2(); +Error |= FireEtwMethodDCStartV2( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32 +); + EventEnabledMethodDCEndV2(); +Error |= FireEtwMethodDCEndV2( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32 +); + EventEnabledMethodDCStartVerboseV2(); +Error |= FireEtwMethodDCStartVerboseV2( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString ") +); + EventEnabledMethodDCEndVerboseV2(); +Error |= FireEtwMethodDCEndVerboseV2( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString ") +); + EventEnabledMethodLoad(); +Error |= FireEtwMethodLoad( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32 +); + EventEnabledMethodLoad_V1(); +Error |= FireEtwMethodLoad_V1( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt16 +); + EventEnabledMethodLoad_V2(); +Error |= FireEtwMethodLoad_V2( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt16, +win_UInt64 +); + EventEnabledMethodUnload(); +Error |= FireEtwMethodUnload( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32 +); + EventEnabledMethodUnload_V1(); +Error |= FireEtwMethodUnload_V1( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt16 +); + EventEnabledMethodUnload_V2(); +Error |= FireEtwMethodUnload_V2( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt16, +win_UInt64 +); + EventEnabledMethodLoadVerbose(); +Error |= FireEtwMethodLoadVerbose( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString ") +); + EventEnabledMethodLoadVerbose_V1(); +Error |= FireEtwMethodLoadVerbose_V1( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledMethodLoadVerbose_V2(); +Error |= FireEtwMethodLoadVerbose_V2( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16, +win_UInt64 +); + EventEnabledMethodUnloadVerbose(); +Error |= FireEtwMethodUnloadVerbose( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString ") +); + EventEnabledMethodUnloadVerbose_V1(); +Error |= FireEtwMethodUnloadVerbose_V1( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledMethodUnloadVerbose_V2(); +Error |= FireEtwMethodUnloadVerbose_V2( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16, +win_UInt64 +); + EventEnabledMethodJittingStarted(); +Error |= FireEtwMethodJittingStarted( +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString ") +); + EventEnabledMethodJittingStarted_V1(); +Error |= FireEtwMethodJittingStarted_V1( +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledMethodJitInliningSucceeded(); +Error |= FireEtwMethodJitInliningSucceeded( +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledMethodJitInliningFailed(); +Error |= FireEtwMethodJitInliningFailed( +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_Boolean, +" Testing AniString ", +win_UInt16 +); + EventEnabledMethodJitTailCallSucceeded(); +Error |= FireEtwMethodJitTailCallSucceeded( +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_Boolean, +win_UInt32, +win_UInt16 +); + EventEnabledMethodJitTailCallFailed(); +Error |= FireEtwMethodJitTailCallFailed( +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_Boolean, +" Testing AniString ", +win_UInt16 +); + EventEnabledMethodILToNativeMap(); +Error |= FireEtwMethodILToNativeMap( +win_UInt64, +win_UInt64, +win_UInt8, +win_UInt16, +&win_UInt32, +&win_UInt32, +win_UInt16 +); + EventEnabledModuleDCStartV2(); +Error |= FireEtwModuleDCStartV2( +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString ") +); + EventEnabledModuleDCEndV2(); +Error |= FireEtwModuleDCEndV2( +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString ") +); + EventEnabledDomainModuleLoad(); +Error |= FireEtwDomainModuleLoad( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString ") +); + EventEnabledDomainModuleLoad_V1(); +Error |= FireEtwDomainModuleLoad_V1( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledModuleLoad(); +Error |= FireEtwModuleLoad( +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString ") +); + EventEnabledModuleLoad_V1(); +Error |= FireEtwModuleLoad_V1( +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledModuleLoad_V2(); +Error |= FireEtwModuleLoad_V2( +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16, +&myGuid, +win_UInt32, +W(" Testing UnicodeString "), +&myGuid, +win_UInt32, +W(" Testing UnicodeString ") +); + EventEnabledModuleUnload(); +Error |= FireEtwModuleUnload( +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString ") +); + EventEnabledModuleUnload_V1(); +Error |= FireEtwModuleUnload_V1( +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledModuleUnload_V2(); +Error |= FireEtwModuleUnload_V2( +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16, +&myGuid, +win_UInt32, +W(" Testing UnicodeString "), +&myGuid, +win_UInt32, +W(" Testing UnicodeString ") +); + EventEnabledAssemblyLoad(); +Error |= FireEtwAssemblyLoad( +win_UInt64, +win_UInt64, +win_UInt32, +W(" Testing UnicodeString ") +); + EventEnabledAssemblyLoad_V1(); +Error |= FireEtwAssemblyLoad_V1( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledAssemblyUnload(); +Error |= FireEtwAssemblyUnload( +win_UInt64, +win_UInt64, +win_UInt32, +W(" Testing UnicodeString ") +); + EventEnabledAssemblyUnload_V1(); +Error |= FireEtwAssemblyUnload_V1( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledAppDomainLoad(); +Error |= FireEtwAppDomainLoad( +win_UInt64, +win_UInt32, +W(" Testing UnicodeString ") +); + EventEnabledAppDomainLoad_V1(); +Error |= FireEtwAppDomainLoad_V1( +win_UInt64, +win_UInt32, +W(" Testing UnicodeString "), +win_UInt32, +win_UInt16 +); + EventEnabledAppDomainUnload(); +Error |= FireEtwAppDomainUnload( +win_UInt64, +win_UInt32, +W(" Testing UnicodeString ") +); + EventEnabledAppDomainUnload_V1(); +Error |= FireEtwAppDomainUnload_V1( +win_UInt64, +win_UInt32, +W(" Testing UnicodeString "), +win_UInt32, +win_UInt16 +); + EventEnabledModuleRangeLoad(); +Error |= FireEtwModuleRangeLoad( +win_UInt16, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt8 +); + EventEnabledStrongNameVerificationStart(); +Error |= FireEtwStrongNameVerificationStart( +win_UInt32, +win_UInt32, +W(" Testing UnicodeString ") +); + EventEnabledStrongNameVerificationStart_V1(); +Error |= FireEtwStrongNameVerificationStart_V1( +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledStrongNameVerificationStop(); +Error |= FireEtwStrongNameVerificationStop( +win_UInt32, +win_UInt32, +W(" Testing UnicodeString ") +); + EventEnabledStrongNameVerificationStop_V1(); +Error |= FireEtwStrongNameVerificationStop_V1( +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledAuthenticodeVerificationStart(); +Error |= FireEtwAuthenticodeVerificationStart( +win_UInt32, +win_UInt32, +W(" Testing UnicodeString ") +); + EventEnabledAuthenticodeVerificationStart_V1(); +Error |= FireEtwAuthenticodeVerificationStart_V1( +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledAuthenticodeVerificationStop(); +Error |= FireEtwAuthenticodeVerificationStop( +win_UInt32, +win_UInt32, +W(" Testing UnicodeString ") +); + EventEnabledAuthenticodeVerificationStop_V1(); +Error |= FireEtwAuthenticodeVerificationStop_V1( +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledRuntimeInformationStart(); +Error |= FireEtwRuntimeInformationStart( +win_UInt16, +win_UInt16, +win_UInt16, +win_UInt16, +win_UInt16, +win_UInt16, +win_UInt16, +win_UInt16, +win_UInt16, +win_UInt16, +win_UInt32, +win_UInt8, +W(" Testing UnicodeString "), +&myGuid, +W(" Testing UnicodeString ") +); + EventEnabledIncreaseMemoryPressure(); +Error |= FireEtwIncreaseMemoryPressure( +win_UInt64, +win_UInt16 +); + EventEnabledDecreaseMemoryPressure(); +Error |= FireEtwDecreaseMemoryPressure( +win_UInt64, +win_UInt16 +); + EventEnabledGCMarkWithType(); +Error |= FireEtwGCMarkWithType( +win_UInt32, +win_UInt16, +win_UInt32, +win_UInt64 +); + EventEnabledGCJoin_V2(); +Error |= FireEtwGCJoin_V2( +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt16, +win_UInt32 +); + EventEnabledGCPerHeapHistory_V3(); +Error |= FireEtwGCPerHeapHistory_V3( +win_UInt16, +(const void*)var11, +(const void*)var11, +(const void*)var11, +(const void*)var11, +(const void*)var11, +(const void*)var11, +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt32, +(const void*)var11, +2, +win_ULong, +&win_Struct +); + EventEnabledGCGlobalHeapHistory_V2(); +Error |= FireEtwGCGlobalHeapHistory_V2( +win_UInt64, +win_Int32, +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt16, +win_UInt32, +win_UInt32 +); + EventEnabledDebugIPCEventStart(); +Error |= FireEtwDebugIPCEventStart( +); + EventEnabledDebugIPCEventEnd(); +Error |= FireEtwDebugIPCEventEnd( +); + EventEnabledDebugExceptionProcessingStart(); +Error |= FireEtwDebugExceptionProcessingStart( +); + EventEnabledDebugExceptionProcessingEnd(); +Error |= FireEtwDebugExceptionProcessingEnd( +); + EventEnabledCodeSymbols(); +Error |= FireEtwCodeSymbols( +win_UInt64, +win_UInt16, +win_UInt16, +win_UInt32, +win_Binary, +win_UInt16 +); + EventEnabledCLRStackWalkDCStart(); +Error |= FireEtwCLRStackWalkDCStart( +win_UInt16, +win_UInt8, +win_UInt8, +win_UInt32, +(const void**)&var11 +); + EventEnabledMethodDCStart(); +Error |= FireEtwMethodDCStart( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32 +); + EventEnabledMethodDCStart_V1(); +Error |= FireEtwMethodDCStart_V1( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt16 +); + EventEnabledMethodDCStart_V2(); +Error |= FireEtwMethodDCStart_V2( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt16, +win_UInt64 +); + EventEnabledMethodDCEnd(); +Error |= FireEtwMethodDCEnd( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32 +); + EventEnabledMethodDCEnd_V1(); +Error |= FireEtwMethodDCEnd_V1( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt16 +); + EventEnabledMethodDCEnd_V2(); +Error |= FireEtwMethodDCEnd_V2( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt16, +win_UInt64 +); + EventEnabledMethodDCStartVerbose(); +Error |= FireEtwMethodDCStartVerbose( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString ") +); + EventEnabledMethodDCStartVerbose_V1(); +Error |= FireEtwMethodDCStartVerbose_V1( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledMethodDCStartVerbose_V2(); +Error |= FireEtwMethodDCStartVerbose_V2( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16, +win_UInt64 +); + EventEnabledMethodDCEndVerbose(); +Error |= FireEtwMethodDCEndVerbose( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString ") +); + EventEnabledMethodDCEndVerbose_V1(); +Error |= FireEtwMethodDCEndVerbose_V1( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledMethodDCEndVerbose_V2(); +Error |= FireEtwMethodDCEndVerbose_V2( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16, +win_UInt64 +); + EventEnabledDCStartComplete(); +Error |= FireEtwDCStartComplete( +); + EventEnabledDCStartComplete_V1(); +Error |= FireEtwDCStartComplete_V1( +win_UInt16 +); + EventEnabledDCEndComplete(); +Error |= FireEtwDCEndComplete( +); + EventEnabledDCEndComplete_V1(); +Error |= FireEtwDCEndComplete_V1( +win_UInt16 +); + EventEnabledDCStartInit(); +Error |= FireEtwDCStartInit( +); + EventEnabledDCStartInit_V1(); +Error |= FireEtwDCStartInit_V1( +win_UInt16 +); + EventEnabledDCEndInit(); +Error |= FireEtwDCEndInit( +); + EventEnabledDCEndInit_V1(); +Error |= FireEtwDCEndInit_V1( +win_UInt16 +); + EventEnabledMethodDCStartILToNativeMap(); +Error |= FireEtwMethodDCStartILToNativeMap( +win_UInt64, +win_UInt64, +win_UInt8, +win_UInt16, +&win_UInt32, +&win_UInt32, +win_UInt16 +); + EventEnabledMethodDCEndILToNativeMap(); +Error |= FireEtwMethodDCEndILToNativeMap( +win_UInt64, +win_UInt64, +win_UInt8, +win_UInt16, +&win_UInt32, +&win_UInt32, +win_UInt16 +); + EventEnabledDomainModuleDCStart(); +Error |= FireEtwDomainModuleDCStart( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString ") +); + EventEnabledDomainModuleDCStart_V1(); +Error |= FireEtwDomainModuleDCStart_V1( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledDomainModuleDCEnd(); +Error |= FireEtwDomainModuleDCEnd( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString ") +); + EventEnabledDomainModuleDCEnd_V1(); +Error |= FireEtwDomainModuleDCEnd_V1( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledModuleDCStart(); +Error |= FireEtwModuleDCStart( +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString ") +); + EventEnabledModuleDCStart_V1(); +Error |= FireEtwModuleDCStart_V1( +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledModuleDCStart_V2(); +Error |= FireEtwModuleDCStart_V2( +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16, +&myGuid, +win_UInt32, +W(" Testing UnicodeString "), +&myGuid, +win_UInt32, +W(" Testing UnicodeString ") +); + EventEnabledModuleDCEnd(); +Error |= FireEtwModuleDCEnd( +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString ") +); + EventEnabledModuleDCEnd_V1(); +Error |= FireEtwModuleDCEnd_V1( +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledModuleDCEnd_V2(); +Error |= FireEtwModuleDCEnd_V2( +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16, +&myGuid, +win_UInt32, +W(" Testing UnicodeString "), +&myGuid, +win_UInt32, +W(" Testing UnicodeString ") +); + EventEnabledAssemblyDCStart(); +Error |= FireEtwAssemblyDCStart( +win_UInt64, +win_UInt64, +win_UInt32, +W(" Testing UnicodeString ") +); + EventEnabledAssemblyDCStart_V1(); +Error |= FireEtwAssemblyDCStart_V1( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledAssemblyDCEnd(); +Error |= FireEtwAssemblyDCEnd( +win_UInt64, +win_UInt64, +win_UInt32, +W(" Testing UnicodeString ") +); + EventEnabledAssemblyDCEnd_V1(); +Error |= FireEtwAssemblyDCEnd_V1( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledAppDomainDCStart(); +Error |= FireEtwAppDomainDCStart( +win_UInt64, +win_UInt32, +W(" Testing UnicodeString ") +); + EventEnabledAppDomainDCStart_V1(); +Error |= FireEtwAppDomainDCStart_V1( +win_UInt64, +win_UInt32, +W(" Testing UnicodeString "), +win_UInt32, +win_UInt16 +); + EventEnabledAppDomainDCEnd(); +Error |= FireEtwAppDomainDCEnd( +win_UInt64, +win_UInt32, +W(" Testing UnicodeString ") +); + EventEnabledAppDomainDCEnd_V1(); +Error |= FireEtwAppDomainDCEnd_V1( +win_UInt64, +win_UInt32, +W(" Testing UnicodeString "), +win_UInt32, +win_UInt16 +); + EventEnabledThreadDC(); +Error |= FireEtwThreadDC( +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt16 +); + EventEnabledModuleRangeDCStart(); +Error |= FireEtwModuleRangeDCStart( +win_UInt16, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt8 +); + EventEnabledModuleRangeDCEnd(); +Error |= FireEtwModuleRangeDCEnd( +win_UInt16, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt8 +); + EventEnabledRuntimeInformationDCStart(); +Error |= FireEtwRuntimeInformationDCStart( +win_UInt16, +win_UInt16, +win_UInt16, +win_UInt16, +win_UInt16, +win_UInt16, +win_UInt16, +win_UInt16, +win_UInt16, +win_UInt16, +win_UInt32, +win_UInt8, +W(" Testing UnicodeString "), +&myGuid, +W(" Testing UnicodeString ") +); + EventEnabledStressLogEvent(); +Error |= FireEtwStressLogEvent( +win_UInt32, +win_UInt8, +" Testing AniString " +); + EventEnabledStressLogEvent_V1(); +Error |= FireEtwStressLogEvent_V1( +win_UInt32, +win_UInt8, +" Testing AniString ", +win_UInt16 +); + EventEnabledCLRStackWalkStress(); +Error |= FireEtwCLRStackWalkStress( +win_UInt16, +win_UInt8, +win_UInt8, +win_UInt32, +(const void**)&var11 +); + EventEnabledGCDecision(); +Error |= FireEtwGCDecision( +win_Boolean +); + EventEnabledGCDecision_V1(); +Error |= FireEtwGCDecision_V1( +win_Boolean, +win_UInt16 +); + EventEnabledGCSettings(); +Error |= FireEtwGCSettings( +win_UInt64, +win_UInt64, +win_Boolean +); + EventEnabledGCSettings_V1(); +Error |= FireEtwGCSettings_V1( +win_UInt64, +win_UInt64, +win_Boolean, +win_UInt16 +); + EventEnabledGCOptimized(); +Error |= FireEtwGCOptimized( +win_UInt64, +win_UInt64, +win_UInt32 +); + EventEnabledGCOptimized_V1(); +Error |= FireEtwGCOptimized_V1( +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt16 +); + EventEnabledGCPerHeapHistory(); +Error |= FireEtwGCPerHeapHistory( +); + EventEnabledGCPerHeapHistory_V1(); +Error |= FireEtwGCPerHeapHistory_V1( +win_UInt16 +); + EventEnabledGCGlobalHeapHistory(); +Error |= FireEtwGCGlobalHeapHistory( +win_UInt64, +win_Int32, +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt32 +); + EventEnabledGCGlobalHeapHistory_V1(); +Error |= FireEtwGCGlobalHeapHistory_V1( +win_UInt64, +win_Int32, +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt16 +); + EventEnabledGCJoin(); +Error |= FireEtwGCJoin( +win_UInt32, +win_UInt32, +win_UInt32 +); + EventEnabledGCJoin_V1(); +Error |= FireEtwGCJoin_V1( +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt16 +); + EventEnabledPrvGCMarkStackRoots(); +Error |= FireEtwPrvGCMarkStackRoots( +win_UInt32 +); + EventEnabledPrvGCMarkStackRoots_V1(); +Error |= FireEtwPrvGCMarkStackRoots_V1( +win_UInt32, +win_UInt16 +); + EventEnabledPrvGCMarkFinalizeQueueRoots(); +Error |= FireEtwPrvGCMarkFinalizeQueueRoots( +win_UInt32 +); + EventEnabledPrvGCMarkFinalizeQueueRoots_V1(); +Error |= FireEtwPrvGCMarkFinalizeQueueRoots_V1( +win_UInt32, +win_UInt16 +); + EventEnabledPrvGCMarkHandles(); +Error |= FireEtwPrvGCMarkHandles( +win_UInt32 +); + EventEnabledPrvGCMarkHandles_V1(); +Error |= FireEtwPrvGCMarkHandles_V1( +win_UInt32, +win_UInt16 +); + EventEnabledPrvGCMarkCards(); +Error |= FireEtwPrvGCMarkCards( +win_UInt32 +); + EventEnabledPrvGCMarkCards_V1(); +Error |= FireEtwPrvGCMarkCards_V1( +win_UInt32, +win_UInt16 +); + EventEnabledBGCBegin(); +Error |= FireEtwBGCBegin( +win_UInt16 +); + EventEnabledBGC1stNonConEnd(); +Error |= FireEtwBGC1stNonConEnd( +win_UInt16 +); + EventEnabledBGC1stConEnd(); +Error |= FireEtwBGC1stConEnd( +win_UInt16 +); + EventEnabledBGC2ndNonConBegin(); +Error |= FireEtwBGC2ndNonConBegin( +win_UInt16 +); + EventEnabledBGC2ndNonConEnd(); +Error |= FireEtwBGC2ndNonConEnd( +win_UInt16 +); + EventEnabledBGC2ndConBegin(); +Error |= FireEtwBGC2ndConBegin( +win_UInt16 +); + EventEnabledBGC2ndConEnd(); +Error |= FireEtwBGC2ndConEnd( +win_UInt16 +); + EventEnabledBGCPlanEnd(); +Error |= FireEtwBGCPlanEnd( +win_UInt16 +); + EventEnabledBGCSweepEnd(); +Error |= FireEtwBGCSweepEnd( +win_UInt16 +); + EventEnabledBGCDrainMark(); +Error |= FireEtwBGCDrainMark( +win_UInt64, +win_UInt16 +); + EventEnabledBGCRevisit(); +Error |= FireEtwBGCRevisit( +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt16 +); + EventEnabledBGCOverflow(); +Error |= FireEtwBGCOverflow( +win_UInt64, +win_UInt64, +win_UInt64, +win_UInt32, +win_UInt16 +); + EventEnabledBGCAllocWaitBegin(); +Error |= FireEtwBGCAllocWaitBegin( +win_UInt32, +win_UInt16 +); + EventEnabledBGCAllocWaitEnd(); +Error |= FireEtwBGCAllocWaitEnd( +win_UInt32, +win_UInt16 +); + EventEnabledGCFullNotify(); +Error |= FireEtwGCFullNotify( +win_UInt32, +win_UInt32 +); + EventEnabledGCFullNotify_V1(); +Error |= FireEtwGCFullNotify_V1( +win_UInt32, +win_UInt32, +win_UInt16 +); + EventEnabledEEStartupStart(); +Error |= FireEtwEEStartupStart( +); + EventEnabledEEStartupStart_V1(); +Error |= FireEtwEEStartupStart_V1( +win_UInt16 +); + EventEnabledEEStartupEnd(); +Error |= FireEtwEEStartupEnd( +); + EventEnabledEEStartupEnd_V1(); +Error |= FireEtwEEStartupEnd_V1( +win_UInt16 +); + EventEnabledEEConfigSetup(); +Error |= FireEtwEEConfigSetup( +); + EventEnabledEEConfigSetup_V1(); +Error |= FireEtwEEConfigSetup_V1( +win_UInt16 +); + EventEnabledEEConfigSetupEnd(); +Error |= FireEtwEEConfigSetupEnd( +); + EventEnabledEEConfigSetupEnd_V1(); +Error |= FireEtwEEConfigSetupEnd_V1( +win_UInt16 +); + EventEnabledLdSysBases(); +Error |= FireEtwLdSysBases( +); + EventEnabledLdSysBases_V1(); +Error |= FireEtwLdSysBases_V1( +win_UInt16 +); + EventEnabledLdSysBasesEnd(); +Error |= FireEtwLdSysBasesEnd( +); + EventEnabledLdSysBasesEnd_V1(); +Error |= FireEtwLdSysBasesEnd_V1( +win_UInt16 +); + EventEnabledExecExe(); +Error |= FireEtwExecExe( +); + EventEnabledExecExe_V1(); +Error |= FireEtwExecExe_V1( +win_UInt16 +); + EventEnabledExecExeEnd(); +Error |= FireEtwExecExeEnd( +); + EventEnabledExecExeEnd_V1(); +Error |= FireEtwExecExeEnd_V1( +win_UInt16 +); + EventEnabledMain(); +Error |= FireEtwMain( +); + EventEnabledMain_V1(); +Error |= FireEtwMain_V1( +win_UInt16 +); + EventEnabledMainEnd(); +Error |= FireEtwMainEnd( +); + EventEnabledMainEnd_V1(); +Error |= FireEtwMainEnd_V1( +win_UInt16 +); + EventEnabledApplyPolicyStart(); +Error |= FireEtwApplyPolicyStart( +); + EventEnabledApplyPolicyStart_V1(); +Error |= FireEtwApplyPolicyStart_V1( +win_UInt16 +); + EventEnabledApplyPolicyEnd(); +Error |= FireEtwApplyPolicyEnd( +); + EventEnabledApplyPolicyEnd_V1(); +Error |= FireEtwApplyPolicyEnd_V1( +win_UInt16 +); + EventEnabledLdLibShFolder(); +Error |= FireEtwLdLibShFolder( +); + EventEnabledLdLibShFolder_V1(); +Error |= FireEtwLdLibShFolder_V1( +win_UInt16 +); + EventEnabledLdLibShFolderEnd(); +Error |= FireEtwLdLibShFolderEnd( +); + EventEnabledLdLibShFolderEnd_V1(); +Error |= FireEtwLdLibShFolderEnd_V1( +win_UInt16 +); + EventEnabledPrestubWorker(); +Error |= FireEtwPrestubWorker( +); + EventEnabledPrestubWorker_V1(); +Error |= FireEtwPrestubWorker_V1( +win_UInt16 +); + EventEnabledPrestubWorkerEnd(); +Error |= FireEtwPrestubWorkerEnd( +); + EventEnabledPrestubWorkerEnd_V1(); +Error |= FireEtwPrestubWorkerEnd_V1( +win_UInt16 +); + EventEnabledGetInstallationStart(); +Error |= FireEtwGetInstallationStart( +); + EventEnabledGetInstallationStart_V1(); +Error |= FireEtwGetInstallationStart_V1( +win_UInt16 +); + EventEnabledGetInstallationEnd(); +Error |= FireEtwGetInstallationEnd( +); + EventEnabledGetInstallationEnd_V1(); +Error |= FireEtwGetInstallationEnd_V1( +win_UInt16 +); + EventEnabledOpenHModule(); +Error |= FireEtwOpenHModule( +); + EventEnabledOpenHModule_V1(); +Error |= FireEtwOpenHModule_V1( +win_UInt16 +); + EventEnabledOpenHModuleEnd(); +Error |= FireEtwOpenHModuleEnd( +); + EventEnabledOpenHModuleEnd_V1(); +Error |= FireEtwOpenHModuleEnd_V1( +win_UInt16 +); + EventEnabledExplicitBindStart(); +Error |= FireEtwExplicitBindStart( +); + EventEnabledExplicitBindStart_V1(); +Error |= FireEtwExplicitBindStart_V1( +win_UInt16 +); + EventEnabledExplicitBindEnd(); +Error |= FireEtwExplicitBindEnd( +); + EventEnabledExplicitBindEnd_V1(); +Error |= FireEtwExplicitBindEnd_V1( +win_UInt16 +); + EventEnabledParseXml(); +Error |= FireEtwParseXml( +); + EventEnabledParseXml_V1(); +Error |= FireEtwParseXml_V1( +win_UInt16 +); + EventEnabledParseXmlEnd(); +Error |= FireEtwParseXmlEnd( +); + EventEnabledParseXmlEnd_V1(); +Error |= FireEtwParseXmlEnd_V1( +win_UInt16 +); + EventEnabledInitDefaultDomain(); +Error |= FireEtwInitDefaultDomain( +); + EventEnabledInitDefaultDomain_V1(); +Error |= FireEtwInitDefaultDomain_V1( +win_UInt16 +); + EventEnabledInitDefaultDomainEnd(); +Error |= FireEtwInitDefaultDomainEnd( +); + EventEnabledInitDefaultDomainEnd_V1(); +Error |= FireEtwInitDefaultDomainEnd_V1( +win_UInt16 +); + EventEnabledInitSecurity(); +Error |= FireEtwInitSecurity( +); + EventEnabledInitSecurity_V1(); +Error |= FireEtwInitSecurity_V1( +win_UInt16 +); + EventEnabledInitSecurityEnd(); +Error |= FireEtwInitSecurityEnd( +); + EventEnabledInitSecurityEnd_V1(); +Error |= FireEtwInitSecurityEnd_V1( +win_UInt16 +); + EventEnabledAllowBindingRedirs(); +Error |= FireEtwAllowBindingRedirs( +); + EventEnabledAllowBindingRedirs_V1(); +Error |= FireEtwAllowBindingRedirs_V1( +win_UInt16 +); + EventEnabledAllowBindingRedirsEnd(); +Error |= FireEtwAllowBindingRedirsEnd( +); + EventEnabledAllowBindingRedirsEnd_V1(); +Error |= FireEtwAllowBindingRedirsEnd_V1( +win_UInt16 +); + EventEnabledEEConfigSync(); +Error |= FireEtwEEConfigSync( +); + EventEnabledEEConfigSync_V1(); +Error |= FireEtwEEConfigSync_V1( +win_UInt16 +); + EventEnabledEEConfigSyncEnd(); +Error |= FireEtwEEConfigSyncEnd( +); + EventEnabledEEConfigSyncEnd_V1(); +Error |= FireEtwEEConfigSyncEnd_V1( +win_UInt16 +); + EventEnabledFusionBinding(); +Error |= FireEtwFusionBinding( +); + EventEnabledFusionBinding_V1(); +Error |= FireEtwFusionBinding_V1( +win_UInt16 +); + EventEnabledFusionBindingEnd(); +Error |= FireEtwFusionBindingEnd( +); + EventEnabledFusionBindingEnd_V1(); +Error |= FireEtwFusionBindingEnd_V1( +win_UInt16 +); + EventEnabledLoaderCatchCall(); +Error |= FireEtwLoaderCatchCall( +); + EventEnabledLoaderCatchCall_V1(); +Error |= FireEtwLoaderCatchCall_V1( +win_UInt16 +); + EventEnabledLoaderCatchCallEnd(); +Error |= FireEtwLoaderCatchCallEnd( +); + EventEnabledLoaderCatchCallEnd_V1(); +Error |= FireEtwLoaderCatchCallEnd_V1( +win_UInt16 +); + EventEnabledFusionInit(); +Error |= FireEtwFusionInit( +); + EventEnabledFusionInit_V1(); +Error |= FireEtwFusionInit_V1( +win_UInt16 +); + EventEnabledFusionInitEnd(); +Error |= FireEtwFusionInitEnd( +); + EventEnabledFusionInitEnd_V1(); +Error |= FireEtwFusionInitEnd_V1( +win_UInt16 +); + EventEnabledFusionAppCtx(); +Error |= FireEtwFusionAppCtx( +); + EventEnabledFusionAppCtx_V1(); +Error |= FireEtwFusionAppCtx_V1( +win_UInt16 +); + EventEnabledFusionAppCtxEnd(); +Error |= FireEtwFusionAppCtxEnd( +); + EventEnabledFusionAppCtxEnd_V1(); +Error |= FireEtwFusionAppCtxEnd_V1( +win_UInt16 +); + EventEnabledFusion2EE(); +Error |= FireEtwFusion2EE( +); + EventEnabledFusion2EE_V1(); +Error |= FireEtwFusion2EE_V1( +win_UInt16 +); + EventEnabledFusion2EEEnd(); +Error |= FireEtwFusion2EEEnd( +); + EventEnabledFusion2EEEnd_V1(); +Error |= FireEtwFusion2EEEnd_V1( +win_UInt16 +); + EventEnabledSecurityCatchCall(); +Error |= FireEtwSecurityCatchCall( +); + EventEnabledSecurityCatchCall_V1(); +Error |= FireEtwSecurityCatchCall_V1( +win_UInt16 +); + EventEnabledSecurityCatchCallEnd(); +Error |= FireEtwSecurityCatchCallEnd( +); + EventEnabledSecurityCatchCallEnd_V1(); +Error |= FireEtwSecurityCatchCallEnd_V1( +win_UInt16 +); + EventEnabledCLRStackWalkPrivate(); +Error |= FireEtwCLRStackWalkPrivate( +win_UInt16, +win_UInt8, +win_UInt8, +win_UInt32, +(const void**)&var11 +); + EventEnabledModuleRangeLoadPrivate(); +Error |= FireEtwModuleRangeLoadPrivate( +win_UInt16, +win_UInt64, +win_UInt32, +win_UInt32, +win_UInt8, +win_UInt8, +win_UInt16 +); + EventEnabledBindingPolicyPhaseStart(); +Error |= FireEtwBindingPolicyPhaseStart( +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledBindingPolicyPhaseEnd(); +Error |= FireEtwBindingPolicyPhaseEnd( +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledBindingNgenPhaseStart(); +Error |= FireEtwBindingNgenPhaseStart( +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledBindingNgenPhaseEnd(); +Error |= FireEtwBindingNgenPhaseEnd( +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledBindingLookupAndProbingPhaseStart(); +Error |= FireEtwBindingLookupAndProbingPhaseStart( +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledBindingLookupAndProbingPhaseEnd(); +Error |= FireEtwBindingLookupAndProbingPhaseEnd( +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledLoaderPhaseStart(); +Error |= FireEtwLoaderPhaseStart( +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledLoaderPhaseEnd(); +Error |= FireEtwLoaderPhaseEnd( +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledBindingPhaseStart(); +Error |= FireEtwBindingPhaseStart( +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledBindingPhaseEnd(); +Error |= FireEtwBindingPhaseEnd( +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledBindingDownloadPhaseStart(); +Error |= FireEtwBindingDownloadPhaseStart( +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledBindingDownloadPhaseEnd(); +Error |= FireEtwBindingDownloadPhaseEnd( +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledLoaderAssemblyInitPhaseStart(); +Error |= FireEtwLoaderAssemblyInitPhaseStart( +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledLoaderAssemblyInitPhaseEnd(); +Error |= FireEtwLoaderAssemblyInitPhaseEnd( +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledLoaderMappingPhaseStart(); +Error |= FireEtwLoaderMappingPhaseStart( +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledLoaderMappingPhaseEnd(); +Error |= FireEtwLoaderMappingPhaseEnd( +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledLoaderDeliverEventsPhaseStart(); +Error |= FireEtwLoaderDeliverEventsPhaseStart( +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledLoaderDeliverEventsPhaseEnd(); +Error |= FireEtwLoaderDeliverEventsPhaseEnd( +win_UInt32, +win_UInt32, +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledEvidenceGenerated(); +Error |= FireEtwEvidenceGenerated( +win_UInt32, +win_UInt32, +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledModuleTransparencyComputationStart(); +Error |= FireEtwModuleTransparencyComputationStart( +W(" Testing UnicodeString "), +win_UInt32, +win_UInt16 +); + EventEnabledModuleTransparencyComputationEnd(); +Error |= FireEtwModuleTransparencyComputationEnd( +W(" Testing UnicodeString "), +win_UInt32, +win_Boolean, +win_Boolean, +win_Boolean, +win_Boolean, +win_UInt32, +win_UInt16 +); + EventEnabledTypeTransparencyComputationStart(); +Error |= FireEtwTypeTransparencyComputationStart( +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt32, +win_UInt16 +); + EventEnabledTypeTransparencyComputationEnd(); +Error |= FireEtwTypeTransparencyComputationEnd( +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt32, +win_Boolean, +win_Boolean, +win_Boolean, +win_Boolean, +win_UInt16 +); + EventEnabledMethodTransparencyComputationStart(); +Error |= FireEtwMethodTransparencyComputationStart( +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt32, +win_UInt16 +); + EventEnabledMethodTransparencyComputationEnd(); +Error |= FireEtwMethodTransparencyComputationEnd( +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt32, +win_Boolean, +win_Boolean, +win_UInt16 +); + EventEnabledFieldTransparencyComputationStart(); +Error |= FireEtwFieldTransparencyComputationStart( +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt32, +win_UInt16 +); + EventEnabledFieldTransparencyComputationEnd(); +Error |= FireEtwFieldTransparencyComputationEnd( +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt32, +win_Boolean, +win_Boolean, +win_UInt16 +); + EventEnabledTokenTransparencyComputationStart(); +Error |= FireEtwTokenTransparencyComputationStart( +win_UInt32, +W(" Testing UnicodeString "), +win_UInt32, +win_UInt16 +); + EventEnabledTokenTransparencyComputationEnd(); +Error |= FireEtwTokenTransparencyComputationEnd( +win_UInt32, +W(" Testing UnicodeString "), +win_UInt32, +win_Boolean, +win_Boolean, +win_UInt16 +); + EventEnabledNgenBindEvent(); +Error |= FireEtwNgenBindEvent( +win_UInt16, +win_UInt64, +win_UInt32, +W(" Testing UnicodeString ") +); + EventEnabledFailFast(); +Error |= FireEtwFailFast( +W(" Testing UnicodeString "), +(const void*)var11, +win_UInt32, +win_UInt32, +win_UInt16 +); + EventEnabledPrvFinalizeObject(); +Error |= FireEtwPrvFinalizeObject( +(const void*)var11, +(const void*)var11, +win_UInt16, +W(" Testing UnicodeString ") +); + EventEnabledCCWRefCountChange(); +Error |= FireEtwCCWRefCountChange( +(const void*)var11, +(const void*)var11, +(const void*)var11, +win_UInt32, +win_UInt64, +" Testing AniString ", +" Testing AniString ", +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledPrvSetGCHandle(); +Error |= FireEtwPrvSetGCHandle( +(const void*)var11, +(const void*)var11, +win_UInt32, +win_UInt32, +win_UInt64, +win_UInt16 +); + EventEnabledPrvDestroyGCHandle(); +Error |= FireEtwPrvDestroyGCHandle( +(const void*)var11, +win_UInt16 +); + EventEnabledFusionMessageEvent(); +Error |= FireEtwFusionMessageEvent( +win_UInt16, +win_Boolean, +W(" Testing UnicodeString ") +); + EventEnabledFusionErrorCodeEvent(); +Error |= FireEtwFusionErrorCodeEvent( +win_UInt16, +win_UInt32, +win_UInt32 +); + EventEnabledPinPlugAtGCTime(); +Error |= FireEtwPinPlugAtGCTime( +(const void*)var11, +(const void*)var11, +(const void*)var11, +win_UInt16 +); + EventEnabledAllocRequest(); +Error |= FireEtwAllocRequest( +(const void*)var11, +(const void*)var11, +win_UInt32, +win_UInt32, +win_UInt64, +win_UInt16 +); + EventEnabledMulticoreJit(); +Error |= FireEtwMulticoreJit( +win_UInt16, +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_Int32, +win_Int32, +win_Int32 +); + EventEnabledMulticoreJitMethodCodeReturned(); +Error |= FireEtwMulticoreJitMethodCodeReturned( +win_UInt16, +win_UInt64, +win_UInt64 +); + EventEnabledIInspectableRuntimeClassName(); +Error |= FireEtwIInspectableRuntimeClassName( +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledWinRTUnbox(); +Error |= FireEtwWinRTUnbox( +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledCreateRCW(); +Error |= FireEtwCreateRCW( +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledRCWVariance(); +Error |= FireEtwRCWVariance( +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledRCWIEnumerableCasting(); +Error |= FireEtwRCWIEnumerableCasting( +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledCreateCCW(); +Error |= FireEtwCreateCCW( +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledCCWVariance(); +Error |= FireEtwCCWVariance( +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledObjectVariantMarshallingToNative(); +Error |= FireEtwObjectVariantMarshallingToNative( +W(" Testing UnicodeString "), +win_Int32, +win_UInt16 +); + EventEnabledGetTypeFromGUID(); +Error |= FireEtwGetTypeFromGUID( +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledGetTypeFromProgID(); +Error |= FireEtwGetTypeFromProgID( +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledConvertToCallbackEtw(); +Error |= FireEtwConvertToCallbackEtw( +W(" Testing UnicodeString "), +W(" Testing UnicodeString "), +win_UInt16 +); + EventEnabledBeginCreateManagedReference(); +Error |= FireEtwBeginCreateManagedReference( +win_UInt16 +); + EventEnabledEndCreateManagedReference(); +Error |= FireEtwEndCreateManagedReference( +win_UInt16 +); + EventEnabledObjectVariantMarshallingToManaged(); +Error |= FireEtwObjectVariantMarshallingToManaged( +W(" Testing UnicodeString "), +win_Int32, +win_UInt16 +); + /* Shutdown the PAL. + */ + + if (Error != ERROR_SUCCESS) + { + Fail("One or more eventing Apis failed\n "); + return FAIL; + } + Trace("\n All eventing APIs were fired succesfully \n"); +#endif //defined(FEATURE_EVENT_TRACE) + PAL_Terminate(); + return PASS; +} + diff --git a/src/pal/tests/palsuite/eventprovider/testinfo.dat b/src/pal/tests/palsuite/eventprovider/testinfo.dat new file mode 100644 index 0000000000..6c77216121 --- /dev/null +++ b/src/pal/tests/palsuite/eventprovider/testinfo.dat @@ -0,0 +1,13 @@ +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# + +Version = 1.0 +Section = EventProvider +Function = EventProvider +Name = PAL test for FireEtW* and EventEnabled* functions +TYPE = DEFAULT +EXE1 = eventprovidertest +Description +=This is a sanity test to check that there are no crashes in PAL eventing + diff --git a/src/pal/tests/palsuite/paltestlist.txt b/src/pal/tests/palsuite/paltestlist.txt index 2dbcd034a6..dd14f757f5 100644 --- a/src/pal/tests/palsuite/paltestlist.txt +++ b/src/pal/tests/palsuite/paltestlist.txt @@ -801,3 +801,4 @@ threading/WaitForSingleObject/WFSOMutexTest/paltest_waitforsingleobject_wfsomute threading/WaitForSingleObject/WFSOSemaphoreTest/paltest_waitforsingleobject_wfsosemaphoretest threading/WaitForSingleObject/WFSOThreadTest/paltest_waitforsingleobject_wfsothreadtest threading/YieldProcessor/test1/paltest_yieldprocessor_test1 +eventprovider/eventprovidertest diff --git a/src/vm/CMakeLists.txt b/src/vm/CMakeLists.txt index e1e6138644..e9e59f82fb 100644 --- a/src/vm/CMakeLists.txt +++ b/src/vm/CMakeLists.txt @@ -265,6 +265,12 @@ set(VM_SOURCES_WKS weakreferencenative.cpp ) +if(CLR_CMAKE_PLATFORM_LINUX OR WIN32) + list(APPEND VM_SOURCES_WKS + eventtrace.cpp + ) +endif(CLR_CMAKE_PLATFORM_LINUX OR WIN32) + if(WIN32) set(VM_SOURCES_DAC_AND_WKS_WIN32 @@ -293,7 +299,6 @@ list(APPEND VM_SOURCES_WKS dispparammarshaler.cpp dwreport.cpp eventreporter.cpp - eventtrace.cpp extensibleclassfactory.cpp microsoft.comservices_i.c mngstdinterfaces.cpp diff --git a/src/vm/eventtrace.cpp b/src/vm/eventtrace.cpp index ecedc32520..90dbf0bfc8 100644 --- a/src/vm/eventtrace.cpp +++ b/src/vm/eventtrace.cpp @@ -232,6 +232,7 @@ extern "C" /*************************************/ /* Function to append a frame to an existing stack */ /*************************************/ +#if !defined(FEATURE_PAL) void ETW::SamplingLog::Append(SIZE_T currentFrame) { LIMITED_METHOD_CONTRACT; @@ -323,7 +324,6 @@ ETW::SamplingLog::EtwStackWalkStatus ETW::SamplingLog::SaveCurrentStack(int skip if (pThread->m_State & Thread::TS_Hijacked) { return ETW::SamplingLog::UnInitialized; } - if (pThread->IsEtwStackWalkInProgress()) { return ETW::SamplingLog::InProgress; @@ -412,6 +412,7 @@ ETW::SamplingLog::EtwStackWalkStatus ETW::SamplingLog::SaveCurrentStack(int skip return ETW::SamplingLog::Completed; } +#endif // !defined(FEATURE_PAL) #endif // !FEATURE_REDHAWK /****************************************************************************/ @@ -1198,6 +1199,7 @@ void BulkComLogger::FlushRcw() unsigned short instance = GetClrInstanceId(); +#if !defined(FEATURE_PAL) EVENT_DATA_DESCRIPTOR eventData[3]; EventDataDescCreate(&eventData[0], &m_currRcw, sizeof(const unsigned int)); EventDataDescCreate(&eventData[1], &instance, sizeof(const unsigned short)); @@ -1205,6 +1207,9 @@ void BulkComLogger::FlushRcw() ULONG result = EventWrite(Microsoft_Windows_DotNETRuntimeHandle, &GCBulkRCW, _countof(eventData), eventData); _ASSERTE(result == ERROR_SUCCESS); +#else +// UNIXTODO: "Eventing Not Implemented" +#endif // !defined(FEATURE_PAL) m_currRcw = 0; } @@ -1282,6 +1287,7 @@ void BulkComLogger::FlushCcw() unsigned short instance = GetClrInstanceId(); +#if !defined(FEATURE_PAL) EVENT_DATA_DESCRIPTOR eventData[3]; EventDataDescCreate(&eventData[0], &m_currCcw, sizeof(const unsigned int)); EventDataDescCreate(&eventData[1], &instance, sizeof(const unsigned short)); @@ -1289,6 +1295,10 @@ void BulkComLogger::FlushCcw() ULONG result = EventWrite(Microsoft_Windows_DotNETRuntimeHandle, &GCBulkRootCCW, _countof(eventData), eventData); _ASSERTE(result == ERROR_SUCCESS); +#else +// UNIXTODO: "Eventing Not Implemented" +#endif //!defined(FEATURE_PAL) + m_currCcw = 0; } @@ -1480,6 +1490,7 @@ void BulkStaticsLogger::FireBulkStaticsEvent() unsigned short instance = GetClrInstanceId(); unsigned __int64 appDomain = (unsigned __int64)m_domain; +#if !defined(FEATURE_PAL) EVENT_DATA_DESCRIPTOR eventData[4]; EventDataDescCreate(&eventData[0], &m_count, sizeof(const unsigned int) ); EventDataDescCreate(&eventData[1], &appDomain, sizeof(unsigned __int64) ); @@ -1488,6 +1499,9 @@ void BulkStaticsLogger::FireBulkStaticsEvent() ULONG result = EventWrite(Microsoft_Windows_DotNETRuntimeHandle, &GCBulkRootStaticVar, _countof(eventData), eventData); _ASSERTE(result == ERROR_SUCCESS); +#else +// UNIXTODO: "Eventing Not Implemented" +#endif //!defined(FEATURE_PAL) m_used = 0; m_count = 0; @@ -1642,12 +1656,13 @@ void BulkStaticsLogger::LogAllStatics() // be logged via ETW in bulk //--------------------------------------------------------------------------------------- -BulkTypeValue::BulkTypeValue() : cTypeParameters(0), rgTypeParameters() +BulkTypeValue::BulkTypeValue() : cTypeParameters(0) #ifdef FEATURE_REDHAWK , ullSingleTypeParameter(0) #else // FEATURE_REDHAWK , sName() #endif // FEATURE_REDHAWK +, rgTypeParameters() { LIMITED_METHOD_CONTRACT; ZeroMemory(&fixedSizedData, sizeof(fixedSizedData)); @@ -1686,6 +1701,7 @@ void BulkTypeValue::Clear() // // +#if !defined(FEATURE_PAL) void BulkTypeEventLogger::FireBulkTypeEvent() { LIMITED_METHOD_CONTRACT; @@ -1774,6 +1790,12 @@ void BulkTypeEventLogger::FireBulkTypeEvent() m_nBulkTypeValueByteCount = 0; } +#else +void BulkTypeEventLogger::FireBulkTypeEvent() +{ +// UNIXTODO: "Eventing Not Implemented" +} +#endif //!defined(FEATURE_PAL) #ifndef FEATURE_REDHAWK //--------------------------------------------------------------------------------------- @@ -2278,9 +2300,9 @@ VOID ETW::GCLog::RootReference( switch (nRootKind) { case kEtwGCRootKindStack: -#ifndef FEATURE_REDHAWK +#if !defined (FEATURE_REDHAWK) && (defined(GC_PROFILING) || defined (DACCESS_COMPILE)) pvRootID = profilingScanContext->pMD; -#endif // !FEATURE_REDHAWK +#endif // !defined (FEATURE_REDHAWK) && (defined(GC_PROFILING) || defined (DACCESS_COMPILE)) break; case kEtwGCRootKindHandle: @@ -2357,7 +2379,6 @@ VOID ETW::GCLog::RootReference( } } - //--------------------------------------------------------------------------------------- // // Called during a heap walk for each object reference encountered. Batches up the @@ -4205,6 +4226,7 @@ Return Value: --*/ +#if !defined(FEATURE_PAL) void InitializeEventTracing() { CONTRACTL @@ -4235,7 +4257,6 @@ void InitializeEventTracing() // providers can do so now ETW::TypeSystemLog::PostRegistrationInit(); } - HRESULT ETW::CEtwTracer::Register() { WRAPPER_NO_CONTRACT; @@ -4298,7 +4319,6 @@ Return Value: HRESULT ETW::CEtwTracer::UnRegister() { LIMITED_METHOD_CONTRACT; - EventUnregisterMicrosoft_Windows_DotNETRuntime(); EventUnregisterMicrosoft_Windows_DotNETRuntimePrivate(); EventUnregisterMicrosoft_Windows_DotNETRuntimeRundown(); @@ -4483,7 +4503,11 @@ extern "C" } } +#else + +void InitializeEventTracing(){} +#endif // !defined(FEATURE_PAL) #endif // FEATURE_REDHAWK #ifndef FEATURE_REDHAWK @@ -4875,8 +4899,8 @@ VOID ETW::InfoLog::RuntimeInformation(INT32 type) LPCGUID comGUID=&g_EEComObjectGuid; - LPWSTR lpwszCommandLine = W(""); - LPWSTR lpwszRuntimeDllPath = (LPWSTR)dllPath; + PCWSTR lpwszCommandLine = W(""); + PCWSTR lpwszRuntimeDllPath = (PCWSTR)dllPath; #ifndef FEATURE_CORECLR startupFlags = CorHost2::GetStartupFlags(); @@ -4990,6 +5014,7 @@ VOID ETW::InfoLog::RuntimeInformation(INT32 type) VOID ETW::CodeSymbolLog::EmitCodeSymbols(Module* pModule) { +#if !defined(FEATURE_PAL) //UNIXTODO: Enable EmitCodeSymbols CONTRACTL { NOTHROW; GC_NOTRIGGER; @@ -5047,6 +5072,7 @@ VOID ETW::CodeSymbolLog::EmitCodeSymbols(Module* pModule) } } } EX_CATCH{} EX_END_CATCH(SwallowAllExceptions); +#endif// !defined(FEATURE_PAL) } /* Returns the length of an in-memory symbol stream @@ -6099,7 +6125,7 @@ VOID ETW::LoaderLog::SendModuleEvent(Module *pModule, DWORD dwEventOptions, BOOL CV_INFO_PDB70 cvInfoNative = {0}; GetCodeViewInfo(pModule, &cvInfoIL, &cvInfoNative); - PWCHAR ModuleILPath=W(""), ModuleNativePath=W(""); + PWCHAR ModuleILPath=(PWCHAR)W(""), ModuleNativePath=(PWCHAR)W(""); if(bFireDomainModuleEvents) { diff --git a/src/vm/excep.cpp b/src/vm/excep.cpp index 8abfadbf24..5259e91d1a 100644 --- a/src/vm/excep.cpp +++ b/src/vm/excep.cpp @@ -5408,7 +5408,7 @@ LONG InternalUnhandledExceptionFilter_Worker( #endif // DEBUGGING_SUPPORTED -#ifdef FEATURE_EVENT_TRACE +#if defined(FEATURE_EVENT_TRACE) && !defined(FEATURE_PAL) DoReportForUnhandledException(pParam->pExceptionInfo); #endif // FEATURE_EVENT_TRACE diff --git a/src/vm/jithelpers.cpp b/src/vm/jithelpers.cpp index 7f404fe523..e74285aa34 100644 --- a/src/vm/jithelpers.cpp +++ b/src/vm/jithelpers.cpp @@ -5472,7 +5472,7 @@ void DoJITFailFast () if(ETW_EVENT_ENABLED(MICROSOFT_WINDOWS_DOTNETRUNTIME_PRIVATE_PROVIDER_Context, FailFast)) { // Fire an ETW FailFast event - FireEtwFailFast(L"Unsafe buffer security check failure: Buffer overrun detected", + FireEtwFailFast(W("Unsafe buffer security check failure: Buffer overrun detected"), (const PVOID)GetThread()->GetFrame()->GetIP(), STATUS_STACK_BUFFER_OVERRUN, COR_E_EXECUTIONENGINE, diff --git a/src/vm/method.cpp b/src/vm/method.cpp index fcd96d3e9d..6926ce4b6e 100644 --- a/src/vm/method.cpp +++ b/src/vm/method.cpp @@ -4456,9 +4456,7 @@ void MethodDesc::CheckRestore(ClassLoadLevel level) pIMD->m_wFlags2 = pIMD->m_wFlags2 & ~InstantiatedMethodDesc::Unrestored; } -#if defined(FEATURE_EVENT_TRACE) - if (MICROSOFT_WINDOWS_DOTNETRUNTIME_PROVIDER_Context.IsEnabled) -#endif + if (ETW_PROVIDER_ENABLED(MICROSOFT_WINDOWS_DOTNETRUNTIME_PROVIDER)) { ETW::MethodLog::MethodRestored(this); } @@ -4475,9 +4473,7 @@ void MethodDesc::CheckRestore(ClassLoadLevel level) PTR_DynamicMethodDesc pDynamicMD = AsDynamicMethodDesc(); pDynamicMD->Restore(); -#if defined(FEATURE_EVENT_TRACE) - if (MICROSOFT_WINDOWS_DOTNETRUNTIME_PROVIDER_Context.IsEnabled) -#endif + if (ETW_PROVIDER_ENABLED(MICROSOFT_WINDOWS_DOTNETRUNTIME_PROVIDER)) { ETW::MethodLog::MethodRestored(this); } diff --git a/src/vm/methodtable.cpp b/src/vm/methodtable.cpp index 644b9e60e0..de660268e4 100644 --- a/src/vm/methodtable.cpp +++ b/src/vm/methodtable.cpp @@ -604,9 +604,7 @@ void MethodTable::SetIsRestored() FastInterlockAnd(EnsureWritablePages(&(GetWriteableDataForWrite()->m_dwFlags)), ~MethodTableWriteableData::enum_flag_Unrestored); } #ifndef DACCESS_COMPILE -#if defined(FEATURE_EVENT_TRACE) - if (MICROSOFT_WINDOWS_DOTNETRUNTIME_PROVIDER_Context.IsEnabled) -#endif + if (ETW_PROVIDER_ENABLED(MICROSOFT_WINDOWS_DOTNETRUNTIME_PROVIDER)) { ETW::MethodLog::MethodTableRestored(this); } diff --git a/src/vm/multicorejit.cpp b/src/vm/multicorejit.cpp index 8ba943108c..8704226fbf 100644 --- a/src/vm/multicorejit.cpp +++ b/src/vm/multicorejit.cpp @@ -28,6 +28,7 @@ #include "appdomain.hpp" #include "qcall.h" +#include "eventtracebase.h" #include "multicorejit.h" #include "multicorejitimpl.h" @@ -96,7 +97,7 @@ void MulticoreJitFireEtwA(const wchar_t * pAction, const char * pTarget, int p1, #ifdef FEATURE_EVENT_TRACE EX_TRY { - if (McGenEventTracingEnabled(& MICROSOFT_WINDOWS_DOTNETRUNTIME_PRIVATE_PROVIDER_Context, & MulticoreJit)) + if (EventEnabledMulticoreJit()) { SString wTarget; diff --git a/src/vm/multicorejitimpl.h b/src/vm/multicorejitimpl.h index c9ba0fdf97..fb23f15157 100644 --- a/src/vm/multicorejitimpl.h +++ b/src/vm/multicorejitimpl.h @@ -480,7 +480,7 @@ extern bool g_MulticoreJitEnabled; // Enable/Disab inline bool PrivateEtwEnabled() { #ifdef FEATURE_EVENT_TRACE - return MICROSOFT_WINDOWS_DOTNETRUNTIME_PRIVATE_PROVIDER_Context.IsEnabled != 0; + return ETW_PROVIDER_ENABLED(MICROSOFT_WINDOWS_DOTNETRUNTIME_PRIVATE_PROVIDER) != 0; #else // FEATURE_EVENT_TRACE return FALSE; #endif // FEATURE_EVENT_TRACE |