diff options
Diffstat (limited to 'src/vm')
-rw-r--r-- | src/vm/eventpipeeventsource.cpp | 1 | ||||
-rw-r--r-- | src/vm/eventpipeinternal.cpp | 2 | ||||
-rw-r--r-- | src/vm/eventpipeprovider.cpp | 13 | ||||
-rw-r--r-- | src/vm/eventpipeprovider.h | 9 |
4 files changed, 3 insertions, 22 deletions
diff --git a/src/vm/eventpipeeventsource.cpp b/src/vm/eventpipeeventsource.cpp index 20613b8d53..ca62677cde 100644 --- a/src/vm/eventpipeeventsource.cpp +++ b/src/vm/eventpipeeventsource.cpp @@ -51,6 +51,7 @@ EventPipeEventSource::EventPipeEventSource() 0, /* keywords */ 0, /* eventVersion */ EventPipeEventLevel::LogAlways, + false, /* needStack */ pMetadata, (unsigned int)metadataLength); diff --git a/src/vm/eventpipeinternal.cpp b/src/vm/eventpipeinternal.cpp index c02317f491..30a14642c0 100644 --- a/src/vm/eventpipeinternal.cpp +++ b/src/vm/eventpipeinternal.cpp @@ -110,7 +110,7 @@ INT_PTR QCALLTYPE EventPipeInternal::DefineEvent( _ASSERTE(provHandle != NULL); EventPipeProvider *pProvider = reinterpret_cast<EventPipeProvider *>(provHandle); - pEvent = pProvider->AddEvent(eventID, keywords, eventVersion, (EventPipeEventLevel)level, (BYTE *)pMetadata, metadataLength); + pEvent = pProvider->AddEvent(eventID, keywords, eventVersion, (EventPipeEventLevel)level, /* needStack = */ true, (BYTE *)pMetadata, metadataLength); _ASSERTE(pEvent != NULL); END_QCALL; diff --git a/src/vm/eventpipeprovider.cpp b/src/vm/eventpipeprovider.cpp index 4630c93acd..4c6eabcf50 100644 --- a/src/vm/eventpipeprovider.cpp +++ b/src/vm/eventpipeprovider.cpp @@ -130,19 +130,6 @@ void EventPipeProvider::SetConfiguration(bool providerEnabled, INT64 keywords, E InvokeCallback(pFilterData); } -EventPipeEvent* EventPipeProvider::AddEvent(unsigned int eventID, INT64 keywords, unsigned int eventVersion, EventPipeEventLevel level, BYTE *pMetadata, unsigned int metadataLength) -{ - CONTRACTL - { - THROWS; - GC_NOTRIGGER; - MODE_ANY; - } - CONTRACTL_END; - - return AddEvent(eventID, keywords, eventVersion, level, true /* needStack */, pMetadata, metadataLength); -} - EventPipeEvent* EventPipeProvider::AddEvent(unsigned int eventID, INT64 keywords, unsigned int eventVersion, EventPipeEventLevel level, bool needStack, BYTE *pMetadata, unsigned int metadataLength) { CONTRACTL diff --git a/src/vm/eventpipeprovider.h b/src/vm/eventpipeprovider.h index cf89cf3229..8ae57d9d62 100644 --- a/src/vm/eventpipeprovider.h +++ b/src/vm/eventpipeprovider.h @@ -70,17 +70,10 @@ public: bool EventEnabled(INT64 keywords, EventPipeEventLevel eventLevel) const; // Create a new event. - EventPipeEvent* AddEvent(unsigned int eventID, INT64 keywords, unsigned int eventVersion, EventPipeEventLevel level, BYTE *pMetadata = NULL, unsigned int metadataLength = 0); + EventPipeEvent* AddEvent(unsigned int eventID, INT64 keywords, unsigned int eventVersion, EventPipeEventLevel level, bool needStack, BYTE *pMetadata = NULL, unsigned int metadataLength = 0); private: - // Create a new event, but allow needStack to be specified. - // In general, we want stack walking to be controlled by the consumer and not the producer of events. - // However, there are a couple of cases that we know we don't want to do a stackwalk that would affect performance significantly: - // 1. Sample profiler events: The sample profiler already does a stack walk of the target thread. Doing one of the sampler thread is a waste. - // 2. Metadata events: These aren't as painful but because we have to keep this functionality around, might as well use it. - EventPipeEvent* AddEvent(unsigned int eventID, INT64 keywords, unsigned int eventVersion, EventPipeEventLevel level, bool needStack, BYTE *pMetadata = NULL, unsigned int metadataLength = 0); - // Add an event to the provider. void AddEvent(EventPipeEvent &event); |