1 // Licensed to the .NET Foundation under one or more agreements.
2 // The .NET Foundation licenses this file to you under the MIT license.
3 // See the LICENSE file in the project root for more information.
5 /*****************************************************************************/
6 // <OWNER>clrjit</OWNER>
9 #ifdef FEATURE_TRACELOGGING
17 static void NotifyDllProcessAttach();
20 static void NotifyDllProcessDetach();
25 // Initialize with compiler instance
26 void Initialize(Compiler* comp);
28 // Notification of end of compilation of the current method.
29 void NotifyEndOfCompilation();
31 // Notification of noway_assert.
32 void NotifyNowayAssert(const char* filename, unsigned line);
34 // Is telemetry enabled through COMPlus_JitTelemetry?
35 static bool IsTelemetryEnabled();
38 // Obtain current method information from VM and cache for
40 void CacheCurrentMethodInfo();
43 //--------------------------------------------------------------------------------
44 // The below per process counters are updated without synchronization or
45 // thread-safety to avoid interfering with the JIT throughput. Accuracy
46 // of these counters will be traded-off for throughput.
49 // Methods compiled per DLL unload
50 static volatile UINT32 s_uMethodsCompiled;
52 // Methods compiled per DLL unload that hit noway assert (per process)
53 static volatile UINT32 s_uMethodsHitNowayAssert;
54 //--------------------------------------------------------------------------------
56 // Has the provider been registered already (per process)
57 static volatile bool s_fProviderRegistered;
59 // Cached value of current method hash.
60 unsigned m_uMethodHash;
62 // Cached value of current assembly name.
63 const char* m_pszAssemblyName;
65 // Cached value of current scope name, i.e., "Program.Foo" in "Program.Foo:Main"
66 const char* m_pszScopeName;
68 // Cached value of current method name, i.e., "Main" in "Program.Foo:Main"
69 const char* m_pszMethodName;
71 // Have we already cached the method/scope/assembly names?
72 bool m_fMethodInfoCached;
78 #endif // FEATURE_TRACELOGGING