Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corert.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Mosier <smosier@microsoft.com>2015-11-05 01:51:04 +0300
committerScott Mosier <smosier@microsoft.com>2015-11-20 03:06:03 +0300
commitc03d823a11f54e734e340813e6cd1e543ca448ef (patch)
tree9253c3230e07568377a5744ffd8c0932774a3989 /src/Native/Runtime/eventtrace.h
parent896131b2af7bc8f3f01e56e391e9c186726f5c6f (diff)
Changes required to integrate code back into ProjectN tree
Diffstat (limited to 'src/Native/Runtime/eventtrace.h')
-rw-r--r--src/Native/Runtime/eventtrace.h21
1 files changed, 8 insertions, 13 deletions
diff --git a/src/Native/Runtime/eventtrace.h b/src/Native/Runtime/eventtrace.h
index aa2d79425..50b183c7c 100644
--- a/src/Native/Runtime/eventtrace.h
+++ b/src/Native/Runtime/eventtrace.h
@@ -156,7 +156,6 @@ namespace ETW
#endif // FEATURE_REDHAWK
-
// Class to wrap all GC logic for ETW
class GCLog
{
@@ -260,7 +259,7 @@ namespace ETW
struct {
ULONGLONG SegmentSize;
ULONGLONG LargeObjectSegmentSize;
- BOOL ServerGC; // TRUE means it’s server GC; FALSE means it’s workstation.
+ BOOL ServerGC; // TRUE means it's server GC; FALSE means it's workstation.
} GCSettings;
struct {
@@ -269,15 +268,6 @@ namespace ETW
// 1 means the notification was due to allocation; 0 means it was due to other factors.
ULONG Alloc;
} GCFullNotify;
-
- typedef enum _GC_ROOT_KIND {
- GC_ROOT_STACK = 0,
- GC_ROOT_FQ = 1,
- GC_ROOT_HANDLES = 2,
- GC_ROOT_OLDER = 3,
- GC_ROOT_SIZEDREF = 4,
- GC_ROOT_OVERFLOW = 5
- } GC_ROOT_KIND;
} ETW_GC_INFO, *PETW_GC_INFO;
#ifdef FEATURE_EVENT_TRACE
@@ -289,6 +279,7 @@ namespace ETW
static BOOL ShouldWalkHeapObjectsForEtw();
static BOOL ShouldWalkHeapRootsForEtw();
static BOOL ShouldTrackMovementForEtw();
+ static BOOL ShouldWalkStaticsAndCOMForEtw();
static HRESULT ForceGCForDiagnostics();
static VOID ForceGC(LONGLONG l64ClientSequenceNumber);
static VOID FireGcStartAndGenerationRanges(ETW_GC_INFO * pGcInfo);
@@ -315,8 +306,9 @@ namespace ETW
Object ** rgObjReferenceTargets);
static VOID EndHeapDump(ProfilerWalkHeapContext * profilerWalkHeapContext);
static VOID BeginMovedReferences(size_t * pProfilingContext);
- static VOID MovedReference(BYTE * pbMemBlockStart, BYTE * pbMemBlockEnd, ptrdiff_t cbRelocDistance, size_t profilingContext, BOOL fCompacting);
- static VOID EndMovedReferences(size_t profilingContext);
+ static VOID MovedReference(BYTE * pbMemBlockStart, BYTE * pbMemBlockEnd, ptrdiff_t cbRelocDistance, size_t profilingContext, BOOL fCompacting, BOOL fAllowProfApiNotification = TRUE);
+ static VOID EndMovedReferences(size_t profilingContext, BOOL fAllowProfApiNotification = TRUE);
+ static VOID WalkStaticsAndCOMForETW();
#ifndef FEATURE_REDHAWK
static VOID SendFinalizeObjectEvent(MethodTable * pMT, Object * pObj);
#endif // FEATURE_REDHAWK
@@ -327,12 +319,14 @@ namespace ETW
inline BOOL ETW::GCLog::ShouldWalkHeapObjectsForEtw() { return FALSE; }
inline BOOL ETW::GCLog::ShouldWalkHeapRootsForEtw() { return FALSE; }
inline BOOL ETW::GCLog::ShouldTrackMovementForEtw() { return FALSE; }
+inline BOOL ETW::GCLog::ShouldWalkStaticsAndCOMForEtw() { return FALSE; }
inline VOID ETW::GCLog::FireGcStartAndGenerationRanges(ETW_GC_INFO * pGcInfo) { }
inline VOID ETW::GCLog::FireGcEndAndGenerationRanges(ULONG Count, ULONG Depth) { }
inline VOID ETW::GCLog::EndHeapDump(ProfilerWalkHeapContext * profilerWalkHeapContext) { }
inline VOID ETW::GCLog::BeginMovedReferences(size_t * pProfilingContext) { }
inline VOID ETW::GCLog::MovedReference(BYTE * pbMemBlockStart, BYTE * pbMemBlockEnd, ptrdiff_t cbRelocDistance, size_t profilingContext, BOOL fCompacting) { }
inline VOID ETW::GCLog::EndMovedReferences(size_t profilingContext) { }
+inline VOID ETW::GCLog::WalkStaticsAndCOMForETW() { }
inline VOID ETW::GCLog::RootReference(
LPVOID pvHandle,
Object * pRootedNode,
@@ -343,5 +337,6 @@ inline VOID ETW::GCLog::RootReference(
DWORD rootFlags) { }
#endif
+inline BOOL EventEnabledPinObjectAtGCTime() { return FALSE; }
#endif //_VMEVENTTRACE_H_