diff options
author | Sean Gillespie <segilles@microsoft.com> | 2018-01-23 18:53:30 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-23 18:53:30 -0800 |
commit | facdc8b97f73973fb416ed13e4b9dd9a255864bf (patch) | |
tree | c6be1ef07de8d324dcb121da524c13458d7f0f63 /src/scripts | |
parent | 0bafdbc71e5a3efe6b6df0cbcf5aee5081a3e4c8 (diff) | |
download | coreclr-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.py | 5 |
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) |