summaryrefslogtreecommitdiff
path: root/src/scripts
diff options
context:
space:
mode:
authorSean Gillespie <segilles@microsoft.com>2018-01-23 18:53:30 -0800
committerGitHub <noreply@github.com>2018-01-23 18:53:30 -0800
commitfacdc8b97f73973fb416ed13e4b9dd9a255864bf (patch)
treec6be1ef07de8d324dcb121da524c13458d7f0f63 /src/scripts
parent0bafdbc71e5a3efe6b6df0cbcf5aee5081a3e4c8 (diff)
downloadcoreclr-facdc8b97f73973fb416ed13e4b9dd9a255864bf.tar.gz
coreclr-facdc8b97f73973fb416ed13e4b9dd9a255864bf.tar.bz2
coreclr-facdc8b97f73973fb416ed13e4b9dd9a255864bf.zip
[Local GC] FEATURE_EVENT_TRACE 1/n: Tracking Event State (#15873)
* [Local GC] FEATURE_EVENT_TRACE 1/n: Add infrastructure for keeping event state within the GC and plumbing to communicate event state changes * Code review feedback: use a load without a barrier in IsEnabled and put debug-only code under TRACE_GC_EVENT_STATE * Address code review feedback: add EventPipe callback and comments * Fix the non-FEATURE_PAL build * Fix an issue where the GC fails to react to ETW callbacks to occur before the GC is initialized (e.g. on startup when an ETW session is already active) * Simplify callback locking scheme * Add a separate callback for each EventPipe provider and funnel them all through a common handler * Fix non-FEATURE_PAL build
Diffstat (limited to 'src/scripts')
-rw-r--r--src/scripts/genEventPipe.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/scripts/genEventPipe.py b/src/scripts/genEventPipe.py
index 96755ea459..fc4570bf14 100644
--- a/src/scripts/genEventPipe.py
+++ b/src/scripts/genEventPipe.py
@@ -130,6 +130,7 @@ def generateClrEventPipeWriteEventsImpl(
WriteEventImpl.append("\n return ERROR_SUCCESS;\n}\n\n")
# EventPipeProvider and EventPipeEvent initialization
+ callbackName = 'EventPipeEtwCallback' + providerPrettyName
if extern: WriteEventImpl.append('extern "C" ')
WriteEventImpl.append(
"void Init" +
@@ -140,7 +141,7 @@ def generateClrEventPipeWriteEventsImpl(
providerPrettyName +
" = EventPipe::CreateProvider(SL(" +
providerPrettyName +
- "Name));\n")
+ "Name), " + callbackName + ");\n")
for eventNode in eventNodes:
eventName = eventNode.getAttribute('symbol')
templateName = eventNode.getAttribute('template')
@@ -522,4 +523,4 @@ def main(argv):
if __name__ == '__main__':
return_code = main(sys.argv[1:])
- sys.exit(return_code) \ No newline at end of file
+ sys.exit(return_code)