Remove EventPipeController static constructor by benaadams · Pull Request #21718 · dotnet/coreclr (original) (raw)

Is unnecessary work in the startup path (and doesn't get used until EventPipe is enabled)

.method private hidebysig specialname rtspecialname static 
    void .cctor () cil managed 
{
    // Method begins at RVA 0x472c8c
    // Code size 181 (0xb5)
    .maxstack 7

    IL_0000: ldc.i4.1
    IL_0001: newarr System.Char
    IL_0006: dup
    IL_0007: ldc.i4.0
    IL_0008: ldc.i4.s 44
    IL_000a: stelem.i2
    IL_000b: stsfld char[] System.Diagnostics.Tracing.EventPipeController::ProviderConfigDelimiter
    IL_0010: ldc.i4.1
    IL_0011: newarr System.Char
    IL_0016: dup
    IL_0017: ldc.i4.0
    IL_0018: ldc.i4.s 58
    IL_001a: stelem.i2
    IL_001b: stsfld char[] System.Diagnostics.Tracing.EventPipeController::ConfigComponentDelimiter
    IL_0020: ldc.i4.2
    IL_0021: newarr System.String
    IL_0026: dup
    IL_0027: ldc.i4.0
    IL_0028: ldstr "\r\n"
    IL_002d: stelem.ref
    IL_002e: dup
    IL_002f: ldc.i4.1
    IL_0030: ldstr "\n"
    IL_0035: stelem.ref
    IL_0036: stsfld string[] System.Diagnostics.Tracing.EventPipeController::ConfigFileLineDelimiters
    IL_003b: ldc.i4.3
    IL_003c: newarr System.Diagnostics.Tracing.EventPipeProviderConfiguration
    IL_0041: dup
    IL_0042: ldc.i4.0
    IL_0043: ldstr "Microsoft-Windows-DotNETRuntime"
    IL_0048: ldc.i8 20423101629
    IL_0051: ldc.i4.5
    IL_0052: ldnull
    IL_0053: newobj instance void System.Diagnostics.Tracing.EventPipeProviderConfiguration::.ctor(string, uint64, uint32, string)
    IL_0058: stelem System.Diagnostics.Tracing.EventPipeProviderConfiguration
    IL_005d: dup
    IL_005e: ldc.i4.1
    IL_005f: ldstr "Microsoft-Windows-DotNETRuntimePrivate"
    IL_0064: ldc.i4 1073872907
    IL_0069: conv.i8
    IL_006a: ldc.i4.5
    IL_006b: ldnull
    IL_006c: newobj instance void System.Diagnostics.Tracing.EventPipeProviderConfiguration::.ctor(string, uint64, uint32, string)
    IL_0071: stelem System.Diagnostics.Tracing.EventPipeProviderConfiguration
    IL_0076: dup
    IL_0077: ldc.i4.2
    IL_0078: ldstr "Microsoft-DotNETCore-SampleProfiler"
    IL_007d: ldc.i4.0
    IL_007e: conv.i8
    IL_007f: ldc.i4.5
    IL_0080: ldnull
    IL_0081: newobj instance void System.Diagnostics.Tracing.EventPipeProviderConfiguration::.ctor(string, uint64, uint32, string)
    IL_0086: stelem System.Diagnostics.Tracing.EventPipeProviderConfiguration
    IL_008b: stsfld valuetype System.Diagnostics.Tracing.EventPipeProviderConfiguration[] System.Diagnostics.Tracing.EventPipeController::DefaultProviderConfiguration
    IL_0090: ldnull
    IL_0091: stsfld class System.Diagnostics.Tracing.EventPipeController System.Diagnostics.Tracing.EventPipeController::s_controllerInstance
    IL_0096: ldc.i4.0
    IL_0097: stsfld bool System.Diagnostics.Tracing.EventPipeController::s_initializing
    IL_009c: ldc.i4.m1
    IL_009d: stsfld int32 System.Diagnostics.Tracing.EventPipeController::s_Config_EnableEventPipe
    IL_00a2: ldnull
    IL_00a3: stsfld string System.Diagnostics.Tracing.EventPipeController::s_Config_EventPipeConfig
    IL_00a8: ldc.i4.0
    IL_00a9: stsfld uint32 System.Diagnostics.Tracing.EventPipeController::s_Config_EventPipeCircularMB
    IL_00ae: ldnull
    IL_00af: stsfld string System.Diagnostics.Tracing.EventPipeController::s_Config_EventPipeOutputPath
    IL_00b4: ret
} // end of method EventPipeController::.cctor