; Assembly listing for method System.Runtime.CompilerServices.CastHelpers:StelemRef(System.Array,int,System.Object) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi mov eax, gword ptr [ebp+08H] G_M000_IG02: cmp edx, dword ptr [ecx+04H] jae SHORT G_M000_IG10 lea edx, bword ptr [ecx+4*edx+08H] mov esi, dword ptr [ecx] mov esi, dword ptr [esi+20H] test eax, eax je SHORT G_M000_IG06 G_M000_IG03: cmp esi, dword ptr [eax] jne SHORT G_M000_IG08 G_M000_IG04: mov ecx, edx mov edx, eax call System.Runtime.CompilerServices.CastHelpers:WriteBarrier(byref,System.Object) G_M000_IG05: pop esi pop ebp ret 4 G_M000_IG06: xor ecx, ecx mov gword ptr [edx], ecx G_M000_IG07: pop esi pop ebp ret 4 G_M000_IG08: cmp dword ptr [ecx], 0xD1FFAB1E je SHORT G_M000_IG04 push eax mov ecx, edx mov edx, esi call [System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,uint,System.Object)] G_M000_IG09: pop esi pop ebp ret 4 G_M000_IG10: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 82 1: JIT compiled System.Runtime.CompilerServices.CastHelpers:StelemRef(System.Array,int,System.Object) [Tier1, IL size=88, code size=82] ; Assembly listing for method System.Runtime.CompilerServices.CastHelpers:LdelemaRef(System.Array,int,uint):byref ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: cmp edx, dword ptr [ecx+04H] jae SHORT G_M000_IG05 lea eax, bword ptr [ecx+4*edx+08H] mov edx, dword ptr [ecx] mov ecx, dword ptr [ebp+08H] cmp dword ptr [edx+20H], ecx jne SHORT G_M000_IG04 G_M000_IG03: pop ebp ret 4 G_M000_IG04: call [System.Runtime.CompilerServices.CastHelpers:ThrowArrayMismatchException():byref] G_M000_IG05: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 38 2: JIT compiled System.Runtime.CompilerServices.CastHelpers:LdelemaRef(System.Array,int,uint) [Tier1, IL size=44, code size=38] ; Assembly listing for method System.SpanHelpers:IndexOfNullCharacter(uint):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi vzeroupper G_M000_IG02: xor eax, eax mov edx, 0xD1FFAB1E test cl, 1 jne SHORT G_M000_IG04 G_M000_IG03: mov edx, ecx neg edx mov esi, edx shr esi, 31 add edx, esi sar edx, 1 and edx, 7 G_M000_IG04: cmp edx, 4 jl SHORT G_M000_IG06 align [8 bytes for IG05] G_M000_IG05: cmp word ptr [ecx+2*eax], 0 je G_M000_IG21 lea esi, [eax+01H] cmp word ptr [ecx+2*esi], 0 je G_M000_IG20 lea esi, [eax+02H] cmp word ptr [ecx+2*esi], 0 je G_M000_IG19 lea esi, [eax+03H] cmp word ptr [ecx+2*esi], 0 je G_M000_IG18 add eax, 4 add edx, -4 cmp edx, 4 jge SHORT G_M000_IG05 G_M000_IG06: test edx, edx jle SHORT G_M000_IG08 align [12 bytes for IG07] G_M000_IG07: cmp word ptr [ecx+2*eax], 0 je G_M000_IG21 inc eax dec edx test edx, edx jg SHORT G_M000_IG07 G_M000_IG08: cmp eax, 0xD1FFAB1E jge G_M000_IG22 lea edx, [ecx+2*eax] test dl, 31 je SHORT G_M000_IG11 G_M000_IG09: vxorps xmm0, xmm0, xmm0 vpcmpeqw xmm0, xmm0, xmmword ptr [ecx+2*eax] vpmovmskb edx, xmm0 test edx, edx jne SHORT G_M000_IG10 add eax, 8 jmp SHORT G_M000_IG11 G_M000_IG10: xor ecx, ecx tzcnt ecx, edx shr ecx, 1 add eax, ecx jmp G_M000_IG21 align [8 bytes for IG12] G_M000_IG11: mov edx, eax neg edx add edx, 0xD1FFAB1E and edx, -16 jle SHORT G_M000_IG13 G_M000_IG12: vxorps ymm0, ymm0, ymm0 vpcmpeqw ymm0, ymm0, ymmword ptr [ecx+2*eax] vpmovmskb esi, ymm0 test esi, esi jne SHORT G_M000_IG15 add eax, 16 add edx, -16 test edx, edx jg SHORT G_M000_IG12 G_M000_IG13: mov edx, eax neg edx add edx, 0xD1FFAB1E and edx, -8 jle SHORT G_M000_IG17 G_M000_IG14: vxorps xmm0, xmm0, xmm0 vpcmpeqw xmm0, xmm0, xmmword ptr [ecx+2*eax] vpmovmskb edx, xmm0 test edx, edx jne SHORT G_M000_IG16 add eax, 8 jmp SHORT G_M000_IG17 G_M000_IG15: xor edx, edx tzcnt edx, esi shr edx, 1 add eax, edx jmp SHORT G_M000_IG21 G_M000_IG16: xor ecx, ecx tzcnt ecx, edx shr ecx, 1 add eax, ecx jmp SHORT G_M000_IG21 G_M000_IG17: cmp eax, 0xD1FFAB1E jge SHORT G_M000_IG22 mov edx, eax neg edx add edx, 0xD1FFAB1E jmp G_M000_IG04 G_M000_IG18: add eax, 3 jmp SHORT G_M000_IG21 G_M000_IG19: add eax, 2 jmp SHORT G_M000_IG21 G_M000_IG20: inc eax G_M000_IG21: vzeroupper pop esi pop ebp ret G_M000_IG22: call [System.SpanHelpers:ThrowMustBeNullTerminatedString()] int3 ; Total bytes of code 358 3: JIT compiled System.SpanHelpers:IndexOfNullCharacter(uint) [Tier-0 switched to FullOpts, IL size=805, code size=358] ; Assembly listing for method System.Guid:TryFormatCore[ushort](System.Span`1[ushort],byref,int):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 324 vzeroupper xor eax, eax mov dword ptr [ebp-10H], eax mov bword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov eax, dword ptr [ebp+08H] movzx eax, al cmp eax, dword ptr [ebp+10H] jle SHORT G_M000_IG04 mov eax, bword ptr [ebp-08H] xor edx, edx mov dword ptr [eax], edx xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret 12 G_M000_IG04: mov eax, dword ptr [ebp+08H] movzx eax, al mov edx, bword ptr [ebp-08H] mov dword ptr [edx], eax mov eax, dword ptr [ebp+08H] sar eax, 8 mov dword ptr [ebp+08H], eax push dword ptr [ebp+10H] push bword ptr [ebp+0CH] call [System.Runtime.InteropServices.MemoryMarshal:GetReference[ushort](System.Span`1[ushort]):byref] mov bword ptr [ebp-10H], eax mov ecx, bword ptr [ebp-10H] mov dword ptr [ebp-144H], ecx mov ecx, dword ptr [ebp-144H] mov dword ptr [ebp-0CH], ecx mov ecx, dword ptr [ebp-0CH] mov dword ptr [ebp-14H], ecx mov ecx, dword ptr [ebp+08H] movzx ecx, cl test ecx, ecx je SHORT G_M000_IG05 mov ecx, dword ptr [ebp-14H] mov dword ptr [ebp-18H], ecx mov ecx, dword ptr [ebp-18H] add ecx, 2 mov dword ptr [ebp-14H], ecx mov ecx, dword ptr [ebp+08H] movzx ecx, cl call [System.Char:System.IUtfChar.CastFrom(ubyte):ushort] mov edx, dword ptr [ebp-18H] mov word ptr [edx], ax G_M000_IG05: mov edx, dword ptr [ebp+08H] sar edx, 8 mov dword ptr [ebp+08H], edx G_M000_IG06: mov edx, bword ptr [ebp-04H] vmovups xmm0, xmmword ptr [edx] sub esp, 16 vmovups xmmword ptr [esp], xmm0 xor edx, edx cmp dword ptr [ebp+08H], 0 setl dl lea ecx, [ebp-E0H] call [System.Guid:FormatGuidVector128Utf8(System.Guid,bool):System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]] vmovups xmm0, xmmword ptr [ebp-E0H] vmovups xmmword ptr [ebp-28H], xmm0 vmovups xmm0, xmmword ptr [ebp-D0H] vmovups xmmword ptr [ebp-38H], xmm0 vmovups xmm0, xmmword ptr [ebp-C0H] vmovups xmmword ptr [ebp-48H], xmm0 G_M000_IG07: vmovups xmm0, xmmword ptr [ebp-28H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-100H] call [System.Runtime.Intrinsics.Vector128:Widen(System.Runtime.Intrinsics.Vector128`1[ubyte]):System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]]] vmovups xmm0, xmmword ptr [ebp-100H] vmovups xmmword ptr [ebp-5CH], xmm0 vmovups xmm0, xmmword ptr [ebp-F0H] vmovups xmmword ptr [ebp-6CH], xmm0 vmovups xmm0, xmmword ptr [ebp-38H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-120H] call [System.Runtime.Intrinsics.Vector128:Widen(System.Runtime.Intrinsics.Vector128`1[ubyte]):System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]]] vmovups xmm0, xmmword ptr [ebp-120H] vmovups xmmword ptr [ebp-7CH], xmm0 vmovups xmm0, xmmword ptr [ebp-110H] vmovups xmmword ptr [ebp-8CH], xmm0 mov ecx, dword ptr [ebp-14H] mov dword ptr [ebp-90H], ecx cmp dword ptr [ebp+08H], 0 jge G_M000_IG08 vmovups xmm0, xmmword ptr [ebp-48H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-140H] call [System.Runtime.Intrinsics.Vector128:Widen(System.Runtime.Intrinsics.Vector128`1[ubyte]):System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]]] vmovups xmm0, xmmword ptr [ebp-140H] vmovups xmmword ptr [ebp-A0H], xmm0 vmovups xmm0, xmmword ptr [ebp-130H] vmovups xmmword ptr [ebp-B0H], xmm0 mov ecx, dword ptr [ebp-90H] vmovups xmm0, xmmword ptr [ebp-5CH] vmovups xmmword ptr [ecx], xmm0 mov ecx, dword ptr [ebp-90H] vmovups xmm0, xmmword ptr [ebp-7CH] vmovups xmmword ptr [ecx+28H], xmm0 mov ecx, dword ptr [ebp-90H] vmovups xmm0, xmmword ptr [ebp-8CH] vmovups xmmword ptr [ecx+38H], xmm0 mov ecx, dword ptr [ebp-90H] vmovups xmm0, xmmword ptr [ebp-A0H] vmovups xmmword ptr [ecx+10H], xmm0 mov ecx, dword ptr [ebp-90H] vmovups xmm0, xmmword ptr [ebp-B0H] vmovups xmmword ptr [ecx+20H], xmm0 mov ecx, 9 imul ecx, ecx, 2 shl ecx, 2 add ecx, dword ptr [ebp-14H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG09 G_M000_IG08: mov ecx, dword ptr [ebp-90H] vmovups xmm0, xmmword ptr [ebp-5CH] vmovups xmmword ptr [ecx], xmm0 mov ecx, dword ptr [ebp-90H] vmovups xmm0, xmmword ptr [ebp-6CH] vmovups xmmword ptr [ecx+10H], xmm0 mov ecx, dword ptr [ebp-90H] vmovups xmm0, xmmword ptr [ebp-7CH] vmovups xmmword ptr [ecx+20H], xmm0 mov ecx, dword ptr [ebp-90H] vmovups xmm0, xmmword ptr [ebp-8CH] vmovups xmmword ptr [ecx+30H], xmm0 mov ecx, 2 shl ecx, 5 add ecx, dword ptr [ebp-14H] mov dword ptr [ebp-14H], ecx G_M000_IG09: mov ecx, dword ptr [ebp+08H] movzx ecx, cl test ecx, ecx je SHORT G_M000_IG10 mov ecx, dword ptr [ebp+08H] movzx ecx, cl call [System.Char:System.IUtfChar.CastFrom(ubyte):ushort] mov edx, dword ptr [ebp-14H] mov word ptr [edx], ax G_M000_IG10: xor eax, eax mov bword ptr [ebp-10H], eax mov eax, 1 G_M000_IG11: mov esp, ebp pop ebp ret 12 ; Total bytes of code 647 4: JIT compiled System.Guid:TryFormatCore[ushort](System.Span`1[ushort],byref,int) [Tier0, IL size=894, code size=647] ; Assembly listing for method System.Number:UInt32ToDecChars[ushort](uint,uint):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 5 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi mov esi, edx G_M000_IG02: cmp esi, 10 jb SHORT G_M000_IG10 G_M000_IG03: cmp esi, 100 jb SHORT G_M000_IG09 align [0 bytes for IG04] G_M000_IG04: add ecx, -4 mov edx, 0xD1FFAB1E mov eax, esi mul edx:eax, edx shr edx, 5 imul eax, edx, 100 sub esi, eax mov eax, gword ptr [D1FFAB1EH] cmp byte ptr [eax], al lea eax, bword ptr [eax+4*esi+08H] mov eax, dword ptr [eax] mov dword ptr [ecx], eax cmp edx, 100 jae SHORT G_M000_IG08 G_M000_IG05: cmp edx, 10 jb SHORT G_M000_IG07 add ecx, -4 mov eax, gword ptr [D1FFAB1EH] cmp byte ptr [eax], al lea eax, bword ptr [eax+4*edx+08H] mov eax, dword ptr [eax] mov dword ptr [ecx], eax mov eax, ecx G_M000_IG06: pop esi pop ebp ret G_M000_IG07: mov esi, edx jmp SHORT G_M000_IG10 G_M000_IG08: mov esi, edx jmp SHORT G_M000_IG04 G_M000_IG09: mov edx, esi jmp SHORT G_M000_IG05 G_M000_IG10: lea eax, [ecx-02H] lea edx, [esi+30H] mov word ptr [eax], dx G_M000_IG11: pop esi pop ebp ret ; Total bytes of code 108 5: JIT compiled System.Number:UInt32ToDecChars[ushort](uint,uint) [Tier-0 switched to FullOpts, IL size=114, code size=108] ; Assembly listing for method System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov dword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, dword ptr [ebp-04H] call [System.Int32:IsNegative(int):bool] test eax, eax je SHORT G_M000_IG03 mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-04H] call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 41 6: JIT compiled System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String) [Tier0, IL size=22, code size=41] ; Assembly listing for method System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(uint,int,byref,byref):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 46138 ; 0 inlinees with PGO data; 3 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 20 vzeroupper mov esi, ecx mov edi, edx G_M000_IG02: mov ecx, esi mov edx, edi call [System.Text.Ascii:GetIndexOfFirstNonAsciiChar_Intrinsified(uint,uint):uint] lea esi, [esi+2*eax] sub edi, eax jne SHORT G_M000_IG07 G_M000_IG03: mov edi, bword ptr [ebp+0CH] xor eax, eax mov dword ptr [edi], eax G_M000_IG04: mov dword ptr [edi+04H], eax G_M000_IG05: mov edi, bword ptr [ebp+08H] mov dword ptr [edi], eax mov eax, esi G_M000_IG06: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG07: xor edx, edx xor ecx, ecx xor ebx, ebx mov dword ptr [ebp-10H], ebx lea eax, [esi+2*edi] mov dword ptr [ebp-14H], eax cmp edi, 8 jl G_M000_IG13 vmovups xmm0, xmmword ptr [@RWD00] vmovups xmm1, xmmword ptr [@RWD16] vmovups xmm2, xmmword ptr [@RWD32] lea edi, [eax-10H] mov dword ptr [ebp-18H], edi G_M000_IG08: vmovups xmm3, xmmword ptr [esi] add esi, 16 vpminuw xmm4, xmm3, xmm0 vpaddusw xmm5, xmm3, xmm1 vpor xmm4, xmm4, xmm5 vpmovmskb ebx, xmm4 popcnt ebx, ebx vpaddw xmm4, xmm3, xmm2 vpcmpgtw xmm4, xmm1, xmm4 vpmovmskb eax, xmm4 G_M000_IG09: cmp eax, 0xFFFF jne SHORT G_M000_IG14 add edx, ebx adc ecx, 0 cmp esi, edi jbe SHORT G_M000_IG08 G_M000_IG10: mov eax, dword ptr [ebp-14H] cmp esi, eax jb G_M000_IG17 G_M000_IG11: mov edi, bword ptr [ebp+0CH] mov eax, edi mov dword ptr [eax], edx mov dword ptr [eax+04H], ecx mov edi, bword ptr [ebp+08H] mov ebx, dword ptr [ebp-10H] mov dword ptr [edi], ebx mov eax, esi G_M000_IG12: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG13: jmp SHORT G_M000_IG10 G_M000_IG14: not eax vpsrlw xmm4, xmm3, 3 vpmovmskb edi, xmm4 mov dword ptr [ebp-1CH], edi and edi, eax mov dword ptr [ebp-20H], edi mov edi, dword ptr [ebp-1CH] xor edi, 0x5555 and eax, edi shl eax, 2 movzx edi, ax cmp edi, dword ptr [ebp-20H] jne SHORT G_M000_IG16 cmp eax, 0xFFFF jbe SHORT G_M000_IG15 movzx eax, ax add ebx, -2 add esi, -2 G_M000_IG15: popcnt eax, eax mov edi, dword ptr [ebp-10H] sub edi, eax mov dword ptr [ebp-10H], edi add eax, eax sub edx, eax sbb ecx, 0 mov eax, 0xFFFF mov edi, dword ptr [ebp-18H] jmp G_M000_IG09 G_M000_IG16: add esi, -16 mov eax, dword ptr [ebp-14H] cmp esi, eax jae G_M000_IG11 G_M000_IG17: movzx ebx, word ptr [esi] cmp ebx, 127 jbe SHORT G_M000_IG18 lea edi, [ebx+0001F800H] shr edi, 16 add edx, edi adc ecx, 0 add ebx, -0xD800 cmp ebx, 0x7FF ja SHORT G_M000_IG18 sub edx, 2 sbb ecx, 0 mov edi, eax sub edi, esi cmp edi, 4 jb G_M000_IG11 mov edi, dword ptr [esi] add edi, 0xD1FFAB1E test edi, 0xD1FFAB1E jne G_M000_IG11 mov edi, dword ptr [ebp-10H] dec edi add edx, 2 adc ecx, 0 add esi, 2 mov dword ptr [ebp-10H], edi G_M000_IG18: add esi, 2 jmp G_M000_IG10 RWD00 dq 0080008000800080h, 0080008000800080h RWD16 dq 7800780078007800h, 7800780078007800h RWD32 dq A000A000A000A000h, A000A000A000A000h ; Total bytes of code 415 7: JIT compiled System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(uint,int,byref,byref) [Tier-0 switched to FullOpts with Static PGO, IL size=972, code size=415] ; Assembly listing for method System.Text.Ascii:NarrowUtf16ToAscii(uint,uint,uint):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 100360 ; 0 inlinees with PGO data; 13 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 12 mov esi, ecx mov edi, edx mov ebx, dword ptr [ebp+08H] G_M000_IG02: xor eax, eax mov dword ptr [ebp+08H], ebx cmp ebx, 32 jae G_M000_IG15 G_M000_IG03: mov ebx, dword ptr [ebp+08H] sub ebx, eax mov dword ptr [ebp-14H], ebx cmp ebx, 4 jb G_M000_IG14 G_M000_IG04: lea edx, [eax+ebx-04H] mov dword ptr [ebp-18H], edx mov dword ptr [ebp-10H], edi G_M000_IG05: mov ecx, eax mov edx, dword ptr [esi+2*ecx] mov ebx, dword ptr [esi+2*ecx+04H] mov edi, edx or edi, ebx test edi, 0xD1FFAB1E jne G_M000_IG17 G_M000_IG06: mov edi, dword ptr [ebp-10H] add ecx, edi mov byte ptr [ecx], dl shr edx, 16 mov byte ptr [ecx+01H], dl lea edx, [edi+eax+02H] mov byte ptr [edx], bl shr ebx, 16 mov byte ptr [edx+01H], bl add eax, 4 mov edx, dword ptr [ebp-18H] cmp eax, edx jbe SHORT G_M000_IG13 G_M000_IG07: mov ebx, dword ptr [ebp-14H] test bl, 2 je SHORT G_M000_IG09 G_M000_IG08: mov edx, eax mov ecx, dword ptr [esi+2*edx] test ecx, 0xD1FFAB1E jne G_M000_IG18 add edx, edi mov byte ptr [edx], cl shr ecx, 16 mov byte ptr [edx+01H], cl add eax, 2 G_M000_IG09: test bl, 1 je SHORT G_M000_IG12 G_M000_IG10: movzx ecx, word ptr [esi+2*eax] cmp ecx, 127 ja SHORT G_M000_IG12 G_M000_IG11: mov byte ptr [edi+eax], cl inc eax G_M000_IG12: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG13: mov dword ptr [ebp-10H], edi jmp G_M000_IG05 G_M000_IG14: jmp SHORT G_M000_IG07 G_M000_IG15: mov edx, dword ptr [esi] mov ecx, dword ptr [esi+04H] mov ebx, edx or ebx, ecx test ebx, 0xD1FFAB1E mov ebx, ecx jne SHORT G_M000_IG16 mov ebx, dword ptr [ebp+08H] push ebx mov ecx, esi mov dword ptr [ebp-10H], edi mov edx, edi call [System.Text.Ascii:NarrowUtf16ToAscii_Intrinsified(uint,uint,uint):uint] mov dword ptr [ebp+08H], ebx mov edi, dword ptr [ebp-10H] jmp G_M000_IG03 G_M000_IG16: mov dword ptr [ebp-10H], edi G_M000_IG17: test edx, 0xD1FFAB1E jne SHORT G_M000_IG19 mov edi, dword ptr [ebp-10H] lea ecx, [edi+eax] mov byte ptr [ecx], dl shr edx, 16 mov byte ptr [ecx+01H], dl mov edx, ebx add eax, 2 mov ecx, edx G_M000_IG18: test ecx, 0xFF80 je SHORT G_M000_IG11 jmp SHORT G_M000_IG12 G_M000_IG19: mov ecx, edx mov edi, dword ptr [ebp-10H] jmp SHORT G_M000_IG18 ; Total bytes of code 289 8: JIT compiled System.Text.Ascii:NarrowUtf16ToAscii(uint,uint,uint) [Tier-0 switched to FullOpts with Static PGO, IL size=528, code size=289] ; Assembly listing for method System.SpanHelpers:IndexOfNullByte(uint):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi vzeroupper G_M000_IG02: xor eax, eax mov edx, ecx and edx, 15 neg edx add edx, 16 and edx, 15 G_M000_IG03: cmp edx, 8 jb SHORT G_M000_IG05 align [0 bytes for IG04] G_M000_IG04: add edx, -8 cmp byte ptr [ecx+eax], 0 je G_M000_IG19 cmp byte ptr [ecx+eax+01H], 0 je G_M000_IG20 cmp byte ptr [ecx+eax+02H], 0 je G_M000_IG21 cmp byte ptr [ecx+eax+03H], 0 je G_M000_IG22 cmp byte ptr [ecx+eax+04H], 0 je G_M000_IG23 cmp byte ptr [ecx+eax+05H], 0 je G_M000_IG24 cmp byte ptr [ecx+eax+06H], 0 je G_M000_IG25 cmp byte ptr [ecx+eax+07H], 0 je G_M000_IG26 add eax, 8 cmp edx, 8 jae SHORT G_M000_IG04 G_M000_IG05: cmp edx, 4 jb SHORT G_M000_IG07 G_M000_IG06: add edx, -4 cmp byte ptr [ecx+eax], 0 je G_M000_IG19 cmp byte ptr [ecx+eax+01H], 0 je G_M000_IG20 cmp byte ptr [ecx+eax+02H], 0 je G_M000_IG21 cmp byte ptr [ecx+eax+03H], 0 je G_M000_IG22 add eax, 4 G_M000_IG07: test edx, edx je SHORT G_M000_IG09 align [9 bytes for IG08] G_M000_IG08: dec edx cmp byte ptr [ecx+eax], 0 je G_M000_IG19 inc eax test edx, edx jne SHORT G_M000_IG08 G_M000_IG09: cmp eax, 0xD1FFAB1E jae G_M000_IG28 lea edx, [ecx+eax] test dl, 31 je SHORT G_M000_IG11 G_M000_IG10: vxorps xmm0, xmm0, xmm0 vpcmpeqb xmm0, xmm0, xmmword ptr [ecx+eax] vpmovmskb edx, xmm0 test edx, edx jne SHORT G_M000_IG16 add eax, 16 G_M000_IG11: mov edx, eax neg edx add edx, 0xD1FFAB1E and edx, -32 cmp edx, eax jbe SHORT G_M000_IG13 align [0 bytes for IG12] G_M000_IG12: vxorps ymm0, ymm0, ymm0 vpcmpeqb ymm0, ymm0, ymmword ptr [ecx+eax] vpmovmskb esi, ymm0 test esi, esi jne SHORT G_M000_IG17 add eax, 32 cmp edx, eax ja SHORT G_M000_IG12 G_M000_IG13: mov edx, eax neg edx add edx, 0xD1FFAB1E and edx, -16 cmp edx, eax jbe SHORT G_M000_IG15 G_M000_IG14: vxorps xmm0, xmm0, xmm0 vpcmpeqb xmm0, xmm0, xmmword ptr [ecx+eax] vpmovmskb edx, xmm0 test edx, edx jne SHORT G_M000_IG18 add eax, 16 G_M000_IG15: cmp eax, 0xD1FFAB1E jae SHORT G_M000_IG28 mov edx, eax neg edx add edx, 0xD1FFAB1E jmp G_M000_IG03 G_M000_IG16: tzcnt edx, edx add eax, edx jmp SHORT G_M000_IG27 G_M000_IG17: xor edx, edx tzcnt edx, esi add eax, edx jmp SHORT G_M000_IG27 G_M000_IG18: tzcnt edx, edx add eax, edx jmp SHORT G_M000_IG27 G_M000_IG19: jmp SHORT G_M000_IG27 G_M000_IG20: inc eax jmp SHORT G_M000_IG27 G_M000_IG21: add eax, 2 jmp SHORT G_M000_IG27 G_M000_IG22: add eax, 3 jmp SHORT G_M000_IG27 G_M000_IG23: add eax, 4 jmp SHORT G_M000_IG27 G_M000_IG24: add eax, 5 jmp SHORT G_M000_IG27 G_M000_IG25: add eax, 6 jmp SHORT G_M000_IG27 G_M000_IG26: add eax, 7 G_M000_IG27: vzeroupper pop esi pop ebp ret G_M000_IG28: call [System.SpanHelpers:ThrowMustBeNullTerminatedString()] int3 ; Total bytes of code 419 9: JIT compiled System.SpanHelpers:IndexOfNullByte(uint) [Tier-0 switched to FullOpts, IL size=844, code size=419] ; Assembly listing for method System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short]](byref,short,int):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 65332 ; 0 inlinees with PGO data; 11 single block inlinees; 5 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi vzeroupper mov eax, dword ptr [ebp+08H] G_M000_IG02: cmp eax, 8 jge SHORT G_M000_IG14 G_M000_IG03: xor esi, esi cmp eax, 4 jl SHORT G_M000_IG07 G_M000_IG04: add eax, -4 movsx esi, word ptr [ecx] movsx edi, dx cmp esi, edi je G_M000_IG35 movsx esi, word ptr [ecx+02H] cmp esi, edi je G_M000_IG29 G_M000_IG05: movsx esi, word ptr [ecx+04H] cmp esi, edi je SHORT G_M000_IG12 G_M000_IG06: movsx esi, word ptr [ecx+06H] cmp esi, edi je G_M000_IG34 mov esi, 4 G_M000_IG07: test eax, eax jle SHORT G_M000_IG11 G_M000_IG08: movsx edi, dx G_M000_IG09: dec eax movsx edx, word ptr [ecx+2*esi] cmp edx, edi je G_M000_IG31 G_M000_IG10: inc esi test eax, eax jg SHORT G_M000_IG09 G_M000_IG11: mov eax, -1 jmp G_M000_IG28 G_M000_IG12: mov eax, 2 G_M000_IG13: vzeroupper pop esi pop edi pop ebp ret 4 G_M000_IG14: mov esi, ecx cmp eax, 16 jg SHORT G_M000_IG17 G_M000_IG15: movzx edx, dl vmovd xmm0, edx vpbroadcastb xmm0, xmm0 lea edx, bword ptr [esi+2*eax-10H] cmp ecx, edx mov eax, ecx cmova eax, edx vmovups xmm1, xmmword ptr [eax] vpackuswb xmm1, xmm1, xmmword ptr [edx] vpcmpeqb xmm0, xmm0, xmm1 vptest xmm0, xmm0 je SHORT G_M000_IG11 G_M000_IG16: jmp SHORT G_M000_IG24 G_M000_IG17: movzx edx, dl vmovd xmm0, edx vpbroadcastb ymm0, ymm0 cmp eax, 32 jg SHORT G_M000_IG20 G_M000_IG18: lea eax, bword ptr [ecx+2*eax-20H] cmp esi, eax mov edx, esi cmova edx, eax vmovups ymm1, ymmword ptr [edx] vpackuswb ymm1, ymm1, ymmword ptr [eax] vpcmpeqb ymm1, ymm0, ymm1 vptest ymm1, ymm1 je SHORT G_M000_IG11 G_M000_IG19: jmp SHORT G_M000_IG32 G_M000_IG20: lea edx, bword ptr [esi+2*eax-40H] G_M000_IG21: vmovups ymm1, ymmword ptr [esi] vpackuswb ymm1, ymm1, ymmword ptr [esi+20H] vpcmpeqb ymm1, ymm0, ymm1 vptest ymm1, ymm1 jne SHORT G_M000_IG25 G_M000_IG22: add esi, 64 cmp esi, edx jb SHORT G_M000_IG21 G_M000_IG23: jmp SHORT G_M000_IG18 G_M000_IG24: vpmovmskb esi, xmm0 tzcnt esi, esi cmp esi, 8 jl SHORT G_M000_IG27 jmp SHORT G_M000_IG26 G_M000_IG25: mov eax, esi sub eax, ecx shr eax, 1 vpermq ymm0, ymm1, -40 vpmovmskb ecx, ymm0 xor edx, edx tzcnt edx, ecx add eax, edx jmp SHORT G_M000_IG28 G_M000_IG26: mov eax, edx add esi, -8 G_M000_IG27: sub eax, ecx shr eax, 1 add eax, esi G_M000_IG28: vzeroupper pop esi pop edi pop ebp ret 4 G_M000_IG29: mov eax, 1 G_M000_IG30: vzeroupper pop esi pop edi pop ebp ret 4 G_M000_IG31: mov eax, esi jmp SHORT G_M000_IG28 G_M000_IG32: vpermq ymm0, ymm1, -40 vpmovmskb esi, ymm0 tzcnt esi, esi cmp esi, 16 jl SHORT G_M000_IG33 mov edx, eax add esi, -16 G_M000_IG33: sub edx, ecx shr edx, 1 lea eax, [edx+esi] jmp SHORT G_M000_IG28 G_M000_IG34: mov eax, 3 jmp SHORT G_M000_IG28 G_M000_IG35: xor eax, eax G_M000_IG36: vzeroupper pop esi pop edi pop ebp ret 4 ; Total bytes of code 389 10: JIT compiled System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short]](byref,short,int) [Tier-0 switched to FullOpts with Static PGO, IL size=698, code size=389] ; Assembly listing for method System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 34 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx vzeroupper mov eax, dword ptr [ebp+08H] G_M000_IG02: cmp eax, 8 jge G_M000_IG11 G_M000_IG03: lea esi, [eax-01H] cmp eax, 4 jl SHORT G_M000_IG04 add eax, -4 movsx edi, word ptr [ecx+2*esi] movsx ebx, dx cmp edi, ebx je SHORT G_M000_IG10 movsx edi, word ptr [ecx+2*esi-02H] cmp edi, ebx je SHORT G_M000_IG09 movsx edi, word ptr [ecx+2*esi-04H] cmp edi, ebx je SHORT G_M000_IG08 movsx edi, word ptr [ecx+2*esi-06H] cmp edi, ebx je SHORT G_M000_IG07 add esi, -4 G_M000_IG04: test eax, eax jle G_M000_IG20 movsx ebx, dx align [12 bytes for IG05] G_M000_IG05: dec eax movsx edx, word ptr [ecx+2*esi] cmp edx, ebx je SHORT G_M000_IG10 dec esi test eax, eax jg SHORT G_M000_IG05 G_M000_IG06: jmp G_M000_IG20 align [2 bytes for IG12] G_M000_IG07: lea eax, [esi-03H] jmp G_M000_IG19 G_M000_IG08: lea eax, [esi-02H] jmp G_M000_IG19 G_M000_IG09: lea eax, [esi-01H] jmp G_M000_IG19 G_M000_IG10: mov eax, esi jmp G_M000_IG19 G_M000_IG11: cmp eax, 16 jl SHORT G_M000_IG15 movsx ebx, dx vmovd xmm0, ebx vpbroadcastw ymm0, ymm0 lea edx, [eax-10H] test edx, edx jle SHORT G_M000_IG13 G_M000_IG12: vpcmpeqw ymm1, ymm0, ymmword ptr [ecx+2*edx] vptest ymm1, ymm1 jne SHORT G_M000_IG14 add edx, -16 test edx, edx jg SHORT G_M000_IG12 G_M000_IG13: vpcmpeqw ymm1, ymm0, ymmword ptr [ecx] vptest ymm1, ymm1 je G_M000_IG20 vpshufb ymm1, ymm1, ymmword ptr [@RWD00] vpermq ymm0, ymm1, -40 vpmovmskb edx, xmm0 xor eax, eax lzcnt eax, edx neg eax add eax, 31 jmp G_M000_IG19 align [0 bytes for IG16] G_M000_IG14: vpshufb ymm0, ymm1, ymmword ptr [@RWD00] vpermq ymm0, ymm0, -40 vpmovmskb eax, xmm0 xor ecx, ecx lzcnt ecx, eax mov eax, ecx neg eax lea eax, [eax+edx+1FH] jmp SHORT G_M000_IG19 G_M000_IG15: movsx ebx, dx vmovd xmm0, ebx vpbroadcastw xmm0, xmm0 add eax, -8 test eax, eax jle SHORT G_M000_IG17 G_M000_IG16: vpcmpeqw xmm1, xmm0, xmmword ptr [ecx+2*eax] vptest xmm1, xmm1 jne SHORT G_M000_IG18 add eax, -8 test eax, eax jg SHORT G_M000_IG16 G_M000_IG17: vpcmpeqw xmm1, xmm0, xmmword ptr [ecx] vptest xmm1, xmm1 je SHORT G_M000_IG20 vpshufb xmm1, xmm1, xmmword ptr [@RWD00] vpmovmskb eax, xmm1 lzcnt eax, eax neg eax add eax, 31 jmp SHORT G_M000_IG19 G_M000_IG18: vpshufb xmm0, xmm1, xmmword ptr [@RWD00] vpmovmskb edx, xmm0 lzcnt edx, edx neg edx lea eax, [edx+eax+1FH] G_M000_IG19: vzeroupper pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG20: mov eax, -1 G_M000_IG21: vzeroupper pop ebx pop esi pop edi pop ebp ret 4 RWD00 dq 0F0D0B0907050301h, 8080808080808080h, 0F0D0B0907050301h, 8080808080808080h ; Total bytes of code 401 11: JIT compiled System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int) [Tier-0 switched to FullOpts, IL size=963, code size=401] ; Assembly listing for method System.Text.Ascii:WidenAsciiToUtf16(uint,uint,uint):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 13 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 20 vzeroupper mov eax, dword ptr [ebp+08H] G_M000_IG02: xor esi, esi cmp eax, 16 jb G_M000_IG10 G_M000_IG03: mov edi, edx cmp eax, 32 jb SHORT G_M000_IG06 mov dword ptr [ebp+08H], eax lea ebx, [eax-20H] align [0 bytes for IG04] G_M000_IG04: vmovups ymm0, ymmword ptr [ecx+esi] vpmovmskb eax, ymm0 test eax, eax jne G_M000_IG13 vmovaps ymm1, ymm0 vpmovzxbw ymm1, ymm1 vextracti128 xmm0, ymm0, 1 vpmovzxbw ymm0, ymm0 vmovups ymmword ptr [edi], ymm1 vmovups ymmword ptr [edi+20H], ymm0 add esi, 32 add edi, 64 cmp esi, ebx jbe SHORT G_M000_IG04 G_M000_IG05: jmp G_M000_IG13 align [0 bytes for IG07] G_M000_IG06: lea ebx, [eax-10H] vmovups xmm0, xmmword ptr [@RWD00] G_M000_IG07: vmovups xmm1, xmmword ptr [ecx+esi] vptest xmm1, xmm0 jne SHORT G_M000_IG09 vpmovzxbw xmm2, xmm1 vmovups xmmword ptr [edi], xmm2 vpsrldq xmm1, xmm1, 8 vpmovzxbw xmm1, xmm1 vmovups xmmword ptr [edi+10H], xmm1 add esi, 16 add edi, 32 cmp esi, ebx jbe SHORT G_M000_IG07 G_M000_IG08: mov dword ptr [ebp+08H], eax jmp SHORT G_M000_IG13 align [0 bytes for IG11] G_M000_IG09: mov dword ptr [ebp+08H], eax jmp SHORT G_M000_IG13 G_M000_IG10: cmp eax, 32 jb G_M000_IG22 mov edi, eax sub edi, 32 G_M000_IG11: mov ebx, esi vmovups ymm0, ymmword ptr [ecx+ebx] vxorps ymm1, ymm1, ymm1 vpcmpgtb ymm1, ymm1, ymm0 vptest ymm1, ymm1 jne G_M000_IG21 vmovaps ymm1, ymm0 vpmovzxbw ymm1, ymm1 vextracti128 xmm0, ymm0, 1 vpmovzxbw ymm0, ymm0 vmovups ymmword ptr [edx+2*ebx], ymm1 vmovups ymmword ptr [edx+2*ebx+20H], ymm0 add esi, 32 cmp esi, edi jbe SHORT G_M000_IG11 G_M000_IG12: mov dword ptr [ebp+08H], eax G_M000_IG13: mov eax, dword ptr [ebp+08H] sub eax, esi mov dword ptr [ebp-10H], eax cmp eax, 4 jb G_M000_IG20 G_M000_IG14: lea edi, [esi+eax-04H] align [0 bytes for IG15] G_M000_IG15: mov ebx, dword ptr [ecx+esi] test ebx, 0xD1FFAB1E jne G_M000_IG24 vmovd xmm0, ebx vpmovzxbw xmm0, xmm0 vmovups xmmword ptr [ebp-20H], xmm0 lea ebx, [edx+2*esi] mov eax, dword ptr [ebp-20H] mov dword ptr [ebx], eax mov eax, dword ptr [ebp-1CH] mov dword ptr [ebx+04H], eax add esi, 4 cmp esi, edi jbe SHORT G_M000_IG15 G_M000_IG16: test byte ptr [ebp-10H], 2 je SHORT G_M000_IG17 movzx ebx, word ptr [ecx+esi] test ebx, 0xD1FFAB1E jne SHORT G_M000_IG24 movzx eax, bl mov word ptr [edx+2*esi], ax shr ebx, 8 lea eax, [esi+01H] mov word ptr [edx+2*eax], bx add esi, 2 G_M000_IG17: test byte ptr [ebp-10H], 1 je SHORT G_M000_IG18 movzx ebx, byte ptr [ecx+esi] test bl, 128 jne SHORT G_M000_IG18 mov word ptr [edx+2*esi], bx inc esi G_M000_IG18: mov eax, esi G_M000_IG19: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG20: jmp SHORT G_M000_IG16 G_M000_IG21: mov dword ptr [ebp+08H], eax jmp G_M000_IG13 G_M000_IG22: mov dword ptr [ebp+08H], eax jmp G_M000_IG13 G_M000_IG23: movzx eax, bl mov word ptr [edx+2*esi], ax inc esi shr ebx, 8 G_M000_IG24: movzx eax, bl test al, 128 je SHORT G_M000_IG23 G_M000_IG25: jmp SHORT G_M000_IG18 RWD00 dq 8080808080808080h, 8080808080808080h ; Total bytes of code 430 12: JIT compiled System.Text.Ascii:WidenAsciiToUtf16(uint,uint,uint) [Tier-0 switched to FullOpts, IL size=604, code size=430] ; Assembly listing for method (dynamicClass):InvokeStub_EventAttribute.set_Level(System.Object,System.Object,uint):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: mov ecx, edx G_M000_IG02: mov edx, dword ptr [esp+04H] mov edx, bword ptr [edx] mov edx, dword ptr [edx] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventAttribute:set_Level(int):this] xor eax, eax G_M000_IG03: ret 4 ; Total bytes of code 23 13: JIT compiled (dynamicClass):InvokeStub_EventAttribute.set_Level(System.Object,System.Object,uint) [FullOpts, IL size=25, code size=23] ; Assembly listing for method (dynamicClass):InvokeStub_EventAttribute.set_Message(System.Object,System.Object,uint):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: mov ecx, edx G_M000_IG02: mov edx, dword ptr [esp+04H] mov edx, bword ptr [edx] mov edx, gword ptr [edx] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventAttribute:set_Message(System.String):this] xor eax, eax G_M000_IG03: ret 4 ; Total bytes of code 23 14: JIT compiled (dynamicClass):InvokeStub_EventAttribute.set_Message(System.Object,System.Object,uint) [FullOpts, IL size=25, code size=23] ; Assembly listing for method (dynamicClass):InvokeStub_EventAttribute.set_Task(System.Object,System.Object,uint):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: mov ecx, edx G_M000_IG02: mov edx, dword ptr [esp+04H] mov edx, bword ptr [edx] mov edx, dword ptr [edx] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventAttribute:set_Task(int):this] xor eax, eax G_M000_IG03: ret 4 ; Total bytes of code 23 15: JIT compiled (dynamicClass):InvokeStub_EventAttribute.set_Task(System.Object,System.Object,uint) [FullOpts, IL size=25, code size=23] ; Assembly listing for method (dynamicClass):InvokeStub_EventAttribute.set_Opcode(System.Object,System.Object,uint):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: mov ecx, edx G_M000_IG02: mov edx, dword ptr [esp+04H] mov edx, bword ptr [edx] mov edx, dword ptr [edx] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventAttribute:set_Opcode(int):this] xor eax, eax G_M000_IG03: ret 4 ; Total bytes of code 23 16: JIT compiled (dynamicClass):InvokeStub_EventAttribute.set_Opcode(System.Object,System.Object,uint) [FullOpts, IL size=25, code size=23] ; Assembly listing for method (dynamicClass):InvokeStub_EventAttribute.set_Version(System.Object,System.Object,uint):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: mov ecx, edx G_M000_IG02: mov edx, dword ptr [esp+04H] mov edx, bword ptr [edx] movzx edx, byte ptr [edx] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventAttribute:set_Version(ubyte):this] xor eax, eax G_M000_IG03: ret 4 ; Total bytes of code 24 17: JIT compiled (dynamicClass):InvokeStub_EventAttribute.set_Version(System.Object,System.Object,uint) [FullOpts, IL size=25, code size=24] ; Assembly listing for method (dynamicClass):InvokeStub_EventAttribute.set_Keywords(System.Object,System.Object,uint):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov ecx, dword ptr [esp+04H] mov ecx, bword ptr [ecx] mov eax, dword ptr [ecx] push dword ptr [ecx+04H] push eax mov ecx, edx cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventAttribute:set_Keywords(long):this] xor eax, eax G_M000_IG03: ret 4 ; Total bytes of code 27 18: JIT compiled (dynamicClass):InvokeStub_EventAttribute.set_Keywords(System.Object,System.Object,uint) [FullOpts, IL size=25, code size=27] ; Assembly listing for method System.Number:Int32ToHexChars[ushort](uint,uint,int,int):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, dword ptr [ebp+0CH] mov eax, dword ptr [ebp+08H] G_M000_IG02: dec eax js SHORT G_M000_IG07 G_M000_IG03: mov ebx, edx and ebx, 15 add ecx, -2 cmp ebx, 10 jl SHORT G_M000_IG05 G_M000_IG04: mov edi, esi jmp SHORT G_M000_IG06 G_M000_IG05: mov edi, 48 G_M000_IG06: add edi, ebx mov word ptr [ecx], di shr edx, 4 dec eax jns SHORT G_M000_IG03 G_M000_IG07: test edx, edx jne SHORT G_M000_IG03 G_M000_IG08: mov eax, ecx G_M000_IG09: pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 61 19: JIT compiled System.Number:Int32ToHexChars[ushort](uint,uint,int,int) [Tier-0 switched to FullOpts, IL size=66, code size=61] ; Assembly listing for method System.SpanHelpers:IndexOfAnyInRangeUnsignedNumber[ushort,System.SpanHelpers+DontNegate`1[ushort]](byref,ushort,ushort,int):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-0CH], eax mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: call [System.PackedSpanHelpers:get_PackedIndexOfIsSupported():bool] test eax, eax je SHORT G_M000_IG05 mov ecx, dword ptr [ebp-08H] movzx ecx, cx call [System.PackedSpanHelpers:CanUsePackedIndexOf[ushort](ushort):bool] test eax, eax je SHORT G_M000_IG05 mov ecx, dword ptr [ebp+0CH] movzx ecx, cx call [System.PackedSpanHelpers:CanUsePackedIndexOf[ushort](ushort):bool] test eax, eax je SHORT G_M000_IG05 mov ecx, dword ptr [ebp+0CH] movzx ecx, cx mov edx, dword ptr [ebp-08H] movzx edx, dx call [System.UInt16:System.Numerics.IComparisonOperators.op_GreaterThanOrEqual(ushort,ushort):bool] test eax, eax je SHORT G_M000_IG05 mov ecx, bword ptr [ebp-04H] mov bword ptr [ebp-0CH], ecx mov ecx, dword ptr [ebp-08H] movzx ecx, cx mov dword ptr [ebp-10H], ecx mov ecx, dword ptr [ebp+0CH] movzx ecx, cx sub ecx, dword ptr [ebp-10H] movzx ecx, cx mov dword ptr [ebp-14H], ecx G_M000_IG03: push dword ptr [ebp-14H] push dword ptr [ebp+08H] mov ecx, bword ptr [ebp-0CH] mov edx, dword ptr [ebp-10H] call [System.PackedSpanHelpers:IndexOfAnyInRange(byref,ushort,ushort,int):int] G_M000_IG04: mov esp, ebp pop ebp ret 8 G_M000_IG05: mov edx, dword ptr [ebp+0CH] movzx edx, dx push edx push dword ptr [ebp+08H] mov edx, dword ptr [ebp-08H] movzx edx, dx mov ecx, bword ptr [ebp-04H] call [System.SpanHelpers:NonPackedIndexOfAnyInRangeUnsignedNumber[ushort,System.SpanHelpers+DontNegate`1[ushort]](byref,ushort,ushort,int):int] G_M000_IG06: mov esp, ebp pop ebp ret 8 ; Total bytes of code 166 20: JIT compiled System.SpanHelpers:IndexOfAnyInRangeUnsignedNumber[ushort,System.SpanHelpers+DontNegate`1[ushort]](byref,ushort,ushort,int) [Tier0, IL size=142, code size=166] ; Assembly listing for method System.PackedSpanHelpers:IndexOfAnyInRange[System.SpanHelpers+DontNegate`1[short]](byref,short,short,int):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 7 single block inlinees; 5 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx vzeroupper mov ebx, dword ptr [ebp+0CH] mov eax, dword ptr [ebp+08H] G_M000_IG02: cmp eax, 8 jge SHORT G_M000_IG07 G_M000_IG03: movsx edx, dx movsx ebx, bx xor esi, esi test eax, eax jle G_M000_IG16 align [0 bytes for IG04] G_M000_IG04: movsx edi, word ptr [ecx+2*esi] sub edi, edx cmp edi, ebx jbe SHORT G_M000_IG06 inc esi cmp esi, eax jl SHORT G_M000_IG04 G_M000_IG05: jmp G_M000_IG16 align [0 bytes for IG08] G_M000_IG06: mov eax, esi jmp G_M000_IG15 G_M000_IG07: mov esi, ecx cmp eax, 16 jle G_M000_IG13 movzx edx, dl vmovd xmm0, edx vpbroadcastb ymm0, ymm0 movzx edx, bl vmovd xmm1, edx vpbroadcastb ymm1, ymm1 cmp eax, 32 jle SHORT G_M000_IG09 lea edx, bword ptr [esi+2*eax-40H] G_M000_IG08: vmovups ymm2, ymmword ptr [esi] vpackuswb ymm2, ymm2, ymmword ptr [esi+20H] vpsubb ymm2, ymm2, ymm0 vpminub ymm3, ymm2, ymm1 vpcmpeqb ymm2, ymm3, ymm2 vptest ymm2, ymm2 jne SHORT G_M000_IG10 add esi, 64 cmp esi, edx jb SHORT G_M000_IG08 G_M000_IG09: lea eax, bword ptr [ecx+2*eax-20H] cmp esi, eax mov edx, esi cmova edx, eax jmp SHORT G_M000_IG11 G_M000_IG10: mov eax, esi sub eax, ecx shr eax, 1 vpermq ymm0, ymm2, -40 vpmovmskb edx, ymm0 xor ecx, ecx tzcnt ecx, edx add eax, ecx jmp G_M000_IG15 G_M000_IG11: vmovups ymm2, ymmword ptr [edx] vpackuswb ymm2, ymm2, ymmword ptr [eax] vpsubb ymm0, ymm2, ymm0 vpminub ymm1, ymm0, ymm1 vpcmpeqb ymm0, ymm1, ymm0 vptest ymm0, ymm0 je G_M000_IG16 vpermq ymm0, ymm0, -40 vpmovmskb ebx, ymm0 xor esi, esi tzcnt esi, ebx cmp esi, 16 jl SHORT G_M000_IG12 mov edx, eax add esi, -16 G_M000_IG12: sub edx, ecx shr edx, 1 lea eax, [edx+esi] jmp SHORT G_M000_IG15 G_M000_IG13: movzx edx, dl vmovd xmm0, edx vpbroadcastb xmm0, xmm0 movzx edx, bl vmovd xmm1, edx vpbroadcastb xmm1, xmm1 lea eax, bword ptr [esi+2*eax-10H] cmp ecx, eax mov edx, ecx cmova edx, eax vmovups xmm2, xmmword ptr [edx] vpackuswb xmm2, xmm2, xmmword ptr [eax] vpsubb xmm0, xmm2, xmm0 vpminub xmm1, xmm0, xmm1 vpcmpeqb xmm0, xmm1, xmm0 vptest xmm0, xmm0 je SHORT G_M000_IG16 vpmovmskb esi, xmm0 tzcnt esi, esi cmp esi, 8 jl SHORT G_M000_IG14 mov edx, eax add esi, -8 G_M000_IG14: sub edx, ecx shr edx, 1 lea eax, [edx+esi] G_M000_IG15: vzeroupper pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG16: mov eax, -1 G_M000_IG17: vzeroupper pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 362 21: JIT compiled System.PackedSpanHelpers:IndexOfAnyInRange[System.SpanHelpers+DontNegate`1[short]](byref,short,short,int) [Tier-0 switched to FullOpts, IL size=659, code size=362] ; Assembly listing for method BenchmarkDotNet.Autogenerated.UniqueProgramName:Main(System.String[]):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Autogenerated.UniqueProgramName:AfterAssemblyLoadingAttached(System.String[]):int] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 22: JIT compiled BenchmarkDotNet.Autogenerated.UniqueProgramName:Main(System.String[]) [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Autogenerated.UniqueProgramName:AfterAssemblyLoadingAttached(System.String[]):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 220 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-E4H], xmm4 mov eax, -192 vmovdqu xmmword ptr [ebp+eax-14H], xmm4 vmovdqu xmmword ptr [ebp+eax-04H], xmm4 vmovdqu xmmword ptr [ebp+eax+0CH], xmm4 add eax, 48 jne SHORT -5 instr mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-20H], ecx G_M000_IG02: lea edx, [ebp-2CH] push edx lea edx, [ebp-28H] mov ecx, gword ptr [ebp-20H] call [BenchmarkDotNet.Engines.AnonymousPipesHost:TryGetFileHandles(System.String[],byref,byref):bool] test eax, eax je SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-C0H], eax push gword ptr [ebp-2CH] mov ecx, gword ptr [ebp-C0H] mov edx, gword ptr [ebp-28H] call [BenchmarkDotNet.Engines.AnonymousPipesHost:.ctor(System.String,System.String):this] mov ecx, gword ptr [ebp-C0H] mov gword ptr [ebp-24H], ecx jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-60H], eax mov ecx, gword ptr [ebp-60H] call [BenchmarkDotNet.Engines.NoAcknowledgementConsoleHost:.ctor():this] mov ecx, gword ptr [ebp-60H] mov gword ptr [ebp-24H], ecx G_M000_IG04: mov ecx, gword ptr [ebp-24H] call [BenchmarkDotNet.Engines.HostExtensions:BeforeAnythingElse(BenchmarkDotNet.Engines.IHost)] G_M000_IG05: mov ecx, 0xD1FFAB1E mov edx, 3 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-64H], ecx mov ecx, gword ptr [ebp-20H] mov gword ptr [ebp-68H], ecx mov ecx, gword ptr [ebp-64H] mov gword ptr [ebp-6CH], ecx cmp gword ptr [ebp-64H], 0 jne SHORT G_M000_IG06 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-A0H], eax mov ecx, 0xD1FFAB1E mov edx, 3 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-C4H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-C4H] mov ecx, gword ptr [ebp-A0H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 3 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-A0H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-A0H] mov gword ptr [ebp-6CH], ecx G_M000_IG06: push 0xD1FFAB1E mov ecx, gword ptr [ebp-68H] mov edx, gword ptr [ebp-6CH] call [System.Linq.Enumerable:SkipWhile[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.Collections.Generic.IEnumerable`1[System.__Canon]] mov gword ptr [ebp-C8H], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-C8H] mov edx, 1 call [System.Linq.Enumerable:Skip[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],int):System.Collections.Generic.IEnumerable`1[System.__Canon]] mov gword ptr [ebp-CCH], eax mov ecx, gword ptr [ebp-CCH] mov edx, 0xD1FFAB1E call [System.Linq.Enumerable:FirstOrDefault[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon] mov gword ptr [ebp-70H], eax mov ecx, gword ptr [ebp-70H] mov gword ptr [ebp-74H], ecx cmp gword ptr [ebp-70H], 0 jne SHORT G_M000_IG07 mov gword ptr [ebp-74H], 0xD1FFAB1E G_M000_IG07: mov ecx, gword ptr [ebp-74H] mov gword ptr [ebp-30H], ecx mov ecx, gword ptr [ebp-20H] cmp dword ptr [ecx+04H], 0 jne SHORT G_M000_IG08 xor ecx, ecx mov dword ptr [ebp-78H], ecx jmp SHORT G_M000_IG09 G_M000_IG08: mov ecx, gword ptr [ebp-20H] mov eax, gword ptr [ebp-20H] mov eax, dword ptr [eax+04H] dec eax cmp eax, dword ptr [ecx+04H] jae G_M000_IG12 lea ecx, bword ptr [ecx+4*eax+08H] mov ecx, gword ptr [ecx] call [System.Int32:Parse(System.String):int] mov dword ptr [ebp-78H], eax G_M000_IG09: mov ecx, dword ptr [ebp-78H] mov dword ptr [ebp-34H], ecx mov ecx, gword ptr [ebp-20H] cmp dword ptr [ecx+04H], 0 jne SHORT G_M000_IG10 mov ecx, gword ptr [ebp-24H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Engines.IHost:WriteLine(System.String):this] G_M000_IG10: mov gword ptr [ebp-D0H], 0xD1FFAB1E mov ecx, gword ptr [ebp-D0H] mov eax, gword ptr [ebp-D0H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+30H] call [eax+14H]System.Type:get_Assembly():System.Reflection.Assembly:this mov gword ptr [ebp-94H], eax push 1 lea ecx, [ebp-90H] mov edx, 39 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] lea edi, bword ptr [ebp-4CH] lea esi, bword ptr [ebp-90H] mov ecx, 6 rep movsd lea ecx, [ebp-4CH] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-4CH] mov edx, dword ptr [ebp-34H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this] lea ecx, [ebp-4CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] mov gword ptr [ebp-D4H], eax mov edx, gword ptr [ebp-D4H] mov ecx, gword ptr [ebp-94H] mov eax, gword ptr [ebp-94H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+30H] call [eax+1CH]System.Reflection.Assembly:GetType(System.String):System.Type:this mov gword ptr [ebp-D8H], eax push 24 mov ecx, gword ptr [ebp-D8H] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [System.Type:GetMethod(System.String,int):System.Reflection.MethodInfo:this] mov gword ptr [ebp-9CH], eax mov ecx, 0xD1FFAB1E mov edx, 2 call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [ebp-98H], eax push gword ptr [ebp-24H] mov ecx, gword ptr [ebp-98H] xor edx, edx call CORINFO_HELP_ARRADDR_ST push gword ptr [ebp-30H] mov ecx, gword ptr [ebp-98H] mov edx, 1 call CORINFO_HELP_ARRADDR_ST push gword ptr [ebp-98H] mov ecx, gword ptr [ebp-9CH] xor edx, edx cmp dword ptr [ecx], ecx call [System.Reflection.MethodBase:Invoke(System.Object,System.Object[]):System.Object:this] xor ecx, ecx mov dword ptr [ebp-50H], ecx mov dword ptr [ebp-18H], 0 mov dword ptr [ebp-14H], 252 push G_M000_IG23 G_M000_IG11: jmp G_M000_IG24 G_M000_IG12: call CORINFO_HELP_RNGCHKFAIL int3 G_M000_IG13: mov gword ptr [ebp-A8H], eax mov edx, gword ptr [ebp-A8H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] mov gword ptr [ebp-ACH], eax mov edx, gword ptr [ebp-ACH] mov gword ptr [ebp-B0H], edx cmp gword ptr [ebp-ACH], 0 jne SHORT G_M000_IG14 xor edx, edx mov dword ptr [ebp-B8H], edx jmp G_M000_IG18 G_M000_IG14: mov edx, gword ptr [ebp-B0H] mov gword ptr [ebp-54H], edx mov edx, gword ptr [ebp-54H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax jne SHORT G_M000_IG16 mov edx, gword ptr [ebp-54H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] mov gword ptr [ebp-58H], eax cmp gword ptr [ebp-58H], 0 je SHORT G_M000_IG15 mov ecx, gword ptr [ebp-58H] cmp dword ptr [ecx], ecx call [System.Exception:get_InnerException():System.Exception:this] mov gword ptr [ebp-DCH], eax mov edx, gword ptr [ebp-DCH] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax setne al movzx eax, al mov dword ptr [ebp-B4H], eax jmp SHORT G_M000_IG17 G_M000_IG15: xor eax, eax mov dword ptr [ebp-B4H], eax jmp SHORT G_M000_IG17 G_M000_IG16: mov dword ptr [ebp-B4H], 1 G_M000_IG17: xor eax, eax cmp dword ptr [ebp-B4H], 0 setne al mov dword ptr [ebp-B8H], eax G_M000_IG18: mov eax, dword ptr [ebp-B8H] ret G_M000_IG19: mov gword ptr [ebp-BCH], eax mov ecx, gword ptr [ebp-24H] call [BenchmarkDotNet.Engines.IHost:WriteLine():this] mov ecx, gword ptr [ebp-24H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Engines.IHost:WriteLine(System.String):this] mov ecx, gword ptr [ebp-24H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Engines.IHost:WriteLine(System.String):this] mov ecx, gword ptr [ebp-24H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Engines.IHost:WriteLine(System.String):this] mov ecx, gword ptr [ebp-24H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Engines.IHost:WriteLine(System.String):this] mov ecx, gword ptr [ebp-24H] call [BenchmarkDotNet.Engines.IHost:WriteLine():this] mov ecx, gword ptr [ebp-54H] mov eax, gword ptr [ebp-54H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+04H]System.Object:ToString():System.String:this mov gword ptr [ebp-E0H], eax mov edx, gword ptr [ebp-E0H] mov ecx, gword ptr [ebp-24H] call [BenchmarkDotNet.Engines.IHost:WriteLine(System.String):this] mov dword ptr [ebp-50H], -1 call CORINFO_HELP_ENDCATCH mov dword ptr [ebp-18H], 0 mov dword ptr [ebp-14H], 252 push G_M000_IG21 jmp SHORT G_M000_IG24 G_M000_IG20: mov gword ptr [ebp-A4H], eax mov ecx, gword ptr [ebp-A4H] mov gword ptr [ebp-5CH], ecx mov ecx, gword ptr [ebp-24H] call [BenchmarkDotNet.Engines.IHost:WriteLine():this] mov ecx, gword ptr [ebp-5CH] mov eax, gword ptr [ebp-5CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+04H]System.Object:ToString():System.String:this mov gword ptr [ebp-E4H], eax mov edx, gword ptr [ebp-E4H] mov ecx, gword ptr [ebp-24H] call [BenchmarkDotNet.Engines.IHost:WriteLine(System.String):this] mov dword ptr [ebp-50H], -1 call CORINFO_HELP_ENDCATCH mov dword ptr [ebp-18H], 0 mov dword ptr [ebp-14H], 252 push G_M000_IG22 jmp SHORT G_M000_IG24 G_M000_IG21: mov dword ptr [ebp-14H], 0 jmp SHORT G_M000_IG25 G_M000_IG22: mov dword ptr [ebp-14H], 0 jmp SHORT G_M000_IG25 G_M000_IG23: mov dword ptr [ebp-14H], 0 jmp SHORT G_M000_IG25 G_M000_IG24: mov ecx, gword ptr [ebp-24H] call [BenchmarkDotNet.Engines.HostExtensions:AfterAll(BenchmarkDotNet.Engines.IHost)] mov ecx, gword ptr [ebp-24H] call [System.IDisposable:Dispose():this] pop eax jmp eax G_M000_IG25: mov eax, dword ptr [ebp-50H] G_M000_IG26: lea esp, [ebp-08H] pop esi pop edi pop ebp ret ; Total bytes of code 1275 23: JIT compiled BenchmarkDotNet.Autogenerated.UniqueProgramName:AfterAssemblyLoadingAttached(System.String[]) [Tier0, IL size=406, code size=1275] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:TryGetFileHandles(System.String[],byref,byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi vzeroupper G_M000_IG02: xor esi, esi mov edi, dword ptr [ecx+04H] test edi, edi jle SHORT G_M000_IG07 align [0 bytes for IG03] G_M000_IG03: mov eax, gword ptr [ecx+4*esi+08H] test eax, eax je SHORT G_M000_IG06 G_M000_IG04: cmp dword ptr [eax+04H], 16 jne SHORT G_M000_IG06 G_M000_IG05: vmovups ymm0, ymmword ptr [eax+08H] vpxor ymm0, ymm0, ymmword ptr [@RWD00] vptest ymm0, ymm0 sete al movzx eax, al test eax, eax jne SHORT G_M000_IG10 G_M000_IG06: inc esi cmp edi, esi jg SHORT G_M000_IG03 G_M000_IG07: xor eax, eax mov ecx, bword ptr [ebp+08H] mov gword ptr [ecx], eax G_M000_IG08: mov gword ptr [edx], eax G_M000_IG09: vzeroupper pop esi pop edi pop ebp ret 4 G_M000_IG10: lea eax, [esi+01H] cmp eax, edi jae SHORT G_M000_IG12 mov eax, gword ptr [ecx+4*esi+0CH] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX lea edx, [esi+02H] cmp edx, edi jae SHORT G_M000_IG12 mov eax, gword ptr [ecx+4*esi+10H] mov edx, bword ptr [ebp+08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov eax, 1 G_M000_IG11: vzeroupper pop esi pop edi pop ebp ret 4 G_M000_IG12: call CORINFO_HELP_RNGCHKFAIL int3 RWD00 dq 006E0061002D002Dh, 006D0079006E006Fh, 005000730075006Fh, 0073006500700069h ; Total bytes of code 137 24: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:TryGetFileHandles(System.String[],byref,byref) [Tier-0 switched to FullOpts, IL size=55, code size=137] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:.ctor(System.String,System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax push 2 mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.AnonymousPipesHost:OpenAnonymousPipe(System.String,int):System.IO.Stream:this] mov gword ptr [ebp-14H], eax mov ecx, 0xD1FFAB1E mov edx, 399 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov edx, gword ptr [ebp-14H] mov ecx, gword ptr [ebp-0CH] call [System.IO.StreamWriter:.ctor(System.IO.Stream,System.Text.Encoding):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp-0CH] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx mov ecx, gword ptr [ebp-18H] mov edx, 1 mov eax, gword ptr [ebp-18H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+48H] call [eax+0CH]System.IO.StreamWriter:set_AutoFlush(bool):this mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push 1 mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp+08H] call [BenchmarkDotNet.Engines.AnonymousPipesHost:OpenAnonymousPipe(System.String,int):System.IO.Stream:this] mov gword ptr [ebp-1CH], eax mov ecx, 0xD1FFAB1E mov edx, 399 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] push 0 mov edx, gword ptr [ebp-1CH] mov ecx, gword ptr [ebp-10H] call [System.IO.StreamReader:.ctor(System.IO.Stream,System.Text.Encoding,bool):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp-10H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 225 25: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:.ctor(System.String,System.String) [Tier0, IL size=68, code size=225] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:OpenAnonymousPipe(System.String,int):System.IO.Stream:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: xor ecx, ecx mov dword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-08H] call [System.Int32:Parse(System.String):int] mov dword ptr [ebp-1CH], eax mov edx, dword ptr [ebp-1CH] lea ecx, [ebp-0CH] call [System.IntPtr:.ctor(int):this] mov ecx, dword ptr [ebp-0CH] mov dword ptr [ebp-14H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWFAST mov gword ptr [ebp-10H], eax push 1 mov ecx, gword ptr [ebp-10H] mov edx, dword ptr [ebp-14H] call [Microsoft.Win32.SafeHandles.SafeFileHandle:.ctor(int,bool):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWFAST mov gword ptr [ebp-18H], eax push dword ptr [ebp+08H] push 1 mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-10H] call [System.IO.FileStream:.ctor(Microsoft.Win32.SafeHandles.SafeFileHandle,int,int):this] mov eax, gword ptr [ebp-18H] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 121 26: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:OpenAnonymousPipe(System.String,int) [Tier0, IL size=25, code size=121] ; Assembly listing for method System.Number:TryParseBinaryIntegerStyle[int](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 65920 ; 4 inlinees with PGO data; 52 single block inlinees; 7 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 36 mov esi, ecx mov edi, edx G_M000_IG02: cmp dword ptr [ebp+10H], 0 je G_M000_IG15 G_M000_IG03: xor ebx, ebx mov eax, bword ptr [ebp+0CH] movzx eax, word ptr [eax] test esi, 1 je SHORT G_M000_IG05 G_M000_IG04: cmp eax, 32 je G_M000_IG22 lea ecx, [eax-09H] cmp ecx, 4 jbe G_M000_IG22 G_M000_IG05: xor edx, edx mov dword ptr [ebp-18H], edx test esi, 4 je SHORT G_M000_IG06 cmp byte ptr [edi+A9H], 0 je G_M000_IG25 cmp eax, 45 je G_M000_IG23 cmp eax, 43 je G_M000_IG24 G_M000_IG06: xor ecx, ecx mov dword ptr [ebp-1CH], ecx xor edi, edi lea ecx, [eax-30H] cmp ecx, 9 ja SHORT G_M000_IG15 cmp eax, 48 je SHORT G_M000_IG14 G_M000_IG07: lea edi, [eax-30H] inc ebx xor ecx, ecx G_M000_IG08: cmp ebx, dword ptr [ebp+10H] jb SHORT G_M000_IG12 G_M000_IG09: mov esi, bword ptr [ebp+08H] cmp dword ptr [ebp-18H], 0 jne G_M000_IG38 G_M000_IG10: mov dword ptr [esi], edi xor eax, eax G_M000_IG11: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG12: mov eax, bword ptr [ebp+0CH] movzx eax, word ptr [eax+2*ebx] lea edx, [eax-30H] cmp edx, 9 ja SHORT G_M000_IG17 G_M000_IG13: inc ebx lea edx, [edi+4*edi] lea edi, [eax+2*edx-30H] inc ecx cmp ecx, 8 jge G_M000_IG31 jmp SHORT G_M000_IG08 G_M000_IG14: inc ebx cmp ebx, dword ptr [ebp+10H] jb G_M000_IG32 jmp SHORT G_M000_IG09 G_M000_IG15: xor eax, eax mov esi, bword ptr [ebp+08H] mov dword ptr [esi], eax mov eax, 1 jmp SHORT G_M000_IG11 G_M000_IG16: xor ecx, ecx mov esi, bword ptr [ebp+08H] mov dword ptr [esi], ecx mov eax, 2 jmp SHORT G_M000_IG11 G_M000_IG17: mov ecx, eax call [System.Number:IsWhite(int):bool] test eax, eax je SHORT G_M000_IG21 test esi, 2 je SHORT G_M000_IG15 mov esi, dword ptr [ebp-18H] jmp SHORT G_M000_IG19 G_M000_IG18: cmp ebx, dword ptr [ebp+10H] jae G_M000_IG39 mov ecx, bword ptr [ebp+0CH] movzx ecx, word ptr [ecx+2*ebx] call [System.Number:IsWhite(int):bool] test eax, eax je SHORT G_M000_IG20 G_M000_IG19: inc ebx cmp ebx, dword ptr [ebp+10H] jl SHORT G_M000_IG18 G_M000_IG20: cmp ebx, dword ptr [ebp+10H] mov dword ptr [ebp-18H], esi jae G_M000_IG37 G_M000_IG21: push dword ptr [ebp+10H] push bword ptr [ebp+0CH] mov ecx, ebx call [System.Number:TrailingZeros(System.ReadOnlySpan`1[ushort],int):bool] test eax, eax jne G_M000_IG37 jmp SHORT G_M000_IG15 G_M000_IG22: inc ebx cmp ebx, dword ptr [ebp+10H] jae SHORT G_M000_IG15 mov ecx, bword ptr [ebp+0CH] movzx eax, word ptr [ecx+2*ebx] mov dword ptr [ebp-14H], eax mov ecx, eax call [System.Number:IsWhite(int):bool] test eax, eax jne SHORT G_M000_IG22 mov eax, dword ptr [ebp-14H] jmp G_M000_IG05 G_M000_IG23: mov eax, 1 inc ebx cmp ebx, dword ptr [ebp+10H] jae G_M000_IG15 jmp G_M000_IG29 G_M000_IG24: inc ebx cmp ebx, dword ptr [ebp+10H] jae G_M000_IG15 mov edx, dword ptr [ebp-18H] mov eax, edx jmp G_M000_IG29 G_M000_IG25: cmp byte ptr [edi+AAH], 0 je SHORT G_M000_IG26 mov dword ptr [ebp-14H], eax cmp eax, 45 mov eax, dword ptr [ebp-14H] jne SHORT G_M000_IG26 mov edx, 1 inc ebx cmp ebx, dword ptr [ebp+10H] mov dword ptr [ebp-18H], edx jae G_M000_IG15 mov eax, dword ptr [ebp-18H] jmp G_M000_IG29 G_M000_IG26: cmp ebx, dword ptr [ebp+10H] jbe SHORT G_M000_IG27 call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG27: mov ecx, bword ptr [ebp+0CH] lea ecx, bword ptr [ecx+2*ebx] mov edx, dword ptr [ebp+10H] sub edx, ebx mov bword ptr [ebp+0CH], ecx mov dword ptr [ebp+10H], edx xor ebx, ebx mov edx, gword ptr [edi+10H] mov gword ptr [ebp-28H], edx mov edi, gword ptr [edi+14H] mov gword ptr [ebp-2CH], edi test edx, edx je SHORT G_M000_IG28 xor ecx, ecx cmp dword ptr [edx+04H], 0 sete cl test ecx, ecx jne SHORT G_M000_IG28 mov ecx, bword ptr [ebp+0CH] mov edi, dword ptr [ebp+10H] mov dword ptr [ebp-24H], edi lea edi, bword ptr [edx+08H] mov edx, dword ptr [edx+04H] cmp edx, dword ptr [ebp-24H] jg SHORT G_M000_IG28 mov dword ptr [ebp-14H], eax add edx, edx push edx mov edx, edi call [System.SpanHelpers:SequenceEqual(byref,byref,uint):bool] test eax, eax mov eax, dword ptr [ebp-14H] je SHORT G_M000_IG28 mov ebx, gword ptr [ebp-28H] mov ebx, dword ptr [ebx+04H] cmp ebx, dword ptr [ebp+10H] mov dword ptr [ebp-10H], ebx jae G_M000_IG15 mov eax, dword ptr [ebp-18H] mov ebx, dword ptr [ebp-10H] jmp SHORT G_M000_IG29 G_M000_IG28: mov edi, gword ptr [ebp-2CH] test edi, edi je G_M000_IG06 xor ecx, ecx cmp dword ptr [edi+04H], 0 sete cl test ecx, ecx mov gword ptr [ebp-2CH], edi jne G_M000_IG06 mov dword ptr [ebp-10H], ebx mov ecx, bword ptr [ebp+0CH] mov edi, dword ptr [ebp+10H] mov ebx, gword ptr [ebp-2CH] add ebx, 8 mov edx, gword ptr [ebp-2CH] mov edx, dword ptr [edx+04H] cmp edx, edi mov dword ptr [ebp-20H], edx mov bword ptr [ebp-30H], ebx jg SHORT G_M000_IG30 mov dword ptr [ebp-14H], eax mov edi, gword ptr [ebp-2CH] mov ebx, dword ptr [ebp-20H] add ebx, ebx push ebx mov edx, bword ptr [ebp-30H] call [System.SpanHelpers:SequenceEqual(byref,byref,uint):bool] test eax, eax mov eax, dword ptr [ebp-14H] mov ebx, dword ptr [ebp-10H] je G_M000_IG06 mov ebx, 1 mov ecx, dword ptr [edi+04H] mov edi, ecx cmp edi, dword ptr [ebp+10H] mov eax, ebx jae G_M000_IG15 mov ebx, edi G_M000_IG29: cmp ebx, dword ptr [ebp+10H] jae G_M000_IG39 mov ecx, bword ptr [ebp+0CH] movzx ecx, word ptr [ecx+2*ebx] mov edi, ecx mov dword ptr [ebp-18H], eax mov eax, edi jmp G_M000_IG06 G_M000_IG30: mov ebx, dword ptr [ebp-10H] jmp G_M000_IG06 G_M000_IG31: cmp ebx, dword ptr [ebp+10H] jae G_M000_IG09 mov eax, bword ptr [ebp+0CH] movzx eax, word ptr [eax+2*ebx] lea ecx, [eax-30H] cmp ecx, 9 ja G_M000_IG17 inc ebx xor ecx, ecx cmp edi, 0xD1FFAB1E setg cl lea edi, [edi+4*edi] lea edi, [eax+2*edi-30H] cmp dword ptr [ebp-18H], 0 jne SHORT G_M000_IG33 xor eax, eax jmp SHORT G_M000_IG34 G_M000_IG32: mov ecx, bword ptr [ebp+0CH] movzx ecx, word ptr [ecx+2*ebx] mov eax, ecx cmp eax, 48 je G_M000_IG14 lea ecx, [eax-30H] cmp ecx, 9 ja G_M000_IG17 jmp G_M000_IG07 G_M000_IG33: mov eax, 1 G_M000_IG34: add eax, 0xD1FFAB1E cmp eax, edi setb al movzx eax, al or ecx, eax movzx ecx, cl mov dword ptr [ebp-1CH], ecx cmp ebx, dword ptr [ebp+10H] jae SHORT G_M000_IG37 jmp SHORT G_M000_IG36 G_M000_IG35: mov eax, 1 inc ebx cmp ebx, dword ptr [ebp+10H] mov dword ptr [ebp-1CH], eax jae G_M000_IG16 G_M000_IG36: cmp ebx, dword ptr [ebp+10H] jae SHORT G_M000_IG39 mov ecx, bword ptr [ebp+0CH] movzx ecx, word ptr [ecx+2*ebx] lea eax, [ecx-30H] cmp eax, 9 jbe SHORT G_M000_IG35 mov eax, ecx jmp G_M000_IG17 G_M000_IG37: cmp dword ptr [ebp-1CH], 0 jne G_M000_IG16 mov esi, bword ptr [ebp+08H] cmp dword ptr [ebp-18H], 0 je G_M000_IG10 G_M000_IG38: neg edi jmp G_M000_IG10 G_M000_IG39: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 941 27: JIT compiled System.Number:TryParseBinaryIntegerStyle[int](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref) [Tier-0 switched to FullOpts with Static PGO, IL size=1142, code size=941] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax push 1 mov ecx, gword ptr [ebp-04H] xor edx, edx call [System.Text.UTF8Encoding:.ctor(bool,bool):this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 52 28: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:.cctor() [Tier0, IL size=13, code size=52] ; Assembly listing for method System.ArgumentOutOfRangeException:ThrowIfNegativeOrZero[int](int,System.String) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov dword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, dword ptr [ebp-04H] call [System.Int32:IsNegative(int):bool] test eax, eax jne SHORT G_M000_IG03 mov ecx, dword ptr [ebp-04H] call [System.Int32:System.Numerics.INumberBase.IsZero(int):bool] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-04H] call [System.ArgumentOutOfRangeException:ThrowNegativeOrZero[int](System.String,int)] G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 54 29: JIT compiled System.ArgumentOutOfRangeException:ThrowIfNegativeOrZero[int](int,System.String) [Tier0, IL size=36, code size=54] ; Assembly listing for method BenchmarkDotNet.Engines.HostExtensions:BeforeAnythingElse(BenchmarkDotNet.Engines.IHost) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, 1 call [BenchmarkDotNet.Engines.IHost:SendSignal(int):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 25 30: JIT compiled BenchmarkDotNet.Engines.HostExtensions:BeforeAnythingElse(BenchmarkDotNet.Engines.IHost) [Tier0, IL size=8, code size=25] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:SendSignal(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-20H], xmm4 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: cmp dword ptr [ebp-08H], 4 jne SHORT G_M000_IG03 mov ecx, 1 call [System.Threading.Thread:Sleep(int)] G_M000_IG03: mov ecx, dword ptr [ebp-08H] call [BenchmarkDotNet.Engines.Engine+Signals:ToMessage(int):System.String] mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-14H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.AnonymousPipesHost:WriteLine(System.String):this] mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] mov gword ptr [ebp-18H], ecx mov ecx, gword ptr [ebp-18H] mov eax, gword ptr [ebp-18H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+2CH] call [eax+1CH]System.IO.TextReader:ReadLine():System.String:this mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call [System.String:op_Inequality(System.String,System.String):bool] test eax, eax je SHORT G_M000_IG05 cmp gword ptr [ebp-0CH], 0 jne SHORT G_M000_IG04 cmp dword ptr [ebp-08H], 4 je SHORT G_M000_IG05 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, 0xF8C0 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-1CH], eax mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-0CH] call [System.String:Concat(System.String,System.String):System.String] mov gword ptr [ebp-20H], eax mov edx, gword ptr [ebp-20H] mov ecx, gword ptr [ebp-10H] call [System.NotSupportedException:.ctor(System.String):this] mov ecx, gword ptr [ebp-10H] call CORINFO_HELP_THROW G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 196 31: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:SendSignal(int) [Tier0, IL size=72, code size=196] ; Assembly listing for method BenchmarkDotNet.Engines.Engine+Signals:ToMessage(int):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 0x403 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-08H], ecx mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:get_Item(int):System.__Canon:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 56 32: JIT compiled BenchmarkDotNet.Engines.Engine+Signals:ToMessage(int) [Tier0, IL size=12, code size=56] ; Assembly listing for method BenchmarkDotNet.Engines.Engine+Signals:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-18H], xmm4 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:.ctor():this] push 0xD1FFAB1E mov ecx, gword ptr [ebp-04H] mov edx, 1 cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:Add(int,System.__Canon):this] push 0xD1FFAB1E mov ecx, gword ptr [ebp-04H] mov edx, 2 cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:Add(int,System.__Canon):this] push 0xD1FFAB1E mov ecx, gword ptr [ebp-04H] mov edx, 3 cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:Add(int,System.__Canon):this] push 0xD1FFAB1E mov ecx, gword ptr [ebp-04H] mov edx, 4 cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:Add(int,System.__Canon):this] mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx mov ecx, 0xD1FFAB1E mov edx, 0x4D9 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-14H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-14H] mov ecx, gword ptr [ebp-08H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, 0xD1FFAB1E mov edx, 0x4D9 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-18H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-10H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-10H] push 0xD1FFAB1E mov ecx, gword ptr [ebp-0CH] G_M000_IG03: mov edx, gword ptr [ebp-08H] call [System.Linq.Enumerable:ToDictionary[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon,int](System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[int,System.__Canon]],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],int]):System.Collections.Generic.Dictionary`2[System.__Canon,int]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 293 33: JIT compiled BenchmarkDotNet.Engines.Engine+Signals:.cctor() [Tier0, IL size=106, code size=293] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push 0 mov ecx, gword ptr [ebp-04H] xor edx, edx call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[int]):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 24 34: JIT compiled System.Collections.Generic.Dictionary`2[int,System.__Canon]:.ctor() [Tier0, IL size=9, code size=24] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.__Canon]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[int]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] cmp dword ptr [ebp-08H], 0 jge SHORT G_M000_IG03 mov ecx, 22 call [System.ThrowHelper:ThrowArgumentOutOfRangeException(int)] G_M000_IG03: cmp dword ptr [ebp-08H], 0 jle SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:Initialize(int):int:this] G_M000_IG04: G_M000_IG05: cmp gword ptr [ebp+08H], 0 je SHORT G_M000_IG06 call [System.Collections.Generic.EqualityComparer`1[int]:get_Default():System.Collections.Generic.EqualityComparer`1[int]] cmp eax, gword ptr [ebp+08H] je SHORT G_M000_IG06 mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG06: mov esp, ebp pop ebp ret 4 ; Total bytes of code 98 35: JIT compiled System.Collections.Generic.Dictionary`2[int,System.__Canon]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[int]) [Tier0, IL size=136, code size=98] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.__Canon]:Add(int,System.__Canon):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: push gword ptr [ebp+08H] push 2 mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:TryInsert(int,System.__Canon,ubyte):bool:this] mov dword ptr [ebp-0CH], eax G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 38 36: JIT compiled System.Collections.Generic.Dictionary`2[int,System.__Canon]:Add(int,System.__Canon) [Tier0, IL size=11, code size=38] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.__Canon]:TryInsert(int,System.__Canon,ubyte):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 7 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 72 mov esi, ecx mov edi, edx G_M000_IG02: cmp gword ptr [esi+04H], 0 jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, esi xor edx, edx call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:Initialize(int):int:this] G_M000_IG04: mov ebx, gword ptr [esi+08H] mov eax, gword ptr [esi+0CH] mov gword ptr [ebp-44H], eax test eax, eax je SHORT G_M000_IG06 G_M000_IG05: mov ecx, eax mov edx, edi call [System.Collections.Generic.IEqualityComparer`1[int]:GetHashCode(int):int:this] jmp SHORT G_M000_IG07 align [0 bytes for IG10] G_M000_IG06: mov dword ptr [ebp-10H], edi mov edx, edi mov eax, edx mov edi, dword ptr [ebp-10H] G_M000_IG07: mov dword ptr [ebp-14H], eax xor edx, edx mov dword ptr [ebp-18H], edx mov ecx, gword ptr [esi+04H] mov gword ptr [ebp-4CH], ecx push 0 push eax push 0 push dword ptr [ecx+04H] call CORINFO_HELP_ULMOD test eax, eax js SHORT G_M000_IG08 test edx, edx jne G_M000_IG31 jmp SHORT G_M000_IG09 G_M000_IG08: cmp edx, -1 jne G_M000_IG31 G_M000_IG09: mov edx, eax mov ecx, gword ptr [ebp-4CH] cmp edx, dword ptr [ecx+04H] jae G_M000_IG34 lea eax, bword ptr [ecx+4*edx+08H] mov bword ptr [ebp-48H], eax mov edx, dword ptr [eax] dec edx cmp gword ptr [ebp-44H], 0 jne SHORT G_M000_IG18 G_M000_IG10: mov ecx, dword ptr [ebx+04H] cmp ecx, edx jbe G_M000_IG23 mov dword ptr [ebp-10H], edi mov eax, edx shl eax, 4 lea eax, bword ptr [ebx+eax+08H] mov edi, dword ptr [ebp-14H] cmp dword ptr [eax+04H], edi jne SHORT G_M000_IG12 G_M000_IG11: mov edi, dword ptr [ebp-10H] cmp dword ptr [eax+0CH], edi je SHORT G_M000_IG13 G_M000_IG12: mov edx, dword ptr [eax+08H] mov eax, dword ptr [ebp-18H] inc eax cmp ecx, eax jb G_M000_IG33 mov dword ptr [ebp-18H], eax mov edi, dword ptr [ebp-10H] jmp SHORT G_M000_IG10 G_M000_IG13: movzx eax, byte ptr [ebp+08H] cmp eax, 1 jne SHORT G_M000_IG15 G_M000_IG14: cmp edx, ecx jae G_M000_IG34 shl edx, 4 lea edx, bword ptr [ebx+edx+08H] mov esi, gword ptr [ebp+0CH] call CORINFO_HELP_ASSIGN_REF_ESI jmp G_M000_IG29 G_M000_IG15: cmp eax, 2 je G_M000_IG32 G_M000_IG16: xor eax, eax G_M000_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG18: mov eax, dword ptr [ebx+04H] mov dword ptr [ebp-30H], eax cmp eax, edx jbe SHORT G_M000_IG21 mov dword ptr [ebp-10H], edi mov dword ptr [ebp-1CH], edx mov ecx, edx shl ecx, 4 lea ecx, bword ptr [ebx+ecx+08H] mov bword ptr [ebp-54H], ecx mov edi, dword ptr [ebp-14H] cmp dword ptr [ecx+04H], edi jne SHORT G_M000_IG22 G_M000_IG19: mov edi, dword ptr [ecx+0CH] push dword ptr [ebp-10H] mov edx, edi mov ecx, gword ptr [ebp-44H] call [System.Collections.Generic.IEqualityComparer`1[int]:Equals(int,int):bool:this] test eax, eax mov ecx, bword ptr [ebp-54H] je SHORT G_M000_IG22 G_M000_IG20: movzx eax, byte ptr [ebp+08H] cmp eax, 1 mov ecx, dword ptr [ebp-30H] mov edx, dword ptr [ebp-1CH] je SHORT G_M000_IG14 cmp eax, 2 je G_M000_IG32 jmp SHORT G_M000_IG16 G_M000_IG21: mov ecx, dword ptr [ebp-30H] jmp SHORT G_M000_IG23 G_M000_IG22: mov edx, dword ptr [ecx+08H] mov ecx, dword ptr [ebp-18H] inc ecx cmp dword ptr [ebp-30H], ecx jb G_M000_IG33 mov dword ptr [ebp-18H], ecx mov edi, dword ptr [ebp-10H] jmp SHORT G_M000_IG18 G_M000_IG23: mov edx, dword ptr [esi+20H] mov dword ptr [ebp-2CH], edx test edx, edx jle SHORT G_M000_IG24 mov edx, dword ptr [esi+1CH] mov dword ptr [ebp-28H], edx mov eax, dword ptr [ebp-28H] cmp eax, ecx jae G_M000_IG34 shl eax, 4 mov ecx, dword ptr [ebx+eax+10H] neg ecx add ecx, -3 mov dword ptr [esi+1CH], ecx mov ecx, dword ptr [ebp-2CH] dec ecx mov dword ptr [esi+20H], ecx jmp SHORT G_M000_IG28 G_M000_IG24: mov edx, dword ptr [esi+18H] mov ebx, edx cmp ecx, ebx jne SHORT G_M000_IG27 mov ecx, edx call [System.Collections.HashHelpers:ExpandPrime(int):int] mov edx, eax push 0 mov ecx, esi call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:Resize(int,bool):this] mov eax, gword ptr [esi+04H] mov gword ptr [ebp-50H], eax push 0 push dword ptr [ebp-14H] mov ecx, dword ptr [eax+04H] mov dword ptr [ebp-24H], ecx push 0 push ecx call CORINFO_HELP_ULMOD test eax, eax js SHORT G_M000_IG25 test edx, edx jne SHORT G_M000_IG31 jmp SHORT G_M000_IG26 G_M000_IG25: cmp edx, -1 jne SHORT G_M000_IG31 G_M000_IG26: mov edx, eax cmp edx, dword ptr [ebp-24H] jae SHORT G_M000_IG34 mov eax, gword ptr [ebp-50H] lea eax, bword ptr [eax+4*edx+08H] mov ecx, eax mov bword ptr [ebp-48H], ecx G_M000_IG27: lea edx, [ebx+01H] mov dword ptr [esi+18H], edx mov edx, gword ptr [esi+08H] mov ecx, edx mov edx, ebx mov ebx, ecx G_M000_IG28: cmp edx, dword ptr [ebx+04H] jae SHORT G_M000_IG34 mov dword ptr [ebp-20H], edx mov ecx, edx shl ecx, 4 lea ecx, bword ptr [ebx+ecx+08H] mov ebx, dword ptr [ebp-14H] mov dword ptr [ecx+04H], ebx mov eax, bword ptr [ebp-48H] mov ebx, dword ptr [eax] dec ebx mov dword ptr [ecx+08H], ebx mov dword ptr [ecx+0CH], edi mov ebx, gword ptr [ebp+0CH] mov edx, ecx call CORINFO_HELP_CHECKED_ASSIGN_REF_EBX mov edx, dword ptr [ebp-20H] inc edx mov dword ptr [eax], edx inc dword ptr [esi+24H] G_M000_IG29: mov eax, 1 G_M000_IG30: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG31: call CORINFO_HELP_OVERFLOW G_M000_IG32: mov ecx, dword ptr [ebp-10H] call [System.ThrowHelper:ThrowAddingDuplicateWithKeyArgumentException[int](int)] int3 G_M000_IG33: call [System.ThrowHelper:ThrowInvalidOperationException_ConcurrentOperationsNotSupported()] int3 G_M000_IG34: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 630 37: JIT compiled System.Collections.Generic.Dictionary`2[int,System.__Canon]:TryInsert(int,System.__Canon,ubyte) [Tier-0 switched to FullOpts, IL size=569, code size=630] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.__Canon]:Initialize(int):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, dword ptr [ebp-08H] call [System.Collections.HashHelpers:GetPrime(int):int] mov dword ptr [ebp-0CH], eax mov edx, dword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-1CH], ecx mov ecx, dword ptr [ebp-1CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-1CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-18H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-1CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-18H], eax G_M000_IG05: mov ecx, dword ptr [ebp-18H] mov edx, dword ptr [ebp-0CH] call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-04H] mov dword ptr [edx+1CH], -1 mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-10H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp-14H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, dword ptr [ebp-0CH] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 161 38: JIT compiled System.Collections.Generic.Dictionary`2[int,System.__Canon]:Initialize(int) [Tier0, IL size=44, code size=161] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.__Canon]:Resize(int,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 32 mov esi, ecx mov edi, edx G_M000_IG02: mov ecx, dword ptr [esi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov eax, dword ptr [edx+0CH] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: mov ecx, eax jmp SHORT G_M000_IG05 G_M000_IG04: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov ecx, eax G_M000_IG05: mov edx, edi call CORINFO_HELP_NEWARR_1_VC mov ebx, eax mov eax, dword ptr [esi+18H] mov dword ptr [ebp-10H], eax mov ecx, gword ptr [esi+08H] push eax mov edx, ebx call [System.Array:Copy(System.Array,System.Array,int)] mov edx, edi mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EAX xor edi, edi mov eax, dword ptr [ebp-10H] test eax, eax jle G_M000_IG17 cmp dword ptr [ebx+04H], eax jl SHORT G_M000_IG12 G_M000_IG06: mov edx, edi shl edx, 4 mov dword ptr [ebp-14H], edx cmp dword ptr [ebx+edx+10H], -1 jl SHORT G_M000_IG10 G_M000_IG07: mov ecx, dword ptr [ebx+edx+0CH] mov eax, gword ptr [esi+04H] push 0 push ecx push 0 mov gword ptr [ebp-28H], eax push dword ptr [eax+04H] call CORINFO_HELP_ULMOD test eax, eax js SHORT G_M000_IG08 test edx, edx jne G_M000_IG19 jmp SHORT G_M000_IG09 G_M000_IG08: cmp edx, -1 jne G_M000_IG19 G_M000_IG09: mov edx, gword ptr [ebp-28H] cmp eax, dword ptr [edx+04H] jae G_M000_IG20 lea ecx, bword ptr [edx+4*eax+08H] mov edx, dword ptr [ecx] dec edx mov eax, dword ptr [ebp-14H] mov dword ptr [ebx+eax+10H], edx lea eax, [edi+01H] mov dword ptr [ecx], eax G_M000_IG10: inc edi mov eax, dword ptr [ebp-10H] cmp edi, eax jl SHORT G_M000_IG06 G_M000_IG11: jmp SHORT G_M000_IG17 G_M000_IG12: cmp edi, dword ptr [ebx+04H] jae SHORT G_M000_IG20 mov edx, edi shl edx, 4 lea edx, bword ptr [ebx+edx+08H] mov bword ptr [ebp-2CH], edx cmp dword ptr [edx+08H], -1 jl SHORT G_M000_IG16 G_M000_IG13: mov ecx, dword ptr [edx+04H] mov edx, gword ptr [esi+04H] push 0 push ecx push 0 mov gword ptr [ebp-28H], edx push dword ptr [edx+04H] call CORINFO_HELP_ULMOD test eax, eax js SHORT G_M000_IG14 test edx, edx jne SHORT G_M000_IG19 jmp SHORT G_M000_IG15 G_M000_IG14: cmp edx, -1 jne SHORT G_M000_IG19 G_M000_IG15: mov edx, gword ptr [ebp-28H] cmp eax, dword ptr [edx+04H] jae SHORT G_M000_IG20 lea ecx, bword ptr [edx+4*eax+08H] mov edx, dword ptr [ecx] dec edx mov eax, bword ptr [ebp-2CH] mov dword ptr [eax+08H], edx lea edx, [edi+01H] mov dword ptr [ecx], edx G_M000_IG16: inc edi mov eax, dword ptr [ebp-10H] cmp edi, eax jl SHORT G_M000_IG12 G_M000_IG17: lea edx, bword ptr [esi+08H] call CORINFO_HELP_ASSIGN_REF_EBX G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG19: call CORINFO_HELP_OVERFLOW G_M000_IG20: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 333 39: JIT compiled System.Collections.Generic.Dictionary`2[int,System.__Canon]:Resize(int,bool) [Tier-0 switched to FullOpts, IL size=242, code size=333] ; Assembly listing for method BenchmarkDotNet.Engines.Engine+Signals+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.Engine+Signals+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 40: JIT compiled BenchmarkDotNet.Engines.Engine+Signals+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Engines.Engine+Signals+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 41: JIT compiled BenchmarkDotNet.Engines.Engine+Signals+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:ToDictionary[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon,int](System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[int,System.__Canon]],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],int]):System.Collections.Generic.Dictionary`2[System.__Canon,int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: push gword ptr [ebp+0CH] push 0 push dword ptr [ebp-10H] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [System.Linq.Enumerable:ToDictionary[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon,int](System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[int,System.__Canon]],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],int],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Generic.Dictionary`2[System.__Canon,int]] G_M000_IG06: mov esp, ebp pop ebp ret 8 ; Total bytes of code 86 42: JIT compiled System.Linq.Enumerable:ToDictionary[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon,int](System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[int,System.__Canon]],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],int]) [Tier0, IL size=10, code size=86] ; Assembly listing for method System.Linq.Enumerable:ToDictionary[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon,int](System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[int,System.__Canon]],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],int],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Generic.Dictionary`2[System.__Canon,int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 72 xor eax, eax mov dword ptr [ebp-2CH], eax mov dword ptr [ebp-18H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-10H], eax mov eax, ecx mov esi, edx mov edi, gword ptr [ebp+10H] mov ebx, dword ptr [ebp+08H] G_M000_IG02: mov gword ptr [ebp-38H], eax test eax, eax je G_M000_IG57 mov eax, gword ptr [ebp-38H] test esi, esi je G_M000_IG58 test edi, edi je G_M000_IG59 xor ecx, ecx mov dword ptr [ebp-24H], ecx mov edx, dword ptr [ebx+0CH] mov edx, dword ptr [edx+10H] test edx, edx je SHORT G_M000_IG04 G_M000_IG03: jmp SHORT G_M000_IG05 G_M000_IG04: mov gword ptr [ebp-38H], eax mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov ecx, eax mov edx, ecx mov eax, gword ptr [ebp-38H] G_M000_IG05: mov ecx, edx mov gword ptr [ebp-38H], eax mov edx, eax call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-3CH], eax test eax, eax je G_M000_IG41 G_M000_IG06: mov eax, gword ptr [ebp-3CH] mov ecx, dword ptr [ebx+0CH] cmp dword ptr [ecx+0CH], 32 jle SHORT G_M000_IG10 G_M000_IG07: mov ecx, dword ptr [ecx+20H] test ecx, ecx je SHORT G_M000_IG09 G_M000_IG08: mov dword ptr [ebp-34H], ecx jmp SHORT G_M000_IG12 G_M000_IG09: jmp SHORT G_M000_IG11 G_M000_IG10: G_M000_IG11: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-34H], eax mov eax, gword ptr [ebp-3CH] G_M000_IG12: mov ecx, eax mov eax, dword ptr [ebp-34H] nop call [eax] mov dword ptr [ebp-24H], eax test eax, eax jne SHORT G_M000_IG17 mov ecx, dword ptr [ebx+0CH] mov ecx, dword ptr [ecx+14H] test ecx, ecx je SHORT G_M000_IG14 G_M000_IG13: jmp SHORT G_M000_IG15 G_M000_IG14: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov ecx, eax G_M000_IG15: call CORINFO_HELP_NEWSFAST mov ebx, eax push gword ptr [ebp+0CH] mov ecx, ebx xor edx, edx call [System.Collections.Generic.Dictionary`2[System.__Canon,int]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this] mov eax, ebx G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG17: mov ecx, dword ptr [ebx+0CH] cmp dword ptr [ecx+0CH], 36 jle SHORT G_M000_IG20 G_M000_IG18: mov edx, dword ptr [ecx+24H] test edx, edx je SHORT G_M000_IG20 G_M000_IG19: jmp SHORT G_M000_IG21 G_M000_IG20: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov edx, eax G_M000_IG21: mov ecx, gword ptr [ebp-3CH] mov eax, ecx mov gword ptr [ebp-44H], eax cmp dword ptr [eax], edx jne SHORT G_M000_IG29 mov eax, gword ptr [ebp-44H] mov ecx, dword ptr [ebx+0CH] cmp dword ptr [ecx+0CH], 48 jle SHORT G_M000_IG25 G_M000_IG22: mov edx, dword ptr [ecx+30H] test edx, edx je SHORT G_M000_IG24 G_M000_IG23: jmp SHORT G_M000_IG27 G_M000_IG24: jmp SHORT G_M000_IG26 G_M000_IG25: G_M000_IG26: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov edx, eax mov eax, gword ptr [ebp-44H] G_M000_IG27: push edi push gword ptr [ebp+0CH] push edx mov edx, esi mov ecx, eax call [System.Linq.Enumerable:ToDictionary[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon,int](System.Collections.Generic.KeyValuePair`2[int,System.__Canon][],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],int],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Generic.Dictionary`2[System.__Canon,int]] G_M000_IG28: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG29: mov edx, dword ptr [ebx+0CH] cmp dword ptr [edx+0CH], 40 jle SHORT G_M000_IG32 G_M000_IG30: mov eax, dword ptr [edx+28H] test eax, eax je SHORT G_M000_IG32 G_M000_IG31: jmp SHORT G_M000_IG33 G_M000_IG32: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD G_M000_IG33: mov ecx, eax mov edx, gword ptr [ebp-3CH] call [CORINFO_HELP_ISINSTANCEOFCLASS] mov gword ptr [ebp-48H], eax test eax, eax je SHORT G_M000_IG41 mov eax, gword ptr [ebp-48H] mov ecx, dword ptr [ebx+0CH] cmp dword ptr [ecx+0CH], 44 jle SHORT G_M000_IG37 G_M000_IG34: mov edx, dword ptr [ecx+2CH] test edx, edx je SHORT G_M000_IG36 G_M000_IG35: jmp SHORT G_M000_IG39 G_M000_IG36: jmp SHORT G_M000_IG38 G_M000_IG37: G_M000_IG38: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov edx, eax mov eax, gword ptr [ebp-48H] G_M000_IG39: push edi push gword ptr [ebp+0CH] push edx mov edx, esi mov ecx, eax call [System.Linq.Enumerable:ToDictionary[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon,int](System.Collections.Generic.List`1[System.Collections.Generic.KeyValuePair`2[int,System.__Canon]],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],int],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Generic.Dictionary`2[System.__Canon,int]] G_M000_IG40: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG41: mov ecx, dword ptr [ebx+0CH] mov ecx, dword ptr [ecx+14H] test ecx, ecx je SHORT G_M000_IG43 G_M000_IG42: jmp SHORT G_M000_IG44 G_M000_IG43: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov ecx, eax G_M000_IG44: call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-50H], eax push gword ptr [ebp+0CH] mov ecx, eax mov edx, dword ptr [ebp-24H] call [System.Collections.Generic.Dictionary`2[System.__Canon,int]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this] mov eax, gword ptr [ebp-50H] mov gword ptr [ebp-40H], eax mov ecx, dword ptr [ebx+0CH] mov ecx, dword ptr [ecx+18H] test ecx, ecx je SHORT G_M000_IG46 G_M000_IG45: mov dword ptr [ebp-30H], ecx jmp SHORT G_M000_IG47 G_M000_IG46: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-30H], eax G_M000_IG47: mov ecx, gword ptr [ebp-38H] mov eax, dword ptr [ebp-30H] nop call [eax] mov gword ptr [ebp-4CH], eax G_M000_IG48: mov ecx, eax call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG52 mov ecx, dword ptr [ebx+0CH] mov eax, dword ptr [ecx+1CH] test eax, eax je SHORT G_M000_IG50 G_M000_IG49: mov ebx, eax jmp SHORT G_M000_IG51 G_M000_IG50: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov ebx, eax G_M000_IG51: mov eax, ebx lea edx, [ebp-2CH] mov ecx, gword ptr [ebp-4CH] nop call [eax] push dword ptr [ebp-28H] push gword ptr [ebp-2CH] mov ecx, gword ptr [esi+04H] call [esi+0CH]System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon]:Invoke(System.Collections.Generic.KeyValuePair`2[int,System.__Canon]):System.__Canon:this mov gword ptr [ebp-54H], eax push dword ptr [ebp-28H] push gword ptr [ebp-2CH] mov ecx, gword ptr [edi+04H] call [edi+0CH]System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],int]:Invoke(System.Collections.Generic.KeyValuePair`2[int,System.__Canon]):int:this push eax push 2 mov ecx, gword ptr [ebp-40H] mov edx, gword ptr [ebp-54H] call [System.Collections.Generic.Dictionary`2[System.__Canon,int]:TryInsert(System.__Canon,int,ubyte):bool:this] mov ecx, gword ptr [ebp-4CH] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG51 G_M000_IG52: mov ecx, gword ptr [ebp-4CH] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG55 G_M000_IG53: cmp gword ptr [ebp-4CH], 0 je SHORT G_M000_IG54 mov ecx, gword ptr [ebp-4CH] call [System.IDisposable:Dispose():this] G_M000_IG54: pop eax jmp eax G_M000_IG55: mov eax, gword ptr [ebp-40H] G_M000_IG56: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG57: mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG58: mov ecx, 9 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG59: mov ecx, 2 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 ; Total bytes of code 751 43: JIT compiled System.Linq.Enumerable:ToDictionary[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon,int](System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[int,System.__Canon]],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],int],System.Collections.Generic.IEqualityComparer`1[System.__Canon]) [Tier-0 switched to FullOpts, IL size=175, code size=751] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.__Canon]:get_Count():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+18H] mov edx, gword ptr [ebp-04H] sub eax, dword ptr [edx+20H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 23 44: JIT compiled System.Collections.Generic.Dictionary`2[int,System.__Canon]:get_Count() [Tier0, IL size=14, code size=23] ; Assembly listing for method System.Collections.Generic.Dictionary`2[System.__Canon,int]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] cmp dword ptr [ebp-08H], 0 jge SHORT G_M000_IG03 mov ecx, 22 call [System.ThrowHelper:ThrowArgumentOutOfRangeException(int)] G_M000_IG03: cmp dword ptr [ebp-08H], 0 jle SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] call [System.Collections.Generic.Dictionary`2[System.__Canon,int]:Initialize(int):int:this] G_M000_IG04: mov edx, gword ptr [ebp-04H] mov gword ptr [ebp-10H], edx mov edx, gword ptr [ebp+08H] mov gword ptr [ebp-14H], edx cmp gword ptr [ebp+08H], 0 jne SHORT G_M000_IG08 mov edx, gword ptr [ebp-04H] mov edx, dword ptr [edx] mov dword ptr [ebp-20H], edx mov ecx, dword ptr [ebp-20H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp-20H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp-20H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-1CH], eax G_M000_IG07: mov ecx, dword ptr [ebp-1CH] call [System.Collections.Generic.EqualityComparer`1[System.__Canon]:get_Default():System.Collections.Generic.EqualityComparer`1[System.__Canon]] mov gword ptr [ebp-14H], eax G_M000_IG08: mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+0CH] mov ecx, gword ptr [ebp-14H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG13 mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+0CH] call [System.Collections.Generic.NonRandomizedStringEqualityComparer:GetStringComparer(System.Object):System.Collections.Generic.IEqualityComparer`1[System.String]] mov gword ptr [ebp-0CH], eax cmp gword ptr [ebp-0CH], 0 je SHORT G_M000_IG13 mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-24H], ecx mov ecx, dword ptr [ebp-24H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG10 G_M000_IG09: mov ecx, dword ptr [ebp-24H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-18H], ecx jmp SHORT G_M000_IG11 G_M000_IG10: mov ecx, dword ptr [ebp-24H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-18H], eax G_M000_IG11: mov ecx, dword ptr [ebp-18H] mov edx, gword ptr [ebp-0CH] call [CORINFO_HELP_CHKCASTANY] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG12: mov esp, ebp pop ebp ret 4 G_M000_IG13: mov esp, ebp pop ebp ret 4 ; Total bytes of code 293 45: JIT compiled System.Collections.Generic.Dictionary`2[System.__Canon,int]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[System.__Canon]) [Tier0, IL size=136, code size=293] ; Assembly listing for method System.Collections.Generic.Dictionary`2[System.__Canon,int]:Initialize(int):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, dword ptr [ebp-08H] call [System.Collections.HashHelpers:GetPrime(int):int] mov dword ptr [ebp-0CH], eax mov edx, dword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-1CH], ecx mov ecx, dword ptr [ebp-1CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+14H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-1CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+14H] mov dword ptr [ebp-18H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-1CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-18H], eax G_M000_IG05: mov ecx, dword ptr [ebp-18H] mov edx, dword ptr [ebp-0CH] call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-04H] mov dword ptr [edx+1CH], -1 mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-10H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp-14H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, dword ptr [ebp-0CH] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 161 46: JIT compiled System.Collections.Generic.Dictionary`2[System.__Canon,int]:Initialize(int) [Tier0, IL size=44, code size=161] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.__Canon]:System.Collections.Generic.IEnumerable>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[int,System.__Canon]]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:get_Count():int:this] test eax, eax je SHORT G_M000_IG07 mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-18H], ecx mov ecx, dword ptr [ebp-18H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+14H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-18H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+14H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-18H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, dword ptr [ebp-14H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-10H] add edx, 4 mov ecx, gword ptr [ebp-04H] call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:GetEnumerator():System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:this] mov eax, gword ptr [ebp-10H] mov gword ptr [ebp-08H], eax mov eax, gword ptr [ebp-08H] G_M000_IG06: mov esp, ebp pop ebp ret G_M000_IG07: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-1CH], ecx mov ecx, dword ptr [ebp-1CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG09 G_M000_IG08: mov ecx, dword ptr [ebp-1CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG10 G_M000_IG09: mov ecx, dword ptr [ebp-1CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-0CH], eax G_M000_IG10: mov ecx, dword ptr [ebp-0CH] call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov eax, gword ptr [eax] mov gword ptr [ebp-08H], eax mov eax, gword ptr [ebp-08H] G_M000_IG11: mov esp, ebp pop ebp ret ; Total bytes of code 197 47: JIT compiled System.Collections.Generic.Dictionary`2[int,System.__Canon]:System.Collections.Generic.IEnumerable>.GetEnumerator() [Tier0, IL size=30, code size=197] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.__Canon]:GetEnumerator():System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 40 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-0CH], ecx mov bword ptr [ebp-10H], edx G_M000_IG02: mov ecx, gword ptr [ebp-0CH] mov ecx, dword ptr [ecx] mov dword ptr [ebp-30H], ecx mov ecx, dword ptr [ebp-30H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+14H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-30H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+14H] mov dword ptr [ebp-2CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-30H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-2CH], eax G_M000_IG05: push 2 push dword ptr [ebp-2CH] lea ecx, [ebp-28H] mov edx, gword ptr [ebp-0CH] call [System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:.ctor(System.Collections.Generic.Dictionary`2[int,System.__Canon],int):this] mov edi, bword ptr [ebp-10H] lea esi, bword ptr [ebp-28H] call CORINFO_HELP_ASSIGN_BYREF movsd movsd movsd call CORINFO_HELP_ASSIGN_BYREF movsd G_M000_IG06: lea esp, [ebp-08H] pop esi pop edi pop ebp ret ; Total bytes of code 129 48: JIT compiled System.Collections.Generic.Dictionary`2[int,System.__Canon]:GetEnumerator() [Tier0, IL size=8, code size=129] ; Assembly listing for method System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:.ctor(System.Collections.Generic.Dictionary`2[int,System.__Canon],int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov bword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, bword ptr [ebp-04H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax+24H] mov edx, bword ptr [ebp-04H] mov dword ptr [edx+04H], eax mov eax, bword ptr [ebp-04H] xor edx, edx mov dword ptr [eax+08H], edx mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp+0CH] mov dword ptr [eax+0CH], edx mov eax, bword ptr [ebp-04H] xor edx, edx mov dword ptr [eax+10H], edx mov dword ptr [eax+14H], edx G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 69 49: JIT compiled System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:.ctor(System.Collections.Generic.Dictionary`2[int,System.__Canon],int) [Tier0, IL size=46, code size=69] ; Assembly listing for method System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi G_M000_IG02: mov edx, dword ptr [ecx+04H] mov eax, gword ptr [ecx] cmp edx, dword ptr [eax+24H] jne SHORT G_M000_IG09 G_M000_IG03: mov edx, dword ptr [ecx+08H] mov eax, gword ptr [ecx] cmp edx, dword ptr [eax+18H] jb SHORT G_M000_IG06 G_M000_IG04: mov eax, gword ptr [ecx] mov eax, dword ptr [eax+18H] inc eax mov dword ptr [ecx+08H], eax xor eax, eax mov dword ptr [ecx+10H], eax mov dword ptr [ecx+14H], eax G_M000_IG05: pop esi pop ebp ret G_M000_IG06: mov edx, gword ptr [ecx] mov edx, gword ptr [edx+08H] mov eax, dword ptr [ecx+08H] lea esi, [eax+01H] mov dword ptr [ecx+08H], esi cmp eax, dword ptr [edx+04H] jae SHORT G_M000_IG10 shl eax, 4 lea edx, bword ptr [edx+eax+08H] cmp dword ptr [edx+08H], -1 jl SHORT G_M000_IG03 G_M000_IG07: mov eax, dword ptr [edx+0CH] mov esi, gword ptr [edx] add ecx, 16 mov edx, ecx call CORINFO_HELP_CHECKED_ASSIGN_REF_ESI mov dword ptr [ecx+04H], eax mov eax, 1 G_M000_IG08: pop esi pop ebp ret G_M000_IG09: call [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()] int3 G_M000_IG10: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 115 50: JIT compiled System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext() [Tier-0 switched to FullOpts, IL size=146, code size=115] ; Assembly listing for method System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:get_Current():System.Collections.Generic.KeyValuePair`2[int,System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 8 mov bword ptr [ebp-0CH], ecx mov bword ptr [ebp-10H], edx G_M000_IG02: mov esi, bword ptr [ebp-0CH] add esi, 16 mov edi, bword ptr [ebp-10H] call CORINFO_HELP_ASSIGN_BYREF movsd G_M000_IG03: lea esp, [ebp-08H] pop esi pop edi pop ebp ret 4 ; Total bytes of code 38 51: JIT compiled System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:get_Current() [Tier0, IL size=7, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.Engine+Signals+<>c:<.cctor>b__5_0(System.Collections.Generic.KeyValuePair`2[int,System.String]):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: lea ecx, [ebp+08H] mov edx, 0xD1FFAB1E call [System.Collections.Generic.KeyValuePair`2[int,System.__Canon]:get_Value():System.__Canon:this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 27 52: JIT compiled BenchmarkDotNet.Engines.Engine+Signals+<>c:<.cctor>b__5_0(System.Collections.Generic.KeyValuePair`2[int,System.String]) [Tier0, IL size=8, code size=27] ; Assembly listing for method System.Collections.Generic.KeyValuePair`2[int,System.__Canon]:get_Value():System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, gword ptr [eax] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 21 53: JIT compiled System.Collections.Generic.KeyValuePair`2[int,System.__Canon]:get_Value() [Tier0, IL size=7, code size=21] ; Assembly listing for method BenchmarkDotNet.Engines.Engine+Signals+<>c:<.cctor>b__5_1(System.Collections.Generic.KeyValuePair`2[int,System.String]):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: lea ecx, [ebp+08H] mov edx, 0xD1FFAB1E call [System.Collections.Generic.KeyValuePair`2[int,System.__Canon]:get_Key():int:this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 27 54: JIT compiled BenchmarkDotNet.Engines.Engine+Signals+<>c:<.cctor>b__5_1(System.Collections.Generic.KeyValuePair`2[int,System.String]) [Tier0, IL size=8, code size=27] ; Assembly listing for method System.Collections.Generic.KeyValuePair`2[int,System.__Canon]:get_Key():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 22 55: JIT compiled System.Collections.Generic.KeyValuePair`2[int,System.__Canon]:get_Key() [Tier0, IL size=7, code size=22] ; Assembly listing for method System.Collections.Generic.Dictionary`2[System.__Canon,int]:TryInsert(System.__Canon,int,ubyte):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 80 mov esi, ecx mov edi, edx G_M000_IG02: test edi, edi je G_M000_IG30 cmp gword ptr [esi+04H], 0 jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, esi xor edx, edx call [System.Collections.Generic.Dictionary`2[System.__Canon,int]:Initialize(int):int:this] G_M000_IG04: mov ebx, gword ptr [esi+08H] mov eax, gword ptr [esi+0CH] mov gword ptr [ebp-4CH], eax mov ecx, dword ptr [esi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+18H] test edx, edx je SHORT G_M000_IG06 G_M000_IG05: mov eax, gword ptr [ebp-4CH] mov dword ptr [ebp-1CH], edx jmp SHORT G_M000_IG07 G_M000_IG06: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-1CH], eax mov eax, gword ptr [ebp-4CH] G_M000_IG07: mov ecx, eax mov gword ptr [ebp-48H], edi mov edx, edi mov eax, dword ptr [ebp-1CH] nop call [eax] mov dword ptr [ebp-10H], eax xor edx, edx mov dword ptr [ebp-14H], edx mov ecx, gword ptr [esi+04H] mov gword ptr [ebp-54H], ecx push 0 push eax push 0 push dword ptr [ecx+04H] call CORINFO_HELP_ULMOD test eax, eax js SHORT G_M000_IG08 test edx, edx jne G_M000_IG29 jmp SHORT G_M000_IG09 G_M000_IG08: cmp edx, -1 jne G_M000_IG29 G_M000_IG09: mov ecx, eax mov edx, gword ptr [ebp-54H] cmp ecx, dword ptr [edx+04H] jae G_M000_IG35 lea eax, bword ptr [edx+4*ecx+08H] mov bword ptr [ebp-50H], eax mov edx, dword ptr [eax] dec edx G_M000_IG10: mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-2CH], ecx cmp ecx, edx jbe G_M000_IG21 G_M000_IG11: shl edx, 4 mov dword ptr [ebp-30H], edx lea eax, bword ptr [ebx+edx+08H] mov bword ptr [ebp-5CH], eax mov edi, dword ptr [ebp-10H] cmp dword ptr [eax+04H], edi jne SHORT G_M000_IG16 G_M000_IG12: mov edi, dword ptr [esi] mov dword ptr [ebp-34H], edi mov edi, dword ptr [edi+20H] mov edi, dword ptr [edi] mov edi, dword ptr [edi+1CH] test edi, edi je SHORT G_M000_IG14 G_M000_IG13: jmp SHORT G_M000_IG15 G_M000_IG14: mov ecx, dword ptr [ebp-34H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edi, eax G_M000_IG15: mov edx, dword ptr [ebp-30H] mov edx, gword ptr [ebx+edx+08H] push gword ptr [ebp-48H] mov ecx, gword ptr [ebp-4CH] mov eax, edi nop call [eax] test eax, eax jne SHORT G_M000_IG17 G_M000_IG16: mov eax, bword ptr [ebp-5CH] mov edx, dword ptr [eax+08H] mov eax, dword ptr [ebp-14H] inc eax cmp dword ptr [ebp-2CH], eax jb G_M000_IG31 mov dword ptr [ebp-14H], eax jmp SHORT G_M000_IG10 G_M000_IG17: movzx ecx, byte ptr [ebp+08H] cmp ecx, 1 jne SHORT G_M000_IG19 mov eax, bword ptr [ebp-5CH] mov edi, dword ptr [ebp+0CH] mov dword ptr [eax+0CH], edi mov eax, 1 G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG19: cmp ecx, 2 je G_M000_IG32 xor eax, eax G_M000_IG20: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG21: mov edx, dword ptr [esi+20H] mov dword ptr [ebp-28H], edx test edx, edx jle SHORT G_M000_IG22 mov edx, dword ptr [esi+1CH] mov dword ptr [ebp-24H], edx mov eax, dword ptr [ebp-24H] cmp eax, dword ptr [ebp-2CH] jae G_M000_IG35 shl eax, 4 mov ecx, dword ptr [ebx+eax+10H] neg ecx add ecx, -3 mov dword ptr [esi+1CH], ecx mov ecx, dword ptr [ebp-28H] dec ecx mov dword ptr [esi+20H], ecx jmp SHORT G_M000_IG26 G_M000_IG22: mov edx, dword ptr [esi+18H] mov ebx, edx cmp dword ptr [ebp-2CH], ebx jne SHORT G_M000_IG25 mov ecx, edx call [System.Collections.HashHelpers:ExpandPrime(int):int] mov edx, eax push 0 mov ecx, esi call [System.Collections.Generic.Dictionary`2[System.__Canon,int]:Resize(int,bool):this] mov eax, gword ptr [esi+04H] mov gword ptr [ebp-58H], eax push 0 push dword ptr [ebp-10H] mov ecx, dword ptr [eax+04H] mov dword ptr [ebp-20H], ecx push 0 push ecx call CORINFO_HELP_ULMOD test eax, eax js SHORT G_M000_IG23 test edx, edx jne G_M000_IG29 jmp SHORT G_M000_IG24 G_M000_IG23: cmp edx, -1 jne G_M000_IG29 G_M000_IG24: mov edx, eax cmp edx, dword ptr [ebp-20H] jae G_M000_IG35 mov ecx, gword ptr [ebp-58H] lea eax, bword ptr [ecx+4*edx+08H] mov bword ptr [ebp-50H], eax G_M000_IG25: lea edx, [ebx+01H] mov dword ptr [esi+18H], edx mov edx, gword ptr [esi+08H] mov ecx, edx mov edx, ebx mov ebx, ecx G_M000_IG26: cmp edx, dword ptr [ebx+04H] jae G_M000_IG35 mov dword ptr [ebp-18H], edx mov ecx, edx shl ecx, 4 lea ecx, bword ptr [ebx+ecx+08H] mov eax, dword ptr [ebp-10H] mov dword ptr [ecx+04H], eax mov eax, bword ptr [ebp-50H] mov eax, dword ptr [eax] dec eax mov dword ptr [ecx+08H], eax mov edi, gword ptr [ebp-48H] mov edx, ecx call CORINFO_HELP_CHECKED_ASSIGN_REF_EDI mov edi, dword ptr [ebp+0CH] mov dword ptr [ecx+0CH], edi mov edx, dword ptr [ebp-18H] inc edx mov edi, bword ptr [ebp-50H] mov dword ptr [edi], edx inc dword ptr [esi+24H] cmp dword ptr [ebp-14H], 100 jbe SHORT G_M000_IG27 mov edx, gword ptr [ebp-4CH] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax je SHORT G_M000_IG27 mov edx, dword ptr [ebx+04H] push 1 mov ecx, esi call [System.Collections.Generic.Dictionary`2[System.__Canon,int]:Resize(int,bool):this] G_M000_IG27: mov eax, 1 G_M000_IG28: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG29: call CORINFO_HELP_OVERFLOW G_M000_IG30: mov ecx, 4 call [System.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG31: call [System.ThrowHelper:ThrowInvalidOperationException_ConcurrentOperationsNotSupported()] int3 G_M000_IG32: mov ecx, dword ptr [esi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+20H] test edx, edx je SHORT G_M000_IG33 jmp SHORT G_M000_IG34 G_M000_IG33: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax G_M000_IG34: mov ecx, gword ptr [ebp-48H] call [System.ThrowHelper:ThrowAddingDuplicateWithKeyArgumentException[System.__Canon](System.__Canon)] int3 G_M000_IG35: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 694 56: JIT compiled System.Collections.Generic.Dictionary`2[System.__Canon,int]:TryInsert(System.__Canon,int,ubyte) [Tier-0 switched to FullOpts, IL size=569, code size=694] ; Assembly listing for method System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov esp, ebp pop ebp ret ; Total bytes of code 16 57: JIT compiled System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:Dispose() [Tier0, IL size=1, code size=16] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.__Canon]:get_Item(int):System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:FindValue(int):byref:this] mov bword ptr [ebp-0CH], eax cmp bword ptr [ebp-0CH], 0 je SHORT G_M000_IG04 mov eax, bword ptr [ebp-0CH] mov eax, gword ptr [eax] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, dword ptr [ebp-08H] call [System.ThrowHelper:ThrowKeyNotFoundException[int](int)] xor eax, eax mov gword ptr [ebp-10H], eax mov eax, gword ptr [ebp-10H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 71 58: JIT compiled System.Collections.Generic.Dictionary`2[int,System.__Canon]:get_Item(int) [Tier0, IL size=39, code size=71] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.__Canon]:FindValue(int):byref:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 6 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 52 mov edi, ecx mov esi, edx G_M000_IG02: cmp gword ptr [edi+04H], 0 je G_M000_IG20 G_M000_IG03: mov ebx, gword ptr [edi+0CH] mov gword ptr [ebp-38H], ebx test ebx, ebx jne SHORT G_M000_IG09 mov ebx, esi mov eax, gword ptr [edi+04H] mov gword ptr [ebp-3CH], eax push 0 push ebx mov edx, dword ptr [eax+04H] mov dword ptr [ebp-18H], edx push 0 push edx call CORINFO_HELP_ULMOD test eax, eax js SHORT G_M000_IG04 test edx, edx jne G_M000_IG21 jmp SHORT G_M000_IG05 G_M000_IG04: cmp edx, -1 jne G_M000_IG21 G_M000_IG05: mov ecx, eax cmp ecx, dword ptr [ebp-18H] jae G_M000_IG23 mov edx, gword ptr [ebp-3CH] mov ecx, dword ptr [edx+4*ecx+08H] mov eax, gword ptr [edi+08H] xor edx, edx dec ecx align [0 bytes for IG06] G_M000_IG06: mov edi, dword ptr [eax+04H] cmp edi, ecx jbe G_M000_IG20 shl ecx, 4 lea ecx, bword ptr [eax+ecx+08H] cmp dword ptr [ecx+04H], esi jne SHORT G_M000_IG08 G_M000_IG07: cmp dword ptr [ecx+0CH], ebx je G_M000_IG17 G_M000_IG08: mov ecx, dword ptr [ecx+08H] inc edx cmp edi, edx jb G_M000_IG22 jmp SHORT G_M000_IG06 G_M000_IG09: mov ecx, ebx mov edx, esi call [System.Collections.Generic.IEqualityComparer`1[int]:GetHashCode(int):int:this] mov dword ptr [ebp-10H], eax mov edx, gword ptr [edi+04H] mov gword ptr [ebp-40H], edx push 0 push eax mov ecx, dword ptr [edx+04H] mov dword ptr [ebp-1CH], ecx push 0 push ecx call CORINFO_HELP_ULMOD test eax, eax js SHORT G_M000_IG10 test edx, edx jne SHORT G_M000_IG21 jmp SHORT G_M000_IG11 G_M000_IG10: cmp edx, -1 jne SHORT G_M000_IG21 G_M000_IG11: mov edx, eax cmp edx, dword ptr [ebp-1CH] jae SHORT G_M000_IG23 mov ecx, gword ptr [ebp-40H] mov edx, dword ptr [ecx+4*edx+08H] mov edi, gword ptr [edi+08H] xor eax, eax mov dword ptr [ebp-14H], eax dec edx G_M000_IG12: mov ecx, dword ptr [edi+04H] mov dword ptr [ebp-20H], ecx cmp ecx, edx jbe SHORT G_M000_IG20 shl edx, 4 lea edx, bword ptr [edi+edx+08H] mov ebx, dword ptr [ebp-10H] cmp dword ptr [edx+04H], ebx jne SHORT G_M000_IG15 G_M000_IG13: mov bword ptr [ebp-34H], edx mov ebx, dword ptr [edx+0CH] push esi mov edx, ebx mov ecx, gword ptr [ebp-38H] call [System.Collections.Generic.IEqualityComparer`1[int]:Equals(int,int):bool:this] test eax, eax jne SHORT G_M000_IG16 G_M000_IG14: mov edx, bword ptr [ebp-34H] G_M000_IG15: mov edx, dword ptr [edx+08H] mov eax, dword ptr [ebp-14H] inc eax cmp dword ptr [ebp-20H], eax jb SHORT G_M000_IG22 mov dword ptr [ebp-14H], eax jmp SHORT G_M000_IG12 G_M000_IG16: mov ecx, bword ptr [ebp-34H] G_M000_IG17: cmp byte ptr [ecx], cl G_M000_IG18: mov eax, ecx G_M000_IG19: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG20: xor ecx, ecx jmp SHORT G_M000_IG18 G_M000_IG21: call CORINFO_HELP_OVERFLOW G_M000_IG22: call [System.ThrowHelper:ThrowInvalidOperationException_ConcurrentOperationsNotSupported()] int3 G_M000_IG23: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 329 59: JIT compiled System.Collections.Generic.Dictionary`2[int,System.__Canon]:FindValue(int) [Tier-0 switched to FullOpts, IL size=299, code size=329] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:WriteLine(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-0CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+3CH] call [eax+18H]System.IO.TextWriter:WriteLine(System.String):this G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 47 60: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:WriteLine(System.String) [Tier0, IL size=13, code size=47] ; Assembly listing for method System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,int):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 11250 ; 0 inlinees with PGO data; 11 single block inlinees; 5 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx push eax vzeroupper mov ebx, dword ptr [ebp+0CH] mov eax, dword ptr [ebp+08H] G_M000_IG02: cmp eax, 8 jge G_M000_IG12 G_M000_IG03: xor esi, esi cmp eax, 4 jl G_M000_IG05 G_M000_IG04: add eax, -4 movsx edi, word ptr [ecx] movsx esi, dx cmp edi, esi je G_M000_IG20 mov dword ptr [ebp+0CH], ebx movsx ebx, bx mov dword ptr [ebp-10H], ebx cmp edi, ebx sete bl movzx ebx, bl test bl, bl jne G_M000_IG20 movsx edi, word ptr [ecx+02H] cmp edi, esi je G_M000_IG22 mov ebx, dword ptr [ebp-10H] cmp edi, ebx sete bl movzx ebx, bl test bl, bl jne G_M000_IG22 movsx edi, word ptr [ecx+04H] cmp edi, esi je G_M000_IG24 mov ebx, dword ptr [ebp-10H] cmp edi, ebx sete bl movzx ebx, bl test bl, bl jne G_M000_IG24 movsx edi, word ptr [ecx+06H] cmp edi, esi je G_M000_IG26 mov ebx, dword ptr [ebp-10H] cmp edi, ebx sete bl movzx ebx, bl test bl, bl jne G_M000_IG26 mov esi, 4 movsx ebx, word ptr [ebp+0CH] G_M000_IG05: test eax, eax mov dword ptr [ebp+0CH], ebx jle SHORT G_M000_IG10 G_M000_IG06: dec eax movsx edi, word ptr [ecx+2*esi] movsx ebx, dx cmp edi, ebx je SHORT G_M000_IG09 movsx ebx, word ptr [ebp+0CH] cmp edi, ebx sete bl movzx ebx, bl test bl, bl jne SHORT G_M000_IG09 G_M000_IG07: inc esi test eax, eax jg SHORT G_M000_IG06 G_M000_IG08: jmp SHORT G_M000_IG10 G_M000_IG09: mov eax, esi jmp SHORT G_M000_IG11 G_M000_IG10: mov eax, -1 G_M000_IG11: vzeroupper pop ecx pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG12: mov edi, ecx cmp eax, 16 jle G_M000_IG18 movzx edx, dl vmovd xmm0, edx vpbroadcastb ymm0, ymm0 movzx edx, bl vmovd xmm1, edx vpbroadcastb ymm1, ymm1 cmp eax, 32 jle SHORT G_M000_IG15 G_M000_IG13: lea edx, bword ptr [edi+2*eax-40H] G_M000_IG14: vmovups ymm2, ymmword ptr [edi] vpackuswb ymm2, ymm2, ymmword ptr [edi+20H] vpcmpeqb ymm3, ymm0, ymm2 vpcmpeqb ymm2, ymm1, ymm2 vpor ymm2, ymm3, ymm2 vptest ymm2, ymm2 jne G_M000_IG27 add edi, 64 cmp edi, edx jb SHORT G_M000_IG14 G_M000_IG15: lea eax, bword ptr [ecx+2*eax-20H] cmp edi, eax mov edx, edi cmova edx, eax vmovups ymm2, ymmword ptr [edx] vpackuswb ymm2, ymm2, ymmword ptr [eax] vpcmpeqb ymm0, ymm0, ymm2 vpcmpeqb ymm1, ymm1, ymm2 vpor ymm0, ymm0, ymm1 vptest ymm0, ymm0 je G_M000_IG10 G_M000_IG16: vpermq ymm0, ymm0, -40 vpmovmskb edi, ymm0 xor esi, esi tzcnt esi, edi cmp esi, 16 jl SHORT G_M000_IG17 mov edx, eax add esi, -16 G_M000_IG17: sub edx, ecx shr edx, 1 lea eax, [edx+esi] jmp G_M000_IG11 G_M000_IG18: movzx edx, dl vmovd xmm0, edx vpbroadcastb xmm0, xmm0 movzx edx, bl vmovd xmm1, edx vpbroadcastb xmm1, xmm1 lea eax, bword ptr [edi+2*eax-10H] cmp ecx, eax mov edx, ecx cmova edx, eax vmovups xmm2, xmmword ptr [edx] vpackuswb xmm2, xmm2, xmmword ptr [eax] vpcmpeqb xmm0, xmm0, xmm2 vpcmpeqb xmm1, xmm1, xmm2 vpor xmm0, xmm0, xmm1 vptest xmm0, xmm0 je G_M000_IG10 vpmovmskb esi, xmm0 tzcnt esi, esi cmp esi, 8 jl SHORT G_M000_IG19 mov edx, eax add esi, -8 G_M000_IG19: sub edx, ecx shr edx, 1 lea eax, [edx+esi] jmp G_M000_IG11 G_M000_IG20: xor eax, eax G_M000_IG21: vzeroupper pop ecx pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG22: mov eax, 1 G_M000_IG23: vzeroupper pop ecx pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG24: mov eax, 2 G_M000_IG25: vzeroupper pop ecx pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG26: mov eax, 3 jmp G_M000_IG11 G_M000_IG27: mov eax, edi sub eax, ecx shr eax, 1 vpermq ymm0, ymm2, -40 vpmovmskb ecx, ymm0 xor edx, edx tzcnt edx, ecx add eax, edx jmp G_M000_IG11 ; Total bytes of code 585 61: JIT compiled System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,int) [Tier-0 switched to FullOpts with Static PGO, IL size=825, code size=585] ; Assembly listing for method BenchmarkDotNet.Autogenerated.UniqueProgramName+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Autogenerated.UniqueProgramName+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 62: JIT compiled BenchmarkDotNet.Autogenerated.UniqueProgramName+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Autogenerated.UniqueProgramName+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 63: JIT compiled BenchmarkDotNet.Autogenerated.UniqueProgramName+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:SkipWhile[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: cmp gword ptr [ebp-0CH], 0 jne SHORT G_M000_IG04 mov ecx, 12 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG07: push dword ptr [ebp-10H] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [System.Linq.Enumerable:SkipWhileIterator[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.Collections.Generic.IEnumerable`1[System.__Canon]] G_M000_IG08: mov esp, ebp pop ebp ret 4 ; Total bytes of code 115 64: JIT compiled System.Linq.Enumerable:SkipWhile[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]) [Tier0, IL size=28, code size=115] ; Assembly listing for method System.Linq.Enumerable:SkipWhileIterator[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-10H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, dword ptr [ebp-14H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] mov edx, -2 call [System.Linq.Enumerable+d__248`1[System.__Canon]:.ctor(int):this] mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+14H] mov eax, gword ptr [ebp-0CH] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-10H] G_M000_IG06: mov esp, ebp pop ebp ret 4 ; Total bytes of code 127 65: JIT compiled System.Linq.Enumerable:SkipWhileIterator[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]) [Tier0, IL size=22, code size=127] ; Assembly listing for method System.Linq.Enumerable+d__248`1[System.__Canon]:.ctor(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov dword ptr [eax+1CH], edx call System.Environment:get_CurrentManagedThreadId():int mov edx, gword ptr [ebp-04H] mov dword ptr [edx+20H], eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 45 66: JIT compiled System.Linq.Enumerable+d__248`1[System.__Canon]:.ctor(int) [Tier0, IL size=25, code size=45] ; Assembly listing for method System.Linq.Enumerable:Skip[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],int):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 40 xor eax, eax mov dword ptr [ebp-10H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: cmp dword ptr [ebp-0CH], 0 jg G_M000_IG13 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+14H], 0 je SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+14H] mov dword ptr [ebp-24H], ecx jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-24H], eax G_M000_IG06: mov ecx, dword ptr [ebp-24H] mov edx, gword ptr [ebp-08H] call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax jne SHORT G_M000_IG10 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-28H], ecx jmp SHORT G_M000_IG09 G_M000_IG08: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-28H], eax G_M000_IG09: mov ecx, dword ptr [ebp-28H] mov edx, gword ptr [ebp-08H] call [CORINFO_HELP_ISINSTANCEOFINTERFACE] test eax, eax je SHORT G_M000_IG12 G_M000_IG10: mov eax, gword ptr [ebp-08H] G_M000_IG11: mov esp, ebp pop ebp ret 4 G_M000_IG12: xor ecx, ecx mov dword ptr [ebp-0CH], ecx jmp G_M000_IG21 G_M000_IG13: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG15 G_M000_IG14: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG16 G_M000_IG15: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG16: mov ecx, dword ptr [ebp-14H] mov edx, gword ptr [ebp-08H] call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-10H], 0 je SHORT G_M000_IG21 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG18 G_M000_IG17: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG19 G_M000_IG18: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-1CH], eax G_M000_IG19: mov ecx, dword ptr [ebp-1CH] mov dword ptr [ebp-20H], ecx mov ecx, gword ptr [ebp-10H] mov edx, dword ptr [ebp-0CH] mov eax, dword ptr [ebp-20H] nop call [eax] G_M000_IG20: mov esp, ebp pop ebp ret 4 G_M000_IG21: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG23 G_M000_IG22: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-18H], ecx jmp SHORT G_M000_IG24 G_M000_IG23: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-18H], eax G_M000_IG24: push dword ptr [ebp-18H] mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-0CH] call [System.Linq.Enumerable:SkipIterator[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],int):System.Collections.Generic.IEnumerable`1[System.__Canon]] G_M000_IG25: mov esp, ebp pop ebp ret 4 ; Total bytes of code 379 67: JIT compiled System.Linq.Enumerable:Skip[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],int) [Tier0, IL size=63, code size=379] ; Assembly listing for method System.Linq.Enumerable:SkipIterator[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],int):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 40 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-24H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-18H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-18H], eax G_M000_IG05: mov ecx, dword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-10H], 0 jne SHORT G_M000_IG10 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-28H], ecx jmp SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-28H], eax G_M000_IG08: mov ecx, dword ptr [ebp-28H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-24H], eax push dword ptr [ebp-0CH] push -1 mov ecx, gword ptr [ebp-24H] mov edx, gword ptr [ebp-08H] call [System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],int,int):this] mov eax, gword ptr [ebp-24H] mov gword ptr [ebp-14H], eax mov eax, gword ptr [ebp-14H] G_M000_IG09: mov esp, ebp pop ebp ret 4 G_M000_IG10: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG12 G_M000_IG11: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-20H], ecx jmp SHORT G_M000_IG13 G_M000_IG12: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-20H], eax G_M000_IG13: mov ecx, dword ptr [ebp-20H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-1CH], eax push dword ptr [ebp-0CH] push 0xD1FFAB1E mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-10H] call [System.Linq.Enumerable+ListPartition`1[System.__Canon]:.ctor(System.Collections.Generic.IList`1[System.__Canon],int,int):this] mov eax, gword ptr [ebp-1CH] mov gword ptr [ebp-14H], eax mov eax, gword ptr [ebp-14H] G_M000_IG14: mov esp, ebp pop ebp ret 4 ; Total bytes of code 268 68: JIT compiled System.Linq.Enumerable:SkipIterator[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],int) [Tier0, IL size=36, code size=268] ; Assembly listing for method System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],int,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable+Iterator`1[System.__Canon]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+10H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+0CH] mov dword ptr [eax+18H], edx mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+08H] mov dword ptr [eax+1CH], edx G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 59 69: JIT compiled System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],int,int) [Tier0, IL size=28, code size=59] ; Assembly listing for method System.Linq.Enumerable+Iterator`1[System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] call System.Environment:get_CurrentManagedThreadId():int mov edx, gword ptr [ebp-04H] mov dword ptr [edx+08H], eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 70: JIT compiled System.Linq.Enumerable+Iterator`1[System.__Canon]:.ctor() [Tier0, IL size=18, code size=31] ; Assembly listing for method System.Linq.Enumerable:FirstOrDefault[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov edx, dword ptr [ebp-0CH] mov edx, dword ptr [edx+0CH] mov edx, dword ptr [edx+08H] mov dword ptr [ebp-14H], edx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG05: push dword ptr [ebp-14H] lea edx, [ebp-10H] mov ecx, gword ptr [ebp-08H] call [System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],byref):System.__Canon] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 76 71: JIT compiled System.Linq.Enumerable:FirstOrDefault[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]) [Tier0, IL size=9, code size=76] ; Assembly listing for method System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],byref):System.__Canon ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; fully interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 108 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-30H], xmm4 xor eax, eax mov dword ptr [ebp-20H], eax mov dword ptr [ebp-0CH], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-18H], ecx mov bword ptr [ebp-1CH], edx G_M000_IG02: cmp gword ptr [ebp-18H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-34H], ecx jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-34H], eax G_M000_IG06: mov ecx, dword ptr [ebp-34H] mov edx, gword ptr [ebp-18H] call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-20H], eax cmp gword ptr [ebp-20H], 0 je SHORT G_M000_IG12 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-64H], ecx mov ecx, dword ptr [ebp-64H] cmp dword ptr [ecx+04H], 32 jle SHORT G_M000_IG09 G_M000_IG07: mov ecx, dword ptr [ebp-64H] cmp dword ptr [ecx+20H], 0 je SHORT G_M000_IG09 G_M000_IG08: mov ecx, dword ptr [ebp-64H] mov ecx, dword ptr [ecx+20H] mov dword ptr [ebp-5CH], ecx jmp SHORT G_M000_IG10 G_M000_IG09: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-5CH], eax G_M000_IG10: mov ecx, dword ptr [ebp-5CH] mov dword ptr [ebp-60H], ecx mov ecx, gword ptr [ebp-20H] mov edx, bword ptr [ebp-1CH] mov eax, dword ptr [ebp-60H] nop call [eax] G_M000_IG11: mov esp, ebp pop ebp ret 4 G_M000_IG12: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG14 G_M000_IG13: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-38H], ecx jmp SHORT G_M000_IG15 G_M000_IG14: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-38H], eax G_M000_IG15: mov ecx, dword ptr [ebp-38H] mov edx, gword ptr [ebp-18H] call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-24H], eax cmp gword ptr [ebp-24H], 0 je G_M000_IG25 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-68H], ecx mov ecx, dword ptr [ebp-68H] cmp dword ptr [ecx+04H], 24 jle SHORT G_M000_IG18 G_M000_IG16: mov ecx, dword ptr [ebp-68H] cmp dword ptr [ecx+18H], 0 je SHORT G_M000_IG18 G_M000_IG17: mov ecx, dword ptr [ebp-68H] mov ecx, dword ptr [ecx+18H] mov dword ptr [ebp-4CH], ecx jmp SHORT G_M000_IG19 G_M000_IG18: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-4CH], eax G_M000_IG19: mov ecx, dword ptr [ebp-4CH] mov dword ptr [ebp-50H], ecx mov ecx, gword ptr [ebp-24H] mov eax, dword ptr [ebp-50H] nop call [eax] test eax, eax jle G_M000_IG38 mov eax, bword ptr [ebp-1CH] mov byte ptr [eax], 1 mov eax, dword ptr [ebp+08H] mov eax, dword ptr [eax+0CH] mov dword ptr [ebp-6CH], eax mov ecx, dword ptr [ebp-6CH] cmp dword ptr [ecx+04H], 28 jle SHORT G_M000_IG22 G_M000_IG20: mov ecx, dword ptr [ebp-6CH] cmp dword ptr [ecx+1CH], 0 je SHORT G_M000_IG22 G_M000_IG21: mov ecx, dword ptr [ebp-6CH] mov ecx, dword ptr [ecx+1CH] mov dword ptr [ebp-54H], ecx jmp SHORT G_M000_IG23 G_M000_IG22: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-54H], eax G_M000_IG23: mov ecx, dword ptr [ebp-54H] mov dword ptr [ebp-58H], ecx mov ecx, gword ptr [ebp-24H] xor edx, edx mov eax, dword ptr [ebp-58H] nop call [eax] G_M000_IG24: mov esp, ebp pop ebp ret 4 G_M000_IG25: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG27 G_M000_IG26: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-3CH], ecx jmp SHORT G_M000_IG28 G_M000_IG27: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-3CH], eax G_M000_IG28: mov ecx, dword ptr [ebp-3CH] mov dword ptr [ebp-40H], ecx mov ecx, gword ptr [ebp-18H] mov eax, dword ptr [ebp-40H] nop call [eax] mov gword ptr [ebp-28H], eax G_M000_IG29: mov ecx, gword ptr [ebp-28H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG33 mov ecx, bword ptr [ebp-1CH] mov byte ptr [ecx], 1 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+14H], 0 je SHORT G_M000_IG31 G_M000_IG30: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+14H] mov dword ptr [ebp-44H], ecx jmp SHORT G_M000_IG32 G_M000_IG31: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-44H], eax G_M000_IG32: mov ecx, dword ptr [ebp-44H] mov dword ptr [ebp-48H], ecx mov ecx, gword ptr [ebp-28H] mov eax, dword ptr [ebp-48H] nop call [eax] mov gword ptr [ebp-2CH], eax mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG34 jmp SHORT G_M000_IG36 G_M000_IG33: mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG35 jmp SHORT G_M000_IG36 G_M000_IG34: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG40 G_M000_IG35: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG38 G_M000_IG36: cmp gword ptr [ebp-28H], 0 je SHORT G_M000_IG37 mov ecx, gword ptr [ebp-28H] call [System.IDisposable:Dispose():this] G_M000_IG37: pop eax jmp eax G_M000_IG38: mov eax, bword ptr [ebp-1CH] mov byte ptr [eax], 0 xor eax, eax mov gword ptr [ebp-30H], eax mov eax, gword ptr [ebp-30H] G_M000_IG39: mov esp, ebp pop ebp ret 4 G_M000_IG40: mov eax, gword ptr [ebp-2CH] G_M000_IG41: mov esp, ebp pop ebp ret 4 ; Total bytes of code 676 72: JIT compiled System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],byref) [Tier0, IL size=113, code size=676] ; Assembly listing for method System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:TryGetFirst(byref):System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; fully interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 64 xor eax, eax mov dword ptr [ebp-20H], eax mov dword ptr [ebp-24H], eax mov dword ptr [ebp-28H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-18H], ecx mov bword ptr [ebp-1CH], edx G_M000_IG02: mov ecx, gword ptr [ebp-18H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-3CH], ecx mov ecx, dword ptr [ebp-3CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-3CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-2CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-3CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-2CH], eax G_M000_IG05: mov ecx, dword ptr [ebp-2CH] mov dword ptr [ebp-30H], ecx mov ecx, gword ptr [ebp-18H] mov ecx, gword ptr [ecx+10H] mov eax, dword ptr [ebp-30H] nop call [eax] mov gword ptr [ebp-20H], eax G_M000_IG06: mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-20H] call [System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:SkipBeforeFirst(System.Collections.Generic.IEnumerator`1[System.__Canon]):bool:this] test eax, eax je SHORT G_M000_IG10 mov ecx, gword ptr [ebp-20H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG10 mov ecx, bword ptr [ebp-1CH] mov byte ptr [ecx], 1 mov ecx, gword ptr [ebp-18H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-40H], ecx mov ecx, dword ptr [ebp-40H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp-40H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-34H], ecx jmp SHORT G_M000_IG09 G_M000_IG08: mov ecx, dword ptr [ebp-40H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-34H], eax G_M000_IG09: mov ecx, dword ptr [ebp-34H] mov dword ptr [ebp-38H], ecx mov ecx, gword ptr [ebp-20H] mov eax, dword ptr [ebp-38H] nop call [eax] mov gword ptr [ebp-24H], eax mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG11 jmp SHORT G_M000_IG13 G_M000_IG10: mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG12 jmp SHORT G_M000_IG13 G_M000_IG11: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG17 G_M000_IG12: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG15 G_M000_IG13: cmp gword ptr [ebp-20H], 0 je SHORT G_M000_IG14 mov ecx, gword ptr [ebp-20H] call [System.IDisposable:Dispose():this] G_M000_IG14: pop eax jmp eax G_M000_IG15: mov eax, bword ptr [ebp-1CH] mov byte ptr [eax], 0 xor eax, eax mov gword ptr [ebp-28H], eax mov eax, gword ptr [ebp-28H] G_M000_IG16: mov esp, ebp pop ebp ret G_M000_IG17: mov eax, gword ptr [ebp-24H] G_M000_IG18: mov esp, ebp pop ebp ret ; Total bytes of code 319 73: JIT compiled System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:TryGetFirst(byref) [Tier0, IL size=68, code size=319] ; Assembly listing for method System.Linq.Enumerable+d__248`1[System.__Canon]:System.Collections.Generic.IEnumerable.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] cmp dword ptr [eax+1CH], -2 jne SHORT G_M000_IG03 mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+20H] mov dword ptr [ebp-10H], eax call System.Environment:get_CurrentManagedThreadId():int cmp eax, dword ptr [ebp-10H] jne SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] xor eax, eax mov dword ptr [ecx+1CH], eax mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-08H], ecx jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] xor edx, edx call [System.Linq.Enumerable+d__248`1[System.__Canon]:.ctor(int):this] mov edx, gword ptr [ebp-0CH] mov gword ptr [ebp-08H], edx G_M000_IG04: mov edx, gword ptr [ebp-04H] mov eax, gword ptr [edx+0CH] mov edx, gword ptr [ebp-08H] lea edx, bword ptr [edx+08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] mov eax, gword ptr [edx+14H] mov edx, gword ptr [ebp-08H] lea edx, bword ptr [edx+10H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-08H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 132 74: JIT compiled System.Linq.Enumerable+d__248`1[System.__Canon]:System.Collections.Generic.IEnumerable.GetEnumerator() [Tier0, IL size=67, code size=132] ; Assembly listing for method System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:SkipBeforeFirst(System.Collections.Generic.IEnumerator`1[System.__Canon]):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx+18H] mov dword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-04H] push dword ptr [ecx] mov ecx, dword ptr [ebp-0CH] mov edx, gword ptr [ebp-08H] call [System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:SkipBefore(int,System.Collections.Generic.IEnumerator`1[System.__Canon]):bool] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 42 75: JIT compiled System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:SkipBeforeFirst(System.Collections.Generic.IEnumerator`1[System.__Canon]) [Tier0, IL size=13, code size=42] ; Assembly listing for method System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:SkipBefore(int,System.Collections.Generic.IEnumerator`1[System.__Canon]):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: push dword ptr [ebp+08H] mov ecx, dword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:SkipAndCount(int,System.Collections.Generic.IEnumerator`1[System.__Canon]):int] cmp eax, dword ptr [ebp-08H] sete al movzx eax, al G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 48 76: JIT compiled System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:SkipBefore(int,System.Collections.Generic.IEnumerator`1[System.__Canon]) [Tier0, IL size=11, code size=48] ; Assembly listing for method System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:SkipAndCount(int,System.Collections.Generic.IEnumerator`1[System.__Canon]):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: push dword ptr [ebp+08H] mov ecx, dword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:SkipAndCount(uint,System.Collections.Generic.IEnumerator`1[System.__Canon]):uint] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 39 77: JIT compiled System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:SkipAndCount(int,System.Collections.Generic.IEnumerator`1[System.__Canon]) [Tier0, IL size=8, code size=39] ; Assembly listing for method System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:SkipAndCount(uint,System.Collections.Generic.IEnumerator`1[System.__Canon]):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx mov edi, edx G_M000_IG02: xor ebx, ebx test esi, esi jbe SHORT G_M000_IG04 G_M000_IG03: mov ecx, edi call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG06 inc ebx cmp ebx, esi jb SHORT G_M000_IG03 G_M000_IG04: mov eax, esi G_M000_IG05: pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG06: mov eax, ebx G_M000_IG07: pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 51 78: JIT compiled System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:SkipAndCount(uint,System.Collections.Generic.IEnumerator`1[System.__Canon]) [Tier-0 switched to FullOpts, IL size=24, code size=51] ; Assembly listing for method System.Linq.Enumerable+d__248`1[System.__Canon]:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 24 xor eax, eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-24H], ecx G_M000_IG02: mov eax, gword ptr [ebp-24H] mov ecx, dword ptr [eax+1CH] cmp ecx, 2 ja SHORT G_M000_IG03 lea edx, [@RWD00] mov edx, dword ptr [edx+4*ecx] lea eax, G_M000_IG02 add edx, eax jmp edx G_M000_IG03: xor ebx, ebx jmp G_M000_IG21 G_M000_IG04: mov ecx, gword ptr [ebp-24H] mov dword ptr [ecx+1CH], -1 mov ecx, gword ptr [ebp-24H] mov ecx, dword ptr [ecx] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov eax, dword ptr [edx+0CH] test eax, eax je SHORT G_M000_IG06 G_M000_IG05: jmp SHORT G_M000_IG07 G_M000_IG06: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG07: mov ecx, gword ptr [ebp-24H] mov ecx, gword ptr [ecx+08H] nop call [eax] mov edx, gword ptr [ebp-24H] lea edx, bword ptr [edx+18H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, gword ptr [ebp-24H] mov dword ptr [ecx+1CH], -3 mov ecx, gword ptr [ebp-24H] mov ecx, gword ptr [ecx+18H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG11 mov ecx, gword ptr [ebp-24H] mov ecx, dword ptr [ecx] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov esi, dword ptr [edx+08H] test esi, esi je SHORT G_M000_IG09 G_M000_IG08: jmp SHORT G_M000_IG10 G_M000_IG09: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov esi, eax G_M000_IG10: mov eax, esi mov ecx, gword ptr [ebp-24H] mov ecx, gword ptr [ecx+18H] nop call [eax] mov edi, eax mov ecx, gword ptr [ebp-24H] mov eax, gword ptr [ecx+10H] mov ecx, gword ptr [eax+04H] mov edx, edi call [eax+0CH]System.Func`2[System.__Canon,bool]:Invoke(System.__Canon):bool:this test eax, eax je SHORT G_M000_IG12 mov ecx, gword ptr [ebp-24H] mov ecx, gword ptr [ecx+18H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG10 G_M000_IG11: mov ecx, gword ptr [ebp-24H] mov dword ptr [ecx+1CH], -1 mov ecx, gword ptr [ebp-24H] mov ecx, gword ptr [ecx+18H] test ecx, ecx je G_M000_IG18 call [System.IDisposable:Dispose():this] jmp G_M000_IG18 G_M000_IG12: mov edx, gword ptr [ebp-24H] lea edx, bword ptr [edx+04H] call CORINFO_HELP_ASSIGN_REF_EDI mov ecx, gword ptr [ebp-24H] mov dword ptr [ecx+1CH], 1 mov ebx, 1 jmp G_M000_IG21 G_M000_IG13: mov ecx, gword ptr [ebp-24H] mov ecx, dword ptr [ecx] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov esi, dword ptr [edx+08H] test esi, esi je SHORT G_M000_IG15 G_M000_IG14: jmp SHORT G_M000_IG16 G_M000_IG15: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov esi, eax G_M000_IG16: mov eax, esi mov ecx, gword ptr [ebp-24H] mov ecx, gword ptr [ecx+18H] nop call [eax] mov edx, gword ptr [ebp-24H] lea edx, bword ptr [edx+04H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, gword ptr [ebp-24H] mov dword ptr [ecx+1CH], 2 mov ebx, 1 jmp SHORT G_M000_IG21 G_M000_IG17: mov ecx, gword ptr [ebp-24H] mov dword ptr [ecx+1CH], -3 mov ecx, gword ptr [ebp-24H] mov ecx, gword ptr [ecx+18H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG13 xor ebx, ebx mov ecx, gword ptr [ebp-24H] mov dword ptr [ecx+1CH], -1 mov ecx, gword ptr [ebp-24H] cmp gword ptr [ecx+18H], 0 je SHORT G_M000_IG21 mov ecx, gword ptr [ebp-24H] mov ecx, gword ptr [ecx+18H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG21 G_M000_IG18: mov ecx, gword ptr [ebp-24H] xor eax, eax mov gword ptr [ecx+18H], eax G_M000_IG19: xor ebx, ebx jmp SHORT G_M000_IG21 G_M000_IG20: mov ecx, gword ptr [ebp-24H] call [System.Linq.Enumerable+d__248`1[System.__Canon]:System.IDisposable.Dispose():this] pop eax jmp eax G_M000_IG21: mov eax, ebx G_M000_IG22: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret RWD00 dd G_M000_IG04 - G_M000_IG02 dd G_M000_IG17 - G_M000_IG02 dd G_M000_IG17 - G_M000_IG02 ; Total bytes of code 454 79: JIT compiled System.Linq.Enumerable+d__248`1[System.__Canon]:MoveNext() [Tier-0 switched to FullOpts, IL size=222, code size=454] ; Assembly listing for method BenchmarkDotNet.Autogenerated.UniqueProgramName+<>c:b__1_0(System.String):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call [System.String:op_Inequality(System.String,System.String):bool] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 80: JIT compiled BenchmarkDotNet.Autogenerated.UniqueProgramName+<>c:b__1_0(System.String) [Tier0, IL size=12, code size=30] ; Assembly listing for method System.Linq.Enumerable+d__248`1[System.__Canon]:System.Collections.Generic.IEnumerator.get_Current():System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 81: JIT compiled System.Linq.Enumerable+d__248`1[System.__Canon]:System.Collections.Generic.IEnumerator.get_Current() [Tier0, IL size=7, code size=17] ; Assembly listing for method System.Linq.Enumerable+d__248`1[System.__Canon]:System.IDisposable.Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; fully interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-18H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-18H] mov ecx, dword ptr [ecx+1CH] mov dword ptr [ebp-1CH], ecx cmp dword ptr [ebp-1CH], -3 je SHORT G_M000_IG03 mov ecx, dword ptr [ebp-1CH] dec ecx cmp ecx, 1 ja SHORT G_M000_IG06 G_M000_IG03: mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG04 jmp SHORT G_M000_IG05 G_M000_IG04: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, gword ptr [ebp-18H] call [System.Linq.Enumerable+d__248`1[System.__Canon]:<>m__Finally1():this] pop eax jmp eax G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 84 82: JIT compiled System.Linq.Enumerable+d__248`1[System.__Canon]:System.IDisposable.Dispose() [Tier0, IL size=29, code size=84] ; Assembly listing for method System.Linq.Enumerable+d__248`1[System.__Canon]:<>m__Finally1():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov dword ptr [ecx+1CH], -1 mov ecx, gword ptr [ebp-04H] cmp gword ptr [ecx+18H], 0 je SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+18H] call [System.IDisposable:Dispose():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 42 83: JIT compiled System.Linq.Enumerable+d__248`1[System.__Canon]:<>m__Finally1() [Tier0, IL size=27, code size=42] ; Assembly listing for method (dynamicClass):InvokeStub_EventSourceAttribute.set_Guid(System.Object,System.Object,uint):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: mov ecx, edx G_M000_IG02: mov edx, dword ptr [esp+04H] mov edx, bword ptr [edx] mov edx, gword ptr [edx] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventSourceAttribute:set_Guid(System.String):this] xor eax, eax G_M000_IG03: ret 4 ; Total bytes of code 23 84: JIT compiled (dynamicClass):InvokeStub_EventSourceAttribute.set_Guid(System.Object,System.Object,uint) [FullOpts, IL size=25, code size=23] ; Assembly listing for method (dynamicClass):InvokeStub_EventSourceAttribute.set_Name(System.Object,System.Object,uint):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: mov ecx, edx G_M000_IG02: mov edx, dword ptr [esp+04H] mov edx, bword ptr [edx] mov edx, gword ptr [edx] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventSourceAttribute:set_Name(System.String):this] xor eax, eax G_M000_IG03: ret 4 ; Total bytes of code 23 85: JIT compiled (dynamicClass):InvokeStub_EventSourceAttribute.set_Name(System.Object,System.Object,uint) [FullOpts, IL size=25, code size=23] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:Run(BenchmarkDotNet.Engines.IHost,System.String) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 14 inlinees with PGO data; 51 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 220 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-90H], xmm4 vmovdqu xmmword ptr [ebp-80H], xmm4 mov eax, -96 vmovdqu xmmword ptr [ebp+eax-10H], xmm4 vmovdqu xmmword ptr [eax+ebp], xmm4 vmovdqu xmmword ptr [ebp+eax+10H], xmm4 add eax, 48 jne SHORT -5 instr mov esi, ecx mov edi, edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ebx, eax mov ecx, ebx call [BenchmarkDotNet.Autogenerated.Runnable_0:.ctor():this] mov dword ptr [ebx+10H], 512 mov ecx, esi call [BenchmarkDotNet.Engines.IHost:WriteLine():this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-C8H], eax mov ecx, eax call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:.ctor():this] mov ecx, gword ptr [ebp-C8H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:ToFormattedString():System.Collections.Generic.IEnumerable`1[System.String]:this] mov ecx, eax call [System.Collections.Generic.IEnumerable`1[System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this] mov gword ptr [ebp-ACH], eax G_M000_IG03: mov ecx, eax call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je G_M000_IG11 G_M000_IG04: mov ecx, gword ptr [ebp-ACH] call [System.Collections.Generic.IEnumerator`1[System.__Canon]:get_Current():System.__Canon:this] mov gword ptr [ebp-B0H], eax test eax, eax je G_M000_IG10 G_M000_IG05: cmp dword ptr [eax+04H], 0 je G_M000_IG10 G_M000_IG06: mov ecx, dword ptr [eax+04H] add ecx, 3 call System.String:FastAllocateString(int):System.String mov edx, eax mov gword ptr [ebp-CCH], edx cmp dword ptr [edx+04H], 3 jl SHORT G_M000_IG09 lea ecx, bword ptr [edx+08H] mov eax, 0xD1FFAB1E add eax, 8 push 6 mov edx, eax call [System.Buffer:Memmove(byref,byref,uint)] push gword ptr [ebp-B0H] mov ecx, gword ptr [ebp-CCH] mov edx, 3 call [System.String:FillStringChecked(System.String,int,System.String)] mov edx, gword ptr [ebp-CCH] G_M000_IG07: mov ecx, esi call [BenchmarkDotNet.Engines.IHost:WriteLine(System.String):this] mov ecx, gword ptr [ebp-ACH] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne G_M000_IG04 G_M000_IG08: jmp SHORT G_M000_IG11 G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG10: mov edx, 0xD1FFAB1E jmp SHORT G_M000_IG07 G_M000_IG11: mov ecx, gword ptr [ebp-ACH] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG14 G_M000_IG12: cmp gword ptr [ebp-ACH], 0 je SHORT G_M000_IG13 mov ecx, gword ptr [ebp-ACH] call [System.IDisposable:Dispose():this] G_M000_IG13: pop eax jmp eax G_M000_IG14: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-B8H], eax mov ecx, eax xor edx, edx call [BenchmarkDotNet.Jobs.Job:.ctor(System.String):this] mov eax, gword ptr [ebp-B8H] mov gword ptr [ebp-A8H], eax test byte ptr [D1FFAB1EH], 1 je G_M000_IG29 G_M000_IG15: mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-BCH], edx mov ecx, 0xD1FFAB1E add ecx, 8 vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [ebp-90H], xmm0 vmovdqu xmmword ptr [ebp-8CH], xmm0 mov byte ptr [ebp-80H], 2 push 36 push ecx lea ecx, [ebp-90H] call [System.Guid:TryParseGuid(System.ReadOnlySpan`1[ushort],byref):bool] vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [ebp-7CH], xmm0 vmovdqu xmmword ptr [ebp-78H], xmm0 vmovups xmm0, xmmword ptr [ebp-90H] vmovups xmmword ptr [ebp-78H], xmm0 mov byte ptr [ebp-7CH], 1 vmovdqu xmm0, xmmword ptr [ebp-7CH] vmovdqu xmmword ptr [ebp-A4H], xmm0 mov edx, dword ptr [ebp-6CH] mov dword ptr [ebp-94H], edx mov eax, gword ptr [ebp-BCH] cmp byte ptr [eax], al lea edx, [ebp-A4H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_BOX_NULLABLE push eax mov edx, gword ptr [ebp-BCH] mov ecx, gword ptr [ebp-A8H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] test byte ptr [D1FFAB1EH], 1 je G_M000_IG30 G_M000_IG16: mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-D0H], eax cmp byte ptr [eax], al mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST lea ecx, bword ptr [eax+04H] mov dword ptr [ecx], 0x1388 xor edx, edx mov dword ptr [ecx+04H], edx push eax mov ecx, gword ptr [ebp-A8H] mov edx, gword ptr [ebp-D0H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-C0H], eax cmp byte ptr [eax], al mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST vmovsd xmm0, qword ptr [@RWD00] vmovsd qword ptr [eax+04H], xmm0 push eax mov ecx, gword ptr [ebp-A8H] mov edx, gword ptr [ebp-C0H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-D4H], eax cmp byte ptr [eax], al mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov dword ptr [eax+04H], 20 push eax mov ecx, gword ptr [ebp-A8H] mov edx, gword ptr [ebp-D4H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-D8H], eax cmp byte ptr [eax], al mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov dword ptr [eax+04H], 15 push eax mov ecx, gword ptr [ebp-A8H] mov edx, gword ptr [ebp-D8H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-DCH], eax cmp byte ptr [eax], al mov ecx, 0xD1FFAB1E G_M000_IG17: call CORINFO_HELP_NEWSFAST mov dword ptr [eax+04H], 6 push eax mov ecx, gword ptr [ebp-A8H] mov edx, gword ptr [ebp-DCH] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-E0H], eax cmp byte ptr [eax], al mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov dword ptr [eax+04H], 1 push eax mov ecx, gword ptr [ebp-A8H] mov edx, gword ptr [ebp-E0H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-E4H], eax cmp byte ptr [eax], al mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov dword ptr [eax+04H], -1 push eax mov ecx, gword ptr [ebp-A8H] mov edx, gword ptr [ebp-E4H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] mov ecx, gword ptr [ebp-A8H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsRoot():this] mov eax, gword ptr [ebp-A8H] cmp byte ptr [eax+0CH], 0 jne SHORT G_M000_IG19 G_M000_IG18: mov byte ptr [eax+0CH], 1 G_M000_IG19: mov ecx, eax call [BenchmarkDotNet.Jobs.Job:get_DisplayInfo():System.String:this] mov edx, eax mov ecx, 0xD1FFAB1E call [System.String:Concat(System.String,System.String):System.String] mov edx, eax mov ecx, esi call [BenchmarkDotNet.Engines.IHost:WriteLine(System.String):this] mov ecx, esi call [BenchmarkDotNet.Engines.IHost:WriteLine():this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-E8H], eax mov dword ptr [eax+10H], -2 call System.Environment:get_CurrentManagedThreadId():int mov ecx, gword ptr [ebp-E8H] mov dword ptr [ecx+14H], eax lea edx, bword ptr [ecx+0CH] mov eax, gword ptr [ebp-A8H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, esi call [BenchmarkDotNet.Validators.ValidationErrorReporter:ReportIfAny(System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Validators.ValidationError],BenchmarkDotNet.Engines.IHost):bool] test eax, eax je SHORT G_M000_IG21 G_M000_IG20: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG21: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-C4H], eax mov ecx, 0xD1FFAB1E xor edx, edx call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov ecx, gword ptr [D1FFAB1EH] mov eax, gword ptr [ebp-C4H] lea edx, bword ptr [eax+2CH] call CORINFO_HELP_ASSIGN_REF_ECX lea edx, bword ptr [eax+04H] mov dword ptr [edx], 1 xor ecx, ecx mov dword ptr [edx+04H], ecx lea edx, bword ptr [eax+0CH] call CORINFO_HELP_ASSIGN_REF_ESI mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_EBX mov dword ptr [eax+0CH], 0xD1FFAB1E mov ecx, gword ptr [ebp-C4H] lea edx, bword ptr [ecx+14H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_EBX mov dword ptr [eax+0CH], 0xD1FFAB1E mov ecx, gword ptr [ebp-C4H] lea edx, bword ptr [ecx+10H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_EBX mov dword ptr [eax+0CH], 0xD1FFAB1E mov ecx, gword ptr [ebp-C4H] lea edx, bword ptr [ecx+18H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E G_M000_IG22: call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_EBX mov dword ptr [eax+0CH], 0xD1FFAB1E mov ecx, gword ptr [ebp-C4H] lea edx, bword ptr [ecx+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_EBX mov dword ptr [eax+0CH], 0xD1FFAB1E mov ecx, gword ptr [ebp-C4H] lea edx, bword ptr [ecx+20H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_EBX mov dword ptr [eax+0CH], 0xD1FFAB1E mov ecx, gword ptr [ebp-C4H] lea edx, bword ptr [ecx+24H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_EBX mov dword ptr [eax+0CH], 0xD1FFAB1E mov ecx, gword ptr [ebp-C4H] lea edx, bword ptr [ecx+28H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebx+18H] lea edx, bword ptr [ecx+30H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebx+1CH] lea edx, bword ptr [ecx+34H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebx+20H] lea edx, bword ptr [ecx+38H] G_M000_IG23: call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebx+24H] lea edx, bword ptr [ecx+3CH] call CORINFO_HELP_ASSIGN_REF_EAX lea edx, bword ptr [ecx+2CH] mov eax, gword ptr [ebp-A8H] call CORINFO_HELP_ASSIGN_REF_EAX lea edx, bword ptr [ecx+04H] mov dword ptr [edx], 1 xor eax, eax mov dword ptr [edx+04H], eax mov byte ptr [ecx+44H], 1 lea edx, bword ptr [ecx+40H] call CORINFO_HELP_ASSIGN_REF_EDI mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ecx, eax mov edx, gword ptr [ebp-C4H] call [BenchmarkDotNet.Engines.EngineFactory:CreateReadyToRun(BenchmarkDotNet.Engines.EngineParameters):BenchmarkDotNet.Engines.IEngine:this] mov gword ptr [ebp-B4H], eax G_M000_IG24: lea edx, [ebp-68H] mov ecx, eax call [BenchmarkDotNet.Engines.IEngine:Run():BenchmarkDotNet.Engines.RunResults:this] push dword ptr [ebp-24H] push dword ptr [ebp-28H] push dword ptr [ebp-2CH] push dword ptr [ebp-30H] push dword ptr [ebp-34H] push dword ptr [ebp-38H] push dword ptr [ebp-3CH] push dword ptr [ebp-40H] push dword ptr [ebp-44H] push dword ptr [ebp-48H] push dword ptr [ebp-4CH] push dword ptr [ebp-50H] push dword ptr [ebp-54H] push dword ptr [ebp-58H] push dword ptr [ebp-5CH] push gword ptr [ebp-60H] push dword ptr [ebp-64H] push dword ptr [ebp-68H] mov ecx, esi call [BenchmarkDotNet.Engines.IHost:ReportResults(BenchmarkDotNet.Engines.RunResults):this] mov ecx, ebx call [BenchmarkDotNet.Autogenerated.Runnable_0:__TrickTheJIT__():this] G_M000_IG25: mov ecx, gword ptr [ebp-B4H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG28 G_M000_IG26: cmp gword ptr [ebp-B4H], 0 je SHORT G_M000_IG27 mov ecx, gword ptr [ebp-B4H] call [System.IDisposable:Dispose():this] G_M000_IG27: pop eax jmp eax G_M000_IG28: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG29: mov ecx, 0xD1FFAB1E mov edx, 287 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M000_IG15 G_M000_IG30: mov ecx, 0xD1FFAB1E mov edx, 300 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M000_IG16 RWD00 dq 41ADCD6500000000h ; 250000000 ; Total bytes of code 1714 86: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:Run(BenchmarkDotNet.Engines.IHost,System.String) [Tier-0 switched to FullOpts, IL size=540, code size=1714] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 44 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-2CH], xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Collections.Sort`1[System.__Canon]:.ctor():this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov ecx, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E mov edx, 6 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-0CH] mov gword ptr [ebp-14H], ecx cmp gword ptr [ebp-0CH], 0 jne SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-28H], eax mov ecx, 0xD1FFAB1E mov edx, 6 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-2CH], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-2CH] mov ecx, gword ptr [ebp-28H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 6 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-28H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-28H] mov gword ptr [ebp-14H], edx G_M000_IG03: mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+1CH] mov ecx, gword ptr [ebp-14H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-04H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+20H] mov ecx, gword ptr [ebp-18H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-1CH], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-04H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+24H] mov ecx, gword ptr [ebp-1CH] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-20H], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-20H] mov edx, gword ptr [ebp-04H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+28H] mov ecx, gword ptr [ebp-20H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-24H], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-24H] mov edx, gword ptr [ebp-04H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+2CH] mov eax, gword ptr [ebp-24H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 408 87: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:.ctor() [Tier0, IL size=134, code size=408] ; Assembly listing for method System.Collections.Sort`1[System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 88: JIT compiled System.Collections.Sort`1[System.__Canon]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Autogenerated.Runnable_0+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 89: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 90: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:WriteLine():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-08H], ecx mov ecx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+38H] call [eax+04H]System.IO.TextWriter:WriteLine():this G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 41 91: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:WriteLine() [Tier0, IL size=12, code size=41] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] call [BenchmarkDotNet.Portability.RuntimeInformation:GetArchitecture():System.String] mov gword ptr [ebp-08H], eax mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_Architecture(System.String):this] call [BenchmarkDotNet.Portability.RuntimeInformation:GetRuntimeVersion():System.String] mov gword ptr [ebp-0CH], eax mov edx, gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_RuntimeVersion(System.String):this] call [BenchmarkDotNet.Portability.RuntimeInformation:GetConfiguration():System.String] mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-10H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_Configuration(System.String):this] call [BenchmarkDotNet.Portability.RuntimeInformation:HasRyuJit():bool] mov dword ptr [ebp-14H], eax mov edx, dword ptr [ebp-14H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_HasRyuJit(bool):this] call [BenchmarkDotNet.Portability.RuntimeInformation:GetJitInfo():System.String] mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_JitInfo(System.String):this] call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:GetShortInfo():System.String] mov gword ptr [ebp-1CH], eax mov edx, gword ptr [ebp-1CH] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_HardwareIntrinsicsShort(System.String):this] call System.Runtime.GCSettings:get_IsServerGC():bool mov dword ptr [ebp-20H], eax mov edx, dword ptr [ebp-20H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_IsServerGC(bool):this] call [System.Runtime.GCSettings:get_LatencyMode():int] xor edx, edx test eax, eax setne dl mov dword ptr [ebp-24H], edx mov edx, dword ptr [ebp-24H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_IsConcurrentGC(bool):this] call System.Diagnostics.Debugger:get_IsAttached():bool mov dword ptr [ebp-28H], eax mov edx, dword ptr [ebp-28H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_HasAttachedDebugger(bool):this] mov ecx, 0xD1FFAB1E mov edx, 413 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov dword ptr [ebp-30H], 0xD1FFAB1E mov ecx, dword ptr [ebp-30H] mov eax, dword ptr [ebp-30H] push dword ptr [eax+04H] push dword ptr [ecx] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_GCAllocationQuantum(long):this] G_M000_IG03: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsRunningInContainer():bool] mov dword ptr [ebp-2CH], eax mov edx, dword ptr [ebp-2CH] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_InDocker(bool):this] G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 296 92: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:.ctor() [Tier0, IL size=131, code size=296] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:GetArchitecture():System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax G_M000_IG02: call [BenchmarkDotNet.Portability.RuntimeInformation:GetCurrentPlatform():int] mov dword ptr [ebp-04H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov eax, dword ptr [ebp-04H] mov dword ptr [ecx+04H], eax mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-0CH] mov eax, gword ptr [ebp-0CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+04H]System.Object:ToString():System.String:this G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 72 93: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:GetArchitecture() [Tier0, IL size=20, code size=72] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:GetCurrentPlatform():int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax G_M000_IG02: call [System.Runtime.InteropServices.RuntimeInformation:get_ProcessArchitecture():int] mov dword ptr [ebp-04H], eax cmp dword ptr [ebp-04H], 8 ja SHORT G_M000_IG03 mov eax, dword ptr [ebp-04H] lea ecx, [@RWD00] mov ecx, dword ptr [ecx+4*eax] lea edx, G_M000_IG02 add ecx, edx jmp ecx G_M000_IG03: jmp SHORT G_M000_IG19 G_M000_IG04: G_M000_IG05: mov eax, 3 G_M000_IG06: mov esp, ebp pop ebp ret G_M000_IG07: G_M000_IG08: mov eax, 4 G_M000_IG09: mov esp, ebp pop ebp ret G_M000_IG10: G_M000_IG11: mov eax, 2 G_M000_IG12: mov esp, ebp pop ebp ret G_M000_IG13: mov dword ptr [ebp-0CH], 1 jmp SHORT G_M000_IG20 G_M000_IG14: mov dword ptr [ebp-0CH], 5 jmp SHORT G_M000_IG20 G_M000_IG15: mov dword ptr [ebp-0CH], 6 jmp SHORT G_M000_IG20 G_M000_IG16: mov dword ptr [ebp-0CH], 7 jmp SHORT G_M000_IG20 G_M000_IG17: mov dword ptr [ebp-0CH], 8 jmp SHORT G_M000_IG20 G_M000_IG18: mov dword ptr [ebp-0CH], 9 jmp SHORT G_M000_IG20 G_M000_IG19: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] call [System.ArgumentOutOfRangeException:.ctor():this] mov ecx, gword ptr [ebp-08H] call CORINFO_HELP_THROW G_M000_IG20: mov eax, dword ptr [ebp-0CH] G_M000_IG21: mov esp, ebp pop ebp ret RWD00 dd G_M000_IG13 - G_M000_IG02 dd G_M000_IG10 - G_M000_IG02 dd G_M000_IG04 - G_M000_IG02 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG14 - G_M000_IG02 dd G_M000_IG15 - G_M000_IG02 dd G_M000_IG16 - G_M000_IG02 dd G_M000_IG17 - G_M000_IG02 dd G_M000_IG18 - G_M000_IG02 ; Total bytes of code 171 94: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:GetCurrentPlatform() [Tier0, IL size=75, code size=171] ; Assembly listing for method System.UInt64:CreateTruncating[uint](uint):ulong ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 mov dword ptr [ebp-04H], ecx G_M000_IG02: G_M000_IG03: lea edx, [ebp-0CH] mov ecx, dword ptr [ebp-04H] call [System.UInt64:TryConvertFromTruncating[uint](uint,byref):bool] test eax, eax jne SHORT G_M000_IG04 lea edx, [ebp-0CH] mov ecx, dword ptr [ebp-04H] call [System.UInt32:System.Numerics.INumberBase.TryConvertToTruncating[ulong](uint,byref):bool] test eax, eax jne SHORT G_M000_IG04 call [System.ThrowHelper:ThrowNotSupportedException()] G_M000_IG04: mov eax, dword ptr [ebp-0CH] mov edx, dword ptr [ebp-08H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 57 95: JIT compiled System.UInt64:CreateTruncating[uint](uint) [Tier0, IL size=74, code size=57] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_Architecture(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 96: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_Architecture(System.String) [Tier0, IL size=8, code size=30] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:GetRuntimeVersion():System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 92 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-5CH], xmm4 vmovdqu xmmword ptr [ebp-4CH], xmm4 vmovdqu xmmword ptr [ebp-3CH], xmm4 vmovdqu xmmword ptr [ebp-2CH], xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-04H], eax G_M000_IG02: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsWasm():bool] test eax, eax je G_M000_IG06 mov gword ptr [ebp-54H], 0xD1FFAB1E mov ecx, gword ptr [ebp-54H] mov eax, gword ptr [ebp-54H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+30H] call [eax+14H]System.Type:get_Assembly():System.Reflection.Assembly:this mov gword ptr [ebp-58H], eax mov ecx, gword ptr [ebp-58H] mov edx, 0xD1FFAB1E call [System.Reflection.CustomAttributeExtensions:GetCustomAttribute[System.__Canon](System.Reflection.Assembly):System.__Canon] mov gword ptr [ebp-44H], eax mov ecx, gword ptr [ebp-44H] mov gword ptr [ebp-48H], ecx cmp gword ptr [ebp-44H], 0 jne SHORT G_M000_IG03 xor ecx, ecx mov gword ptr [ebp-4CH], ecx jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, gword ptr [ebp-48H] call [System.Reflection.AssemblyInformationalVersionAttribute:get_InformationalVersion():System.String:this] mov gword ptr [ebp-4CH], eax G_M000_IG04: mov ecx, gword ptr [ebp-4CH] mov gword ptr [ebp-04H], ecx cmp gword ptr [ebp-04H], 0 je SHORT G_M000_IG05 mov ecx, gword ptr [ebp-04H] mov edx, 43 cmp dword ptr [ecx], ecx call [System.String:IndexOf(ushort):int:this] mov dword ptr [ebp-08H], eax cmp dword ptr [ebp-08H], -1 je SHORT G_M000_IG05 push dword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] xor edx, edx cmp dword ptr [ecx], ecx call [System.String:Substring(int,int):System.String:this] mov gword ptr [ebp-04H], eax G_M000_IG05: mov edx, gword ptr [ebp-04H] mov ecx, 0xD1FFAB1E call [System.String:Concat(System.String,System.String):System.String] mov gword ptr [ebp-50H], eax jmp G_M000_IG18 G_M000_IG06: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsOldMono():bool] test eax, eax je G_M000_IG13 mov ecx, 0xD1FFAB1E call [System.Type:GetType(System.String):System.Type] mov gword ptr [ebp-20H], eax mov ecx, gword ptr [ebp-20H] mov gword ptr [ebp-24H], ecx cmp gword ptr [ebp-20H], 0 jne SHORT G_M000_IG07 xor ecx, ecx mov gword ptr [ebp-28H], ecx jmp SHORT G_M000_IG08 G_M000_IG07: push 56 mov ecx, gword ptr [ebp-24H] mov edx, 0xD1FFAB1E call [System.Type:GetMethod(System.String,int):System.Reflection.MethodInfo:this] mov gword ptr [ebp-28H], eax G_M000_IG08: mov ecx, gword ptr [ebp-28H] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-0CH] xor edx, edx call [System.Reflection.MethodInfo:op_Inequality(System.Reflection.MethodInfo,System.Reflection.MethodInfo):bool] test eax, eax je G_M000_IG17 push 0 mov ecx, gword ptr [ebp-0CH] xor edx, edx cmp dword ptr [ecx], ecx call [System.Reflection.MethodBase:Invoke(System.Object,System.Object[]):System.Object:this] mov gword ptr [ebp-2CH], eax mov ecx, gword ptr [ebp-2CH] mov gword ptr [ebp-30H], ecx cmp gword ptr [ebp-2CH], 0 jne SHORT G_M000_IG09 xor ecx, ecx mov gword ptr [ebp-34H], ecx jmp SHORT G_M000_IG10 G_M000_IG09: mov ecx, gword ptr [ebp-30H] mov eax, gword ptr [ebp-30H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+04H]System.Object:ToString():System.String:this mov gword ptr [ebp-34H], eax G_M000_IG10: mov ecx, gword ptr [ebp-34H] mov gword ptr [ebp-10H], ecx cmp gword ptr [ebp-10H], 0 je G_M000_IG12 mov ecx, gword ptr [ebp-10H] mov edx, 40 cmp dword ptr [ecx], ecx call [System.String:IndexOf(ushort):int:this] mov dword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-10H] mov edx, 41 cmp dword ptr [ecx], ecx call [System.String:IndexOf(ushort):int:this] mov dword ptr [ebp-18H], eax cmp dword ptr [ebp-14H], -1 je G_M000_IG12 cmp dword ptr [ebp-18H], -1 je G_M000_IG12 mov edx, dword ptr [ebp-18H] sub edx, dword ptr [ebp-14H] dec edx push edx mov edx, dword ptr [ebp-14H] inc edx mov ecx, gword ptr [ebp-10H] cmp dword ptr [ecx], ecx call [System.String:Substring(int,int):System.String:this] mov gword ptr [ebp-3CH], eax mov ecx, 0xD1FFAB1E mov edx, 1 call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-38H], eax mov ecx, gword ptr [ebp-38H] xor edx, edx cmp edx, dword ptr [ecx+04H] jae G_M000_IG20 lea ecx, bword ptr [ecx+2*edx+08H] mov word ptr [ecx], 32 push 1 mov ecx, gword ptr [ebp-3CH] mov edx, gword ptr [ebp-38H] cmp dword ptr [ecx], ecx call [System.String:Split(ushort[],int):System.String[]:this] mov gword ptr [ebp-1CH], eax mov ecx, gword ptr [ebp-1CH] cmp dword ptr [ecx+04H], 2 jle G_M000_IG12 mov ecx, 0xD1FFAB1E mov edx, 6 call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [ebp-40H], eax push dword ptr [ebp-14H] mov ecx, gword ptr [ebp-10H] xor edx, edx cmp dword ptr [ecx], ecx call [System.String:Substring(int,int):System.String:this] push eax G_M000_IG11: mov ecx, gword ptr [ebp-40H] xor edx, edx call CORINFO_HELP_ARRADDR_ST push 0xD1FFAB1E mov ecx, gword ptr [ebp-40H] mov edx, 1 call CORINFO_HELP_ARRADDR_ST mov ecx, gword ptr [ebp-1CH] xor edx, edx cmp edx, dword ptr [ecx+04H] jae G_M000_IG20 lea ecx, bword ptr [ecx+4*edx+08H] push gword ptr [ecx] mov ecx, gword ptr [ebp-40H] mov edx, 2 call CORINFO_HELP_ARRADDR_ST push 0xD1FFAB1E mov ecx, gword ptr [ebp-40H] mov edx, 3 call CORINFO_HELP_ARRADDR_ST mov ecx, gword ptr [ebp-1CH] mov edx, 1 cmp edx, dword ptr [ecx+04H] jae G_M000_IG20 lea ecx, bword ptr [ecx+4*edx+08H] push gword ptr [ecx] mov ecx, gword ptr [ebp-40H] mov edx, 4 call CORINFO_HELP_ARRADDR_ST push 0xD1FFAB1E mov ecx, gword ptr [ebp-40H] mov edx, 5 call CORINFO_HELP_ARRADDR_ST mov ecx, gword ptr [ebp-40H] call [System.String:Concat(System.String[]):System.String] mov gword ptr [ebp-10H], eax G_M000_IG12: mov edx, gword ptr [ebp-10H] mov ecx, 0xD1FFAB1E call [System.String:Concat(System.String,System.String):System.String] mov gword ptr [ebp-50H], eax jmp SHORT G_M000_IG18 G_M000_IG13: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsNewMono():bool] test eax, eax je SHORT G_M000_IG14 call [BenchmarkDotNet.Portability.RuntimeInformation:GetNetCoreVersion():System.String] mov gword ptr [ebp-5CH], eax mov ecx, gword ptr [ebp-5CH] mov edx, 0xD1FFAB1E call [System.String:Concat(System.String,System.String):System.String] mov gword ptr [ebp-50H], eax jmp SHORT G_M000_IG18 G_M000_IG14: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsFullFramework():bool] test eax, eax je SHORT G_M000_IG15 call [BenchmarkDotNet.Helpers.FrameworkVersionHelper:GetFrameworkDescription():System.String] mov gword ptr [ebp-50H], eax jmp SHORT G_M000_IG18 G_M000_IG15: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsNetCore():bool] test eax, eax je SHORT G_M000_IG16 call [BenchmarkDotNet.Portability.RuntimeInformation:GetNetCoreVersion():System.String] mov gword ptr [ebp-50H], eax jmp SHORT G_M000_IG18 G_M000_IG16: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsNativeAOT():bool] test eax, eax je SHORT G_M000_IG17 call [System.Runtime.InteropServices.RuntimeInformation:get_FrameworkDescription():System.String] mov gword ptr [ebp-50H], eax jmp SHORT G_M000_IG18 G_M000_IG17: mov gword ptr [ebp-50H], 0xD1FFAB1E G_M000_IG18: mov eax, gword ptr [ebp-50H] G_M000_IG19: mov esp, ebp pop ebp ret G_M000_IG20: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 848 97: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:GetRuntimeVersion() [Tier0, IL size=371, code size=848] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsWasm():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: call [System.OperatingSystem:IsBrowser():bool] G_M000_IG03: pop ebp ret ; Total bytes of code 11 98: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsWasm() [Tier0, IL size=6, code size=11] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsOldMono():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 231 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE movzx eax, byte ptr [D1FFAB1EH] G_M000_IG03: pop ebp ret ; Total bytes of code 27 99: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsOldMono() [Tier0, IL size=6, code size=27] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call [System.Type:GetType(System.String):System.Type] test eax, eax setne cl mov byte ptr [D1FFAB1EH], cl mov ecx, 0xD1FFAB1E call [System.Type:GetType(System.String):System.Type] test eax, eax setne al mov byte ptr [D1FFAB1EH], al call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsMono():bool] test eax, eax je SHORT G_M000_IG03 call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsOldMono():bool] test eax, eax sete al movzx eax, al mov dword ptr [ebp-04H], eax jmp SHORT G_M000_IG04 G_M000_IG03: xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG04: mov eax, dword ptr [ebp-04H] mov byte ptr [D1FFAB1EH], al G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 98 100: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:.cctor() [Tier0, IL size=66, code size=98] ; Assembly listing for method System.Buffers.ProbabilisticMap:IndexOfAny[System.SpanHelpers+DontNegate`1[ushort]](byref,int,byref,int):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 5 single block inlinees; 4 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 40 vzeroupper mov edi, ecx mov esi, edx mov eax, bword ptr [ebp+0CH] mov ebx, dword ptr [ebp+08H] G_M000_IG02: mov bword ptr [ebp-34H], eax mov edx, ebx mov dword ptr [ebp-2CH], edx cmp esi, 8 jl SHORT G_M000_IG04 G_M000_IG03: cmp esi, 20 jge SHORT G_M000_IG10 mov ecx, edx sar ecx, 1 cmp esi, ecx jge SHORT G_M000_IG10 G_M000_IG04: lea ebx, bword ptr [edi+2*esi] mov esi, edi cmp edi, ebx je SHORT G_M000_IG06 G_M000_IG05: movzx eax, word ptr [esi] push edx movsx edx, ax mov ecx, bword ptr [ebp-34H] call [System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):bool] test eax, eax jne SHORT G_M000_IG08 add esi, 2 cmp esi, ebx mov edx, dword ptr [ebp-2CH] jne SHORT G_M000_IG05 G_M000_IG06: mov eax, -1 G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG08: mov eax, esi sub eax, edi shr eax, 1 G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG10: vxorps xmm0, xmm0, xmm0 vmovups xmmword ptr [ebp-20H], xmm0 lea edx, [ebp-20H] mov dword ptr [ebp-24H], edx xor ecx, ecx mov dword ptr [ebp+08H], ebx test ebx, ebx jle SHORT G_M000_IG14 align [0 bytes for IG11] G_M000_IG11: mov bword ptr [ebp+0CH], eax mov dword ptr [ebp-28H], ecx movzx edx, word ptr [eax+2*ecx] cmp edx, 127 jg G_M000_IG17 mov bword ptr [ebp-30H], edi mov eax, edx sar eax, 4 and edx, 15 add edx, dword ptr [ebp-24H] mov edi, 1 mov ecx, eax mov ebx, edi shl ebx, cl movzx ecx, bl or byte ptr [edx], cl mov edx, dword ptr [ebp-28H] inc edx mov ebx, dword ptr [ebp+08H] cmp edx, ebx mov ecx, edx jl SHORT G_M000_IG13 G_M000_IG12: movzx ecx, byte ptr [ebp-20H] and ecx, 1 lea edi, bword ptr [ebp-10H] test cl, 1 jne SHORT G_M000_IG15 vmovups xmm0, xmmword ptr [ebp-20H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 mov ecx, bword ptr [ebp-30H] mov edx, esi call [System.Buffers.IndexOfAnyAsciiSearcher:IndexOfAnyVectorized[System.Buffers.IndexOfAnyAsciiSearcher+DontNegate,System.Buffers.IndexOfAnyAsciiSearcher+Default](byref,int,System.Runtime.Intrinsics.Vector128`1[ubyte]):int] jmp SHORT G_M000_IG16 G_M000_IG13: mov dword ptr [ebp+08H], ebx mov eax, bword ptr [ebp+0CH] mov edi, bword ptr [ebp-30H] jmp SHORT G_M000_IG11 G_M000_IG14: mov bword ptr [ebp-30H], edi mov bword ptr [ebp+0CH], eax mov ebx, dword ptr [ebp+08H] jmp SHORT G_M000_IG12 G_M000_IG15: vmovups xmm0, xmmword ptr [ebp-20H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 mov ecx, bword ptr [ebp-30H] mov edx, esi call [System.Buffers.IndexOfAnyAsciiSearcher:IndexOfAnyVectorized[System.Buffers.IndexOfAnyAsciiSearcher+DontNegate,System.Buffers.IndexOfAnyAsciiSearcher+Ssse3AndWasmHandleZeroInNeedle](byref,int,System.Runtime.Intrinsics.Vector128`1[ubyte]):int] G_M000_IG16: mov dword ptr [edi], eax mov eax, 1 mov edi, bword ptr [ebp-30H] jmp SHORT G_M000_IG19 G_M000_IG17: xor ecx, ecx mov dword ptr [ebp-10H], ecx G_M000_IG18: mov eax, ecx mov ebx, dword ptr [ebp+08H] G_M000_IG19: test eax, eax je SHORT G_M000_IG21 mov eax, dword ptr [ebp-10H] G_M000_IG20: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG21: push bword ptr [ebp+0CH] push ebx mov ecx, edi mov edx, esi call [System.Buffers.ProbabilisticMap:ProbabilisticIndexOfAny[System.SpanHelpers+DontNegate`1[ushort]](byref,int,byref,int):int] G_M000_IG22: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 354 101: JIT compiled System.Buffers.ProbabilisticMap:IndexOfAny[System.SpanHelpers+DontNegate`1[ushort]](byref,int,byref,int) [Tier-0 switched to FullOpts, IL size=148, code size=354] ; Assembly listing for method System.Buffers.IndexOfAnyAsciiSearcher:IndexOfAnyLookup[System.Buffers.IndexOfAnyAsciiSearcher+DontNegate,System.Buffers.IndexOfAnyAsciiSearcher+Default](System.Runtime.Intrinsics.Vector128`1[short],System.Runtime.Intrinsics.Vector128`1[short],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 116 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: G_M000_IG03: vmovups xmm0, xmmword ptr [ebp+28H] vpackuswb xmm0, xmm0, xmmword ptr [ebp+18H] vmovups xmmword ptr [ebp-64H], xmm0 vmovups xmm0, xmmword ptr [ebp-64H] vmovups xmmword ptr [ebp-14H], xmm0 vmovups xmm0, xmmword ptr [ebp-14H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 vmovups xmm0, xmmword ptr [ebp+08H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-24H] call [System.Buffers.IndexOfAnyAsciiSearcher:IndexOfAnyLookupCore(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte]] call [System.Buffers.IndexOfAnyAsciiSearcher+Default:get_NeedleContainsZero():bool] test eax, eax je SHORT G_M000_IG05 vmovups xmm0, xmmword ptr [ebp+28H] vpsubw xmm0, xmm0, xmmword ptr [@RWD00] vmovups xmm1, xmmword ptr [@RWD16] vpsubw xmm1, xmm1, xmmword ptr [@RWD00] vpcmpgtw xmm0, xmm1, xmm0 vmovups xmmword ptr [ebp-34H], xmm0 vmovups xmm0, xmmword ptr [ebp+18H] vpsubw xmm0, xmm0, xmmword ptr [@RWD00] vmovups xmm1, xmmword ptr [@RWD16] vpsubw xmm1, xmm1, xmmword ptr [@RWD00] vpcmpgtw xmm0, xmm1, xmm0 vmovups xmmword ptr [ebp-44H], xmm0 G_M000_IG04: vmovups xmm0, xmmword ptr [ebp-34H] vpacksswb xmm0, xmm0, xmmword ptr [ebp-44H] vmovups xmmword ptr [ebp-74H], xmm0 vmovups xmm0, xmmword ptr [ebp-74H] vmovups xmmword ptr [ebp-54H], xmm0 vmovups xmm0, xmmword ptr [ebp-24H] vpand xmm0, xmm0, xmmword ptr [ebp-54H] vmovups xmmword ptr [ebp-24H], xmm0 G_M000_IG05: vmovups xmm0, xmmword ptr [ebp-24H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 mov ecx, bword ptr [ebp-04H] call [System.Buffers.IndexOfAnyAsciiSearcher+DontNegate:NegateIfNeeded(System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte]] G_M000_IG06: mov esp, ebp pop ebp ret 48 RWD00 dq 8000800080008000h, 8000800080008000h RWD16 dq 0080008000800080h, 0080008000800080h ; Total bytes of code 226 102: JIT compiled System.Buffers.IndexOfAnyAsciiSearcher:IndexOfAnyLookup[System.Buffers.IndexOfAnyAsciiSearcher+DontNegate,System.Buffers.IndexOfAnyAsciiSearcher+Default](System.Runtime.Intrinsics.Vector128`1[short],System.Runtime.Intrinsics.Vector128`1[short],System.Runtime.Intrinsics.Vector128`1[ubyte]) [Tier0, IL size=158, code size=226] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsMono():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 231 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE movzx eax, byte ptr [D1FFAB1EH] G_M000_IG03: pop ebp ret ; Total bytes of code 27 103: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsMono() [Tier0, IL size=6, code size=27] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsNewMono():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: movzx eax, byte ptr [D1FFAB1EH] G_M000_IG03: pop ebp ret ; Total bytes of code 12 104: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsNewMono() [Tier0, IL size=6, code size=12] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsFullFramework():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: xor eax, eax G_M000_IG03: pop ebp ret ; Total bytes of code 7 105: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsFullFramework() [Tier0, IL size=2, code size=7] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsNetCore():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax G_M000_IG02: call [System.Environment:get_Version():System.Version] mov ecx, eax cmp dword ptr [ecx], ecx call [System.Version:get_Major():int:this] cmp eax, 5 jge SHORT G_M000_IG03 call [System.Runtime.InteropServices.RuntimeInformation:get_FrameworkDescription():System.String] mov gword ptr [ebp-04H], eax push 5 mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [System.String:StartsWith(System.String,int):bool:this] test eax, eax je SHORT G_M000_IG05 G_M000_IG03: mov gword ptr [ebp-08H], 0xD1FFAB1E mov ecx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+30H] call [eax+14H]System.Type:get_Assembly():System.Reflection.Assembly:this mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov eax, gword ptr [ebp-0CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+2CH] call [eax+18H]System.Reflection.Assembly:get_Location():System.String:this mov ecx, eax call [System.String:IsNullOrEmpty(System.String):bool] test eax, eax sete al movzx eax, al G_M000_IG04: mov esp, ebp pop ebp ret G_M000_IG05: xor eax, eax G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 133 106: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsNetCore() [Tier0, IL size=62, code size=133] ; Assembly listing for method System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 11 single block inlinees; 5 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx vzeroupper mov ebx, dword ptr [ebp+10H] mov eax, dword ptr [ebp+08H] G_M000_IG02: cmp eax, 8 jge G_M000_IG20 G_M000_IG03: xor edi, edi cmp eax, 4 jl G_M000_IG14 add eax, -4 movsx edi, word ptr [ecx] movsx esi, dx cmp edi, esi je SHORT G_M000_IG04 mov dword ptr [ebp+10H], ebx movsx esi, bx cmp edi, esi je SHORT G_M000_IG04 movsx esi, word ptr [ebp+0CH] xor ebx, ebx cmp edi, esi sete bl test bl, bl jne SHORT G_M000_IG04 movsx ebx, word ptr [ebp+10H] movsx edi, word ptr [ecx+02H] movsx esi, dx cmp edi, esi je SHORT G_M000_IG07 jmp SHORT G_M000_IG06 align [0 bytes for IG15] G_M000_IG04: xor eax, eax G_M000_IG05: vzeroupper pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG06: mov dword ptr [ebp+10H], ebx movsx esi, bx cmp edi, esi je SHORT G_M000_IG07 movsx esi, word ptr [ebp+0CH] xor ebx, ebx cmp edi, esi sete bl test bl, bl jne SHORT G_M000_IG07 movsx ebx, word ptr [ebp+10H] movsx edi, word ptr [ecx+04H] movsx esi, dx cmp edi, esi je SHORT G_M000_IG10 jmp SHORT G_M000_IG09 G_M000_IG07: mov eax, 1 G_M000_IG08: vzeroupper pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG09: mov dword ptr [ebp+10H], ebx movsx esi, bx cmp edi, esi je SHORT G_M000_IG10 movsx esi, word ptr [ebp+0CH] xor ebx, ebx cmp edi, esi sete bl test bl, bl jne SHORT G_M000_IG10 movsx ebx, word ptr [ebp+10H] movsx edi, word ptr [ecx+06H] movsx esi, dx cmp edi, esi je SHORT G_M000_IG13 jmp SHORT G_M000_IG12 G_M000_IG10: mov eax, 2 G_M000_IG11: vzeroupper pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG12: mov dword ptr [ebp+10H], ebx movsx esi, bx cmp edi, esi je SHORT G_M000_IG13 movsx esi, word ptr [ebp+0CH] xor ebx, ebx cmp edi, esi sete bl test bl, bl jne SHORT G_M000_IG13 movsx ebx, word ptr [ebp+10H] mov edi, 4 jmp SHORT G_M000_IG14 G_M000_IG13: mov eax, 3 jmp G_M000_IG29 G_M000_IG14: test eax, eax mov dword ptr [ebp+10H], ebx jle G_M000_IG28 G_M000_IG15: dec eax movsx esi, word ptr [ecx+2*edi] movsx ebx, dx cmp esi, ebx je SHORT G_M000_IG19 G_M000_IG16: movsx ebx, word ptr [ebp+10H] cmp esi, ebx je SHORT G_M000_IG19 movsx ebx, word ptr [ebp+0CH] cmp esi, ebx sete bl movzx ebx, bl test bl, bl jne SHORT G_M000_IG19 G_M000_IG17: inc edi test eax, eax jg SHORT G_M000_IG15 G_M000_IG18: jmp G_M000_IG28 align [0 bytes for IG21] G_M000_IG19: mov eax, edi jmp G_M000_IG29 G_M000_IG20: movsx esi, word ptr [ebp+0CH] mov edi, ecx cmp eax, 16 jle G_M000_IG26 movzx edx, dl vmovd xmm0, edx vpbroadcastb ymm0, ymm0 movzx edx, bl vmovd xmm1, edx vpbroadcastb ymm1, ymm1 mov ebx, esi movzx edx, bl vmovd xmm2, edx vpbroadcastb ymm2, ymm2 cmp eax, 32 jle SHORT G_M000_IG22 lea edx, bword ptr [edi+2*eax-40H] G_M000_IG21: vmovups ymm3, ymmword ptr [edi] vpackuswb ymm3, ymm3, ymmword ptr [edi+20H] vpcmpeqb ymm4, ymm0, ymm3 vpcmpeqb ymm5, ymm1, ymm3 vpor ymm4, ymm4, ymm5 vpcmpeqb ymm3, ymm2, ymm3 vpor ymm3, ymm4, ymm3 vptest ymm3, ymm3 jne SHORT G_M000_IG23 add edi, 64 cmp edi, edx jb SHORT G_M000_IG21 G_M000_IG22: lea eax, bword ptr [ecx+2*eax-20H] cmp edi, eax mov edx, edi cmova edx, eax jmp SHORT G_M000_IG24 G_M000_IG23: mov eax, edi sub eax, ecx shr eax, 1 vpermq ymm0, ymm3, -40 vpmovmskb edx, ymm0 xor ecx, ecx tzcnt ecx, edx add eax, ecx jmp G_M000_IG29 G_M000_IG24: vmovups ymm3, ymmword ptr [edx] vpackuswb ymm3, ymm3, ymmword ptr [eax] vpcmpeqb ymm0, ymm0, ymm3 vpcmpeqb ymm1, ymm1, ymm3 vpor ymm0, ymm0, ymm1 vpcmpeqb ymm1, ymm2, ymm3 vpor ymm0, ymm0, ymm1 vptest ymm0, ymm0 je G_M000_IG28 vpermq ymm0, ymm0, -40 vpmovmskb esi, ymm0 xor edi, edi tzcnt edi, esi cmp edi, 16 jl SHORT G_M000_IG25 mov edx, eax add edi, -16 G_M000_IG25: sub edx, ecx shr edx, 1 lea eax, [edx+edi] jmp SHORT G_M000_IG29 G_M000_IG26: movzx edx, dl vmovd xmm0, edx vpbroadcastb xmm0, xmm0 movzx edx, bl vmovd xmm1, edx vpbroadcastb xmm1, xmm1 mov ebx, esi movzx edx, bl vmovd xmm2, edx vpbroadcastb xmm2, xmm2 lea eax, bword ptr [edi+2*eax-10H] cmp ecx, eax mov edx, ecx cmova edx, eax vmovups xmm3, xmmword ptr [edx] vpackuswb xmm3, xmm3, xmmword ptr [eax] vpcmpeqb xmm0, xmm0, xmm3 vpcmpeqb xmm1, xmm1, xmm3 vpor xmm0, xmm0, xmm1 vpcmpeqb xmm1, xmm2, xmm3 vpor xmm0, xmm0, xmm1 vptest xmm0, xmm0 je SHORT G_M000_IG28 vpmovmskb esi, xmm0 tzcnt esi, esi cmp esi, 8 jl SHORT G_M000_IG27 mov edx, eax add esi, -8 G_M000_IG27: sub edx, ecx shr edx, 1 lea eax, [edx+esi] jmp SHORT G_M000_IG29 G_M000_IG28: mov eax, -1 G_M000_IG29: vzeroupper pop ebx pop esi pop edi pop ebp ret 12 ; Total bytes of code 673 107: JIT compiled System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int) [Tier-0 switched to FullOpts, IL size=934, code size=673] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:GetNetCoreVersion():System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 80 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-50H], xmm4 vmovdqu xmmword ptr [ebp-40H], xmm4 vmovdqu xmmword ptr [ebp-30H], xmm4 vmovdqu xmmword ptr [ebp-20H], xmm4 vmovdqu xmmword ptr [ebp-10H], xmm4 G_M000_IG02: mov ecx, 0xD1FFAB1E call [System.Reflection.IntrospectionExtensions:GetTypeInfo(System.Type):System.Reflection.TypeInfo] mov gword ptr [ebp-38H], eax mov ecx, gword ptr [ebp-38H] mov eax, gword ptr [ebp-38H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+30H] call [eax+14H]System.Type:get_Assembly():System.Reflection.Assembly:this mov gword ptr [ebp-3CH], eax mov ecx, gword ptr [ebp-3CH] mov eax, gword ptr [ebp-3CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+2CH] call [eax+18H]System.Reflection.Assembly:get_Location():System.String:this mov ecx, eax call [System.Diagnostics.FileVersionInfo:GetVersionInfo(System.String):System.Diagnostics.FileVersionInfo] mov gword ptr [ebp-04H], eax mov ecx, 0xD1FFAB1E call [System.Reflection.IntrospectionExtensions:GetTypeInfo(System.Type):System.Reflection.TypeInfo] mov gword ptr [ebp-40H], eax mov ecx, gword ptr [ebp-40H] mov eax, gword ptr [ebp-40H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+30H] call [eax+14H]System.Type:get_Assembly():System.Reflection.Assembly:this mov gword ptr [ebp-44H], eax mov ecx, gword ptr [ebp-44H] mov eax, gword ptr [ebp-44H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+2CH] call [eax+18H]System.Reflection.Assembly:get_Location():System.String:this mov ecx, eax call [System.Diagnostics.FileVersionInfo:GetVersionInfo(System.String):System.Diagnostics.FileVersionInfo] mov gword ptr [ebp-08H], eax lea ecx, [ebp-0CH] call [BenchmarkDotNet.Environments.CoreRuntime:TryGetVersion(byref):bool] test eax, eax je G_M000_IG05 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-30H], eax mov ecx, gword ptr [ebp-0CH] mov gword ptr [ebp-34H], ecx push 0 mov ecx, gword ptr [ebp-30H] mov edx, 5 call [System.Version:.ctor(int,int):this] mov ecx, gword ptr [ebp-34H] mov edx, gword ptr [ebp-30H] call [System.Version:op_GreaterThanOrEqual(System.Version,System.Version):bool] test eax, eax je SHORT G_M000_IG05 push 2 lea ecx, [ebp-24H] mov edx, 8 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] lea ecx, [ebp-24H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] G_M000_IG03: push 0xD1FFAB1E lea ecx, [ebp-24H] mov edx, gword ptr [ebp-0CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):this] lea ecx, [ebp-24H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [System.Diagnostics.FileVersionInfo:get_FileVersion():System.String:this] mov gword ptr [ebp-48H], eax mov edx, gword ptr [ebp-48H] lea ecx, [ebp-24H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this] lea ecx, [ebp-24H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-24H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] G_M000_IG04: mov esp, ebp pop ebp ret G_M000_IG05: mov ecx, gword ptr [ebp-0CH] xor edx, edx call [System.Version:op_Inequality(System.Version,System.Version):bool] test eax, eax jne SHORT G_M000_IG06 mov gword ptr [ebp-2CH], 0xD1FFAB1E jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, gword ptr [ebp-0CH] mov eax, gword ptr [ebp-0CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+04H]System.Object:ToString():System.String:this mov gword ptr [ebp-2CH], eax G_M000_IG07: mov ecx, gword ptr [ebp-2CH] mov gword ptr [ebp-28H], ecx push 3 lea ecx, [ebp-24H] mov edx, 30 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] lea ecx, [ebp-24H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-24H] mov edx, gword ptr [ebp-28H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this] lea ecx, [ebp-24H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [System.Diagnostics.FileVersionInfo:get_FileVersion():System.String:this] mov gword ptr [ebp-4CH], eax mov edx, gword ptr [ebp-4CH] lea ecx, [ebp-24H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this] lea ecx, [ebp-24H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Diagnostics.FileVersionInfo:get_FileVersion():System.String:this] mov gword ptr [ebp-50H], eax mov edx, gword ptr [ebp-50H] lea ecx, [ebp-24H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this] lea ecx, [ebp-24H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-24H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] G_M000_IG08: mov esp, ebp pop ebp ret ; Total bytes of code 525 108: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:GetNetCoreVersion() [Tier0, IL size=285, code size=525] ; Assembly listing for method System.Diagnostics.FileVersionInfo:GetVersionInfo(System.String):System.Diagnostics.FileVersionInfo ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.IO.Path:IsPathFullyQualified(System.String):bool] test eax, eax jne SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] call [System.IO.Path:GetFullPath(System.String):System.String] mov gword ptr [ebp-04H], eax G_M000_IG03: mov ecx, gword ptr [ebp-04H] call [System.IO.File:Exists(System.String):bool] test eax, eax jne SHORT G_M000_IG05 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] call [System.IO.FileNotFoundException:.ctor(System.String):this] mov ecx, gword ptr [ebp-0CH] call CORINFO_HELP_THROW G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] call [System.Diagnostics.FileVersionInfo:.ctor(System.String):this] mov eax, gword ptr [ebp-08H] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 120 109: JIT compiled System.Diagnostics.FileVersionInfo:GetVersionInfo(System.String) [Tier0, IL size=38, code size=120] ; Assembly listing for method System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 13 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx vzeroupper mov eax, dword ptr [ebp+08H] G_M000_IG02: cmp eax, 8 jge SHORT G_M000_IG07 G_M000_IG03: xor esi, esi cmp eax, 4 jl SHORT G_M000_IG04 add eax, -4 movsx edi, word ptr [ecx+2*esi] movsx ebx, dx cmp edi, ebx je G_M000_IG15 movsx edi, word ptr [ecx+2*esi+02H] cmp edi, ebx je G_M000_IG15 movsx edi, word ptr [ecx+2*esi+04H] cmp edi, ebx je G_M000_IG15 movsx edi, word ptr [ecx+2*esi+06H] cmp edi, ebx je G_M000_IG15 add esi, 4 G_M000_IG04: test eax, eax jle G_M000_IG17 movsx ebx, dx align [0 bytes for IG05] G_M000_IG05: dec eax movsx edx, word ptr [ecx+2*esi] cmp edx, ebx je G_M000_IG15 inc esi test eax, eax jg SHORT G_M000_IG05 G_M000_IG06: jmp G_M000_IG17 align [1 bytes for IG08] G_M000_IG07: cmp eax, 16 jl SHORT G_M000_IG11 movsx ebx, dx vmovd xmm0, ebx vpbroadcastw ymm0, ymm0 lea ebx, bword ptr [ecx+2*eax-20H] G_M000_IG08: vpcmpeqw ymm1, ymm0, ymmword ptr [ecx] vptest ymm1, ymm1 jne SHORT G_M000_IG15 add ecx, 32 cmp ecx, ebx jbe SHORT G_M000_IG08 G_M000_IG09: xor edx, edx mov ecx, 16 cmp edx, ecx jb SHORT G_M000_IG10 mov esi, eax mov eax, edx xor edx, edx div edx:eax, ecx mov eax, esi G_M000_IG10: div edx:eax, ecx or edx, 0 je SHORT G_M000_IG17 vpcmpeqw ymm0, ymm0, ymmword ptr [ebx] vptest ymm0, ymm0 je SHORT G_M000_IG17 jmp SHORT G_M000_IG15 align [0 bytes for IG12] G_M000_IG11: movsx ebx, dx vmovd xmm0, ebx vpbroadcastw xmm0, xmm0 mov edx, ecx lea ecx, bword ptr [edx+2*eax-10H] G_M000_IG12: vpcmpeqw xmm1, xmm0, xmmword ptr [edx] vptest xmm1, xmm1 jne SHORT G_M000_IG15 add edx, 16 cmp edx, ecx jbe SHORT G_M000_IG12 G_M000_IG13: xor edx, edx mov esi, 8 cmp edx, esi jb SHORT G_M000_IG14 mov edi, eax mov eax, edx xor edx, edx div edx:eax, esi mov eax, edi G_M000_IG14: div edx:eax, esi or edx, 0 je SHORT G_M000_IG17 vpcmpeqw xmm0, xmm0, xmmword ptr [ecx] vptest xmm0, xmm0 je SHORT G_M000_IG17 G_M000_IG15: mov eax, 1 G_M000_IG16: vzeroupper pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG17: xor eax, eax G_M000_IG18: vzeroupper pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 305 110: JIT compiled System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int) [Tier-0 switched to FullOpts, IL size=736, code size=305] ; Assembly listing for method System.Diagnostics.FileVersionInfo:.ctor(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; fully interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 56 xor eax, eax mov dword ptr [ebp-34H], eax mov dword ptr [ebp-38H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-18H], ecx mov gword ptr [ebp-1CH], edx G_M000_IG02: mov ecx, gword ptr [ebp-18H] call [System.Object:.ctor():this] mov edx, gword ptr [ebp-18H] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp-1CH] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-18H] mov edx, gword ptr [edx+04H] mov gword ptr [ebp-34H], edx lea edx, [ebp-24H] push edx mov edx, gword ptr [ebp-34H] mov ecx, 1 call [Interop+Version:GetFileVersionInfoSizeEx(uint,System.String,byref):uint] mov dword ptr [ebp-20H], eax cmp dword ptr [ebp-20H], 0 je G_M000_IG11 mov ecx, dword ptr [ebp-20H] call [System.Runtime.InteropServices.NativeMemory:Alloc(uint):uint] mov dword ptr [ebp-28H], eax G_M000_IG03: mov edx, gword ptr [ebp-18H] mov edx, gword ptr [edx+04H] mov gword ptr [ebp-38H], edx push 0 push dword ptr [ebp-20H] push dword ptr [ebp-28H] mov edx, gword ptr [ebp-38H] mov ecx, 3 call [Interop+Version:GetFileVersionInfoEx(uint,System.String,uint,uint,uint):bool] test eax, eax je G_M000_IG08 mov ecx, dword ptr [ebp-28H] call [System.Diagnostics.FileVersionInfo:GetLanguageAndCodePage(uint):uint] mov dword ptr [ebp-2CH], eax lea ecx, [ebp-2CH] mov edx, 0xD1FFAB1E call [System.UInt32:ToString(System.String):System.String:this] push eax mov edx, dword ptr [ebp-28H] mov ecx, gword ptr [ebp-18H] call [System.Diagnostics.FileVersionInfo:GetVersionInfoForCodePage(uint,System.String):bool:this] test eax, eax jne SHORT G_M000_IG07 cmp dword ptr [ebp-2CH], 0xD1FFAB1E je SHORT G_M000_IG04 push 0xD1FFAB1E mov ecx, gword ptr [ebp-18H] mov edx, dword ptr [ebp-28H] call [System.Diagnostics.FileVersionInfo:GetVersionInfoForCodePage(uint,System.String):bool:this] test eax, eax jne SHORT G_M000_IG07 G_M000_IG04: cmp dword ptr [ebp-2CH], 0xD1FFAB1E je SHORT G_M000_IG05 push 0xD1FFAB1E mov ecx, gword ptr [ebp-18H] mov edx, dword ptr [ebp-28H] call [System.Diagnostics.FileVersionInfo:GetVersionInfoForCodePage(uint,System.String):bool:this] test eax, eax jne SHORT G_M000_IG07 G_M000_IG05: cmp dword ptr [ebp-2CH], 0xD1FFAB1E je SHORT G_M000_IG06 push 0xD1FFAB1E mov ecx, gword ptr [ebp-18H] mov edx, dword ptr [ebp-28H] call [System.Diagnostics.FileVersionInfo:GetVersionInfoForCodePage(uint,System.String):bool:this] mov dword ptr [ebp-30H], eax jmp SHORT G_M000_IG08 G_M000_IG06: xor ecx, ecx mov dword ptr [ebp-30H], ecx jmp SHORT G_M000_IG08 G_M000_IG07: mov dword ptr [ebp-30H], 1 G_M000_IG08: mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG09 jmp SHORT G_M000_IG10 G_M000_IG09: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG11 G_M000_IG10: mov ecx, dword ptr [ebp-28H] call [System.Runtime.InteropServices.NativeMemory:Free(uint)] pop eax jmp eax G_M000_IG11: mov esp, ebp pop ebp ret ; Total bytes of code 331 111: JIT compiled System.Diagnostics.FileVersionInfo:.ctor(System.String) [Tier0, IL size=168, code size=331] ; Assembly listing for method Interop+Version:GetFileVersionInfoSizeEx(uint,System.String,byref):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 76 xor ebx, ebx mov dword ptr [ebp-20H], ebx mov dword ptr [ebp-28H], ebx mov dword ptr [ebp-10H], ecx mov gword ptr [ebp-14H], edx G_M000_IG02: lea edi, [ebp-54H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov dword ptr [ebp-30H], esi mov ecx, ebp mov dword ptr [ebp-40H], ecx mov ecx, bword ptr [ebp+08H] mov bword ptr [ebp-20H], ecx mov ecx, bword ptr [ebp-20H] mov dword ptr [ebp-34H], ecx mov ecx, dword ptr [ebp-34H] mov dword ptr [ebp-1CH], ecx mov ecx, gword ptr [ebp-14H] call [System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller:GetPinnableReference(System.String):byref] mov bword ptr [ebp-28H], eax mov eax, bword ptr [ebp-28H] mov dword ptr [ebp-38H], eax mov eax, dword ptr [ebp-38H] mov dword ptr [ebp-24H], eax push dword ptr [ebp-1CH] push dword ptr [ebp-24H] push dword ptr [ebp-10H] mov dword ptr [ebp-4CH], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-48H], eax lea eax, G_M000_IG04 mov dword ptr [ebp-44H], eax mov eax, dword ptr [ebp-30H] mov byte ptr [eax+08H], 0 G_M000_IG03: call [Interop+Version:g____PInvoke|3_0(uint,uint,uint):uint] G_M000_IG04: mov esi, eax mov eax, dword ptr [ebp-30H] mov byte ptr [eax+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG05 call CORINFO_HELP_STOP_FOR_GC G_M000_IG05: xor eax, eax mov dword ptr [ebp-44H], eax mov dword ptr [ebp-18H], esi xor eax, eax mov bword ptr [ebp-28H], eax xor eax, eax mov bword ptr [ebp-20H], eax mov eax, dword ptr [ebp-18H] mov dword ptr [ebp-2CH], eax G_M000_IG06: mov eax, dword ptr [ebp-2CH] mov edx, dword ptr [ebp-30H] mov ecx, bword ptr [ebp-50H] mov dword ptr [edx+0CH], ecx G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 193 112: JIT compiled Interop+Version:GetFileVersionInfoSizeEx(uint,System.String,byref) [Tier0, IL size=41, code size=193] ; Assembly listing for method Interop+Version:GetFileVersionInfoEx(uint,System.String,uint,uint,uint):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 68 xor ebx, ebx mov dword ptr [ebp-24H], ebx mov dword ptr [ebp-10H], ecx mov gword ptr [ebp-14H], edx G_M000_IG02: lea edi, [ebp-4CH] call CORINFO_HELP_INIT_PINVOKE_FRAME mov dword ptr [ebp-2CH], esi mov ecx, ebp mov dword ptr [ebp-38H], ecx mov ecx, gword ptr [ebp-14H] call [System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller:GetPinnableReference(System.String):byref] mov bword ptr [ebp-24H], eax mov eax, bword ptr [ebp-24H] mov dword ptr [ebp-30H], eax mov eax, dword ptr [ebp-30H] mov dword ptr [ebp-20H], eax push dword ptr [ebp+08H] push dword ptr [ebp+0CH] push dword ptr [ebp+10H] push dword ptr [ebp-20H] push dword ptr [ebp-10H] mov dword ptr [ebp-44H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-40H], eax lea eax, G_M000_IG04 mov dword ptr [ebp-3CH], eax mov eax, dword ptr [ebp-2CH] mov byte ptr [eax+08H], 0 G_M000_IG03: call [Interop+Version:g____PInvoke|2_0(uint,uint,uint,uint,uint):int] G_M000_IG04: mov esi, eax mov eax, dword ptr [ebp-2CH] mov byte ptr [eax+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG05 call CORINFO_HELP_STOP_FOR_GC G_M000_IG05: xor eax, eax mov dword ptr [ebp-3CH], eax mov dword ptr [ebp-1CH], esi xor eax, eax mov bword ptr [ebp-24H], eax xor eax, eax cmp dword ptr [ebp-1CH], 0 setne al mov dword ptr [ebp-18H], eax mov eax, dword ptr [ebp-18H] mov dword ptr [ebp-28H], eax G_M000_IG06: mov eax, dword ptr [ebp-28H] movzx eax, al mov edx, dword ptr [ebp-2CH] mov ecx, bword ptr [ebp-48H] mov dword ptr [edx+0CH], ecx G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 ; Total bytes of code 188 113: JIT compiled Interop+Version:GetFileVersionInfoEx(uint,System.String,uint,uint,uint) [Tier0, IL size=32, code size=188] ; Assembly listing for method System.Diagnostics.FileVersionInfo:GetLanguageAndCodePage(uint):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 mov dword ptr [ebp-04H], ecx G_M000_IG02: lea ecx, [ebp-08H] push ecx lea ecx, [ebp-0CH] push ecx mov ecx, dword ptr [ebp-04H] mov edx, 0xD1FFAB1E call [Interop+Version:VerQueryValue(uint,System.String,byref,byref):bool] test eax, eax je SHORT G_M000_IG04 mov eax, dword ptr [ebp-08H] movzx eax, word ptr [eax] shl eax, 16 mov edx, dword ptr [ebp-08H] movzx edx, word ptr [edx+02H] add eax, edx G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov eax, 0xD1FFAB1E G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 66 114: JIT compiled System.Diagnostics.FileVersionInfo:GetLanguageAndCodePage(uint) [Tier0, IL size=34, code size=66] ; Assembly listing for method Interop+Version:VerQueryValue(uint,System.String,byref,byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 92 xor ebx, ebx mov dword ptr [ebp-24H], ebx mov dword ptr [ebp-2CH], ebx mov dword ptr [ebp-34H], ebx mov dword ptr [ebp-10H], ecx mov gword ptr [ebp-14H], edx G_M000_IG02: lea edi, [ebp-64H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov dword ptr [ebp-3CH], esi mov ecx, ebp mov dword ptr [ebp-50H], ecx mov ecx, bword ptr [ebp+0CH] xor eax, eax mov dword ptr [ecx], eax mov ecx, bword ptr [ebp+08H] mov bword ptr [ebp-24H], ecx mov ecx, bword ptr [ebp-24H] mov dword ptr [ebp-40H], ecx mov ecx, dword ptr [ebp-40H] mov dword ptr [ebp-20H], ecx mov ecx, bword ptr [ebp+0CH] mov bword ptr [ebp-2CH], ecx mov ecx, bword ptr [ebp-2CH] mov dword ptr [ebp-44H], ecx mov ecx, dword ptr [ebp-44H] mov dword ptr [ebp-28H], ecx mov ecx, gword ptr [ebp-14H] call [System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller:GetPinnableReference(System.String):byref] mov bword ptr [ebp-34H], eax mov eax, bword ptr [ebp-34H] mov dword ptr [ebp-48H], eax mov eax, dword ptr [ebp-48H] mov dword ptr [ebp-30H], eax push dword ptr [ebp-20H] push dword ptr [ebp-28H] push dword ptr [ebp-30H] push dword ptr [ebp-10H] mov dword ptr [ebp-5CH], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-58H], eax lea eax, G_M000_IG04 mov dword ptr [ebp-54H], eax mov eax, dword ptr [ebp-3CH] mov byte ptr [eax+08H], 0 G_M000_IG03: call [Interop+Version:g____PInvoke|4_0(uint,uint,uint,uint):int] G_M000_IG04: mov esi, eax mov eax, dword ptr [ebp-3CH] mov byte ptr [eax+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG05 call CORINFO_HELP_STOP_FOR_GC G_M000_IG05: xor eax, eax mov dword ptr [ebp-54H], eax mov dword ptr [ebp-1CH], esi xor eax, eax mov bword ptr [ebp-34H], eax xor eax, eax mov bword ptr [ebp-2CH], eax xor eax, eax mov bword ptr [ebp-24H], eax xor eax, eax cmp dword ptr [ebp-1CH], 0 setne al mov dword ptr [ebp-18H], eax mov eax, dword ptr [ebp-18H] mov dword ptr [ebp-38H], eax G_M000_IG06: mov eax, dword ptr [ebp-38H] movzx eax, al mov edx, dword ptr [ebp-3CH] mov ecx, bword ptr [ebp-60H] mov dword ptr [edx+0CH], ecx G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 244 115: JIT compiled Interop+Version:VerQueryValue(uint,System.String,byref,byref) [Tier0, IL size=69, code size=244] ; Assembly listing for method System.Diagnostics.FileVersionInfo:GetVersionInfoForCodePage(uint,System.String):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 176 vxorps xmm4, xmm4, xmm4 mov eax, -144 vmovdqu xmmword ptr [ebp+eax-20H], xmm4 vmovdqu xmmword ptr [ebp+eax-10H], xmm4 vmovdqu xmmword ptr [eax+ebp], xmm4 add eax, 48 jne SHORT -5 instr mov dword ptr [ebp-20H], eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-0CH], esp mov dword ptr [ebp-B4H], 0xD1FFAB1E mov gword ptr [ebp-10H], ecx mov dword ptr [ebp-14H], edx G_M000_IG02: xor edx, edx mov dword ptr [ebp-7CH], edx mov dword ptr [ebp-78H], edx mov edx, -512 add edx, esp jb SHORT G_M000_IG03 xor edx, edx G_M000_IG03: test dword ptr [esp], esp sub esp, 0x1000 cmp esp, edx jae SHORT G_M000_IG03 mov esp, edx lea edx, [esp] mov dword ptr [ebp-0CH], esp mov dword ptr [ebp-80H], edx push 256 mov edx, dword ptr [ebp-80H] lea ecx, [ebp-7CH] call [System.Span`1[ushort]:.ctor(uint,int):this] lea edi, bword ptr [ebp-58H] lea esi, bword ptr [ebp-7CH] movsd movsd lea edi, bword ptr [ebp-1CH] lea esi, bword ptr [ebp-58H] movsd movsd xor ecx, ecx mov gword ptr [ebp-5CH], ecx lea edi, bword ptr [ebp-58H] lea esi, bword ptr [ebp-1CH] movsd movsd push 1 push gword ptr [ebp-5CH] push dword ptr [ebp-54H] push bword ptr [ebp-58H] lea ecx, [ebp-74H] mov edx, 31 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int,System.IFormatProvider,System.Span`1[ushort]):this] lea ecx, [ebp-74H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-74H] mov edx, gword ptr [ebp+08H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this] lea ecx, [ebp-74H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] push dword ptr [ebp-54H] push bword ptr [ebp-58H] lea edx, [ebp-74H] mov ecx, gword ptr [ebp-5CH] call [System.String:Create(System.IFormatProvider,System.Span`1[ushort],byref):System.String] mov gword ptr [ebp-84H], eax mov edx, gword ptr [ebp-84H] mov ecx, dword ptr [ebp-14H] call [System.Diagnostics.FileVersionInfo:GetFileVersionString(uint,System.String):System.String] mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+08H] call CORINFO_HELP_ASSIGN_REF_EAX xor ecx, ecx mov gword ptr [ebp-5CH], ecx lea edi, bword ptr [ebp-58H] lea esi, bword ptr [ebp-1CH] movsd movsd G_M000_IG04: push 1 push gword ptr [ebp-5CH] push dword ptr [ebp-54H] push bword ptr [ebp-58H] lea ecx, [ebp-74H] mov edx, 35 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int,System.IFormatProvider,System.Span`1[ushort]):this] lea ecx, [ebp-74H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-74H] mov edx, gword ptr [ebp+08H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this] lea ecx, [ebp-74H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] push dword ptr [ebp-54H] push bword ptr [ebp-58H] lea edx, [ebp-74H] mov ecx, gword ptr [ebp-5CH] call [System.String:Create(System.IFormatProvider,System.Span`1[ushort],byref):System.String] mov gword ptr [ebp-88H], eax mov edx, gword ptr [ebp-88H] mov ecx, dword ptr [ebp-14H] call [System.Diagnostics.FileVersionInfo:GetFileVersionString(uint,System.String):System.String] mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+0CH] call CORINFO_HELP_ASSIGN_REF_EAX xor ecx, ecx mov gword ptr [ebp-5CH], ecx lea edi, bword ptr [ebp-58H] lea esi, bword ptr [ebp-1CH] movsd movsd push 1 push gword ptr [ebp-5CH] push dword ptr [ebp-54H] push bword ptr [ebp-58H] lea ecx, [ebp-74H] mov edx, 31 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int,System.IFormatProvider,System.Span`1[ushort]):this] lea ecx, [ebp-74H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-74H] mov edx, gword ptr [ebp+08H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this] lea ecx, [ebp-74H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] push dword ptr [ebp-54H] push bword ptr [ebp-58H] lea edx, [ebp-74H] mov ecx, gword ptr [ebp-5CH] call [System.String:Create(System.IFormatProvider,System.Span`1[ushort],byref):System.String] mov gword ptr [ebp-8CH], eax mov edx, gword ptr [ebp-8CH] mov ecx, dword ptr [ebp-14H] call [System.Diagnostics.FileVersionInfo:GetFileVersionString(uint,System.String):System.String] mov edx, gword ptr [ebp-10H] G_M000_IG05: lea edx, bword ptr [edx+10H] call CORINFO_HELP_ASSIGN_REF_EAX xor ecx, ecx mov gword ptr [ebp-5CH], ecx lea edi, bword ptr [ebp-58H] lea esi, bword ptr [ebp-1CH] movsd movsd push 1 push gword ptr [ebp-5CH] push dword ptr [ebp-54H] push bword ptr [ebp-58H] lea ecx, [ebp-74H] mov edx, 32 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int,System.IFormatProvider,System.Span`1[ushort]):this] lea ecx, [ebp-74H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-74H] mov edx, gword ptr [ebp+08H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this] lea ecx, [ebp-74H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] push dword ptr [ebp-54H] push bword ptr [ebp-58H] lea edx, [ebp-74H] mov ecx, gword ptr [ebp-5CH] call [System.String:Create(System.IFormatProvider,System.Span`1[ushort],byref):System.String] mov gword ptr [ebp-90H], eax mov edx, gword ptr [ebp-90H] mov ecx, dword ptr [ebp-14H] call [System.Diagnostics.FileVersionInfo:GetFileVersionString(uint,System.String):System.String] mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+14H] call CORINFO_HELP_ASSIGN_REF_EAX xor ecx, ecx mov gword ptr [ebp-5CH], ecx lea edi, bword ptr [ebp-58H] lea esi, bword ptr [ebp-1CH] movsd movsd push 1 push gword ptr [ebp-5CH] push dword ptr [ebp-54H] push bword ptr [ebp-58H] lea ecx, [ebp-74H] mov edx, 34 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int,System.IFormatProvider,System.Span`1[ushort]):this] lea ecx, [ebp-74H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-74H] mov edx, gword ptr [ebp+08H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this] lea ecx, [ebp-74H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] push dword ptr [ebp-54H] push bword ptr [ebp-58H] G_M000_IG06: lea edx, [ebp-74H] mov ecx, gword ptr [ebp-5CH] call [System.String:Create(System.IFormatProvider,System.Span`1[ushort],byref):System.String] mov gword ptr [ebp-94H], eax mov edx, gword ptr [ebp-94H] mov ecx, dword ptr [ebp-14H] call [System.Diagnostics.FileVersionInfo:GetFileVersionString(uint,System.String):System.String] mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+18H] call CORINFO_HELP_ASSIGN_REF_EAX xor ecx, ecx mov gword ptr [ebp-5CH], ecx lea edi, bword ptr [ebp-58H] lea esi, bword ptr [ebp-1CH] movsd movsd push 1 push gword ptr [ebp-5CH] push dword ptr [ebp-54H] push bword ptr [ebp-58H] lea ecx, [ebp-74H] mov edx, 36 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int,System.IFormatProvider,System.Span`1[ushort]):this] lea ecx, [ebp-74H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-74H] mov edx, gword ptr [ebp+08H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this] lea ecx, [ebp-74H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] push dword ptr [ebp-54H] push bword ptr [ebp-58H] lea edx, [ebp-74H] mov ecx, gword ptr [ebp-5CH] call [System.String:Create(System.IFormatProvider,System.Span`1[ushort],byref):System.String] mov gword ptr [ebp-98H], eax mov edx, gword ptr [ebp-98H] mov ecx, dword ptr [ebp-14H] call [System.Diagnostics.FileVersionInfo:GetFileVersionString(uint,System.String):System.String] mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+1CH] call CORINFO_HELP_ASSIGN_REF_EAX xor ecx, ecx mov gword ptr [ebp-5CH], ecx lea edi, bword ptr [ebp-58H] lea esi, bword ptr [ebp-1CH] movsd movsd push 1 push gword ptr [ebp-5CH] push dword ptr [ebp-54H] push bword ptr [ebp-58H] lea ecx, [ebp-74H] mov edx, 31 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int,System.IFormatProvider,System.Span`1[ushort]):this] lea ecx, [ebp-74H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-74H] G_M000_IG07: mov edx, gword ptr [ebp+08H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this] lea ecx, [ebp-74H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] push dword ptr [ebp-54H] push bword ptr [ebp-58H] lea edx, [ebp-74H] mov ecx, gword ptr [ebp-5CH] call [System.String:Create(System.IFormatProvider,System.Span`1[ushort],byref):System.String] mov gword ptr [ebp-9CH], eax mov edx, gword ptr [ebp-9CH] mov ecx, dword ptr [ebp-14H] call [System.Diagnostics.FileVersionInfo:GetFileVersionString(uint,System.String):System.String] mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+20H] call CORINFO_HELP_ASSIGN_REF_EAX xor ecx, ecx mov gword ptr [ebp-5CH], ecx lea edi, bword ptr [ebp-58H] lea esi, bword ptr [ebp-1CH] movsd movsd push 1 push gword ptr [ebp-5CH] push dword ptr [ebp-54H] push bword ptr [ebp-58H] lea ecx, [ebp-74H] mov edx, 34 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int,System.IFormatProvider,System.Span`1[ushort]):this] lea ecx, [ebp-74H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-74H] mov edx, gword ptr [ebp+08H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this] lea ecx, [ebp-74H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] push dword ptr [ebp-54H] push bword ptr [ebp-58H] lea edx, [ebp-74H] mov ecx, gword ptr [ebp-5CH] call [System.String:Create(System.IFormatProvider,System.Span`1[ushort],byref):System.String] mov gword ptr [ebp-A0H], eax mov edx, gword ptr [ebp-A0H] mov ecx, dword ptr [ebp-14H] call [System.Diagnostics.FileVersionInfo:GetFileVersionString(uint,System.String):System.String] mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+24H] call CORINFO_HELP_ASSIGN_REF_EAX xor ecx, ecx mov gword ptr [ebp-5CH], ecx lea edi, bword ptr [ebp-58H] lea esi, bword ptr [ebp-1CH] movsd movsd push 1 push gword ptr [ebp-5CH] push dword ptr [ebp-54H] G_M000_IG08: push bword ptr [ebp-58H] lea ecx, [ebp-74H] mov edx, 28 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int,System.IFormatProvider,System.Span`1[ushort]):this] lea ecx, [ebp-74H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-74H] mov edx, gword ptr [ebp+08H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this] lea ecx, [ebp-74H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] push dword ptr [ebp-54H] push bword ptr [ebp-58H] lea edx, [ebp-74H] mov ecx, gword ptr [ebp-5CH] call [System.String:Create(System.IFormatProvider,System.Span`1[ushort],byref):System.String] mov gword ptr [ebp-A4H], eax mov edx, gword ptr [ebp-A4H] mov ecx, dword ptr [ebp-14H] call [System.Diagnostics.FileVersionInfo:GetFileVersionString(uint,System.String):System.String] mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+28H] call CORINFO_HELP_ASSIGN_REF_EAX xor ecx, ecx mov gword ptr [ebp-5CH], ecx lea edi, bword ptr [ebp-58H] lea esi, bword ptr [ebp-1CH] movsd movsd push 1 push gword ptr [ebp-5CH] push dword ptr [ebp-54H] push bword ptr [ebp-58H] lea ecx, [ebp-74H] mov edx, 35 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int,System.IFormatProvider,System.Span`1[ushort]):this] lea ecx, [ebp-74H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-74H] mov edx, gword ptr [ebp+08H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this] lea ecx, [ebp-74H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] push dword ptr [ebp-54H] push bword ptr [ebp-58H] lea edx, [ebp-74H] mov ecx, gword ptr [ebp-5CH] call [System.String:Create(System.IFormatProvider,System.Span`1[ushort],byref):System.String] mov gword ptr [ebp-A8H], eax mov edx, gword ptr [ebp-A8H] mov ecx, dword ptr [ebp-14H] call [System.Diagnostics.FileVersionInfo:GetFileVersionString(uint,System.String):System.String] mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+2CH] call CORINFO_HELP_ASSIGN_REF_EAX xor ecx, ecx G_M000_IG09: mov gword ptr [ebp-5CH], ecx lea edi, bword ptr [ebp-58H] lea esi, bword ptr [ebp-1CH] movsd movsd push 1 push gword ptr [ebp-5CH] push dword ptr [ebp-54H] push bword ptr [ebp-58H] lea ecx, [ebp-74H] mov edx, 32 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int,System.IFormatProvider,System.Span`1[ushort]):this] lea ecx, [ebp-74H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-74H] mov edx, gword ptr [ebp+08H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this] lea ecx, [ebp-74H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] push dword ptr [ebp-54H] push bword ptr [ebp-58H] lea edx, [ebp-74H] mov ecx, gword ptr [ebp-5CH] call [System.String:Create(System.IFormatProvider,System.Span`1[ushort],byref):System.String] mov gword ptr [ebp-ACH], eax mov edx, gword ptr [ebp-ACH] mov ecx, dword ptr [ebp-14H] call [System.Diagnostics.FileVersionInfo:GetFileVersionString(uint,System.String):System.String] mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+30H] call CORINFO_HELP_ASSIGN_REF_EAX xor ecx, ecx mov gword ptr [ebp-5CH], ecx lea edi, bword ptr [ebp-58H] lea esi, bword ptr [ebp-1CH] movsd movsd push 1 push gword ptr [ebp-5CH] push dword ptr [ebp-54H] push bword ptr [ebp-58H] lea ecx, [ebp-74H] mov edx, 32 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int,System.IFormatProvider,System.Span`1[ushort]):this] lea ecx, [ebp-74H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-74H] mov edx, gword ptr [ebp+08H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this] lea ecx, [ebp-74H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] push dword ptr [ebp-54H] push bword ptr [ebp-58H] lea edx, [ebp-74H] mov ecx, gword ptr [ebp-5CH] call [System.String:Create(System.IFormatProvider,System.Span`1[ushort],byref):System.String] G_M000_IG10: mov gword ptr [ebp-B0H], eax mov edx, gword ptr [ebp-B0H] mov ecx, dword ptr [ebp-14H] call [System.Diagnostics.FileVersionInfo:GetFileVersionString(uint,System.String):System.String] mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+34H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, dword ptr [ebp-14H] call [System.Diagnostics.FileVersionInfo:GetFileVersionLanguage(uint):System.String] mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+38H] call CORINFO_HELP_ASSIGN_REF_EAX lea ecx, [ebp-50H] mov edx, dword ptr [ebp-14H] call [System.Diagnostics.FileVersionInfo:GetFixedFileInfo(uint):Interop+Version+VS_FIXEDFILEINFO] mov ecx, dword ptr [ebp-48H] call [System.Diagnostics.FileVersionInfo:HIWORD(uint):uint] mov ecx, gword ptr [ebp-10H] mov dword ptr [ecx+3CH], eax mov ecx, dword ptr [ebp-48H] call [System.Diagnostics.FileVersionInfo:LOWORD(uint):uint] mov ecx, gword ptr [ebp-10H] mov dword ptr [ecx+40H], eax mov ecx, dword ptr [ebp-44H] call [System.Diagnostics.FileVersionInfo:HIWORD(uint):uint] mov ecx, gword ptr [ebp-10H] mov dword ptr [ecx+44H], eax mov ecx, dword ptr [ebp-44H] call [System.Diagnostics.FileVersionInfo:LOWORD(uint):uint] mov ecx, gword ptr [ebp-10H] mov dword ptr [ecx+48H], eax mov ecx, dword ptr [ebp-40H] call [System.Diagnostics.FileVersionInfo:HIWORD(uint):uint] mov ecx, gword ptr [ebp-10H] mov dword ptr [ecx+4CH], eax mov ecx, dword ptr [ebp-40H] call [System.Diagnostics.FileVersionInfo:LOWORD(uint):uint] mov ecx, gword ptr [ebp-10H] mov dword ptr [ecx+50H], eax mov ecx, dword ptr [ebp-3CH] call [System.Diagnostics.FileVersionInfo:HIWORD(uint):uint] mov ecx, gword ptr [ebp-10H] mov dword ptr [ecx+54H], eax mov ecx, dword ptr [ebp-3CH] call [System.Diagnostics.FileVersionInfo:LOWORD(uint):uint] mov ecx, gword ptr [ebp-10H] mov dword ptr [ecx+58H], eax mov ecx, dword ptr [ebp-34H] and ecx, 1 test ecx, ecx setne cl mov edx, gword ptr [ebp-10H] mov byte ptr [edx+5CH], cl mov ecx, dword ptr [ebp-34H] and ecx, 4 test ecx, ecx setne cl mov edx, gword ptr [ebp-10H] mov byte ptr [edx+5DH], cl mov ecx, dword ptr [ebp-34H] and ecx, 8 test ecx, ecx G_M000_IG11: setne cl mov edx, gword ptr [ebp-10H] mov byte ptr [edx+5EH], cl mov ecx, dword ptr [ebp-34H] and ecx, 2 test ecx, ecx setne cl mov edx, gword ptr [ebp-10H] mov byte ptr [edx+5FH], cl mov ecx, dword ptr [ebp-34H] and ecx, 32 test ecx, ecx setne cl mov edx, gword ptr [ebp-10H] mov byte ptr [edx+60H], cl mov ecx, gword ptr [ebp-10H] mov ecx, gword ptr [ecx+10H] mov edx, 0xD1FFAB1E call [System.String:op_Inequality(System.String,System.String):bool] cmp dword ptr [ebp-B4H], 0xD1FFAB1E je SHORT G_M000_IG12 call CORINFO_HELP_FAIL_FAST G_M000_IG12: lea esp, [ebp-08H] pop esi pop edi pop ebp ret 4 ; Total bytes of code 1962 116: JIT compiled System.Diagnostics.FileVersionInfo:GetVersionInfoForCodePage(uint,System.String) [Tier0, IL size=1107, code size=1962] ; Assembly listing for method System.Diagnostics.FileVersionInfo:GetFileVersionString(uint,System.String):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: lea ecx, [ebp-0CH] push ecx lea ecx, [ebp-10H] push ecx mov ecx, dword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [Interop+Version:VerQueryValue(uint,System.String,byref,byref):bool] test eax, eax je SHORT G_M000_IG04 cmp dword ptr [ebp-0CH], 0 je SHORT G_M000_IG04 mov ecx, dword ptr [ebp-0CH] call [System.Runtime.InteropServices.Marshal:PtrToStringUni(int):System.String] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov eax, 0xD1FFAB1E G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 64 117: JIT compiled System.Diagnostics.FileVersionInfo:GetFileVersionString(uint,System.String) [Tier0, IL size=31, code size=64] ; Assembly listing for method System.Diagnostics.FileVersionInfo:GetFileVersionLanguage(uint):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 64 xor edx, edx mov dword ptr [ebp-24H], edx mov dword ptr [ebp-10H], esp mov dword ptr [ebp-2CH], 0xD1FFAB1E mov dword ptr [ebp-14H], ecx G_M000_IG02: lea edi, [ebp-48H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov dword ptr [ebp-28H], esi mov ecx, ebp mov dword ptr [ebp-34H], ecx mov ecx, dword ptr [ebp-14H] call [System.Diagnostics.FileVersionInfo:GetLanguageAndCodePage(uint):uint] shr eax, 16 mov dword ptr [ebp-18H], eax mov eax, -512 add eax, esp jb SHORT G_M000_IG03 xor eax, eax G_M000_IG03: test dword ptr [esp], esp sub esp, 0x1000 cmp esp, eax jae SHORT G_M000_IG03 mov esp, eax lea eax, [esp] mov dword ptr [ebp-10H], esp mov dword ptr [ebp-1CH], eax push 256 push dword ptr [ebp-1CH] push dword ptr [ebp-18H] mov dword ptr [ebp-40H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-3CH], eax lea eax, G_M000_IG05 mov dword ptr [ebp-38H], eax mov eax, dword ptr [ebp-28H] mov byte ptr [eax+08H], 0 G_M000_IG04: call [Interop+Kernel32:VerLanguageName(uint,uint,uint):int] G_M000_IG05: mov esi, eax mov eax, dword ptr [ebp-28H] mov byte ptr [eax+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG06 call CORINFO_HELP_STOP_FOR_GC G_M000_IG06: xor ecx, ecx mov dword ptr [ebp-38H], ecx mov dword ptr [ebp-20H], esi push dword ptr [ebp-20H] mov ecx, dword ptr [ebp-1CH] xor edx, edx call System.String:.ctor(uint,int,int):this mov gword ptr [ebp-24H], eax G_M000_IG07: mov eax, gword ptr [ebp-24H] mov edx, dword ptr [ebp-28H] mov ecx, bword ptr [ebp-44H] mov dword ptr [edx+0CH], ecx cmp dword ptr [ebp-2CH], 0xD1FFAB1E je SHORT G_M000_IG08 call CORINFO_HELP_FAIL_FAST G_M000_IG08: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 219 118: JIT compiled System.Diagnostics.FileVersionInfo:GetFileVersionLanguage(uint) [Tier0, IL size=41, code size=219] ; Assembly listing for method System.Diagnostics.FileVersionInfo:GetFixedFileInfo(uint):Interop+Version+VS_FIXEDFILEINFO ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 68 vzeroupper mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: lea ecx, [ebp-0CH] push ecx lea ecx, [ebp-10H] push ecx mov ecx, dword ptr [ebp-08H] mov edx, 0xD1FFAB1E call [Interop+Version:VerQueryValue(uint,System.String,byref,byref):bool] test eax, eax je SHORT G_M000_IG04 mov eax, dword ptr [ebp-0CH] mov edx, bword ptr [ebp-04H] vmovdqu ymm0, ymmword ptr [eax] vmovdqu ymmword ptr [edx], ymm0 vmovdqu ymm0, ymmword ptr [eax+14H] vmovdqu ymmword ptr [edx+14H], ymm0 G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: vxorps ymm0, ymm0, ymm0 vmovdqu ymmword ptr [ebp-44H], ymm0 vmovdqu ymmword ptr [ebp-30H], ymm0 mov eax, bword ptr [ebp-04H] vmovdqu ymm0, ymmword ptr [ebp-44H] vmovdqu ymmword ptr [eax], ymm0 vmovdqu ymm0, ymmword ptr [ebp-30H] vmovdqu ymmword ptr [eax+14H], ymm0 G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 109 119: JIT compiled System.Diagnostics.FileVersionInfo:GetFixedFileInfo(uint) [Tier0, IL size=34, code size=109] ; Assembly listing for method System.Diagnostics.FileVersionInfo:HIWORD(uint):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov dword ptr [ebp-04H], ecx G_M000_IG02: mov eax, dword ptr [ebp-04H] shr eax, 16 and eax, 0xFFFF G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 22 120: JIT compiled System.Diagnostics.FileVersionInfo:HIWORD(uint) [Tier0, IL size=11, code size=22] ; Assembly listing for method System.Diagnostics.FileVersionInfo:LOWORD(uint):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov dword ptr [ebp-04H], ecx G_M000_IG02: mov eax, dword ptr [ebp-04H] and eax, 0xFFFF G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 19 121: JIT compiled System.Diagnostics.FileVersionInfo:LOWORD(uint) [Tier0, IL size=8, code size=19] ; Assembly listing for method BenchmarkDotNet.Environments.CoreRuntime:TryGetVersion(byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 60 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-3CH], xmm4 vmovdqu xmmword ptr [ebp-2CH], xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: call [System.Environment:get_Version():System.Version] mov ecx, eax cmp dword ptr [ecx], ecx call [System.Version:get_Major():int:this] cmp eax, 5 jl SHORT G_M000_IG03 call [System.Environment:get_Version():System.Version] mov edx, bword ptr [ebp-04H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX jmp G_M000_IG11 G_M000_IG03: call [System.Runtime.InteropServices.RuntimeEnvironment:GetRuntimeDirectory():System.String] mov gword ptr [ebp-28H], eax mov ecx, gword ptr [ebp-28H] mov edx, bword ptr [ebp-04H] call [BenchmarkDotNet.Environments.CoreRuntime:TryGetVersionFromRuntimeDirectory(System.String,byref):bool] test eax, eax je SHORT G_M000_IG04 jmp G_M000_IG11 G_M000_IG04: mov gword ptr [ebp-2CH], 0xD1FFAB1E mov ecx, gword ptr [ebp-2CH] mov eax, gword ptr [ebp-2CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+30H] call [eax+14H]System.Type:get_Assembly():System.Reflection.Assembly:this mov gword ptr [ebp-30H], eax mov ecx, gword ptr [ebp-30H] mov eax, gword ptr [ebp-30H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+2CH] call [eax+18H]System.Reflection.Assembly:get_Location():System.String:this mov ecx, eax call [System.Diagnostics.FileVersionInfo:GetVersionInfo(System.String):System.Diagnostics.FileVersionInfo] mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Diagnostics.FileVersionInfo:get_ProductVersion():System.String:this] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Diagnostics.FileVersionInfo:get_ProductName():System.String:this] mov gword ptr [ebp-34H], eax push bword ptr [ebp-04H] mov edx, gword ptr [ebp-34H] mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Environments.CoreRuntime:TryGetVersionFromProductInfo(System.String,System.String,byref):bool] test eax, eax je SHORT G_M000_IG05 jmp G_M000_IG11 G_M000_IG05: call [System.Reflection.Assembly:GetEntryAssembly():System.Reflection.Assembly] mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] mov gword ptr [ebp-14H], ecx cmp gword ptr [ebp-10H], 0 jne SHORT G_M000_IG06 xor ecx, ecx mov gword ptr [ebp-20H], ecx jmp SHORT G_M000_IG08 G_M000_IG06: mov ecx, gword ptr [ebp-14H] mov edx, 0xD1FFAB1E call [System.Reflection.CustomAttributeExtensions:GetCustomAttribute[System.__Canon](System.Reflection.Assembly):System.__Canon] mov gword ptr [ebp-18H], eax mov ecx, gword ptr [ebp-18H] mov gword ptr [ebp-1CH], ecx cmp gword ptr [ebp-18H], 0 jne SHORT G_M000_IG07 xor ecx, ecx mov gword ptr [ebp-20H], ecx jmp SHORT G_M000_IG08 G_M000_IG07: mov ecx, gword ptr [ebp-1CH] call [System.Runtime.Versioning.TargetFrameworkAttribute:get_FrameworkName():System.String:this] mov gword ptr [ebp-20H], eax G_M000_IG08: mov ecx, gword ptr [ebp-20H] mov edx, bword ptr [ebp-04H] call [BenchmarkDotNet.Environments.CoreRuntime:TryGetVersionFromFrameworkName(System.String,byref):bool] test eax, eax je SHORT G_M000_IG09 jmp SHORT G_M000_IG11 G_M000_IG09: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsRunningInContainer():bool] test eax, eax je SHORT G_M000_IG13 mov ecx, 0xD1FFAB1E call [System.Environment:GetEnvironmentVariable(System.String):System.String] mov gword ptr [ebp-38H], eax mov ecx, gword ptr [ebp-38H] mov edx, bword ptr [ebp-04H] call [System.Version:TryParse(System.String,byref):bool] test eax, eax jne SHORT G_M000_IG10 mov ecx, 0xD1FFAB1E call [System.Environment:GetEnvironmentVariable(System.String):System.String] mov gword ptr [ebp-3CH], eax mov ecx, gword ptr [ebp-3CH] mov edx, bword ptr [ebp-04H] call [System.Version:TryParse(System.String,byref):bool] mov dword ptr [ebp-24H], eax jmp SHORT G_M000_IG16 G_M000_IG10: G_M000_IG11: mov eax, 1 G_M000_IG12: mov esp, ebp pop ebp ret G_M000_IG13: mov eax, bword ptr [ebp-04H] xor edx, edx mov gword ptr [eax], edx G_M000_IG14: xor eax, eax G_M000_IG15: mov esp, ebp pop ebp ret G_M000_IG16: mov eax, dword ptr [ebp-24H] movzx eax, al G_M000_IG17: mov esp, ebp pop ebp ret ; Total bytes of code 404 122: JIT compiled BenchmarkDotNet.Environments.CoreRuntime:TryGetVersion(byref) [Tier0, IL size=173, code size=404] ; Assembly listing for method System.Version:TryFormatCore[ushort](System.Span`1[ushort],int,byref):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 2 inlinees with PGO data; 17 single block inlinees; 7 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 56 xor eax, eax mov dword ptr [ebp-24H], eax mov esi, edx G_M000_IG02: mov eax, esi cmp eax, 4 ja G_M000_IG30 cmp esi, 3 jb SHORT G_M000_IG04 G_M000_IG03: cmp dword ptr [ecx+0CH], -1 je G_M000_IG31 cmp esi, 4 jne SHORT G_M000_IG04 cmp dword ptr [ecx+10H], -1 je G_M000_IG32 G_M000_IG04: xor ebx, ebx xor eax, eax mov dword ptr [ebp-10H], esi test esi, esi jle G_M000_IG23 G_M000_IG05: test eax, eax je SHORT G_M000_IG07 G_M000_IG06: mov edx, dword ptr [ebp+10H] test edx, edx je G_M000_IG25 mov edi, bword ptr [ebp+0CH] mov word ptr [edi], 46 mov edi, bword ptr [ebp+0CH] add edi, 2 dec edx mov bword ptr [ebp+0CH], edi mov dword ptr [ebp+10H], edx inc ebx G_M000_IG07: mov dword ptr [ebp-14H], eax cmp eax, 2 ja SHORT G_M000_IG11 lea edx, [@RWD00] mov eax, dword ptr [ebp-14H] mov edx, dword ptr [edx+4*eax] lea edi, G_M000_IG02 add edx, edi jmp edx G_M000_IG08: mov edx, dword ptr [ecx+04H] mov dword ptr [ebp-14H], eax mov gword ptr [ebp-34H], ecx jmp SHORT G_M000_IG12 align [1 bytes for IG14] G_M000_IG09: mov edx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], eax mov gword ptr [ebp-34H], ecx jmp SHORT G_M000_IG12 G_M000_IG10: mov edx, dword ptr [ecx+0CH] mov dword ptr [ebp-14H], eax mov gword ptr [ebp-34H], ecx jmp SHORT G_M000_IG12 G_M000_IG11: mov gword ptr [ebp-34H], ecx mov edx, dword ptr [ecx+10H] G_M000_IG12: mov dword ptr [ebp-1CH], edx mov edi, bword ptr [ebp+0CH] mov bword ptr [ebp-3CH], edi mov edx, dword ptr [ebp+10H] mov dword ptr [ebp-30H], edx mov edi, edx mov dword ptr [ebp-20H], edi mov edi, bword ptr [ebp-3CH] mov bword ptr [ebp-40H], edi mov edi, dword ptr [ebp-20H] mov dword ptr [ebp-2CH], edi mov edi, bword ptr [ebp-40H] mov bword ptr [ebp-38H], edi mov edi, dword ptr [ebp-2CH] mov dword ptr [ebp-28H], edi mov edi, dword ptr [ebp-1CH] mov esi, bword ptr [ebp-38H] mov bword ptr [ebp-44H], esi mov esi, edi or esi, 1 lzcnt esi, esi xor esi, 31 lea esi, [8*esi+D1FFAB1EH] mov ecx, dword ptr [esi] mov esi, dword ptr [esi+04H] add ecx, edi adc esi, 0 cmp esi, dword ptr [ebp-28H] jg SHORT G_M000_IG21 G_M000_IG13: mov dword ptr [ebp-18H], esi mov ecx, bword ptr [ebp-44H] mov bword ptr [ebp-24H], ecx lea ecx, [ecx+2*esi] cmp edi, 10 jb SHORT G_M000_IG19 cmp edi, 100 jb SHORT G_M000_IG18 G_M000_IG14: add ecx, -4 mov esi, 0xD1FFAB1E mov eax, edi mul edx:eax, esi shr edx, 5 imul eax, edx, 100 sub edi, eax mov eax, gword ptr [D1FFAB1EH] cmp byte ptr [eax], al lea eax, bword ptr [eax+4*edi+08H] mov eax, dword ptr [eax] mov dword ptr [ecx], eax cmp edx, 100 jae SHORT G_M000_IG17 G_M000_IG15: cmp edx, 10 jb SHORT G_M000_IG16 add ecx, -4 mov eax, gword ptr [D1FFAB1EH] cmp byte ptr [eax], al lea edx, bword ptr [eax+4*edx+08H] mov eax, dword ptr [edx] mov dword ptr [ecx], eax jmp SHORT G_M000_IG20 G_M000_IG16: mov edi, edx jmp SHORT G_M000_IG19 G_M000_IG17: mov edi, edx jmp SHORT G_M000_IG14 G_M000_IG18: mov edx, edi jmp SHORT G_M000_IG15 G_M000_IG19: lea esi, [edi+30H] mov word ptr [ecx-02H], si G_M000_IG20: xor ecx, ecx mov bword ptr [ebp-24H], ecx mov ecx, 1 jmp SHORT G_M000_IG22 G_M000_IG21: xor ecx, ecx mov dword ptr [ebp-18H], ecx G_M000_IG22: xor esi, esi mov bword ptr [ebp-24H], esi test cl, cl je SHORT G_M000_IG27 add ebx, dword ptr [ebp-18H] mov ecx, dword ptr [ebp-18H] mov edx, dword ptr [ebp-30H] cmp ecx, edx ja G_M000_IG33 mov esi, bword ptr [ebp+0CH] lea esi, bword ptr [esi+2*ecx] sub edx, ecx mov bword ptr [ebp+0CH], esi mov dword ptr [ebp+10H], edx mov eax, dword ptr [ebp-14H] inc eax mov esi, dword ptr [ebp-10H] cmp eax, esi mov dword ptr [ebp-10H], esi mov ecx, gword ptr [ebp-34H] jl G_M000_IG05 G_M000_IG23: mov edi, bword ptr [ebp+08H] mov dword ptr [edi], ebx mov eax, 1 G_M000_IG24: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG25: xor eax, eax mov edi, bword ptr [ebp+08H] mov dword ptr [edi], eax G_M000_IG26: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG27: xor eax, eax mov edi, bword ptr [ebp+08H] mov dword ptr [edi], eax G_M000_IG28: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG29: call CORINFO_HELP_OVERFLOW G_M000_IG30: mov ecx, 0x14444 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.Version:g__ThrowArgumentException|35_0[ushort](System.String)] int3 G_M000_IG31: mov ecx, 0x14448 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.Version:g__ThrowArgumentException|35_0[ushort](System.String)] int3 G_M000_IG32: mov ecx, 0x1444C mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.Version:g__ThrowArgumentException|35_0[ushort](System.String)] int3 G_M000_IG33: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 RWD00 dd G_M000_IG08 - G_M000_IG02 dd G_M000_IG09 - G_M000_IG02 dd G_M000_IG10 - G_M000_IG02 ; Total bytes of code 588 123: JIT compiled System.Version:TryFormatCore[ushort](System.Span`1[ushort],int,byref) [Tier-0 switched to FullOpts, IL size=331, code size=588] ; Assembly listing for method System.Diagnostics.FileVersionInfo:get_FileVersion():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+10H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 124: JIT compiled System.Diagnostics.FileVersionInfo:get_FileVersion() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_RuntimeVersion(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+14H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 125: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_RuntimeVersion(System.String) [Tier0, IL size=8, code size=30] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:GetConfiguration():System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: call [System.Reflection.Assembly:GetEntryAssembly():System.Reflection.Assembly] mov ecx, eax call [BenchmarkDotNet.Extensions.AssemblyExtensions:IsDebug(System.Reflection.Assembly):System.Nullable`1[bool]] mov word ptr [ebp-04H], ax lea ecx, [ebp-04H] call [System.Nullable`1[bool]:get_HasValue():bool:this] test eax, eax jne SHORT G_M000_IG04 mov eax, 0xD1FFAB1E G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: lea ecx, [ebp-04H] call [System.Nullable`1[bool]:get_Value():bool:this] test eax, eax jne SHORT G_M000_IG06 mov eax, 0xD1FFAB1E G_M000_IG05: mov esp, ebp pop ebp ret G_M000_IG06: mov eax, 0xD1FFAB1E G_M000_IG07: mov esp, ebp pop ebp ret ; Total bytes of code 80 126: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:GetConfiguration() [Tier0, IL size=47, code size=80] ; Assembly listing for method BenchmarkDotNet.Extensions.AssemblyExtensions:IsDebug(System.Reflection.Assembly):System.Nullable`1[bool] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Extensions.AssemblyExtensions:GetDebuggableAttribute(System.Reflection.Assembly):System.Diagnostics.DebuggableAttribute] mov ecx, eax call [BenchmarkDotNet.Extensions.AssemblyExtensions:IsJitTrackingEnabled(System.Diagnostics.DebuggableAttribute):System.Nullable`1[bool]] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 127: JIT compiled BenchmarkDotNet.Extensions.AssemblyExtensions:IsDebug(System.Reflection.Assembly) [Tier0, IL size=12, code size=28] ; Assembly listing for method BenchmarkDotNet.Extensions.AssemblyExtensions:GetDebuggableAttribute(System.Reflection.Assembly):System.Diagnostics.DebuggableAttribute ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: cmp gword ptr [ebp-04H], 0 jne SHORT G_M000_IG04 xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [System.Reflection.CustomAttributeExtensions:GetCustomAttributes(System.Reflection.Assembly):System.Collections.Generic.IEnumerable`1[System.Attribute]] mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call [System.Linq.Enumerable:OfType[System.__Canon](System.Collections.IEnumerable):System.Collections.Generic.IEnumerable`1[System.__Canon]] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call [System.Linq.Enumerable:SingleOrDefault[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 76 128: JIT compiled BenchmarkDotNet.Extensions.AssemblyExtensions:GetDebuggableAttribute(System.Reflection.Assembly) [Tier0, IL size=22, code size=76] ; Assembly listing for method System.Linq.Enumerable:OfType[System.__Canon](System.Collections.IEnumerable):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG06: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [System.Linq.Enumerable:OfTypeIterator[System.__Canon](System.Collections.IEnumerable):System.Collections.Generic.IEnumerable`1[System.__Canon]] G_M000_IG07: mov esp, ebp pop ebp ret ; Total bytes of code 90 129: JIT compiled System.Linq.Enumerable:OfType[System.__Canon](System.Collections.IEnumerable) [Tier0, IL size=17, code size=90] ; Assembly listing for method System.Linq.Enumerable:OfTypeIterator[System.__Canon](System.Collections.IEnumerable):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, dword ptr [ebp-14H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] mov edx, -2 call [System.Linq.Enumerable+d__65`1[System.__Canon]:.ctor(int):this] mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-10H] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 108 130: JIT compiled System.Linq.Enumerable:OfTypeIterator[System.__Canon](System.Collections.IEnumerable) [Tier0, IL size=15, code size=108] ; Assembly listing for method System.Linq.Enumerable+d__65`1[System.__Canon]:.ctor(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov dword ptr [eax+14H], edx call System.Environment:get_CurrentManagedThreadId():int mov edx, gword ptr [ebp-04H] mov dword ptr [edx+18H], eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 45 131: JIT compiled System.Linq.Enumerable+d__65`1[System.__Canon]:.ctor(int) [Tier0, IL size=25, code size=45] ; Assembly listing for method System.Linq.Enumerable:SingleOrDefault[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov edx, dword ptr [ebp-0CH] mov edx, dword ptr [edx+0CH] mov edx, dword ptr [edx+08H] mov dword ptr [ebp-14H], edx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG05: push dword ptr [ebp-14H] lea edx, [ebp-10H] mov ecx, gword ptr [ebp-08H] call [System.Linq.Enumerable:TryGetSingle[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],byref):System.__Canon] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 76 132: JIT compiled System.Linq.Enumerable:SingleOrDefault[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]) [Tier0, IL size=9, code size=76] ; Assembly listing for method System.Linq.Enumerable:TryGetSingle[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],byref):System.__Canon ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; fully interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 92 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-34H], xmm4 xor eax, eax mov dword ptr [ebp-24H], eax mov dword ptr [ebp-20H], eax mov dword ptr [ebp-0CH], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-18H], ecx mov bword ptr [ebp-1CH], edx G_M000_IG02: cmp gword ptr [ebp-18H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-38H], ecx jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-38H], eax G_M000_IG06: mov ecx, dword ptr [ebp-38H] mov edx, gword ptr [ebp-18H] call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-20H], eax cmp gword ptr [ebp-20H], 0 je G_M000_IG18 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+14H], 0 je SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+14H] mov dword ptr [ebp-4CH], ecx jmp SHORT G_M000_IG09 G_M000_IG08: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-4CH], eax G_M000_IG09: mov ecx, dword ptr [ebp-4CH] mov dword ptr [ebp-50H], ecx mov ecx, gword ptr [ebp-20H] mov eax, dword ptr [ebp-50H] nop call [eax] mov dword ptr [ebp-24H], eax cmp dword ptr [ebp-24H], 0 je SHORT G_M000_IG10 cmp dword ptr [ebp-24H], 1 je SHORT G_M000_IG12 jmp G_M000_IG33 G_M000_IG10: mov eax, bword ptr [ebp-1CH] mov byte ptr [eax], 0 xor eax, eax mov gword ptr [ebp-28H], eax mov eax, gword ptr [ebp-28H] G_M000_IG11: mov esp, ebp pop ebp ret 4 G_M000_IG12: mov eax, bword ptr [ebp-1CH] mov byte ptr [eax], 1 mov eax, dword ptr [ebp+08H] mov eax, dword ptr [eax+0CH] mov dword ptr [ebp-5CH], eax mov ecx, dword ptr [ebp-5CH] cmp dword ptr [ecx+04H], 24 jle SHORT G_M000_IG15 G_M000_IG13: mov ecx, dword ptr [ebp-5CH] cmp dword ptr [ecx+18H], 0 je SHORT G_M000_IG15 G_M000_IG14: mov ecx, dword ptr [ebp-5CH] mov ecx, dword ptr [ecx+18H] mov dword ptr [ebp-54H], ecx jmp SHORT G_M000_IG16 G_M000_IG15: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-54H], eax G_M000_IG16: mov ecx, dword ptr [ebp-54H] mov dword ptr [ebp-58H], ecx mov ecx, gword ptr [ebp-20H] xor edx, edx mov eax, dword ptr [ebp-58H] nop call [eax] G_M000_IG17: mov esp, ebp pop ebp ret 4 G_M000_IG18: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG20 G_M000_IG19: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-3CH], ecx jmp SHORT G_M000_IG21 G_M000_IG20: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-3CH], eax G_M000_IG21: mov ecx, dword ptr [ebp-3CH] mov dword ptr [ebp-40H], ecx mov ecx, gword ptr [ebp-18H] mov eax, dword ptr [ebp-40H] nop call [eax] mov gword ptr [ebp-2CH], eax G_M000_IG22: mov ecx, gword ptr [ebp-2CH] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG23 mov ecx, bword ptr [ebp-1CH] mov byte ptr [ecx], 0 xor ecx, ecx mov gword ptr [ebp-28H], ecx mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG28 jmp G_M000_IG31 G_M000_IG23: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG25 G_M000_IG24: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-44H], ecx jmp SHORT G_M000_IG26 G_M000_IG25: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-44H], eax G_M000_IG26: mov ecx, dword ptr [ebp-44H] mov dword ptr [ebp-48H], ecx mov ecx, gword ptr [ebp-2CH] mov eax, dword ptr [ebp-48H] nop call [eax] mov gword ptr [ebp-30H], eax mov ecx, gword ptr [ebp-2CH] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG27 mov eax, bword ptr [ebp-1CH] mov byte ptr [eax], 1 mov eax, gword ptr [ebp-30H] mov gword ptr [ebp-28H], eax mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG29 jmp SHORT G_M000_IG31 G_M000_IG27: mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG30 jmp SHORT G_M000_IG31 G_M000_IG28: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG35 G_M000_IG29: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG35 G_M000_IG30: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG33 G_M000_IG31: cmp gword ptr [ebp-2CH], 0 je SHORT G_M000_IG32 mov ecx, gword ptr [ebp-2CH] call [System.IDisposable:Dispose():this] G_M000_IG32: pop eax jmp eax G_M000_IG33: mov eax, bword ptr [ebp-1CH] mov byte ptr [eax], 0 call [System.Linq.ThrowHelper:ThrowMoreThanOneElementException()] xor eax, eax mov gword ptr [ebp-34H], eax mov eax, gword ptr [ebp-34H] G_M000_IG34: mov esp, ebp pop ebp ret 4 G_M000_IG35: mov eax, gword ptr [ebp-28H] G_M000_IG36: mov esp, ebp pop ebp ret 4 ; Total bytes of code 625 133: JIT compiled System.Linq.Enumerable:TryGetSingle[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],byref) [Tier0, IL size=147, code size=625] ; Assembly listing for method System.Linq.Enumerable+d__65`1[System.__Canon]:System.Collections.Generic.IEnumerable.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] cmp dword ptr [eax+14H], -2 jne SHORT G_M000_IG03 mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+18H] mov dword ptr [ebp-10H], eax call System.Environment:get_CurrentManagedThreadId():int cmp eax, dword ptr [ebp-10H] jne SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] xor eax, eax mov dword ptr [ecx+14H], eax mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-08H], ecx jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] xor edx, edx call [System.Linq.Enumerable+d__65`1[System.__Canon]:.ctor(int):this] mov edx, gword ptr [ebp-0CH] mov gword ptr [ebp-08H], edx G_M000_IG04: mov edx, gword ptr [ebp-04H] mov eax, gword ptr [edx+0CH] mov edx, gword ptr [ebp-08H] lea edx, bword ptr [edx+08H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-08H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 115 134: JIT compiled System.Linq.Enumerable+d__65`1[System.__Canon]:System.Collections.Generic.IEnumerable.GetEnumerator() [Tier0, IL size=55, code size=115] ; Assembly listing for method System.Linq.Enumerable+d__65`1[System.__Canon]:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-1CH], ecx G_M000_IG02: mov ecx, gword ptr [ebp-1CH] mov ecx, dword ptr [ecx+14H] test ecx, ecx je SHORT G_M000_IG04 G_M000_IG03: cmp ecx, 1 je G_M000_IG07 xor eax, eax jmp G_M000_IG12 G_M000_IG04: mov ecx, gword ptr [ebp-1CH] mov dword ptr [ecx+14H], -1 mov ecx, gword ptr [ebp-1CH] mov ecx, gword ptr [ecx+08H] call [System.Collections.IEnumerable:GetEnumerator():System.Collections.IEnumerator:this] mov edx, gword ptr [ebp-1CH] lea edx, bword ptr [edx+10H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG07 G_M000_IG05: mov ecx, gword ptr [ebp-1CH] mov ecx, gword ptr [ecx+10H] call [System.Collections.IEnumerator:get_Current():System.Object:this] mov esi, eax mov ecx, gword ptr [ebp-1CH] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx] mov edx, esi call [CORINFO_HELP_ISINSTANCEOFANY] test eax, eax je SHORT G_M000_IG08 G_M000_IG06: mov ecx, gword ptr [ebp-1CH] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx] mov edx, esi call [CORINFO_HELP_CHKCASTANY] mov edx, gword ptr [ebp-1CH] lea edx, bword ptr [edx+04H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, gword ptr [ebp-1CH] mov dword ptr [ecx+14H], 1 mov eax, 1 jmp SHORT G_M000_IG12 G_M000_IG07: mov ecx, gword ptr [ebp-1CH] mov dword ptr [ecx+14H], -3 G_M000_IG08: mov ecx, gword ptr [ebp-1CH] mov ecx, gword ptr [ecx+10H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG05 G_M000_IG09: mov ecx, gword ptr [ebp-1CH] call [System.Linq.Enumerable+d__65`1[System.__Canon]:<>m__Finally1():this] mov eax, gword ptr [ebp-1CH] xor ecx, ecx mov gword ptr [eax+10H], ecx G_M000_IG10: xor eax, eax jmp SHORT G_M000_IG12 G_M000_IG11: mov ecx, gword ptr [ebp-1CH] call [System.Linq.Enumerable+d__65`1[System.__Canon]:System.IDisposable.Dispose():this] pop eax jmp eax G_M000_IG12: lea esp, [ebp-04H] pop esi pop ebp ret ; Total bytes of code 227 135: JIT compiled System.Linq.Enumerable+d__65`1[System.__Canon]:MoveNext() [Tier-0 switched to FullOpts, IL size=144, code size=227] ; Assembly listing for method System.Linq.Enumerable+d__65`1[System.__Canon]:System.Collections.Generic.IEnumerator.get_Current():System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 136: JIT compiled System.Linq.Enumerable+d__65`1[System.__Canon]:System.Collections.Generic.IEnumerator.get_Current() [Tier0, IL size=7, code size=17] ; Assembly listing for method System.Linq.Enumerable+d__65`1[System.__Canon]:<>m__Finally1():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov edx, gword ptr [ebp-04H] mov dword ptr [edx+14H], -1 mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+10H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-08H], eax cmp gword ptr [ebp-08H], 0 je SHORT G_M000_IG03 mov ecx, gword ptr [ebp-08H] call [System.IDisposable:Dispose():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 63 137: JIT compiled System.Linq.Enumerable+d__65`1[System.__Canon]:<>m__Finally1() [Tier0, IL size=29, code size=63] ; Assembly listing for method System.Linq.Enumerable+d__65`1[System.__Canon]:System.IDisposable.Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; fully interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-18H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-18H] mov ecx, dword ptr [ecx+14H] mov dword ptr [ebp-1CH], ecx cmp dword ptr [ebp-1CH], -3 je SHORT G_M000_IG03 cmp dword ptr [ebp-1CH], 1 jne SHORT G_M000_IG06 G_M000_IG03: mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG04 jmp SHORT G_M000_IG05 G_M000_IG04: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, gword ptr [ebp-18H] call [System.Linq.Enumerable+d__65`1[System.__Canon]:<>m__Finally1():this] pop eax jmp eax G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 81 138: JIT compiled System.Linq.Enumerable+d__65`1[System.__Canon]:System.IDisposable.Dispose() [Tier0, IL size=27, code size=81] ; Assembly listing for method BenchmarkDotNet.Extensions.AssemblyExtensions:IsJitTrackingEnabled(System.Diagnostics.DebuggableAttribute):System.Nullable`1[bool] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: cmp gword ptr [ebp-04H], 0 jne SHORT G_M000_IG04 mov word ptr [ebp-08H], 0 mov eax, dword ptr [ebp-08H] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov word ptr [ebp-0CH], 0 mov ecx, gword ptr [ebp-04H] call [System.Diagnostics.DebuggableAttribute:get_IsJITTrackingEnabled():bool:this] mov dword ptr [ebp-10H], eax mov edx, dword ptr [ebp-10H] lea ecx, [ebp-0CH] call [System.Nullable`1[bool]:.ctor(bool):this] mov eax, dword ptr [ebp-0CH] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 70 139: JIT compiled BenchmarkDotNet.Extensions.AssemblyExtensions:IsJitTrackingEnabled(System.Diagnostics.DebuggableAttribute) [Tier0, IL size=25, code size=70] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_Configuration(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+10H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 140: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_Configuration(System.String) [Tier0, IL size=8, code size=30] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:HasRyuJit():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax G_M000_IG02: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsMono():bool] test eax, eax je SHORT G_M000_IG04 xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsNetCore():bool] test eax, eax je SHORT G_M000_IG06 mov eax, 1 G_M000_IG05: mov esp, ebp pop ebp ret G_M000_IG06: call [BenchmarkDotNet.Portability.RuntimeInformation:Is64BitPlatform():bool] test eax, eax je SHORT G_M000_IG08 call [BenchmarkDotNet.Portability.RuntimeInformation:GetConfiguration():System.String] mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call [System.String:op_Inequality(System.String,System.String):bool] test eax, eax je SHORT G_M000_IG08 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Portability.RuntimeInformation+JitHelper:.ctor():this] mov ecx, gword ptr [ebp-04H] mov edx, 1 call [BenchmarkDotNet.Portability.RuntimeInformation+JitHelper:IsMsX64(int):bool:this] test eax, eax sete al movzx eax, al G_M000_IG07: mov esp, ebp pop ebp ret G_M000_IG08: xor eax, eax G_M000_IG09: mov esp, ebp pop ebp ret ; Total bytes of code 140 141: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:HasRyuJit() [Tier0, IL size=59, code size=140] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_HasRyuJit(bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov byte ptr [eax+21H], dl G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 25 142: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_HasRyuJit(bool) [Tier0, IL size=8, code size=25] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:GetJitInfo():System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsNativeAOT():bool] test eax, eax je SHORT G_M000_IG03 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp SHORT G_M000_IG11 G_M000_IG03: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsNetNative():bool] test eax, eax jne SHORT G_M000_IG04 call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsAot():bool] test eax, eax je SHORT G_M000_IG05 G_M000_IG04: mov gword ptr [ebp-04H], 0xD1FFAB1E jmp SHORT G_M000_IG11 G_M000_IG05: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsMono():bool] test eax, eax jne SHORT G_M000_IG06 call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsWasm():bool] test eax, eax je SHORT G_M000_IG07 G_M000_IG06: mov gword ptr [ebp-04H], 0xD1FFAB1E jmp SHORT G_M000_IG11 G_M000_IG07: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsNetCore():bool] test eax, eax jne SHORT G_M000_IG08 call [BenchmarkDotNet.Portability.RuntimeInformation:HasRyuJit():bool] test eax, eax je SHORT G_M000_IG09 G_M000_IG08: mov gword ptr [ebp-04H], 0xD1FFAB1E jmp SHORT G_M000_IG11 G_M000_IG09: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsFullFramework():bool] test eax, eax je SHORT G_M000_IG10 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp SHORT G_M000_IG11 G_M000_IG10: mov gword ptr [ebp-04H], 0xD1FFAB1E G_M000_IG11: mov eax, gword ptr [ebp-04H] G_M000_IG12: mov esp, ebp pop ebp ret ; Total bytes of code 148 143: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:GetJitInfo() [Tier0, IL size=92, code size=148] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsNativeAOT():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax G_M000_IG02: call [System.Environment:get_Version():System.Version] mov ecx, eax cmp dword ptr [ecx], ecx call [System.Version:get_Major():int:this] cmp eax, 5 jl SHORT G_M000_IG04 mov gword ptr [ebp-04H], 0xD1FFAB1E mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+30H] call [eax+14H]System.Type:get_Assembly():System.Reflection.Assembly:this mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+2CH] call [eax+18H]System.Reflection.Assembly:get_Location():System.String:this mov ecx, eax call [System.String:IsNullOrEmpty(System.String):bool] test eax, eax je SHORT G_M000_IG04 call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsWasm():bool] test eax, eax sete al movzx eax, al G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: xor eax, eax G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 109 144: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsNativeAOT() [Tier0, IL size=51, code size=109] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsNetNative():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: call [System.Runtime.InteropServices.RuntimeInformation:get_FrameworkDescription():System.String] mov gword ptr [ebp-04H], eax push 5 mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [System.String:StartsWith(System.String,int):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 40 145: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsNetNative() [Tier0, IL size=17, code size=40] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsAot():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: call [System.Runtime.CompilerServices.RuntimeFeature:get_IsDynamicCodeCompiled():bool] test eax, eax sete al movzx eax, al G_M000_IG03: pop ebp ret ; Total bytes of code 19 146: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsAot() [Tier0, IL size=9, code size=19] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_JitInfo(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 147: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_JitInfo(System.String) [Tier0, IL size=8, code size=30] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:GetShortInfo():System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Avx2Supported():bool] test eax, eax je SHORT G_M000_IG03 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp G_M000_IG14 G_M000_IG03: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86AvxSupported():bool] test eax, eax je SHORT G_M000_IG04 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp G_M000_IG14 G_M000_IG04: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Sse42Supported():bool] test eax, eax je SHORT G_M000_IG05 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp G_M000_IG14 G_M000_IG05: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Sse41Supported():bool] test eax, eax je SHORT G_M000_IG06 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp G_M000_IG14 G_M000_IG06: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Ssse3Supported():bool] test eax, eax je SHORT G_M000_IG07 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp SHORT G_M000_IG14 G_M000_IG07: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Sse3Supported():bool] test eax, eax je SHORT G_M000_IG08 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp SHORT G_M000_IG14 G_M000_IG08: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Sse2Supported():bool] test eax, eax je SHORT G_M000_IG09 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp SHORT G_M000_IG14 G_M000_IG09: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86SseSupported():bool] test eax, eax je SHORT G_M000_IG10 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp SHORT G_M000_IG14 G_M000_IG10: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86BaseSupported():bool] test eax, eax je SHORT G_M000_IG11 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp SHORT G_M000_IG14 G_M000_IG11: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsArmAdvSimdSupported():bool] test eax, eax je SHORT G_M000_IG12 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp SHORT G_M000_IG14 G_M000_IG12: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsArmBaseSupported():bool] test eax, eax je SHORT G_M000_IG13 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp SHORT G_M000_IG14 G_M000_IG13: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:GetVectorSize():System.String] mov gword ptr [ebp-04H], eax G_M000_IG14: mov eax, gword ptr [ebp-04H] G_M000_IG15: mov esp, ebp pop ebp ret ; Total bytes of code 246 148: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:GetShortInfo() [Tier0, IL size=149, code size=246] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Avx2Supported():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, 1 G_M000_IG03: pop ebp ret ; Total bytes of code 10 149: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Avx2Supported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_HardwareIntrinsicsShort(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+1CH] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 150: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_HardwareIntrinsicsShort(System.String) [Tier0, IL size=8, code size=30] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_IsServerGC(bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov byte ptr [eax+22H], dl G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 25 151: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_IsServerGC(bool) [Tier0, IL size=8, code size=25] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_IsConcurrentGC(bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov byte ptr [eax+23H], dl G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 25 152: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_IsConcurrentGC(bool) [Tier0, IL size=8, code size=25] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_HasAttachedDebugger(bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov byte ptr [eax+20H], dl G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 25 153: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_HasAttachedDebugger(bool) [Tier0, IL size=8, code size=25] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 44 vzeroupper G_M000_IG02: call [BenchmarkDotNet.Engines.GcStats:CalculateAllocationQuantumSize():long] mov dword ptr [ebp-28H], eax mov dword ptr [ebp-24H], edx mov ecx, dword ptr [ebp-28H] mov dword ptr [ebp-2CH], 0xD1FFAB1E mov edx, dword ptr [ebp-2CH] mov dword ptr [edx], ecx mov ecx, dword ptr [ebp-24H] mov edx, dword ptr [ebp-2CH] mov dword ptr [edx+04H], ecx vxorps ymm0, ymm0, ymm0 vmovdqu ymmword ptr [ebp-20H], ymm0 push 0 push 0 push 0 push 0 push 0 push 0 lea ecx, [ebp-20H] xor edx, edx call [BenchmarkDotNet.Engines.GcStats:.ctor(int,int,int,long,long):this] mov eax, 0xD1FFAB1E vmovdqu ymm0, ymmword ptr [ebp-20H] vmovdqu ymmword ptr [eax], ymm0 G_M000_IG03: vzeroupper mov esp, ebp pop ebp ret ; Total bytes of code 98 154: JIT compiled BenchmarkDotNet.Engines.GcStats:.cctor() [Tier0, IL size=28, code size=98] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:CalculateAllocationQuantumSize():long ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 56 xor ecx, ecx mov dword ptr [ebp-14H], ecx mov dword ptr [ebp-10H], ecx G_M000_IG02: lea edi, [ebp-40H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-2CH], eax xor edi, edi G_M000_IG03: inc edi cmp edi, 10 jg G_M000_IG16 G_M000_IG04: push 2 push -1 mov dword ptr [ebp-38H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-34H], eax lea eax, G_M000_IG06 mov dword ptr [ebp-30H], eax mov byte ptr [esi+08H], 0 G_M000_IG05: call [System.GC:_Collect(int,int)] G_M000_IG06: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG07 call CORINFO_HELP_STOP_FOR_GC G_M000_IG07: xor eax, eax mov dword ptr [ebp-30H], eax mov dword ptr [ebp-38H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-34H], eax lea eax, G_M000_IG09 mov dword ptr [ebp-30H], eax mov byte ptr [esi+08H], 0 G_M000_IG08: call [System.GC:_WaitForPendingFinalizers()] G_M000_IG09: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG10 call CORINFO_HELP_STOP_FOR_GC G_M000_IG10: xor eax, eax mov dword ptr [ebp-30H], eax push 2 push -1 mov dword ptr [ebp-38H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-34H], eax lea eax, G_M000_IG12 mov dword ptr [ebp-30H], eax mov byte ptr [esi+08H], 0 G_M000_IG11: call [System.GC:_Collect(int,int)] G_M000_IG12: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG13 call CORINFO_HELP_STOP_FOR_GC G_M000_IG13: xor ecx, ecx mov dword ptr [ebp-30H], ecx G_M000_IG14: call [System.GC:GetTotalMemory(bool):long] mov ebx, eax mov dword ptr [ebp-18H], edx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-24H], eax xor ecx, ecx call [System.GC:GetTotalMemory(bool):long] sub eax, ebx sbb edx, dword ptr [ebp-18H] mov ebx, eax cmp ebx, 1 mov eax, edx sbb eax, 0 jl G_M000_IG03 G_M000_IG15: jmp SHORT G_M000_IG17 G_M000_IG16: xor edx, edx mov ebx, 0x2000 xor edi, edi mov edx, edi G_M000_IG17: mov eax, bword ptr [ebp-3CH] mov dword ptr [esi+0CH], eax mov eax, ebx G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 294 155: JIT compiled BenchmarkDotNet.Engines.GcStats:CalculateAllocationQuantumSize() [Tier-0 switched to FullOpts, IL size=68, code size=294] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:.ctor(int,int,int,long,long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov dword ptr [eax], edx mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp+1CH] mov dword ptr [eax+04H], edx mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp+18H] mov dword ptr [eax+08H], edx mov eax, bword ptr [ebp-04H] add eax, 16 mov bword ptr [ebp-0CH], eax mov eax, bword ptr [ebp-0CH] mov edx, dword ptr [ebp+10H] mov dword ptr [eax], edx mov eax, dword ptr [ebp+14H] mov edx, bword ptr [ebp-0CH] mov dword ptr [edx+04H], eax mov eax, bword ptr [ebp-04H] add eax, 24 mov bword ptr [ebp-10H], eax mov eax, bword ptr [ebp-10H] mov edx, dword ptr [ebp+08H] mov dword ptr [eax], edx mov eax, dword ptr [ebp+0CH] mov edx, bword ptr [ebp-10H] mov dword ptr [edx+04H], eax G_M000_IG03: mov esp, ebp pop ebp ret 24 ; Total bytes of code 104 156: JIT compiled BenchmarkDotNet.Engines.GcStats:.ctor(int,int,int,long,long) [Tier0, IL size=38, code size=104] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_GCAllocationQuantum(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] add eax, 4 mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov edx, dword ptr [ebp+08H] mov dword ptr [eax], edx mov eax, dword ptr [ebp+0CH] mov edx, bword ptr [ebp-08H] mov dword ptr [edx+04H], eax G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 46 157: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_GCAllocationQuantum(long) [Tier0, IL size=8, code size=46] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsRunningInContainer():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call [System.Environment:GetEnvironmentVariable(System.String):System.String] mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call [System.String:Equals(System.String,System.String):bool] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 41 158: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsRunningInContainer() [Tier0, IL size=21, code size=41] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_InDocker(bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov byte ptr [eax+24H], dl G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 25 159: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_InDocker(bool) [Tier0, IL size=8, code size=25] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:ToFormattedString():System.Collections.Generic.IEnumerable`1[System.String]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov edx, -2 call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__49:.ctor(int):this] mov edx, gword ptr [ebp-08H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp-04H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 62 160: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:ToFormattedString() [Tier0, IL size=15, code size=62] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__49:.ctor(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov dword ptr [eax+0CH], edx call System.Environment:get_CurrentManagedThreadId():int mov edx, gword ptr [ebp-04H] mov dword ptr [edx+10H], eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 45 161: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__49:.ctor(int) [Tier0, IL size=25, code size=45] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__49:System.Collections.Generic.IEnumerable.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.String]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] cmp dword ptr [eax+0CH], -2 jne SHORT G_M000_IG03 mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+10H] mov dword ptr [ebp-10H], eax call System.Environment:get_CurrentManagedThreadId():int cmp eax, dword ptr [ebp-10H] jne SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] xor eax, eax mov dword ptr [ecx+0CH], eax mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-08H], ecx jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] xor edx, edx call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__49:.ctor(int):this] mov edx, gword ptr [ebp-0CH] mov gword ptr [ebp-08H], edx mov edx, gword ptr [ebp-04H] mov eax, gword ptr [edx+08H] mov edx, gword ptr [ebp-08H] lea edx, bword ptr [edx+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG04: mov eax, gword ptr [ebp-08H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 115 162: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__49:System.Collections.Generic.IEnumerable.GetEnumerator() [Tier0, IL size=55, code size=115] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__49:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-18H], xmm4 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+0CH] mov dword ptr [ebp-08H], eax mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+08H] mov gword ptr [ebp-0CH], eax cmp dword ptr [ebp-08H], 4 ja SHORT G_M000_IG03 mov ecx, dword ptr [ebp-08H] lea eax, [@RWD00] mov eax, dword ptr [eax+4*ecx] lea edx, G_M000_IG02 add eax, edx jmp eax G_M000_IG03: jmp G_M000_IG11 G_M000_IG04: mov ecx, gword ptr [ebp-04H] mov dword ptr [ecx+0CH], -1 mov ecx, gword ptr [ebp-04H] mov gword ptr [ecx+04H], 0xD1FFAB1E mov ecx, gword ptr [ebp-04H] mov dword ptr [ecx+0CH], 1 jmp G_M000_IG08 G_M000_IG05: mov ecx, gword ptr [ebp-04H] mov dword ptr [ecx+0CH], -1 mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetRuntimeInfo():System.String:this] mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, 0xD1FFAB1E call [System.String:Concat(System.String,System.String):System.String] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, gword ptr [ebp-04H] mov dword ptr [ecx+0CH], 2 jmp G_M000_IG08 G_M000_IG06: mov ecx, gword ptr [ebp-04H] mov dword ptr [ecx+0CH], -1 mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetGcConcurrentFlag():System.String:this] mov gword ptr [ebp-14H], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetGcServerFlag():System.String:this] push eax mov edx, gword ptr [ebp-14H] mov ecx, 0xD1FFAB1E call [System.String:Concat(System.String,System.String,System.String,System.String):System.String] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov dword ptr [eax+0CH], 3 jmp SHORT G_M000_IG08 G_M000_IG07: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+0CH], -1 call [BenchmarkDotNet.Portability.RuntimeInformation:GetCurrentPlatform():int] mov ecx, eax call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:GetFullInfo(int):System.String] mov gword ptr [ebp-10H], eax push 0xD1FFAB1E call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:GetVectorSize():System.String] push eax mov edx, gword ptr [ebp-10H] mov ecx, 0xD1FFAB1E call [System.String:Concat(System.String,System.String,System.String,System.String):System.String] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov dword ptr [eax+0CH], 4 G_M000_IG08: mov eax, 1 G_M000_IG09: mov esp, ebp pop ebp ret G_M000_IG10: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+0CH], -1 G_M000_IG11: xor eax, eax G_M000_IG12: mov esp, ebp pop ebp ret RWD00 dd G_M000_IG04 - G_M000_IG02 dd G_M000_IG05 - G_M000_IG02 dd G_M000_IG06 - G_M000_IG02 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG10 - G_M000_IG02 ; Total bytes of code 344 163: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__49:MoveNext() [Tier0, IL size=217, code size=344] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__49:System.Collections.Generic.IEnumerator.get_Current():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 164: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__49:System.Collections.Generic.IEnumerator.get_Current() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetRuntimeInfo():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 72 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-48H], xmm4 vmovdqu xmmword ptr [ebp-38H], xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 vmovdqu xmmword ptr [ebp-18H], xmm4 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 4 call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [ebp-24H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_JitInfo():System.String:this] push eax mov ecx, gword ptr [ebp-24H] xor edx, edx call CORINFO_HELP_ARRADDR_ST mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_HardwareIntrinsicsShort():System.String:this] push eax mov ecx, gword ptr [ebp-24H] mov edx, 1 call CORINFO_HELP_ARRADDR_ST mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetConfigurationFlag():System.String:this] push eax mov ecx, gword ptr [ebp-24H] mov edx, 2 call CORINFO_HELP_ARRADDR_ST mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetDebuggerFlag():System.String:this] push eax mov ecx, gword ptr [ebp-24H] mov edx, 3 call CORINFO_HELP_ARRADDR_ST mov ecx, 0xD1FFAB1E mov edx, 0x3F5 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-28H], ecx mov gword ptr [ebp-2CH], 0xD1FFAB1E mov ecx, gword ptr [ebp-24H] mov gword ptr [ebp-30H], ecx mov ecx, gword ptr [ebp-28H] mov gword ptr [ebp-34H], ecx cmp gword ptr [ebp-28H], 0 jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-38H], eax mov ecx, 0xD1FFAB1E mov edx, 0x3F5 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-3CH], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-3CH] mov ecx, gword ptr [ebp-38H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x3F5 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-38H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-38H] G_M000_IG03: mov gword ptr [ebp-34H], ecx G_M000_IG04: push 0xD1FFAB1E mov ecx, gword ptr [ebp-30H] mov edx, gword ptr [ebp-34H] call [System.Linq.Enumerable:Where[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.Collections.Generic.IEnumerable`1[System.__Canon]] mov gword ptr [ebp-40H], eax mov edx, gword ptr [ebp-40H] mov ecx, gword ptr [ebp-2CH] call [System.String:Join(System.String,System.Collections.Generic.IEnumerable`1[System.String]):System.String] mov gword ptr [ebp-08H], eax push 3 lea ecx, [ebp-20H] mov edx, 3 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_RuntimeVersion():System.String:this] mov gword ptr [ebp-44H], eax mov edx, gword ptr [ebp-44H] lea ecx, [ebp-20H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this] lea ecx, [ebp-20H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_Architecture():System.String:this] mov gword ptr [ebp-48H], eax mov edx, gword ptr [ebp-48H] lea ecx, [ebp-20H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this] lea ecx, [ebp-20H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-20H] mov edx, gword ptr [ebp-08H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this] lea ecx, [ebp-20H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 434 165: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetRuntimeInfo() [Tier0, IL size=164, code size=434] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_JitInfo():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 166: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_JitInfo() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_HardwareIntrinsicsShort():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+1CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 167: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_HardwareIntrinsicsShort() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetConfigurationFlag():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_Configuration():System.String:this] mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call [System.String:op_Equality(System.String,System.String):bool] test eax, eax jne SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_Configuration():System.String:this] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call [System.String:op_Equality(System.String,System.String):bool] test eax, eax jne SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_Configuration():System.String:this] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov eax, 0xD1FFAB1E G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 99 168: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetConfigurationFlag() [Tier0, IL size=49, code size=99] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_Configuration():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+10H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 169: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_Configuration() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetDebuggerFlag():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_HasAttachedDebugger():bool:this] test eax, eax jne SHORT G_M000_IG04 mov eax, 0xD1FFAB1E G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov eax, 0xD1FFAB1E G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 38 170: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetDebuggerFlag() [Tier0, IL size=20, code size=38] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_HasAttachedDebugger():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+20H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 18 171: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_HasAttachedDebugger() [Tier0, IL size=7, code size=18] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 172: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 173: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:Where[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 84 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-48H], xmm4 vmovdqu xmmword ptr [ebp-38H], xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: cmp gword ptr [ebp-0CH], 0 jne SHORT G_M000_IG04 mov ecx, 12 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-20H], ecx jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-20H], eax G_M000_IG07: mov ecx, dword ptr [ebp-20H] mov edx, gword ptr [ebp-08H] call [CORINFO_HELP_ISINSTANCEOFCLASS] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-10H], 0 je SHORT G_M000_IG08 mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-0CH] mov eax, gword ptr [ebp-10H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+2CH] call [eax+08H]System.Linq.Enumerable+Iterator`1[System.__Canon]:Where(System.Func`2[System.__Canon,bool]):System.Collections.Generic.IEnumerable`1[System.__Canon]:this mov gword ptr [ebp-48H], eax jmp G_M000_IG33 G_M000_IG08: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG10 G_M000_IG09: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-24H], ecx jmp SHORT G_M000_IG11 G_M000_IG10: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-24H], eax G_M000_IG11: mov ecx, dword ptr [ebp-24H] mov edx, gword ptr [ebp-08H] call [CORINFO_HELP_ISINSTANCEOFARRAY] mov gword ptr [ebp-14H], eax cmp gword ptr [ebp-14H], 0 je G_M000_IG21 mov ecx, gword ptr [ebp-14H] cmp dword ptr [ecx+04H], 0 je SHORT G_M000_IG16 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-4CH], ecx mov ecx, dword ptr [ebp-4CH] cmp dword ptr [ecx+04H], 32 jle SHORT G_M000_IG14 G_M000_IG12: mov ecx, dword ptr [ebp-4CH] cmp dword ptr [ecx+20H], 0 je SHORT G_M000_IG14 G_M000_IG13: mov ecx, dword ptr [ebp-4CH] mov ecx, dword ptr [ecx+20H] mov dword ptr [ebp-44H], ecx jmp SHORT G_M000_IG15 G_M000_IG14: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-44H], eax G_M000_IG15: mov ecx, dword ptr [ebp-44H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-40H], eax push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-40H] mov edx, gword ptr [ebp-14H] call [System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:.ctor(System.__Canon[],System.Func`2[System.__Canon,bool]):this] mov ecx, gword ptr [ebp-40H] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ebp-1CH] mov gword ptr [ebp-48H], ecx jmp G_M000_IG33 G_M000_IG16: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-50H], ecx mov ecx, dword ptr [ebp-50H] cmp dword ptr [ecx+04H], 28 jle SHORT G_M000_IG19 G_M000_IG17: mov ecx, dword ptr [ebp-50H] cmp dword ptr [ecx+1CH], 0 je SHORT G_M000_IG19 G_M000_IG18: mov ecx, dword ptr [ebp-50H] mov ecx, dword ptr [ecx+1CH] mov dword ptr [ebp-3CH], ecx jmp SHORT G_M000_IG20 G_M000_IG19: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-3CH], eax G_M000_IG20: mov ecx, dword ptr [ebp-3CH] call [System.Linq.Enumerable:Empty[System.__Canon]():System.Collections.Generic.IEnumerable`1[System.__Canon]] mov gword ptr [ebp-48H], eax jmp G_M000_IG33 G_M000_IG21: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG23 G_M000_IG22: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-28H], ecx jmp SHORT G_M000_IG24 G_M000_IG23: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-28H], eax G_M000_IG24: mov ecx, dword ptr [ebp-28H] mov edx, gword ptr [ebp-08H] call [CORINFO_HELP_ISINSTANCEOFCLASS] mov gword ptr [ebp-18H], eax cmp gword ptr [ebp-18H], 0 je SHORT G_M000_IG29 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-54H], ecx mov ecx, dword ptr [ebp-54H] cmp dword ptr [ecx+04H], 24 jle SHORT G_M000_IG27 G_M000_IG25: mov ecx, dword ptr [ebp-54H] cmp dword ptr [ecx+18H], 0 je SHORT G_M000_IG27 G_M000_IG26: mov ecx, dword ptr [ebp-54H] mov ecx, dword ptr [ecx+18H] mov dword ptr [ebp-38H], ecx jmp SHORT G_M000_IG28 G_M000_IG27: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-38H], eax G_M000_IG28: mov ecx, dword ptr [ebp-38H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-34H], eax push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-34H] mov edx, gword ptr [ebp-18H] call [System.Linq.Enumerable+WhereListIterator`1[System.__Canon]:.ctor(System.Collections.Generic.List`1[System.__Canon],System.Func`2[System.__Canon,bool]):this] mov ecx, gword ptr [ebp-34H] mov gword ptr [ebp-48H], ecx jmp SHORT G_M000_IG33 G_M000_IG29: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+14H], 0 je SHORT G_M000_IG31 G_M000_IG30: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+14H] mov dword ptr [ebp-30H], ecx jmp SHORT G_M000_IG32 G_M000_IG31: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-30H], eax G_M000_IG32: mov ecx, dword ptr [ebp-30H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-2CH], eax push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-2CH] mov edx, gword ptr [ebp-08H] call [System.Linq.Enumerable+WhereEnumerableIterator`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):this] mov eax, gword ptr [ebp-2CH] mov gword ptr [ebp-48H], eax G_M000_IG33: mov eax, gword ptr [ebp-48H] G_M000_IG34: mov esp, ebp pop ebp ret 4 ; Total bytes of code 648 174: JIT compiled System.Linq.Enumerable:Where[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]) [Tier0, IL size=94, code size=648] ; Assembly listing for method System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:.ctor(System.__Canon[],System.Func`2[System.__Canon,bool]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable+Iterator`1[System.__Canon]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+10H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+14H] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 55 175: JIT compiled System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:.ctor(System.__Canon[],System.Func`2[System.__Canon,bool]) [Tier0, IL size=21, code size=55] ; Assembly listing for method System.Linq.Enumerable+Iterator`1[System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] cmp dword ptr [eax+0CH], 0 jne SHORT G_M000_IG03 mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+08H] mov dword ptr [ebp-10H], eax call System.Environment:get_CurrentManagedThreadId():int cmp eax, dword ptr [ebp-10H] je SHORT G_M000_IG04 G_M000_IG03: mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+14H]System.Linq.Enumerable+Iterator`1[System.__Canon]:Clone():System.Linq.Enumerable+Iterator`1[System.__Canon]:this mov gword ptr [ebp-0CH], eax jmp SHORT G_M000_IG05 G_M000_IG04: mov eax, gword ptr [ebp-04H] mov gword ptr [ebp-0CH], eax G_M000_IG05: mov eax, gword ptr [ebp-0CH] mov gword ptr [ebp-08H], eax mov eax, gword ptr [ebp-08H] mov dword ptr [eax+0CH], 1 mov eax, gword ptr [ebp-08H] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 93 176: JIT compiled System.Linq.Enumerable+Iterator`1[System.__Canon]:GetEnumerator() [Tier0, IL size=40, code size=93] ; Assembly listing for method System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 16 mov esi, ecx G_M000_IG02: mov edi, dword ptr [esi+0CH] dec edi mov ebx, gword ptr [esi+10H] mov gword ptr [ebp-18H], ebx mov eax, dword ptr [ebx+04H] mov dword ptr [ebp-14H], eax cmp eax, edi jbe SHORT G_M000_IG04 G_M000_IG03: cmp edi, eax jae SHORT G_M000_IG09 mov edi, gword ptr [ebx+4*edi+08H] mov ecx, dword ptr [esi+0CH] lea edx, [ecx+01H] mov dword ptr [esi+0CH], edx mov dword ptr [ebp-10H], ecx mov ecx, gword ptr [esi+14H] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ecx+04H] mov edx, edi mov ebx, gword ptr [ebp-1CH] call [ebx+0CH]System.Func`2[System.__Canon,bool]:Invoke(System.__Canon):bool:this test eax, eax jne SHORT G_M000_IG07 mov edi, dword ptr [ebp-14H] mov ebx, dword ptr [ebp-10H] cmp edi, ebx mov eax, edi ja SHORT G_M000_IG06 G_M000_IG04: xor eax, eax mov gword ptr [esi+04H], eax mov dword ptr [esi+0CH], -1 G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG06: mov edi, ebx mov ebx, gword ptr [ebp-18H] jmp SHORT G_M000_IG03 G_M000_IG07: lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EDI mov eax, 1 G_M000_IG08: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG09: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 138 177: JIT compiled System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:MoveNext() [Tier-0 switched to FullOpts, IL size=81, code size=138] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+<>c:b__54_0(System.String):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call [System.String:op_Inequality(System.String,System.String):bool] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 178: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+<>c:b__54_0(System.String) [Tier0, IL size=12, code size=30] ; Assembly listing for method System.Linq.Enumerable+Iterator`1[System.__Canon]:get_Current():System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 179: JIT compiled System.Linq.Enumerable+Iterator`1[System.__Canon]:get_Current() [Tier0, IL size=7, code size=17] ; Assembly listing for method System.Linq.Enumerable+Iterator`1[System.__Canon]:Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] xor edx, edx mov gword ptr [eax+04H], edx mov eax, gword ptr [ebp-04H] mov dword ptr [eax+0CH], -1 G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 29 180: JIT compiled System.Linq.Enumerable+Iterator`1[System.__Canon]:Dispose() [Tier0, IL size=20, code size=29] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_RuntimeVersion():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+14H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 181: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_RuntimeVersion() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_Architecture():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 182: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_Architecture() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetGcConcurrentFlag():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_IsConcurrentGC():bool:this] test eax, eax jne SHORT G_M000_IG04 mov eax, 0xD1FFAB1E G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov eax, 0xD1FFAB1E G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 38 183: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetGcConcurrentFlag() [Tier0, IL size=20, code size=38] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_IsConcurrentGC():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+23H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 18 184: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_IsConcurrentGC() [Tier0, IL size=7, code size=18] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetGcServerFlag():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_IsServerGC():bool:this] test eax, eax jne SHORT G_M000_IG04 mov eax, 0xD1FFAB1E G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov eax, 0xD1FFAB1E G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 38 185: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetGcServerFlag() [Tier0, IL size=20, code size=38] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_IsServerGC():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+22H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 18 186: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_IsServerGC() [Tier0, IL size=7, code size=18] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:GetFullInfo(int):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, dword ptr [ebp-04H] call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:g__GetCurrentProcessInstructionSets|2_0(int):System.Collections.Generic.IEnumerable`1[System.String]] mov gword ptr [ebp-08H], eax mov edx, gword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call [System.String:Join(System.String,System.Collections.Generic.IEnumerable`1[System.String]):System.String] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 44 187: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:GetFullInfo(int) [Tier0, IL size=17, code size=44] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:g__GetCurrentProcessInstructionSets|2_0(int):System.Collections.Generic.IEnumerable`1[System.String] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov edx, -2 call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics+<g__GetCurrentProcessInstructionSets|2_0>d:.ctor(int):this] mov eax, gword ptr [ebp-08H] mov edx, dword ptr [ebp-04H] mov dword ptr [eax+14H], edx mov eax, gword ptr [ebp-08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 57 188: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:g__GetCurrentProcessInstructionSets|2_0(int) [Tier0, IL size=15, code size=57] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics+<g__GetCurrentProcessInstructionSets|2_0>d:.ctor(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov dword ptr [eax+08H], edx call System.Environment:get_CurrentManagedThreadId():int mov edx, gword ptr [ebp-04H] mov dword ptr [edx+0CH], eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 45 189: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics+<g__GetCurrentProcessInstructionSets|2_0>d:.ctor(int) [Tier0, IL size=25, code size=45] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics+<g__GetCurrentProcessInstructionSets|2_0>d:System.Collections.Generic.IEnumerable.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.String]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] cmp dword ptr [eax+08H], -2 jne SHORT G_M000_IG03 mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+0CH] mov dword ptr [ebp-10H], eax call System.Environment:get_CurrentManagedThreadId():int cmp eax, dword ptr [ebp-10H] jne SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] xor eax, eax mov dword ptr [ecx+08H], eax mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-08H], ecx jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] xor edx, edx call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics+<g__GetCurrentProcessInstructionSets|2_0>d:.ctor(int):this] mov eax, gword ptr [ebp-0CH] mov gword ptr [ebp-08H], eax G_M000_IG04: mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+14H] mov edx, gword ptr [ebp-08H] mov dword ptr [edx+10H], eax mov eax, gword ptr [ebp-08H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 110 190: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics+<g__GetCurrentProcessInstructionSets|2_0>d:System.Collections.Generic.IEnumerable.GetEnumerator() [Tier0, IL size=55, code size=110] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics+<g__GetCurrentProcessInstructionSets|2_0>d:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+08H] mov dword ptr [ebp-08H], eax cmp dword ptr [ebp-08H], 26 ja SHORT G_M000_IG03 mov eax, dword ptr [ebp-08H] lea edx, [@RWD00] mov edx, dword ptr [edx+4*eax] lea ecx, G_M000_IG02 add edx, ecx jmp edx G_M000_IG03: jmp G_M000_IG61 G_M000_IG04: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+10H] mov dword ptr [ebp-0CH], eax mov eax, dword ptr [ebp-0CH] dec eax cmp eax, 1 jbe SHORT G_M000_IG05 cmp dword ptr [ebp-0CH], 4 je G_M000_IG41 jmp G_M000_IG59 G_M000_IG05: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Avx2Supported():bool] test eax, eax je SHORT G_M000_IG07 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 1 jmp G_M000_IG56 G_M000_IG06: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 jmp G_M000_IG23 G_M000_IG07: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86AvxSupported():bool] test eax, eax je SHORT G_M000_IG09 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 2 jmp G_M000_IG56 G_M000_IG08: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 jmp G_M000_IG23 G_M000_IG09: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Sse42Supported():bool] test eax, eax je SHORT G_M000_IG11 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 3 jmp G_M000_IG56 G_M000_IG10: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 jmp G_M000_IG23 G_M000_IG11: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Sse41Supported():bool] test eax, eax je SHORT G_M000_IG13 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 4 jmp G_M000_IG56 G_M000_IG12: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 jmp G_M000_IG23 G_M000_IG13: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Ssse3Supported():bool] test eax, eax je SHORT G_M000_IG15 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 5 jmp G_M000_IG56 G_M000_IG14: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 jmp G_M000_IG23 G_M000_IG15: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Sse3Supported():bool] test eax, eax je SHORT G_M000_IG17 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 6 jmp G_M000_IG56 G_M000_IG16: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 jmp G_M000_IG23 G_M000_IG17: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Sse2Supported():bool] test eax, eax je SHORT G_M000_IG19 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 7 jmp G_M000_IG56 G_M000_IG18: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 jmp SHORT G_M000_IG23 G_M000_IG19: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86SseSupported():bool] test eax, eax je SHORT G_M000_IG21 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 8 jmp G_M000_IG56 G_M000_IG20: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 jmp SHORT G_M000_IG23 G_M000_IG21: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86BaseSupported():bool] test eax, eax je SHORT G_M000_IG23 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 9 jmp G_M000_IG56 G_M000_IG22: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG23: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86AesSupported():bool] test eax, eax je SHORT G_M000_IG25 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 10 jmp G_M000_IG56 G_M000_IG24: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG25: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Bmi1Supported():bool] test eax, eax je SHORT G_M000_IG27 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 11 jmp G_M000_IG56 G_M000_IG26: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG27: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Bmi2Supported():bool] test eax, eax je SHORT G_M000_IG29 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 12 jmp G_M000_IG56 G_M000_IG28: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG29: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86FmaSupported():bool] test eax, eax je SHORT G_M000_IG31 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 13 jmp G_M000_IG56 G_M000_IG30: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG31: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86LzcntSupported():bool] test eax, eax je SHORT G_M000_IG33 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 14 jmp G_M000_IG56 G_M000_IG32: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG33: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86PclmulqdqSupported():bool] test eax, eax je SHORT G_M000_IG35 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 15 jmp G_M000_IG56 G_M000_IG34: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG35: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86PopcntSupported():bool] test eax, eax je SHORT G_M000_IG37 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 16 jmp G_M000_IG56 G_M000_IG36: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG37: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86AvxVnniSupported():bool] test eax, eax je SHORT G_M000_IG39 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 17 jmp G_M000_IG56 G_M000_IG38: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG39: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86SerializeSupported():bool] test eax, eax je G_M000_IG60 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 18 jmp G_M000_IG56 G_M000_IG40: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 jmp G_M000_IG60 G_M000_IG41: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsArmAdvSimdSupported():bool] test eax, eax je SHORT G_M000_IG43 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 19 jmp G_M000_IG56 G_M000_IG42: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 jmp SHORT G_M000_IG45 G_M000_IG43: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsArmBaseSupported():bool] test eax, eax je SHORT G_M000_IG45 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 20 jmp G_M000_IG56 G_M000_IG44: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG45: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsArmAesSupported():bool] test eax, eax je SHORT G_M000_IG47 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 21 jmp G_M000_IG56 G_M000_IG46: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG47: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsArmCrc32Supported():bool] test eax, eax je SHORT G_M000_IG49 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 22 jmp G_M000_IG56 G_M000_IG48: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG49: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsArmDpSupported():bool] test eax, eax je SHORT G_M000_IG51 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 23 jmp SHORT G_M000_IG56 G_M000_IG50: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG51: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsArmRdmSupported():bool] test eax, eax je SHORT G_M000_IG53 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 24 jmp SHORT G_M000_IG56 G_M000_IG52: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG53: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsArmSha1Supported():bool] test eax, eax je SHORT G_M000_IG55 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 25 jmp SHORT G_M000_IG56 G_M000_IG54: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG55: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsArmSha256Supported():bool] test eax, eax je SHORT G_M000_IG60 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 26 G_M000_IG56: mov eax, 1 G_M000_IG57: mov esp, ebp pop ebp ret G_M000_IG58: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 jmp SHORT G_M000_IG60 G_M000_IG59: jmp SHORT G_M000_IG61 G_M000_IG60: G_M000_IG61: xor eax, eax G_M000_IG62: mov esp, ebp pop ebp ret RWD00 dd G_M000_IG04 - G_M000_IG02 dd G_M000_IG06 - G_M000_IG02 dd G_M000_IG08 - G_M000_IG02 dd G_M000_IG10 - G_M000_IG02 dd G_M000_IG12 - G_M000_IG02 dd G_M000_IG14 - G_M000_IG02 dd G_M000_IG16 - G_M000_IG02 dd G_M000_IG18 - G_M000_IG02 dd G_M000_IG20 - G_M000_IG02 dd G_M000_IG22 - G_M000_IG02 dd G_M000_IG24 - G_M000_IG02 dd G_M000_IG26 - G_M000_IG02 dd G_M000_IG28 - G_M000_IG02 dd G_M000_IG30 - G_M000_IG02 dd G_M000_IG32 - G_M000_IG02 dd G_M000_IG34 - G_M000_IG02 dd G_M000_IG36 - G_M000_IG02 dd G_M000_IG38 - G_M000_IG02 dd G_M000_IG40 - G_M000_IG02 dd G_M000_IG42 - G_M000_IG02 dd G_M000_IG44 - G_M000_IG02 dd G_M000_IG46 - G_M000_IG02 dd G_M000_IG48 - G_M000_IG02 dd G_M000_IG50 - G_M000_IG02 dd G_M000_IG52 - G_M000_IG02 dd G_M000_IG54 - G_M000_IG02 dd G_M000_IG58 - G_M000_IG02 ; Total bytes of code 1322 191: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics+<g__GetCurrentProcessInstructionSets|2_0>d:MoveNext() [Tier0, IL size=1104, code size=1322] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics+<g__GetCurrentProcessInstructionSets|2_0>d:System.Collections.Generic.IEnumerator.get_Current():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 192: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics+<g__GetCurrentProcessInstructionSets|2_0>d:System.Collections.Generic.IEnumerator.get_Current() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86AesSupported():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, 1 G_M000_IG03: pop ebp ret ; Total bytes of code 10 193: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86AesSupported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Bmi1Supported():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, 1 G_M000_IG03: pop ebp ret ; Total bytes of code 10 194: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Bmi1Supported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Bmi2Supported():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, 1 G_M000_IG03: pop ebp ret ; Total bytes of code 10 195: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Bmi2Supported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86FmaSupported():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, 1 G_M000_IG03: pop ebp ret ; Total bytes of code 10 196: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86FmaSupported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86LzcntSupported():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, 1 G_M000_IG03: pop ebp ret ; Total bytes of code 10 197: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86LzcntSupported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86PclmulqdqSupported():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, 1 G_M000_IG03: pop ebp ret ; Total bytes of code 10 198: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86PclmulqdqSupported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86PopcntSupported():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, 1 G_M000_IG03: pop ebp ret ; Total bytes of code 10 199: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86PopcntSupported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86AvxVnniSupported():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: xor eax, eax G_M000_IG03: pop ebp ret ; Total bytes of code 7 200: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86AvxVnniSupported() [Tier0, IL size=6, code size=7] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86SerializeSupported():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:GetIsSupported(System.String):bool] G_M000_IG03: pop ebp ret ; Total bytes of code 16 201: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86SerializeSupported() [Tier0, IL size=11, code size=16] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:GetIsSupported(System.String):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Type:GetType(System.String):System.Type] mov gword ptr [ebp-08H], eax cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG04 xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: push 24 mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [System.Type:GetProperty(System.String,int):System.Reflection.PropertyInfo:this] mov gword ptr [ebp-0CH], eax push 0 mov ecx, gword ptr [ebp-0CH] xor edx, edx mov eax, gword ptr [ebp-0CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+34H] call [eax+1CH]System.Reflection.PropertyInfo:GetValue(System.Object,System.Object[]):System.Object:this mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-10H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] movzx eax, byte ptr [eax] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 107 202: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:GetIsSupported(System.String) [Tier0, IL size=44, code size=107] ; Assembly listing for method System.Runtime.Intrinsics.X86.X86Serialize:get_IsSupported():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: xor eax, eax G_M000_IG03: pop ebp ret ; Total bytes of code 7 203: JIT compiled System.Runtime.Intrinsics.X86.X86Serialize:get_IsSupported() [Tier0, IL size=6, code size=7] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics+<g__GetCurrentProcessInstructionSets|2_0>d:System.IDisposable.Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov esp, ebp pop ebp ret ; Total bytes of code 11 204: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics+<g__GetCurrentProcessInstructionSets|2_0>d:System.IDisposable.Dispose() [Tier0, IL size=1, code size=11] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:GetVectorSize():System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-18H], xmm4 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-04H], eax G_M000_IG02: G_M000_IG03: push 1 lea ecx, [ebp-18H] mov edx, 11 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] lea ecx, [ebp-18H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-18H] mov edx, 8 shl edx, 5 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this] lea ecx, [ebp-18H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 83 205: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:GetVectorSize() [Tier0, IL size=57, code size=83] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__49:System.IDisposable.Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov esp, ebp pop ebp ret ; Total bytes of code 11 206: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__49:System.IDisposable.Dispose() [Tier0, IL size=1, code size=11] ; Assembly listing for method BenchmarkDotNet.Jobs.Job:.ctor(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-30H], xmm4 vmovdqu xmmword ptr [ebp-20H], xmm4 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.ctor(System.String):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, 0xD1FFAB1E mov edx, 292 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Jobs.EnvironmentMode:.ctor():this] push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,System.__Canon):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, 0xD1FFAB1E mov edx, 292 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-18H], ecx mov ecx, gword ptr [ebp-14H] call [BenchmarkDotNet.Jobs.RunMode:.ctor():this] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,System.__Canon):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-1CH], eax mov ecx, 0xD1FFAB1E mov edx, 292 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-20H], ecx mov ecx, gword ptr [ebp-1CH] call [BenchmarkDotNet.Jobs.InfrastructureMode:.ctor():this] push gword ptr [ebp-1CH] mov ecx, gword ptr [ebp-20H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,System.__Canon):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-24H], eax mov ecx, 0xD1FFAB1E mov edx, 292 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-28H], ecx mov ecx, gword ptr [ebp-24H] call [BenchmarkDotNet.Jobs.AccuracyMode:.ctor():this] G_M000_IG03: push gword ptr [ebp-24H] mov ecx, gword ptr [ebp-28H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,System.__Canon):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-2CH], eax mov ecx, 0xD1FFAB1E mov edx, 292 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-30H], ecx mov ecx, gword ptr [ebp-2CH] call [BenchmarkDotNet.Jobs.MetaMode:.ctor():this] push gword ptr [ebp-2CH] mov ecx, gword ptr [ebp-30H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,System.__Canon):this] G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 365 207: JIT compiled BenchmarkDotNet.Jobs.Job:.ctor(System.String) [Tier0, IL size=88, code size=365] ; Assembly listing for method BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.ctor(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:.ctor(System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 208: JIT compiled BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.ctor(System.String) [Tier0, IL size=8, code size=28] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:.ctor(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:.ctor(System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 209: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:.ctor(System.String) [Tier0, IL size=8, code size=28] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:.ctor(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:.ctor():this] mov ecx, gword ptr [ebp-08H] call [System.String:IsNullOrEmpty(System.String):bool] test eax, eax jne SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E mov edx, 567 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 84 210: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:.ctor(System.String) [Tier0, IL size=27, code size=84] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov ecx, gword ptr [ebp-04H] xor edx, edx call [BenchmarkDotNet.Characteristics.CharacteristicObject:set_Owner(BenchmarkDotNet.Characteristics.CharacteristicObject):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 74 211: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:.ctor() [Tier0, IL size=25, code size=74] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:set_Owner(BenchmarkDotNet.Characteristics.CharacteristicObject):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 212: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:set_Owner(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=8, code size=30] ; Assembly listing for method BenchmarkDotNet.Jobs.Job:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 44 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-2CH], xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, 0xD1FFAB1E mov edx, 287 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Jobs.Job:.ctor(System.String,BenchmarkDotNet.Characteristics.CharacteristicObject):this] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, 0xD1FFAB1E mov edx, 287 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Jobs.Job:.ctor(System.String,BenchmarkDotNet.Characteristics.CharacteristicObject):this] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E G_M000_IG03: call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, 0xD1FFAB1E mov edx, 287 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Jobs.Job:.ctor(System.String,BenchmarkDotNet.Characteristics.CharacteristicObject):this] mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, 0xD1FFAB1E mov edx, 287 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Jobs.Job:.ctor(System.String,BenchmarkDotNet.Characteristics.CharacteristicObject):this] mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, 0xD1FFAB1E mov edx, 300 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-14H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Jobs.Job:.ctor(System.String,BenchmarkDotNet.Characteristics.CharacteristicObject):this] mov ecx, gword ptr [ebp-14H] call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax mov ecx, 0xD1FFAB1E mov edx, 300 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-18H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Jobs.Job:.ctor(System.String,BenchmarkDotNet.Characteristics.CharacteristicObject):this] mov ecx, gword ptr [ebp-18H] call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E G_M000_IG04: call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-1CH], eax mov ecx, 0xD1FFAB1E mov edx, 300 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-1CH] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Jobs.Job:.ctor(System.String,BenchmarkDotNet.Characteristics.CharacteristicObject):this] mov ecx, gword ptr [ebp-1CH] call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-20H], eax mov ecx, 0xD1FFAB1E mov edx, 300 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-20H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Jobs.Job:.ctor(System.String,BenchmarkDotNet.Characteristics.CharacteristicObject):this] mov ecx, gword ptr [ebp-20H] call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-24H], eax mov ecx, 0xD1FFAB1E mov edx, 300 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-24H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Jobs.Job:.ctor(System.String,BenchmarkDotNet.Characteristics.CharacteristicObject):this] mov ecx, gword ptr [ebp-24H] call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-28H], eax mov ecx, 0xD1FFAB1E mov edx, 291 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-28H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Jobs.Job:.ctor(System.String,BenchmarkDotNet.Characteristics.CharacteristicObject):this] mov ecx, gword ptr [ebp-28H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST G_M000_IG05: mov gword ptr [ebp-2CH], eax mov ecx, 0xD1FFAB1E mov edx, 291 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-2CH] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Jobs.Job:.ctor(System.String,BenchmarkDotNet.Characteristics.CharacteristicObject):this] mov eax, gword ptr [ebp-2CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 890 213: JIT compiled BenchmarkDotNet.Jobs.Job:.cctor() [Tier0, IL size=341, code size=890] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 214: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-14H], eax xor ecx, ecx mov gword ptr [ebp-10H], ecx mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-1CH], eax G_M000_IG05: mov ecx, dword ptr [ebp-1CH] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax push gword ptr [ebp-14H] push 0 push gword ptr [ebp-10H] push 0 push 0 mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:.ctor(System.String,System.Type,System.Func`3[System.__Canon,System.__Canon,System.__Canon],System.__Canon,bool,bool):this] mov eax, gword ptr [ebp-18H] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 131 215: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,System.__Canon](System.String) [Tier0, IL size=29, code size=131] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:.ctor(System.String,System.Type,System.Func`3[System.__Canon,System.__Canon,System.__Canon],System.__Canon,bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE push eax push gword ptr [ebp+18H] push gword ptr [ebp+10H] mov edx, dword ptr [ebp+0CH] movzx edx, dl push edx mov edx, dword ptr [ebp+08H] movzx edx, dl push edx mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+1CH] mov eax, gword ptr [ebp+10H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 20 ; Total bytes of code 96 216: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:.ctor(System.String,System.Type,System.Func`3[System.__Canon,System.__Canon,System.__Canon],System.__Canon,bool,bool) [Tier0, IL size=45, code size=96] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-20H], xmm4 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov ecx, gword ptr [ebp-08H] call [System.String:IsNullOrEmpty(System.String):bool] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, 0x1471E mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-14H] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-14H] call CORINFO_HELP_THROW G_M000_IG04: cmp gword ptr [ebp+18H], 0 jne SHORT G_M000_IG06 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, 0x14724 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-1CH], eax mov edx, gword ptr [ebp-1CH] mov ecx, gword ptr [ebp-10H] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-10H] call CORINFO_HELP_THROW G_M000_IG06: cmp gword ptr [ebp+14H], 0 jne SHORT G_M000_IG08 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, 0x1474A mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-20H], eax mov edx, gword ptr [ebp-20H] mov ecx, gword ptr [ebp-0CH] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-0CH] call CORINFO_HELP_THROW G_M000_IG08: mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov ecx, gword ptr [ebp+18H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] mov ecx, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+10H] mov ecx, gword ptr [ebp+10H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-04H] mov eax, dword ptr [ebp+0CH] mov byte ptr [ecx+14H], al mov ecx, gword ptr [ebp-04H] mov eax, dword ptr [ebp+08H] mov byte ptr [ecx+15H], al G_M000_IG09: mov esp, ebp pop ebp ret 20 ; Total bytes of code 296 217: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool) [Tier0, IL size=111, code size=296] ; Assembly listing for method BenchmarkDotNet.Jobs.EnvironmentMode:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.Nullable`1[System.Guid]](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax push 1 push 1 mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Jobs.EnvironmentMode:.ctor(System.String,int,int):this] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E G_M000_IG03: call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax push 1 push 2 mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Jobs.EnvironmentMode:.ctor(System.String,int,int):this] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax push 2 push 2 mov ecx, gword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Jobs.EnvironmentMode:.ctor(System.String,int,int):this] mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push 2 push 1 mov ecx, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Jobs.EnvironmentMode:.ctor(System.String,int,int):this] mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 432 218: JIT compiled BenchmarkDotNet.Jobs.EnvironmentMode:.cctor() [Tier0, IL size=209, code size=432] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 219: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-14H], eax xor ecx, ecx mov dword ptr [ebp-10H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax push gword ptr [ebp-14H] push 0 push dword ptr [ebp-10H] push 0 push 0 mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool):this] mov eax, gword ptr [ebp-18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 91 220: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String) [Tier0, IL size=29, code size=91] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov gword ptr [ebp-10H], 0xD1FFAB1E mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+10H] mov dword ptr [ecx+04H], edx push gword ptr [ebp-10H] push gword ptr [ebp+18H] push gword ptr [ebp-0CH] mov ecx, dword ptr [ebp+0CH] movzx ecx, cl push ecx mov ecx, dword ptr [ebp+08H] movzx ecx, cl push ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+10H] mov dword ptr [eax+1CH], edx G_M000_IG03: mov esp, ebp pop ebp ret 20 ; Total bytes of code 113 221: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool) [Tier0, IL size=45, code size=113] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 222: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-14H], eax xor ecx, ecx mov dword ptr [ebp-10H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax push gword ptr [ebp-14H] push 0 push dword ptr [ebp-10H] push 0 push 0 mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool):this] mov eax, gword ptr [ebp-18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 91 223: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String) [Tier0, IL size=29, code size=91] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov gword ptr [ebp-10H], 0xD1FFAB1E mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+10H] mov dword ptr [ecx+04H], edx push gword ptr [ebp-10H] push gword ptr [ebp+18H] push gword ptr [ebp-0CH] mov ecx, dword ptr [ebp+0CH] movzx ecx, cl push ecx mov ecx, dword ptr [ebp+08H] movzx ecx, cl push ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+10H] mov dword ptr [eax+1CH], edx G_M000_IG03: mov esp, ebp pop ebp ret 20 ; Total bytes of code 113 224: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool) [Tier0, IL size=45, code size=113] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 225: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-14H], eax xor ecx, ecx mov dword ptr [ebp-10H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax push gword ptr [ebp-14H] push 0 push dword ptr [ebp-10H] push 0 push 0 mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool):this] mov eax, gword ptr [ebp-18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 91 226: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String) [Tier0, IL size=29, code size=91] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov gword ptr [ebp-10H], 0xD1FFAB1E mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+10H] mov dword ptr [ecx+04H], edx push gword ptr [ebp-10H] push gword ptr [ebp+18H] push gword ptr [ebp-0CH] mov ecx, dword ptr [ebp+0CH] movzx ecx, cl push ecx mov ecx, dword ptr [ebp+08H] movzx ecx, cl push ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+10H] mov dword ptr [eax+1CH], edx G_M000_IG03: mov esp, ebp pop ebp ret 20 ; Total bytes of code 113 227: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool) [Tier0, IL size=45, code size=113] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.Nullable`1[System.Guid]](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,System.Nullable`1[System.Guid]](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 228: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.Nullable`1[System.Guid]](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,System.Nullable`1[System.Guid]](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 40 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-24H], eax vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [ebp-20H], xmm0 vmovdqu xmmword ptr [ebp-1CH], xmm0 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-28H], eax push gword ptr [ebp-24H] push 0 sub esp, 20 vmovdqu xmm0, xmmword ptr [ebp-20H] vmovdqu xmmword ptr [esp], xmm0 mov ecx, dword ptr [ebp-10H] mov dword ptr [esp+10H], ecx push 0 push 0 mov ecx, gword ptr [ebp-28H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,System.Nullable`1[System.Guid],System.Nullable`1[System.Guid]],System.Nullable`1[System.Guid],bool,bool):this] mov eax, gword ptr [ebp-28H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 129 229: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,System.Nullable`1[System.Guid]](System.String) [Tier0, IL size=29, code size=129] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,System.Nullable`1[System.Guid],System.Nullable`1[System.Guid]],System.Nullable`1[System.Guid],bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 vzeroupper mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push 0xD1FFAB1E push gword ptr [ebp+28H] lea edx, [ebp+10H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_BOX_NULLABLE push eax mov edx, dword ptr [ebp+0CH] movzx edx, dl push edx mov edx, dword ptr [ebp+08H] movzx edx, dl push edx mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+24H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] vmovdqu xmm0, xmmword ptr [ebp+10H] vmovdqu xmmword ptr [eax+1CH], xmm0 mov edx, dword ptr [ebp+20H] mov dword ptr [eax+2CH], edx G_M000_IG03: mov esp, ebp pop ebp ret 36 ; Total bytes of code 102 230: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,System.Nullable`1[System.Guid],System.Nullable`1[System.Guid]],System.Nullable`1[System.Guid],bool,bool) [Tier0, IL size=45, code size=102] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 231: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[bool](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-14H], eax xor ecx, ecx mov dword ptr [ebp-10H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax push gword ptr [ebp-14H] push 0 push dword ptr [ebp-10H] push 0 push 0 mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic`1[bool]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,bool,bool],bool,bool,bool):this] mov eax, gword ptr [ebp-18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 91 232: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,bool](System.String) [Tier0, IL size=29, code size=91] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[bool]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,bool,bool],bool,bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov gword ptr [ebp-10H], 0xD1FFAB1E mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+10H] mov byte ptr [ecx+04H], dl push gword ptr [ebp-10H] push gword ptr [ebp+18H] push gword ptr [ebp-0CH] mov ecx, dword ptr [ebp+0CH] movzx ecx, cl push ecx mov ecx, dword ptr [ebp+08H] movzx ecx, cl push ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+10H] mov byte ptr [eax+16H], dl G_M000_IG03: mov esp, ebp pop ebp ret 20 ; Total bytes of code 113 233: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[bool]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,bool,bool],bool,bool,bool) [Tier0, IL size=45, code size=113] ; Assembly listing for method BenchmarkDotNet.Jobs.EnvironmentMode:.ctor(System.String,int,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Jobs.EnvironmentMode:.ctor(System.String):this] mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp+0CH] call [BenchmarkDotNet.Jobs.EnvironmentMode:set_Jit(int):this] mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp+08H] call [BenchmarkDotNet.Jobs.EnvironmentMode:set_Platform(int):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 54 234: JIT compiled BenchmarkDotNet.Jobs.EnvironmentMode:.ctor(System.String,int,int) [Tier0, IL size=22, code size=54] ; Assembly listing for method BenchmarkDotNet.Jobs.EnvironmentMode:.ctor(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.ctor(System.String):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, 0xD1FFAB1E mov edx, 287 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Jobs.GcMode:.ctor():this] push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 99 235: JIT compiled BenchmarkDotNet.Jobs.EnvironmentMode:.ctor(System.String) [Tier0, IL size=24, code size=99] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax push 0xD1FFAB1E push 0xD1FFAB1E mov ecx, gword ptr [ebp-04H] xor edx, edx call [System.MulticastDelegate:CtorOpened(System.Object,int,int):this] push 0xD1FFAB1E push 1 push 0xD1FFAB1E mov edx, gword ptr [ebp-04H] mov ecx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,System.__Canon](System.String,System.Func`3[System.__Canon,System.__Canon,System.__Canon],System.__Canon,bool):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 83 236: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:.cctor() [Tier0, IL size=34, code size=83] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,System.__Canon](System.String,System.Func`3[System.__Canon,System.__Canon,System.__Canon],System.__Canon,bool):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-10H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, dword ptr [ebp-14H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE push eax push gword ptr [ebp-0CH] push gword ptr [ebp+10H] mov edx, dword ptr [ebp+0CH] movzx edx, dl push edx push 0 mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:.ctor(System.String,System.Type,System.Func`3[System.__Canon,System.__Canon,System.__Canon],System.__Canon,bool,bool):this] mov eax, gword ptr [ebp-10H] G_M000_IG06: mov esp, ebp pop ebp ret 12 ; Total bytes of code 126 237: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,System.__Canon](System.String,System.Func`3[System.__Canon,System.__Canon,System.__Canon],System.__Canon,bool) [Tier0, IL size=21, code size=126] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,System.__Canon):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-10H], ecx mov ecx, dword ptr [ebp-10H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-10H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-10H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-0CH], eax G_M000_IG05: push gword ptr [ebp+08H] push dword ptr [ebp-0CH] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon],System.__Canon):this] G_M000_IG06: mov esp, ebp pop ebp ret 4 ; Total bytes of code 92 238: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,System.__Canon) [Tier0, IL size=9, code size=92] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon],System.__Canon):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push gword ptr [ebp+0CH] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 239: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon],System.__Canon) [Tier0, IL size=14, code size=33] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertNotFrozen():this] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_HasChildCharacteristics():bool:this] test eax, eax je G_M000_IG05 mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp+08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsAssignable(BenchmarkDotNet.Characteristics.Characteristic,System.Object)] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue(BenchmarkDotNet.Characteristics.Characteristic):System.Object:this] mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-14H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_CHKCASTCLASS] mov gword ptr [ebp-0CH], eax push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveCore(BenchmarkDotNet.Characteristics.Characteristic,System.Object):System.Object:this] mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_CHKCASTCLASS] mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-0CH] cmp ecx, gword ptr [ebp-10H] je SHORT G_M000_IG06 cmp gword ptr [ebp-0CH], 0 je SHORT G_M000_IG03 mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:DetachFromOwner(BenchmarkDotNet.Characteristics.Characteristic):this] G_M000_IG03: cmp gword ptr [ebp-10H], 0 je SHORT G_M000_IG06 mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:get_OwnerOrSelf():BenchmarkDotNet.Characteristics.CharacteristicObject:this] mov gword ptr [ebp-1CH], eax push gword ptr [ebp-08H] mov edx, gword ptr [ebp-1CH] mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:AttachToOwner(BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic):this] G_M000_IG04: mov esp, ebp pop ebp ret 4 G_M000_IG05: push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValueCore(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] G_M000_IG06: mov esp, ebp pop ebp ret 4 ; Total bytes of code 219 240: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object) [Tier0, IL size=88, code size=219] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:AssertNotFrozen():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 44 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-2CH], xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:get_Frozen():bool:this] test eax, eax je G_M000_IG04 G_M000_IG03: push 1 lea ecx, [ebp-1CH] mov edx, 55 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] mov ecx, 0x147B0 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-24H], eax mov edx, gword ptr [ebp-24H] lea ecx, [ebp-1CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] push 0xD1FFAB1E lea ecx, [ebp-1CH] mov edx, gword ptr [ebp-04H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):this] mov ecx, 0x147D8 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-28H], eax mov edx, gword ptr [ebp-28H] lea ecx, [ebp-1CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-20H], eax lea ecx, [ebp-1CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] mov gword ptr [ebp-2CH], eax mov edx, gword ptr [ebp-2CH] mov ecx, gword ptr [ebp-20H] call [System.InvalidOperationException:.ctor(System.String):this] mov ecx, gword ptr [ebp-20H] call CORINFO_HELP_THROW G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 190 241: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:AssertNotFrozen() [Tier0, IL size=64, code size=190] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:get_Frozen():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:get_Owner():BenchmarkDotNet.Characteristics.CharacteristicObject:this] mov gword ptr [ebp-08H], eax mov eax, gword ptr [ebp-08H] mov gword ptr [ebp-0CH], eax cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG04 mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+0CH] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Characteristics.CharacteristicObject:get_Frozen():bool:this] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 65 242: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:get_Frozen() [Tier0, IL size=23, code size=65] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:get_Owner():BenchmarkDotNet.Characteristics.CharacteristicObject:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 243: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:get_Owner() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:get_HasChildCharacteristics():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic:get_CharacteristicType():System.Type:this] mov ecx, eax call [BenchmarkDotNet.Characteristics.CharacteristicHelper:IsCharacteristicObjectSubclass(System.Type):bool] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 244: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:get_HasChildCharacteristics() [Tier0, IL size=12, code size=28] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:get_CharacteristicType():System.Type:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 245: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:get_CharacteristicType() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper:IsCharacteristicObjectSubclass(System.Type):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Reflection.IntrospectionExtensions:GetTypeInfo(System.Type):System.Reflection.TypeInfo] mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+60H] call [eax+0CH]System.Type:IsSubclassOf(System.Type):bool:this G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 49 246: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper:IsCharacteristicObjectSubclass(System.Type) [Tier0, IL size=22, code size=49] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:SetValueCore(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 72 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-4CH], xmm4 vmovdqu xmmword ptr [ebp-3CH], xmm4 vmovdqu xmmword ptr [ebp-2CH], xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp+08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsAssignable(BenchmarkDotNet.Characteristics.Characteristic,System.Object)] mov esi, gword ptr [ebp+08H] mov ecx, 0xD1FFAB1E mov edx, 565 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE cmp esi, gword ptr [D1FFAB1EH] je SHORT G_M000_IG03 cmp gword ptr [ebp+08H], 0 jne SHORT G_M000_IG05 G_M000_IG03: mov ecx, gword ptr [ebp-08H] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-0CH] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:Remove(System.__Canon):bool:this] G_M000_IG04: lea esp, [ebp-04H] pop esi pop ebp ret 4 G_M000_IG05: mov ecx, gword ptr [ebp-0CH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_HasChildCharacteristics():bool:this] test eax, eax je G_M000_IG09 mov ecx, gword ptr [ebp-08H] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-0CH] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:ContainsKey(System.__Canon):bool:this] test eax, eax je G_M000_IG07 G_M000_IG06: push 2 lea ecx, [ebp-28H] mov edx, 41 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] mov ecx, 0x14940 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-30H], eax mov edx, gword ptr [ebp-30H] lea ecx, [ebp-28H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] push 0xD1FFAB1E lea ecx, [ebp-28H] mov edx, gword ptr [ebp-08H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):this] mov ecx, 0x14964 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-34H], eax mov edx, gword ptr [ebp-34H] lea ecx, [ebp-28H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] push 0xD1FFAB1E lea ecx, [ebp-28H] mov edx, gword ptr [ebp-0CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):this] mov ecx, 0x14984 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-38H], eax mov edx, gword ptr [ebp-38H] lea ecx, [ebp-28H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-2CH], eax lea ecx, [ebp-28H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] mov gword ptr [ebp-3CH], eax mov ecx, 0x14998 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS push eax mov edx, gword ptr [ebp-3CH] mov ecx, gword ptr [ebp-2CH] call [System.ArgumentException:.ctor(System.String,System.String):this] mov ecx, gword ptr [ebp-2CH] call CORINFO_HELP_THROW G_M000_IG07: push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveCore(BenchmarkDotNet.Characteristics.Characteristic,System.Object):System.Object:this] mov gword ptr [ebp-40H], eax mov edx, gword ptr [ebp-40H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_CHKCASTCLASS] mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:get_OwnerOrSelf():BenchmarkDotNet.Characteristics.CharacteristicObject:this] mov gword ptr [ebp-44H], eax mov edx, gword ptr [ebp-44H] mov ecx, gword ptr [ebp-10H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetOwnerCore(BenchmarkDotNet.Characteristics.CharacteristicObject):this] mov ecx, gword ptr [ebp-08H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-48H], ecx push gword ptr [ebp-10H] mov ecx, gword ptr [ebp-48H] mov edx, gword ptr [ebp-0CH] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG08: lea esp, [ebp-04H] pop esi pop ebp ret 4 G_M000_IG09: mov ecx, gword ptr [ebp-08H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-4CH], ecx push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-4CH] mov edx, gword ptr [ebp-0CH] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG10: lea esp, [ebp-04H] pop esi pop ebp ret 4 ; Total bytes of code 480 247: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:SetValueCore(BenchmarkDotNet.Characteristics.Characteristic,System.Object) [Tier0, IL size=191, code size=480] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsAssignable(BenchmarkDotNet.Characteristics.Characteristic,System.Object) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 64 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-44H], xmm4 vmovdqu xmmword ptr [ebp-34H], xmm4 vmovdqu xmmword ptr [ebp-24H], xmm4 xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov esi, gword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E mov edx, 565 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE cmp esi, gword ptr [D1FFAB1EH] je SHORT G_M000_IG03 cmp gword ptr [ebp-0CH], 0 jne SHORT G_M000_IG06 G_M000_IG03: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_HasChildCharacteristics():bool:this] test eax, eax je SHORT G_M000_IG05 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-28H], eax mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_Id():System.String:this] mov gword ptr [ebp-34H], eax mov edx, gword ptr [ebp-34H] mov ecx, gword ptr [ebp-28H] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-28H] call CORINFO_HELP_THROW G_M000_IG05: lea esp, [ebp-04H] pop esi pop ebp ret G_M000_IG06: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_CharacteristicType():System.Type:this] mov ecx, eax call [System.Reflection.IntrospectionExtensions:GetTypeInfo(System.Type):System.Reflection.TypeInfo] mov gword ptr [ebp-38H], eax mov ecx, gword ptr [ebp-38H] mov edx, gword ptr [ebp-0CH] mov eax, gword ptr [ebp-38H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+58H] call [eax+04H]System.Type:IsInstanceOfType(System.Object):bool:this test eax, eax jne G_M000_IG08 G_M000_IG07: push 2 lea ecx, [ebp-24H] mov edx, 42 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] mov ecx, 0x148E6 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-3CH], eax mov edx, gword ptr [ebp-3CH] lea ecx, [ebp-24H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] push 0xD1FFAB1E lea ecx, [ebp-24H] mov edx, gword ptr [ebp-0CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):this] mov ecx, 0x148FC mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-40H], eax mov edx, gword ptr [ebp-40H] lea ecx, [ebp-24H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] push 0xD1FFAB1E lea ecx, [ebp-24H] mov edx, gword ptr [ebp-08H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):this] mov ecx, 0x1492A mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-44H], eax mov edx, gword ptr [ebp-44H] lea ecx, [ebp-24H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-24H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] mov gword ptr [ebp-2CH], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-30H], eax mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_Id():System.String:this] push eax mov edx, gword ptr [ebp-2CH] mov ecx, gword ptr [ebp-30H] call [System.ArgumentException:.ctor(System.String,System.String):this] mov ecx, gword ptr [ebp-30H] call CORINFO_HELP_THROW G_M000_IG08: lea esp, [ebp-04H] pop esi pop ebp ret ; Total bytes of code 390 248: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsAssignable(BenchmarkDotNet.Characteristics.Characteristic,System.Object) [Tier0, IL size=133, code size=390] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 249: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Jobs.GcMode:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 250: JIT compiled BenchmarkDotNet.Jobs.GcMode:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 251: JIT compiled BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 252: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue(BenchmarkDotNet.Characteristics.Characteristic):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-10H], ecx lea ecx, [ebp-0CH] push ecx mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryGetValue(System.__Canon,byref):bool:this] test eax, eax jne SHORT G_M000_IG03 mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx G_M000_IG03: push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveCore(BenchmarkDotNet.Characteristics.Characteristic,System.Object):System.Object:this] G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 79 253: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue(BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=31, code size=79] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveCore(BenchmarkDotNet.Characteristics.Characteristic,System.Object):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+10H]BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 38 254: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveCore(BenchmarkDotNet.Characteristics.Characteristic,System.Object) [Tier0, IL size=9, code size=38] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_Resolver():System.Func`3[System.__Canon,System.__Canon,System.__Canon]:this] test eax, eax jne SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx] mov dword ptr [ebp-14H], ecx push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this] mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-10H] mov ecx, dword ptr [ebp-14H] call [CORINFO_HELP_CHKCASTANY] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_Resolver():System.Func`3[System.__Canon,System.__Canon,System.__Canon]:this] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx] mov dword ptr [ebp-1CH], ecx push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this] mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, dword ptr [ebp-1CH] call [CORINFO_HELP_CHKCASTANY] push eax mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-0CH] call [eax+0CH]System.Func`3[System.__Canon,System.__Canon,System.__Canon]:Invoke(System.__Canon,System.__Canon):System.__Canon:this G_M000_IG05: mov esp, ebp pop ebp ret 4 ; Total bytes of code 166 255: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object) [Tier0, IL size=58, code size=166] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_Resolver():System.Func`3[System.__Canon,System.__Canon,System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 256: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_Resolver() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp+08H] cmp eax, gword ptr [D1FFAB1EH] je SHORT G_M000_IG04 mov eax, gword ptr [ebp+08H] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic:get_FallbackValue():System.Object:this] G_M000_IG05: mov esp, ebp pop ebp ret 4 ; Total bytes of code 47 257: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object) [Tier0, IL size=17, code size=47] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:get_FallbackValue():System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+10H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 258: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:get_FallbackValue() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:get_OwnerOrSelf():BenchmarkDotNet.Characteristics.CharacteristicObject:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:get_Owner():BenchmarkDotNet.Characteristics.CharacteristicObject:this] mov gword ptr [ebp-08H], eax mov eax, gword ptr [ebp-08H] mov gword ptr [ebp-0CH], eax cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov eax, gword ptr [ebp-04H] mov gword ptr [ebp-0CH], eax G_M000_IG03: mov eax, gword ptr [ebp-0CH] G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 54 259: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:get_OwnerOrSelf() [Tier0, IL size=12, code size=54] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:AttachToOwner(BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 4 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 92 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-68H], xmm4 vmovdqu xmmword ptr [ebp-58H], xmm4 vmovdqu xmmword ptr [ebp-48H], xmm4 vmovdqu xmmword ptr [ebp-38H], xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov esi, ecx mov ebx, edx G_M000_IG02: test ebx, ebx je G_M000_IG05 mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+28H] call [eax+10H]BenchmarkDotNet.Characteristics.CharacteristicObject:get_IsPropertyBag():bool:this test eax, eax jne G_M000_IG06 mov ecx, esi call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertNotFrozen():this] mov ecx, esi call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsRoot():this] mov ecx, ebx call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertNotFrozen():this] mov ecx, ebx call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsRoot():this] mov edi, gword ptr [esi+04H] push esi mov ecx, ebx mov edx, gword ptr [ebp+08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValueOnAttach(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] mov gword ptr [ebp-68H], edi mov ecx, dword ptr [edi+24H] mov dword ptr [ebp-64H], ecx mov dword ptr [ebp-5CH], 2 xor ecx, ecx mov dword ptr [ebp-58H], ecx mov dword ptr [ebp-54H], ecx lea edi, bword ptr [ebp-50H] lea esi, bword ptr [ebp-68H] mov ecx, 6 rep movsd lea ecx, [ebp-50H] mov edx, 0xD1FFAB1E call [System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: mov edx, gword ptr [ebp-40H] mov ecx, gword ptr [ebp-3CH] push ecx mov ecx, ebx call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValueOnAttach(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] lea ecx, [ebp-50H] mov edx, 0xD1FFAB1E call [System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG03 G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0x149B6 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov edx, eax mov ecx, esi call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG06: push 1 lea ecx, [ebp-38H] mov edx, 59 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] mov ecx, dword ptr [ebp-30H] cmp ecx, dword ptr [ebp-24H] ja SHORT G_M000_IG09 mov edx, bword ptr [ebp-28H] lea edx, bword ptr [edx+2*ecx] mov eax, dword ptr [ebp-24H] sub eax, ecx mov ecx, edx cmp eax, 17 jb SHORT G_M000_IG07 mov edx, 0xD1FFAB1E add edx, 8 push 34 call [System.Buffer:Memmove(byref,byref,uint)] mov ecx, dword ptr [ebp-30H] add ecx, 17 mov dword ptr [ebp-30H], ecx jmp SHORT G_M000_IG08 G_M000_IG07: lea ecx, [ebp-38H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this] G_M000_IG08: push 0xD1FFAB1E lea ecx, [ebp-38H] mov edx, esi call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):this] mov esi, dword ptr [ebp-30H] cmp esi, dword ptr [ebp-24H] jbe SHORT G_M000_IG10 G_M000_IG09: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG10: mov ecx, bword ptr [ebp-28H] lea ecx, bword ptr [ecx+2*esi] mov edx, dword ptr [ebp-24H] sub edx, esi cmp edx, 42 jb SHORT G_M000_IG11 mov edx, 0xD1FFAB1E add edx, 8 push 84 call [System.Buffer:Memmove(byref,byref,uint)] mov ecx, dword ptr [ebp-30H] add ecx, 42 mov dword ptr [ebp-30H], ecx jmp SHORT G_M000_IG12 G_M000_IG11: lea ecx, [ebp-38H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this] G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax lea ecx, [ebp-38H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] mov edx, eax mov ecx, esi call [System.InvalidOperationException:.ctor(System.String):this] mov ecx, esi call CORINFO_HELP_THROW int3 ; Total bytes of code 475 260: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:AttachToOwner(BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic) [Tier-0 switched to FullOpts, IL size=165, code size=475] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:get_IsPropertyBag():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 13 261: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:get_IsPropertyBag() [Tier0, IL size=2, code size=13] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsRoot():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 60 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-3CH], xmm4 vmovdqu xmmword ptr [ebp-2CH], xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:get_Owner():BenchmarkDotNet.Characteristics.CharacteristicObject:this] test eax, eax je G_M000_IG04 G_M000_IG03: push 2 lea ecx, [ebp-1CH] mov edx, 45 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] mov ecx, 0x1488A mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-24H], eax mov edx, gword ptr [ebp-24H] lea ecx, [ebp-1CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] push 0xD1FFAB1E lea ecx, [ebp-1CH] mov edx, gword ptr [ebp-04H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):this] mov ecx, 0x148A8 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-28H], eax mov edx, gword ptr [ebp-28H] lea ecx, [ebp-1CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:get_Owner():BenchmarkDotNet.Characteristics.CharacteristicObject:this] mov gword ptr [ebp-2CH], eax push 0xD1FFAB1E mov edx, gword ptr [ebp-2CH] lea ecx, [ebp-1CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):this] mov ecx, 0x3F3 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-30H], eax mov edx, gword ptr [ebp-30H] lea ecx, [ebp-1CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-20H], eax mov ecx, 0x14822 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-34H], eax lea ecx, [ebp-1CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] mov gword ptr [ebp-38H], eax mov ecx, gword ptr [ebp-34H] mov edx, gword ptr [ebp-38H] call [System.String:Concat(System.String,System.String):System.String] mov gword ptr [ebp-3CH], eax mov edx, gword ptr [ebp-3CH] mov ecx, gword ptr [ebp-20H] call [System.InvalidOperationException:.ctor(System.String):this] mov ecx, gword ptr [ebp-20H] call CORINFO_HELP_THROW G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 287 262: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsRoot() [Tier0, IL size=99, code size=287] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:SetValueOnAttach(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp+08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsAssignable(BenchmarkDotNet.Characteristics.Characteristic,System.Object)] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_HasChildCharacteristics():bool:this] test eax, eax je SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue(BenchmarkDotNet.Characteristics.Characteristic):System.Object:this] mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-14H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_CHKCASTCLASS] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov gword ptr [ebp-10H], ecx cmp gword ptr [ebp-0CH], 0 jne SHORT G_M000_IG03 jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:DetachFromOwner(BenchmarkDotNet.Characteristics.Characteristic):this] G_M000_IG04: push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValueCore(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] G_M000_IG05: mov esp, ebp pop ebp ret 4 ; Total bytes of code 129 263: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:SetValueOnAttach(BenchmarkDotNet.Characteristics.Characteristic,System.Object) [Tier0, IL size=48, code size=129] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:SetOwnerCore(BenchmarkDotNet.Characteristics.CharacteristicObject):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, 0x149B6 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-10H] mov ecx, gword ptr [ebp-0CH] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-0CH] call CORINFO_HELP_THROW G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertNotFrozen():this] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsNonFrozenRoot():this] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:set_Owner(BenchmarkDotNet.Characteristics.CharacteristicObject):this] mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [edx+04H] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-04H] mov byte ptr [ecx+0CH], 0 G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 137 264: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:SetOwnerCore(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=53, code size=137] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsNonFrozenRoot():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertNotFrozen():this] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsRoot():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 29 265: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsNonFrozenRoot() [Tier0, IL size=13, code size=29] ; Assembly listing for method BenchmarkDotNet.Jobs.EnvironmentMode:set_Jit(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 287 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx push dword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 62 266: JIT compiled BenchmarkDotNet.Jobs.EnvironmentMode:set_Jit(int) [Tier0, IL size=13, code size=62] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 35 267: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int) [Tier0, IL size=9, code size=35] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+08H] mov dword ptr [ecx+04H], edx push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 60 268: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int) [Tier0, IL size=14, code size=60] ; Assembly listing for method BenchmarkDotNet.Jobs.EnvironmentMode:set_Platform(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 287 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx push dword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 62 269: JIT compiled BenchmarkDotNet.Jobs.EnvironmentMode:set_Platform(int) [Tier0, IL size=13, code size=62] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 35 270: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int) [Tier0, IL size=9, code size=35] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+08H] mov dword ptr [ecx+04H], edx push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 60 271: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int) [Tier0, IL size=14, code size=60] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx] mov dword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:FreezeCore():BenchmarkDotNet.Characteristics.CharacteristicObject:this] mov gword ptr [ebp-08H], eax mov edx, gword ptr [ebp-08H] mov ecx, dword ptr [ebp-0CH] call [CORINFO_HELP_CHKCASTANY] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 57 272: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze() [Tier0, IL size=12, code size=57] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:FreezeCore():BenchmarkDotNet.Characteristics.CharacteristicObject:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsRoot():this] mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+0CH] test eax, eax jne SHORT G_M000_IG03 mov eax, gword ptr [ebp-04H] mov byte ptr [eax+0CH], 1 G_M000_IG03: mov eax, gword ptr [ebp-04H] G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 41 273: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:FreezeCore() [Tier0, IL size=23, code size=41] ; Assembly listing for method BenchmarkDotNet.Jobs.Job:.ctor(System.String,BenchmarkDotNet.Characteristics.CharacteristicObject):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Jobs.Job:.ctor(System.String):this] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp+08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Apply(BenchmarkDotNet.Characteristics.CharacteristicObject):System.__Canon:this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 42 274: JIT compiled BenchmarkDotNet.Jobs.Job:.ctor(System.String,BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=16, code size=42] ; Assembly listing for method BenchmarkDotNet.Jobs.EnvironmentMode:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] xor edx, edx call [BenchmarkDotNet.Jobs.EnvironmentMode:.ctor(System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 22 275: JIT compiled BenchmarkDotNet.Jobs.EnvironmentMode:.ctor() [Tier0, IL size=8, code size=22] ; Assembly listing for method BenchmarkDotNet.Jobs.RunMode:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] xor edx, edx call [BenchmarkDotNet.Jobs.RunMode:.ctor(System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 22 276: JIT compiled BenchmarkDotNet.Jobs.RunMode:.ctor() [Tier0, IL size=8, code size=22] ; Assembly listing for method BenchmarkDotNet.Jobs.RunMode:.ctor(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.ctor(System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 277: JIT compiled BenchmarkDotNet.Jobs.RunMode:.ctor(System.String) [Tier0, IL size=8, code size=28] ; Assembly listing for method BenchmarkDotNet.Jobs.InfrastructureMode:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 278: JIT compiled BenchmarkDotNet.Jobs.InfrastructureMode:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Jobs.AccuracyMode:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 279: JIT compiled BenchmarkDotNet.Jobs.AccuracyMode:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Jobs.MetaMode:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 280: JIT compiled BenchmarkDotNet.Jobs.MetaMode:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Apply(BenchmarkDotNet.Characteristics.CharacteristicObject):System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx] mov dword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:ApplyCore(BenchmarkDotNet.Characteristics.CharacteristicObject):BenchmarkDotNet.Characteristics.CharacteristicObject:this] mov gword ptr [ebp-0CH], eax mov edx, gword ptr [ebp-0CH] mov ecx, dword ptr [ebp-10H] call [CORINFO_HELP_CHKCASTANY] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 63 281: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Apply(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=13, code size=63] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ApplyCore(BenchmarkDotNet.Characteristics.CharacteristicObject):BenchmarkDotNet.Characteristics.CharacteristicObject:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetCharacteristicsToApply(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Characteristics.Characteristic]:this] push eax mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:ApplyCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Characteristics.Characteristic]):BenchmarkDotNet.Characteristics.CharacteristicObject:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 41 282: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ApplyCore(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=15, code size=41] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:GetCharacteristicsToApply(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Characteristics.Characteristic]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetCharacteristicsToApply():System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Characteristics.Characteristic]:this] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-04H] call System.Object:GetType():System.Type:this mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call System.Object:GetType():System.Type:this mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-14H] mov ecx, gword ptr [ebp-10H] call [System.Type:op_Inequality(System.Type,System.Type):bool] test eax, eax je SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+10H]BenchmarkDotNet.Characteristics.CharacteristicObject:get_IsPropertyBag():bool:this test eax, eax jne SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicHelper:GetAllCharacteristics(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Characteristics.Characteristic]] mov gword ptr [ebp-18H], eax push 0xD1FFAB1E mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-0CH] call [System.Linq.Enumerable:Intersect[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]] mov gword ptr [ebp-0CH], eax G_M000_IG03: mov eax, gword ptr [ebp-0CH] G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 137 283: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:GetCharacteristicsToApply(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=49, code size=137] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:GetCharacteristicsToApply():System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Characteristics.Characteristic]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 80 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-50H], xmm4 vmovdqu xmmword ptr [ebp-40H], xmm4 vmovdqu xmmword ptr [ebp-30H], xmm4 vmovdqu xmmword ptr [ebp-20H], xmm4 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+10H]BenchmarkDotNet.Characteristics.CharacteristicObject:get_IsPropertyBag():bool:this test eax, eax jne G_M000_IG05 mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicHelper:GetAllCharacteristics(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Characteristics.Characteristic]] mov gword ptr [ebp-38H], eax mov ecx, 0xD1FFAB1E mov edx, 0x48C call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-34H], ecx mov ecx, gword ptr [ebp-38H] mov gword ptr [ebp-3CH], ecx mov ecx, gword ptr [ebp-34H] mov gword ptr [ebp-40H], ecx cmp gword ptr [ebp-34H], 0 jne SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-44H], eax mov ecx, 0xD1FFAB1E mov edx, 0x48C call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-48H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-48H] mov ecx, gword ptr [ebp-44H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x48C call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-44H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-44H] mov gword ptr [ebp-40H], ecx G_M000_IG03: push 0xD1FFAB1E mov ecx, gword ptr [ebp-3CH] mov edx, gword ptr [ebp-40H] call [System.Linq.Enumerable:Where[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.Collections.Generic.IEnumerable`1[System.__Canon]] G_M000_IG04: mov esp, ebp pop ebp ret G_M000_IG05: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:get_Keys():System.Collections.Generic.Dictionary`2+KeyCollection[System.__Canon,System.__Canon]:this] mov gword ptr [ebp-10H], eax mov ecx, 0xD1FFAB1E mov edx, 0x48C call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-10H] mov gword ptr [ebp-14H], ecx mov ecx, gword ptr [ebp-0CH] mov gword ptr [ebp-18H], ecx cmp gword ptr [ebp-0CH], 0 jne SHORT G_M000_IG06 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-30H], eax mov ecx, 0xD1FFAB1E mov edx, 0x48C call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-4CH], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-4CH] mov ecx, gword ptr [ebp-30H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x48C call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-30H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-30H] mov gword ptr [ebp-18H], ecx G_M000_IG06: push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-18H] call [System.Linq.Enumerable:Where[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.Collections.Generic.IEnumerable`1[System.__Canon]] mov gword ptr [ebp-20H], eax mov ecx, 0xD1FFAB1E mov edx, 0x48C call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ebp-20H] mov gword ptr [ebp-24H], ecx mov ecx, gword ptr [ebp-1CH] mov gword ptr [ebp-28H], ecx cmp gword ptr [ebp-1CH], 0 jne SHORT G_M000_IG07 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-2CH], eax mov ecx, 0xD1FFAB1E mov edx, 0x48C call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-50H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-50H] mov ecx, gword ptr [ebp-2CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x48C call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-2CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-2CH] mov gword ptr [ebp-28H], ecx G_M000_IG07: push 0xD1FFAB1E mov ecx, gword ptr [ebp-24H] mov edx, gword ptr [ebp-28H] call [System.Linq.Enumerable:OrderBy[System.__Canon,System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):System.Linq.IOrderedEnumerable`1[System.__Canon]] mov gword ptr [ebp-08H], eax mov eax, gword ptr [ebp-08H] G_M000_IG08: mov esp, ebp pop ebp ret ; Total bytes of code 553 284: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:GetCharacteristicsToApply() [Tier0, IL size=137, code size=553] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper:GetAllCharacteristics(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Characteristics.Characteristic] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call System.Object:GetType():System.Type:this mov ecx, eax call [BenchmarkDotNet.Characteristics.CharacteristicHelper:GetAllCharacteristics(System.Type):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Characteristics.Characteristic]] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 29 285: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper:GetAllCharacteristics(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=12, code size=29] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper:GetAllCharacteristics(System.Type):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Characteristics.Characteristic] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicHelper:IsCharacteristicObjectSubclass(System.Type):bool] test eax, eax jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E mov edx, 566 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov eax, gword ptr [D1FFAB1EH] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, 0xD1FFAB1E mov edx, 566 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx push 0xD1FFAB1E push 0xD1FFAB1E mov ecx, gword ptr [ebp-08H] xor edx, edx call [System.MulticastDelegate:CtorOpened(System.Object,int,int):this] push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:GetOrAdd(System.__Canon,System.Func`2[System.__Canon,System.__Canon]):System.__Canon:this] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 133 286: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper:GetAllCharacteristics(System.Type) [Tier0, IL size=38, code size=133] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call [System.Array:Empty[System.__Canon]():System.__Canon[]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:.ctor():this] mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] call [System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:.ctor():this] mov eax, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 109 287: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper:.cctor() [Tier0, IL size=31, code size=109] ; Assembly listing for method System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-10H], ecx mov ecx, dword ptr [ebp-10H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-10H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-08H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-10H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-08H], eax G_M000_IG05: mov ecx, dword ptr [ebp-08H] call [System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:get_DefaultConcurrencyLevel():int] mov dword ptr [ebp-0CH], eax push 31 push 1 push 0 mov edx, dword ptr [ebp-0CH] mov ecx, gword ptr [ebp-04H] call [System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:.ctor(int,int,bool,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 97 288: JIT compiled System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:.ctor() [Tier0, IL size=16, code size=97] ; Assembly listing for method System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:get_DefaultConcurrencyLevel():int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov dword ptr [ebp-04H], ecx G_M000_IG02: call [System.Environment:get_ProcessorCount():int] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 289: JIT compiled System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:get_DefaultConcurrencyLevel() [Tier0, IL size=6, code size=17] ; Assembly listing for method System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:.ctor(int,int,bool,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 1 inlinees with PGO data; 8 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 20 mov esi, ecx mov edi, edx mov ebx, dword ptr [ebp+10H] G_M000_IG02: test edi, edi jg SHORT G_M000_IG04 G_M000_IG03: cmp edi, -1 jne G_M000_IG30 cmp dword ptr [esi], esi mov edi, 12 G_M000_IG04: test ebx, ebx jl G_M000_IG31 cmp ebx, edi cmovl ebx, edi mov ecx, ebx call [System.Collections.HashHelpers:GetPrime(int):int] mov ebx, eax mov edx, edi mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_OBJ mov edi, eax mov eax, dword ptr [edi+04H] mov dword ptr [ebp-14H], eax test eax, eax je G_M000_IG32 lea edx, bword ptr [edi+08H] call CORINFO_HELP_ASSIGN_REF_EDI mov dword ptr [ebp-10H], 1 cmp eax, 1 jle SHORT G_M000_IG09 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ecx, dword ptr [ebp-10H] lea edx, bword ptr [edi+4*ecx+08H] call CORINFO_HELP_ASSIGN_REF_EAX inc ecx mov eax, dword ptr [ebp-14H] cmp eax, ecx mov dword ptr [ebp-10H], ecx jg SHORT G_M000_IG08 G_M000_IG06: mov edx, eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-1CH], eax mov edx, dword ptr [esi] mov dword ptr [ebp-18H], edx mov ecx, edx mov eax, dword ptr [ecx+20H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+10H] test eax, eax je SHORT G_M000_IG10 G_M000_IG07: mov ecx, eax jmp SHORT G_M000_IG11 G_M000_IG08: jmp SHORT G_M000_IG05 G_M000_IG09: mov eax, dword ptr [ebp-14H] jmp SHORT G_M000_IG06 G_M000_IG10: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov ecx, eax G_M000_IG11: mov edx, ebx call CORINFO_HELP_NEWARR_1_VC mov ebx, eax mov eax, gword ptr [ebp+08H] test eax, eax jne SHORT G_M000_IG16 G_M000_IG12: mov edx, dword ptr [ebp-18H] mov ecx, dword ptr [edx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+14H] test ecx, ecx je SHORT G_M000_IG14 G_M000_IG13: jmp SHORT G_M000_IG15 G_M000_IG14: mov ecx, edx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov ecx, eax G_M000_IG15: call [System.Collections.Generic.EqualityComparer`1[System.__Canon]:get_Default():System.Collections.Generic.EqualityComparer`1[System.__Canon]] G_M000_IG16: mov edx, dword ptr [ebp-18H] mov ecx, dword ptr [edx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG21 G_M000_IG17: mov gword ptr [ebp+08H], eax mov ecx, eax call [System.Collections.Generic.NonRandomizedStringEqualityComparer:GetStringComparer(System.Object):System.Collections.Generic.IEqualityComparer`1[System.String]] mov gword ptr [ebp-20H], eax test eax, eax mov eax, gword ptr [ebp+08H] je SHORT G_M000_IG21 mov eax, gword ptr [ebp-20H] mov edx, dword ptr [ebp-18H] mov ecx, dword ptr [edx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+1CH] test ecx, ecx je SHORT G_M000_IG19 G_M000_IG18: jmp SHORT G_M000_IG20 G_M000_IG19: mov ecx, edx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov ecx, eax mov eax, gword ptr [ebp-20H] G_M000_IG20: mov edx, eax call [CORINFO_HELP_CHKCASTANY] mov gword ptr [ebp+08H], eax jmp SHORT G_M000_IG25 G_M000_IG21: mov edx, dword ptr [ebp-18H] mov ecx, dword ptr [edx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+14H] test ecx, ecx je SHORT G_M000_IG23 G_M000_IG22: mov gword ptr [ebp+08H], eax jmp SHORT G_M000_IG24 G_M000_IG23: mov gword ptr [ebp+08H], eax mov ecx, edx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov ecx, eax G_M000_IG24: call [System.Collections.Generic.EqualityComparer`1[System.__Canon]:get_Default():System.Collections.Generic.EqualityComparer`1[System.__Canon]] cmp eax, gword ptr [ebp+08H] jne SHORT G_M000_IG25 mov byte ptr [esi+0DH], 1 G_M000_IG25: mov ecx, dword ptr [ebp-18H] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+18H] test edx, edx je SHORT G_M000_IG27 G_M000_IG26: jmp SHORT G_M000_IG28 G_M000_IG27: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax G_M000_IG28: mov ecx, edx call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+10H] call CORINFO_HELP_ASSIGN_REF_EBX lea edx, bword ptr [eax+14H] call CORINFO_HELP_ASSIGN_REF_EDI lea edx, bword ptr [eax+18H] mov edi, gword ptr [ebp-1CH] call CORINFO_HELP_ASSIGN_REF_EDI lea edx, bword ptr [eax+0CH] mov edi, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EDI lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, dword ptr [ebp+0CH] mov byte ptr [esi+0CH], al mov eax, dword ptr [ebx+04H] xor edx, edx div edx:eax, dword ptr [ebp-14H] mov dword ptr [esi+08H], eax G_M000_IG29: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG30: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax mov ecx, 0xB76 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ebx, eax call [System.SR:get_ConcurrentDictionary_ConcurrencyLevelMustBePositiveOrNegativeOne():System.String] push eax mov edx, ebx mov ecx, edi call [System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this] mov ecx, edi call CORINFO_HELP_THROW G_M000_IG31: mov ecx, 0xB98 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax mov edx, ebx call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] int3 G_M000_IG32: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 583 290: JIT compiled System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:.ctor(int,int,bool,System.Collections.Generic.IEqualityComparer`1[System.__Canon]) [Tier-0 switched to FullOpts, IL size=264, code size=583] ; Assembly listing for method System.Collections.HashHelpers:GetPrime(int):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi mov esi, ecx G_M000_IG02: test esi, esi jl SHORT G_M000_IG14 mov ecx, 0xD1FFAB1E xor eax, eax align [0 bytes for IG03] G_M000_IG03: mov edx, dword ptr [ecx+4*eax] cmp edx, esi jge SHORT G_M000_IG12 inc eax cmp eax, 72 jl SHORT G_M000_IG03 G_M000_IG04: mov edi, esi or edi, 1 cmp edi, 0xD1FFAB1E jge SHORT G_M000_IG08 G_M000_IG05: mov ecx, edi call [System.Collections.HashHelpers:IsPrime(int):bool] test eax, eax je SHORT G_M000_IG07 G_M000_IG06: lea ecx, [edi-01H] mov edx, 0xD1FFAB1E mov eax, edx imul edx:eax, ecx mov eax, edx shr eax, 31 sar edx, 4 add eax, edx imul eax, eax, 101 sub ecx, eax jne SHORT G_M000_IG10 G_M000_IG07: add edi, 2 cmp edi, 0xD1FFAB1E jl SHORT G_M000_IG05 G_M000_IG08: mov eax, esi G_M000_IG09: pop esi pop edi pop ebp ret G_M000_IG10: mov eax, edi G_M000_IG11: pop esi pop edi pop ebp ret G_M000_IG12: mov eax, edx G_M000_IG13: pop esi pop edi pop ebp ret G_M000_IG14: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax call [System.SR:get_Arg_HTCapacityOverflow():System.String] mov edx, eax mov ecx, esi call [System.ArgumentException:.ctor(System.String):this] mov ecx, esi call CORINFO_HELP_THROW int3 ; Total bytes of code 150 291: JIT compiled System.Collections.HashHelpers:GetPrime(int) [Tier-0 switched to FullOpts, IL size=93, code size=150] ; Assembly listing for method System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:GetOrAdd(System.__Canon,System.Func`2[System.__Canon,System.__Canon]):System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 call [System.ThrowHelper:ThrowKeyNullException()] G_M000_IG03: cmp gword ptr [ebp+08H], 0 jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call [System.ThrowHelper:ThrowArgumentNullException(System.String)] G_M000_IG04: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+0CH] mov gword ptr [ebp-10H], ecx push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-10H] call [System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:GetHashCode(System.Collections.Generic.IEqualityComparer`1[System.__Canon],System.__Canon):int:this] mov dword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-30H], ecx mov ecx, dword ptr [ebp-30H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp-30H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp-30H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-1CH], eax G_M000_IG07: push dword ptr [ebp-14H] lea ecx, [ebp-18H] push ecx push dword ptr [ebp-1CH] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-08H] call [System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:TryGetValueInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[System.__Canon,System.__Canon],System.__Canon,int,byref):bool] test eax, eax jne SHORT G_M000_IG08 xor ecx, ecx mov dword ptr [ebp-24H], ecx mov dword ptr [ebp-20H], ecx lea ecx, [ebp-24H] mov edx, dword ptr [ebp-14H] call [System.Nullable`1[int]:.ctor(int):this] mov ecx, dword ptr [ebp-24H] mov dword ptr [ebp-2CH], ecx mov ecx, dword ptr [ebp-20H] mov dword ptr [ebp-28H], ecx push gword ptr [ebp-08H] push dword ptr [ebp-28H] push dword ptr [ebp-2CH] mov ecx, gword ptr [ebp+08H] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-08H] mov eax, gword ptr [ebp+08H] call [eax+0CH]System.Func`2[System.__Canon,System.__Canon]:Invoke(System.__Canon):System.__Canon:this push eax push 0 push 1 lea edx, [ebp-18H] push edx mov edx, gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-04H] call [System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:TryAddInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[System.__Canon,System.__Canon],System.__Canon,System.Nullable`1[int],System.__Canon,bool,bool,byref):bool:this] G_M000_IG08: mov eax, gword ptr [ebp-18H] G_M000_IG09: mov esp, ebp pop ebp ret 4 ; Total bytes of code 254 292: JIT compiled System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:GetOrAdd(System.__Canon,System.Func`2[System.__Canon,System.__Canon]) [Tier0, IL size=91, code size=254] ; Assembly listing for method System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:GetHashCode(System.Collections.Generic.IEqualityComparer`1[System.__Canon],System.__Canon):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: G_M000_IG03: mov ecx, gword ptr [ebp-04H] movzx ecx, byte ptr [ecx+0DH] test ecx, ecx jne SHORT G_M000_IG08 mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-14H], ecx mov ecx, dword ptr [ebp-14H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+20H], 0 je SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-14H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+20H] mov dword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp-14H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-0CH], eax G_M000_IG06: mov ecx, dword ptr [ebp-0CH] mov dword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp+08H] mov eax, dword ptr [ebp-10H] nop call [eax] G_M000_IG07: mov esp, ebp pop ebp ret 4 G_M000_IG08: mov ecx, gword ptr [ebp+08H] mov eax, gword ptr [ebp+08H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+0CH]System.Object:GetHashCode():int:this G_M000_IG09: mov esp, ebp pop ebp ret 4 ; Total bytes of code 123 293: JIT compiled System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:GetHashCode(System.Collections.Generic.IEqualityComparer`1[System.__Canon],System.__Canon) [Tier0, IL size=72, code size=123] ; Assembly listing for method System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:TryGetValueInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[System.__Canon,System.__Canon],System.__Canon,int,byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 20 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-10H], eax mov esi, edx mov edi, dword ptr [ebp+10H] mov ebx, dword ptr [ebp+08H] G_M000_IG02: mov edx, gword ptr [ecx+0CH] mov gword ptr [ebp-1CH], edx mov ecx, gword ptr [ecx+10H] mov eax, dword ptr [ecx+04H] mov dword ptr [ebp-18H], eax mov eax, edi xor edx, edx div edx:eax, dword ptr [ebp-18H] mov eax, gword ptr [ecx+4*edx+08H] test eax, eax je SHORT G_M000_IG09 G_M000_IG03: mov gword ptr [ebp-20H], eax cmp edi, dword ptr [eax+10H] jne SHORT G_M000_IG08 G_M000_IG04: mov ecx, dword ptr [ebx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+24H] test ecx, ecx je SHORT G_M000_IG06 G_M000_IG05: mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-14H], eax G_M000_IG07: mov eax, gword ptr [ebp-20H] mov edx, gword ptr [eax+04H] push esi mov ecx, gword ptr [ebp-1CH] mov eax, dword ptr [ebp-14H] nop call [eax] test eax, eax jne SHORT G_M000_IG11 G_M000_IG08: mov eax, gword ptr [ebp-20H] mov eax, gword ptr [eax+0CH] test eax, eax jne SHORT G_M000_IG03 G_M000_IG09: xor eax, eax mov esi, bword ptr [ebp+0CH] mov gword ptr [esi], eax G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG11: mov esi, bword ptr [ebp+0CH] mov eax, gword ptr [ebp-20H] mov eax, gword ptr [eax+08H] mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov eax, 1 G_M000_IG12: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 ; Total bytes of code 173 294: JIT compiled System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:TryGetValueInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[System.__Canon,System.__Canon],System.__Canon,int,byref) [Tier-0 switched to FullOpts, IL size=162, code size=173] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper:GetAllCharacteristicsCore(System.Type):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Characteristics.Characteristic] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] call [System.Collections.Generic.List`1[System.__Canon]:.ctor():this] mov ecx, gword ptr [ebp-0CH] mov gword ptr [ebp-08H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [System.Collections.Generic.HashSet`1[System.__Canon]:.ctor():this] push gword ptr [ebp-10H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicHelper:FillAllCharacteristicsCore(System.Type,System.Collections.Generic.List`1[BenchmarkDotNet.Characteristics.Characteristic],System.Collections.Generic.HashSet`1[BenchmarkDotNet.Characteristics.Characteristic])] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.List`1[System.__Canon]:ToArray():System.__Canon[]:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 100 295: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper:GetAllCharacteristicsCore(System.Type) [Tier0, IL size=25, code size=100] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper:FillAllCharacteristicsCore(System.Type,System.Collections.Generic.List`1[BenchmarkDotNet.Characteristics.Characteristic],System.Collections.Generic.HashSet`1[BenchmarkDotNet.Characteristics.Characteristic]) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 4 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 36 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov esi, edx mov ebx, gword ptr [ebp+08H] G_M000_IG02: call [BenchmarkDotNet.Characteristics.CharacteristicHelper:GetThisTypeCharacteristics(System.Type):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Characteristics.Characteristic]] mov edi, eax test byte ptr [D1FFAB1EH], 1 je G_M000_IG29 G_M000_IG03: mov edx, gword ptr [D1FFAB1EH] test edx, edx jne SHORT G_M000_IG05 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ecx, gword ptr [D1FFAB1EH] test ecx, ecx je G_M000_IG30 lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_ECX mov dword ptr [eax+0CH], 0xD1FFAB1E mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov edx, eax G_M000_IG05: push 0xD1FFAB1E mov ecx, edi call [System.Linq.Enumerable:Where[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.Collections.Generic.IEnumerable`1[System.__Canon]] mov ecx, eax call [System.Collections.Generic.IEnumerable`1[System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this] mov gword ptr [ebp-2CH], eax G_M000_IG06: mov ecx, gword ptr [ebp-2CH] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG12 G_M000_IG07: mov ecx, gword ptr [ebp-2CH] call [System.Collections.Generic.IEnumerator`1[System.__Canon]:get_Current():System.__Canon:this] mov gword ptr [ebp-30H], eax cmp byte ptr [ebx], bl lea ecx, [ebp-24H] push ecx mov ecx, ebx mov edx, eax call [System.Collections.Generic.HashSet`1[System.__Canon]:AddIfNotPresent(System.__Canon,byref):bool:this] test eax, eax je SHORT G_M000_IG11 G_M000_IG08: inc dword ptr [esi+0CH] mov ecx, gword ptr [esi+04H] mov edx, dword ptr [esi+08H] cmp dword ptr [ecx+04H], edx jbe SHORT G_M000_IG10 G_M000_IG09: lea eax, [edx+01H] mov dword ptr [esi+08H], eax push gword ptr [ebp-30H] call CORINFO_HELP_ARRADDR_ST jmp SHORT G_M000_IG11 G_M000_IG10: mov ecx, esi mov edx, gword ptr [ebp-30H] call [System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this] G_M000_IG11: mov ecx, gword ptr [ebp-2CH] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG07 G_M000_IG12: mov ecx, gword ptr [ebp-2CH] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG15 G_M000_IG13: cmp gword ptr [ebp-2CH], 0 je SHORT G_M000_IG14 mov ecx, gword ptr [ebp-2CH] call [System.IDisposable:Dispose():this] G_M000_IG14: pop eax jmp eax G_M000_IG15: mov edx, gword ptr [D1FFAB1EH] test edx, edx jne SHORT G_M000_IG17 G_M000_IG16: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ecx, gword ptr [D1FFAB1EH] test ecx, ecx je G_M000_IG30 lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_ECX mov dword ptr [eax+0CH], 0xD1FFAB1E mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov edx, eax G_M000_IG17: push 0xD1FFAB1E mov ecx, edi call [System.Linq.Enumerable:Where[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.Collections.Generic.IEnumerable`1[System.__Canon]] mov ecx, eax call [System.Collections.Generic.IEnumerable`1[System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this] mov gword ptr [ebp-2CH], eax G_M000_IG18: mov ecx, gword ptr [ebp-2CH] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG25 G_M000_IG19: mov ecx, gword ptr [ebp-2CH] call [System.Collections.Generic.IEnumerator`1[System.__Canon]:get_Current():System.__Canon:this] mov edi, eax cmp byte ptr [ebx], bl lea ecx, [ebp-28H] push ecx mov ecx, ebx mov edx, edi call [System.Collections.Generic.HashSet`1[System.__Canon]:AddIfNotPresent(System.__Canon,byref):bool:this] test eax, eax je SHORT G_M000_IG24 G_M000_IG20: inc dword ptr [esi+0CH] mov ecx, gword ptr [esi+04H] mov edx, dword ptr [esi+08H] cmp dword ptr [ecx+04H], edx jbe SHORT G_M000_IG22 G_M000_IG21: lea eax, [edx+01H] mov dword ptr [esi+08H], eax push edi call CORINFO_HELP_ARRADDR_ST jmp SHORT G_M000_IG23 G_M000_IG22: mov ecx, esi mov edx, edi call [System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this] G_M000_IG23: mov ecx, gword ptr [edi+08H] push ebx mov edx, esi call [BenchmarkDotNet.Characteristics.CharacteristicHelper:FillAllCharacteristicsCore(System.Type,System.Collections.Generic.List`1[BenchmarkDotNet.Characteristics.Characteristic],System.Collections.Generic.HashSet`1[BenchmarkDotNet.Characteristics.Characteristic])] G_M000_IG24: mov ecx, gword ptr [ebp-2CH] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG19 G_M000_IG25: mov ecx, gword ptr [ebp-2CH] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG28 G_M000_IG26: cmp gword ptr [ebp-2CH], 0 je SHORT G_M000_IG27 mov ecx, gword ptr [ebp-2CH] call [System.IDisposable:Dispose():this] G_M000_IG27: pop eax jmp eax G_M000_IG28: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG29: mov ecx, 0xD1FFAB1E mov edx, 0x48A call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M000_IG03 G_M000_IG30: call [System.MulticastDelegate:ThrowNullThisInDelegateToInstance()] int3 ; Total bytes of code 523 296: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper:FillAllCharacteristicsCore(System.Type,System.Collections.Generic.List`1[BenchmarkDotNet.Characteristics.Characteristic],System.Collections.Generic.HashSet`1[BenchmarkDotNet.Characteristics.Characteristic]) [Tier-0 switched to FullOpts, IL size=197, code size=523] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper:GetThisTypeCharacteristics(System.Type):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Characteristics.Characteristic] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicHelper:IsCharacteristicObjectSubclass(System.Type):bool] test eax, eax jne SHORT G_M000_IG04 mov eax, gword ptr [D1FFAB1EH] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx push 0xD1FFAB1E push 0xD1FFAB1E mov ecx, gword ptr [ebp-08H] xor edx, edx call [System.MulticastDelegate:CtorOpened(System.Object,int,int):this] push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:GetOrAdd(System.__Canon,System.Func`2[System.__Canon,System.__Canon]):System.__Canon:this] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 103 297: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper:GetThisTypeCharacteristics(System.Type) [Tier0, IL size=38, code size=103] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper:GetThisTypeCharacteristicsCore(System.Type):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Characteristics.Characteristic] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 180 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-B4H], xmm4 vmovdqu xmmword ptr [ebp-A4H], xmm4 mov eax, -144 vmovdqu xmmword ptr [ebp+eax-04H], xmm4 vmovdqu xmmword ptr [ebp+eax+0CH], xmm4 vmovdqu xmmword ptr [ebp+eax+1CH], xmm4 add eax, 48 jne SHORT -5 instr mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Reflection.IntrospectionExtensions:GetTypeInfo(System.Type):System.Reflection.TypeInfo] mov gword ptr [ebp-90H], eax mov ecx, gword ptr [ebp-90H] mov edx, 120 mov eax, gword ptr [ebp-90H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+48H] call [eax+14H]System.Type:GetFields(int):System.Reflection.FieldInfo[]:this mov gword ptr [ebp-10H], eax mov ecx, 0xD1FFAB1E mov edx, 0x48A call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-10H] mov gword ptr [ebp-14H], ecx mov ecx, gword ptr [ebp-0CH] mov gword ptr [ebp-18H], ecx cmp gword ptr [ebp-0CH], 0 jne SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-8CH], eax mov ecx, 0xD1FFAB1E mov edx, 0x48A call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-94H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-94H] mov ecx, gword ptr [ebp-8CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x48A call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-8CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-8CH] mov gword ptr [ebp-18H], ecx G_M000_IG03: push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-18H] call [System.Linq.Enumerable:Where[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.Collections.Generic.IEnumerable`1[System.__Canon]] mov gword ptr [ebp-20H], eax mov ecx, 0xD1FFAB1E mov edx, 0x48A call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ebp-20H] mov gword ptr [ebp-24H], ecx mov ecx, gword ptr [ebp-1CH] mov gword ptr [ebp-28H], ecx cmp gword ptr [ebp-1CH], 0 jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-88H], eax mov ecx, 0xD1FFAB1E mov edx, 0x48A call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-98H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-98H] mov ecx, gword ptr [ebp-88H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x48A call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-88H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-88H] mov gword ptr [ebp-28H], ecx G_M000_IG04: push 0xD1FFAB1E mov ecx, gword ptr [ebp-24H] mov edx, gword ptr [ebp-28H] call [System.Linq.Enumerable:Select[System.__Canon,System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]] mov gword ptr [ebp-2CH], eax mov ecx, gword ptr [ebp-04H] call [System.Reflection.IntrospectionExtensions:GetTypeInfo(System.Type):System.Reflection.TypeInfo] mov gword ptr [ebp-9CH], eax mov ecx, gword ptr [ebp-9CH] mov edx, 120 mov eax, gword ptr [ebp-9CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+50H] call [eax+1CH]System.Type:GetProperties(int):System.Reflection.PropertyInfo[]:this mov gword ptr [ebp-34H], eax mov ecx, 0xD1FFAB1E mov edx, 0x48A call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-30H], ecx mov ecx, gword ptr [ebp-2CH] mov gword ptr [ebp-38H], ecx mov ecx, gword ptr [ebp-34H] mov gword ptr [ebp-3CH], ecx mov ecx, gword ptr [ebp-30H] mov gword ptr [ebp-40H], ecx cmp gword ptr [ebp-30H], 0 jne SHORT G_M000_IG05 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-84H], eax mov ecx, 0xD1FFAB1E mov edx, 0x48A call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-A0H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-A0H] mov ecx, gword ptr [ebp-84H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x48A call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-84H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-84H] mov gword ptr [ebp-40H], ecx G_M000_IG05: push 0xD1FFAB1E mov ecx, gword ptr [ebp-3CH] mov edx, gword ptr [ebp-40H] call [System.Linq.Enumerable:Where[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.Collections.Generic.IEnumerable`1[System.__Canon]] mov gword ptr [ebp-48H], eax mov ecx, 0xD1FFAB1E mov edx, 0x48A call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-44H], ecx mov ecx, gword ptr [ebp-38H] mov gword ptr [ebp-4CH], ecx mov ecx, gword ptr [ebp-48H] mov gword ptr [ebp-50H], ecx mov ecx, gword ptr [ebp-44H] mov gword ptr [ebp-54H], ecx cmp gword ptr [ebp-44H], 0 jne SHORT G_M000_IG06 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-80H], eax mov ecx, 0xD1FFAB1E mov edx, 0x48A call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-A4H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-A4H] mov ecx, gword ptr [ebp-80H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x48A call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-80H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-80H] mov gword ptr [ebp-54H], ecx G_M000_IG06: push 0xD1FFAB1E mov ecx, gword ptr [ebp-50H] mov edx, gword ptr [ebp-54H] call [System.Linq.Enumerable:Select[System.__Canon,System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]] mov gword ptr [ebp-08H], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-4CH] mov edx, gword ptr [ebp-08H] call [System.Linq.Enumerable:Concat[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]] mov gword ptr [ebp-A8H], eax mov ecx, gword ptr [ebp-A8H] mov edx, 0xD1FFAB1E call [System.Linq.Enumerable:Distinct[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]] mov gword ptr [ebp-5CH], eax mov ecx, 0xD1FFAB1E mov edx, 0x48A call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-58H], ecx mov ecx, gword ptr [ebp-5CH] mov gword ptr [ebp-60H], ecx mov ecx, gword ptr [ebp-58H] mov gword ptr [ebp-64H], ecx cmp gword ptr [ebp-58H], 0 jne SHORT G_M000_IG07 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-7CH], eax mov ecx, 0xD1FFAB1E mov edx, 0x48A call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-ACH], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-ACH] mov ecx, gword ptr [ebp-7CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x48A call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-7CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-7CH] mov gword ptr [ebp-64H], ecx G_M000_IG07: push 0xD1FFAB1E mov ecx, gword ptr [ebp-60H] mov edx, gword ptr [ebp-64H] call [System.Linq.Enumerable:OrderBy[System.__Canon,int](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,int]):System.Linq.IOrderedEnumerable`1[System.__Canon]] mov gword ptr [ebp-6CH], eax mov ecx, 0xD1FFAB1E mov edx, 0x48A call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-68H], ecx mov ecx, gword ptr [ebp-6CH] mov gword ptr [ebp-70H], ecx mov ecx, gword ptr [ebp-68H] mov gword ptr [ebp-74H], ecx cmp gword ptr [ebp-68H], 0 jne SHORT G_M000_IG08 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-78H], eax mov ecx, 0xD1FFAB1E mov edx, 0x48A call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-B0H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-B0H] mov ecx, gword ptr [ebp-78H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x48A call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-78H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-78H] mov gword ptr [ebp-74H], ecx G_M000_IG08: push 0xD1FFAB1E mov ecx, gword ptr [ebp-70H] mov edx, gword ptr [ebp-74H] call [System.Linq.Enumerable:ThenBy[System.__Canon,System.__Canon](System.Linq.IOrderedEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):System.Linq.IOrderedEnumerable`1[System.__Canon]] mov gword ptr [ebp-B4H], eax mov ecx, gword ptr [ebp-B4H] mov edx, 0xD1FFAB1E call [System.Linq.Enumerable:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon[]] G_M000_IG09: mov esp, ebp pop ebp ret ; Total bytes of code 1197 298: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper:GetThisTypeCharacteristicsCore(System.Type) [Tier0, IL size=260, code size=1197] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 299: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 300: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:Select[System.__Canon,System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 148 vxorps xmm4, xmm4, xmm4 mov eax, -96 vmovdqu xmmword ptr [ebp+eax-14H], xmm4 vmovdqu xmmword ptr [ebp+eax-04H], xmm4 vmovdqu xmmword ptr [ebp+eax+0CH], xmm4 add eax, 48 jne SHORT -5 instr mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: cmp gword ptr [ebp-0CH], 0 jne SHORT G_M000_IG04 mov ecx, 15 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-2CH], ecx jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-2CH], eax G_M000_IG07: mov ecx, dword ptr [ebp-2CH] mov edx, gword ptr [ebp-08H] call [CORINFO_HELP_ISINSTANCEOFCLASS] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-10H], 0 je G_M000_IG15 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG09 G_M000_IG08: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-68H], ecx jmp SHORT G_M000_IG10 G_M000_IG09: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-68H], eax G_M000_IG10: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-78H], ecx mov ecx, dword ptr [ebp-78H] cmp dword ptr [ecx+08H], 56 jle SHORT G_M000_IG13 G_M000_IG11: mov ecx, dword ptr [ebp-78H] cmp dword ptr [ecx+38H], 0 je SHORT G_M000_IG13 G_M000_IG12: mov ecx, dword ptr [ebp-78H] mov ecx, dword ptr [ecx+38H] mov dword ptr [ebp-6CH], ecx jmp SHORT G_M000_IG14 G_M000_IG13: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-6CH], eax G_M000_IG14: push dword ptr [ebp-6CH] mov ecx, gword ptr [ebp-10H] mov edx, dword ptr [ebp-68H] call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-70H], eax mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-0CH] mov eax, dword ptr [ebp-70H] call eax mov gword ptr [ebp-74H], eax jmp G_M000_IG58 G_M000_IG15: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG17 G_M000_IG16: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-30H], ecx jmp SHORT G_M000_IG18 G_M000_IG17: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-30H], eax G_M000_IG18: mov ecx, dword ptr [ebp-30H] mov edx, gword ptr [ebp-08H] call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-14H], eax cmp gword ptr [ebp-14H], 0 je G_M000_IG46 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-7CH], ecx mov ecx, dword ptr [ebp-7CH] cmp dword ptr [ecx+08H], 32 jle SHORT G_M000_IG21 G_M000_IG19: mov ecx, dword ptr [ebp-7CH] cmp dword ptr [ecx+20H], 0 je SHORT G_M000_IG21 G_M000_IG20: mov ecx, dword ptr [ebp-7CH] mov ecx, dword ptr [ecx+20H] mov dword ptr [ebp-44H], ecx jmp SHORT G_M000_IG22 G_M000_IG21: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-44H], eax G_M000_IG22: mov ecx, dword ptr [ebp-44H] mov edx, gword ptr [ebp-08H] call [CORINFO_HELP_ISINSTANCEOFARRAY] mov gword ptr [ebp-1CH], eax cmp gword ptr [ebp-1CH], 0 je G_M000_IG32 mov ecx, gword ptr [ebp-1CH] cmp dword ptr [ecx+04H], 0 je SHORT G_M000_IG27 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-80H], ecx mov ecx, dword ptr [ebp-80H] cmp dword ptr [ecx+08H], 52 jle SHORT G_M000_IG25 G_M000_IG23: mov ecx, dword ptr [ebp-80H] cmp dword ptr [ecx+34H], 0 je SHORT G_M000_IG25 G_M000_IG24: mov ecx, dword ptr [ebp-80H] mov ecx, dword ptr [ecx+34H] mov dword ptr [ebp-64H], ecx jmp SHORT G_M000_IG26 G_M000_IG25: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-64H], eax G_M000_IG26: mov ecx, dword ptr [ebp-64H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-60H], eax push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-60H] mov edx, gword ptr [ebp-1CH] call [System.Linq.Enumerable+SelectArrayIterator`2[System.__Canon,System.__Canon]:.ctor(System.__Canon[],System.Func`2[System.__Canon,System.__Canon]):this] mov ecx, gword ptr [ebp-60H] mov gword ptr [ebp-24H], ecx mov ecx, gword ptr [ebp-24H] mov gword ptr [ebp-74H], ecx jmp G_M000_IG58 G_M000_IG27: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-84H], ecx mov ecx, dword ptr [ebp-84H] cmp dword ptr [ecx+08H], 48 jle SHORT G_M000_IG30 G_M000_IG28: mov ecx, dword ptr [ebp-84H] cmp dword ptr [ecx+30H], 0 je SHORT G_M000_IG30 G_M000_IG29: mov ecx, dword ptr [ebp-84H] mov ecx, dword ptr [ecx+30H] mov dword ptr [ebp-5CH], ecx jmp SHORT G_M000_IG31 G_M000_IG30: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-5CH], eax G_M000_IG31: mov ecx, dword ptr [ebp-5CH] call [System.Linq.Enumerable:Empty[System.__Canon]():System.Collections.Generic.IEnumerable`1[System.__Canon]] mov gword ptr [ebp-74H], eax jmp G_M000_IG58 G_M000_IG32: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-88H], ecx mov ecx, dword ptr [ebp-88H] cmp dword ptr [ecx+08H], 36 jle SHORT G_M000_IG35 G_M000_IG33: mov ecx, dword ptr [ebp-88H] cmp dword ptr [ecx+24H], 0 je SHORT G_M000_IG35 G_M000_IG34: mov ecx, dword ptr [ebp-88H] mov ecx, dword ptr [ecx+24H] mov dword ptr [ebp-48H], ecx jmp SHORT G_M000_IG36 G_M000_IG35: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-48H], eax G_M000_IG36: mov ecx, dword ptr [ebp-48H] mov edx, gword ptr [ebp-08H] call [CORINFO_HELP_ISINSTANCEOFCLASS] mov gword ptr [ebp-20H], eax cmp gword ptr [ebp-20H], 0 je SHORT G_M000_IG41 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-8CH], ecx mov ecx, dword ptr [ebp-8CH] cmp dword ptr [ecx+08H], 44 jle SHORT G_M000_IG39 G_M000_IG37: mov ecx, dword ptr [ebp-8CH] cmp dword ptr [ecx+2CH], 0 je SHORT G_M000_IG39 G_M000_IG38: mov ecx, dword ptr [ebp-8CH] mov ecx, dword ptr [ecx+2CH] mov dword ptr [ebp-58H], ecx jmp SHORT G_M000_IG40 G_M000_IG39: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-58H], eax G_M000_IG40: mov ecx, dword ptr [ebp-58H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-54H], eax push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-54H] mov edx, gword ptr [ebp-20H] call [System.Linq.Enumerable+SelectListIterator`2[System.__Canon,System.__Canon]:.ctor(System.Collections.Generic.List`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):this] mov ecx, gword ptr [ebp-54H] mov gword ptr [ebp-74H], ecx jmp G_M000_IG58 G_M000_IG41: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-90H], ecx mov ecx, dword ptr [ebp-90H] cmp dword ptr [ecx+08H], 40 jle SHORT G_M000_IG44 G_M000_IG42: mov ecx, dword ptr [ebp-90H] cmp dword ptr [ecx+28H], 0 je SHORT G_M000_IG44 G_M000_IG43: mov ecx, dword ptr [ebp-90H] mov ecx, dword ptr [ecx+28H] mov dword ptr [ebp-50H], ecx jmp SHORT G_M000_IG45 G_M000_IG44: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-50H], eax G_M000_IG45: mov ecx, dword ptr [ebp-50H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-4CH], eax push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-4CH] mov edx, gword ptr [ebp-14H] call [System.Linq.Enumerable+SelectIListIterator`2[System.__Canon,System.__Canon]:.ctor(System.Collections.Generic.IList`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):this] mov ecx, gword ptr [ebp-4CH] mov gword ptr [ebp-74H], ecx jmp G_M000_IG58 G_M000_IG46: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+14H], 0 je SHORT G_M000_IG48 G_M000_IG47: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+14H] mov dword ptr [ebp-34H], ecx jmp SHORT G_M000_IG49 G_M000_IG48: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-34H], eax G_M000_IG49: mov ecx, dword ptr [ebp-34H] mov edx, gword ptr [ebp-08H] call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-18H], eax cmp gword ptr [ebp-18H], 0 je SHORT G_M000_IG54 xor ecx, ecx mov gword ptr [ebp-28H], ecx mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-94H], ecx mov ecx, dword ptr [ebp-94H] cmp dword ptr [ecx+08H], 28 jle SHORT G_M000_IG52 G_M000_IG50: mov ecx, dword ptr [ebp-94H] cmp dword ptr [ecx+1CH], 0 je SHORT G_M000_IG52 G_M000_IG51: mov ecx, dword ptr [ebp-94H] mov ecx, dword ptr [ecx+1CH] mov dword ptr [ebp-40H], ecx jmp SHORT G_M000_IG53 G_M000_IG52: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-40H], eax G_M000_IG53: lea ecx, [ebp-28H] push ecx push dword ptr [ebp-40H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-18H] call [System.Linq.Enumerable:CreateSelectIPartitionIterator[System.__Canon,System.__Canon](System.Func`2[System.__Canon,System.__Canon],System.Linq.IPartition`1[System.__Canon],byref)] cmp gword ptr [ebp-28H], 0 je SHORT G_M000_IG54 mov ecx, gword ptr [ebp-28H] mov gword ptr [ebp-74H], ecx jmp SHORT G_M000_IG58 G_M000_IG54: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+18H], 0 je SHORT G_M000_IG56 G_M000_IG55: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+18H] mov dword ptr [ebp-3CH], ecx jmp SHORT G_M000_IG57 G_M000_IG56: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-3CH], eax G_M000_IG57: mov ecx, dword ptr [ebp-3CH] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-38H], eax push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-38H] mov edx, gword ptr [ebp-08H] call [System.Linq.Enumerable+SelectEnumerableIterator`2[System.__Canon,System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):this] mov eax, gword ptr [ebp-38H] mov gword ptr [ebp-74H], eax G_M000_IG58: mov eax, gword ptr [ebp-74H] G_M000_IG59: mov esp, ebp pop ebp ret 4 ; Total bytes of code 1170 301: JIT compiled System.Linq.Enumerable:Select[System.__Canon,System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]) [Tier0, IL size=146, code size=1170] ; Assembly listing for method System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:Select[System.__Canon](System.Func`2[System.__Canon,System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-18H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, dword ptr [ebp-14H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-08H] mov edx, gword ptr [edx+10H] mov gword ptr [ebp-18H], edx mov edx, gword ptr [ebp-08H] push gword ptr [edx+14H] push gword ptr [ebp-0CH] mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-10H] call [System.Linq.Enumerable+WhereSelectArrayIterator`2[System.__Canon,System.__Canon]:.ctor(System.__Canon[],System.Func`2[System.__Canon,bool],System.Func`2[System.__Canon,System.__Canon]):this] mov eax, gword ptr [ebp-10H] G_M000_IG06: mov esp, ebp pop ebp ret 4 ; Total bytes of code 118 302: JIT compiled System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:Select[System.__Canon](System.Func`2[System.__Canon,System.__Canon]) [Tier0, IL size=19, code size=118] ; Assembly listing for method System.Linq.Enumerable+WhereSelectArrayIterator`2[System.__Canon,System.__Canon]:.ctor(System.__Canon[],System.Func`2[System.__Canon,bool],System.Func`2[System.__Canon,System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable+Iterator`1[System.__Canon]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+10H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+14H] mov eax, gword ptr [ebp+0CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 69 303: JIT compiled System.Linq.Enumerable+WhereSelectArrayIterator`2[System.__Canon,System.__Canon]:.ctor(System.__Canon[],System.Func`2[System.__Canon,bool],System.Func`2[System.__Canon,System.__Canon]) [Tier0, IL size=28, code size=69] ; Assembly listing for method System.Linq.Enumerable:Empty[System.__Canon]():System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 mov dword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], ecx G_M000_IG02: mov ecx, dword ptr [ebp-08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-0CH], eax G_M000_IG05: mov ecx, dword ptr [ebp-0CH] call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov eax, gword ptr [eax] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 68 304: JIT compiled System.Linq.Enumerable:Empty[System.__Canon]() [Tier0, IL size=6, code size=68] ; Assembly listing for method System.Linq.EmptyPartition`1[System.__Canon]:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], ecx G_M000_IG02: mov ecx, dword ptr [ebp-08H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] call [System.Linq.EmptyPartition`1[System.__Canon]:.ctor():this] mov ecx, dword ptr [ebp-08H] call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov ecx, gword ptr [ebp-0CH] mov edx, eax call CORINFO_HELP_ASSIGN_REF_ECX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 59 305: JIT compiled System.Linq.EmptyPartition`1[System.__Canon]:.cctor() [Tier0, IL size=11, code size=59] ; Assembly listing for method System.Linq.EmptyPartition`1[System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 306: JIT compiled System.Linq.EmptyPartition`1[System.__Canon]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:CreateSelectIPartitionIterator[System.__Canon,System.__Canon](System.Func`2[System.__Canon,System.__Canon],System.Linq.IPartition`1[System.__Canon],byref) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 44 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, bword ptr [ebp+0CH] mov bword ptr [ebp-18H], ecx mov ecx, dword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax jne SHORT G_M000_IG09 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+14H], 0 je SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+14H] mov dword ptr [ebp-2CH], ecx jmp SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-2CH], eax G_M000_IG08: mov ecx, dword ptr [ebp-2CH] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-28H], eax push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-28H] mov edx, gword ptr [ebp-0CH] call [System.Linq.Enumerable+SelectIPartitionIterator`2[System.__Canon,System.__Canon]:.ctor(System.Linq.IPartition`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):this] mov edx, gword ptr [ebp-28H] mov gword ptr [ebp-10H], edx mov edx, bword ptr [ebp-18H] mov bword ptr [ebp-20H], edx mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-24H], edx jmp SHORT G_M000_IG13 G_M000_IG09: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG11 G_M000_IG10: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG12 G_M000_IG11: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-1CH], eax G_M000_IG12: mov ecx, bword ptr [ebp-18H] mov bword ptr [ebp-20H], ecx mov ecx, dword ptr [ebp-1CH] call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov eax, gword ptr [eax] mov gword ptr [ebp-24H], eax G_M000_IG13: mov edx, bword ptr [ebp-20H] mov ecx, gword ptr [ebp-24H] call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX G_M000_IG14: mov esp, ebp pop ebp ret 8 ; Total bytes of code 268 307: JIT compiled System.Linq.Enumerable:CreateSelectIPartitionIterator[System.__Canon,System.__Canon](System.Func`2[System.__Canon,System.__Canon],System.Linq.IPartition`1[System.__Canon],byref) [Tier0, IL size=27, code size=268] ; Assembly listing for method System.Linq.Enumerable:Concat[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-18H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 4 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: cmp gword ptr [ebp-0CH], 0 jne SHORT G_M000_IG04 mov ecx, 14 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG07: mov ecx, dword ptr [ebp-14H] mov edx, gword ptr [ebp-08H] call [CORINFO_HELP_ISINSTANCEOFCLASS] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-10H], 0 jne SHORT G_M000_IG12 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG09 G_M000_IG08: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG10 G_M000_IG09: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-1CH], eax G_M000_IG10: mov ecx, dword ptr [ebp-1CH] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] call [System.Linq.Enumerable+Concat2Iterator`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon]):this] mov eax, gword ptr [ebp-18H] G_M000_IG11: mov esp, ebp pop ebp ret 4 G_M000_IG12: mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-0CH] mov eax, gword ptr [ebp-10H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+30H] call [eax+08H]System.Linq.Enumerable+ConcatIterator`1[System.__Canon]:Concat(System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Linq.Enumerable+ConcatIterator`1[System.__Canon]:this G_M000_IG13: mov esp, ebp pop ebp ret 4 ; Total bytes of code 223 308: JIT compiled System.Linq.Enumerable:Concat[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon]) [Tier0, IL size=45, code size=223] ; Assembly listing for method System.Linq.Enumerable+Concat2Iterator`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable+ConcatIterator`1[System.__Canon]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+14H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 55 309: JIT compiled System.Linq.Enumerable+Concat2Iterator`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon]) [Tier0, IL size=21, code size=55] ; Assembly listing for method System.Linq.Enumerable+ConcatIterator`1[System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable+Iterator`1[System.__Canon]:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 310: JIT compiled System.Linq.Enumerable+ConcatIterator`1[System.__Canon]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:Distinct[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: push dword ptr [ebp-10H] mov ecx, gword ptr [ebp-08H] xor edx, edx call [System.Linq.Enumerable:Distinct[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 75 311: JIT compiled System.Linq.Enumerable:Distinct[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]) [Tier0, IL size=8, code size=75] ; Assembly listing for method System.Linq.Enumerable:Distinct[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-10H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG06: mov ecx, dword ptr [ebp-14H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-08H] call [System.Linq.Enumerable+DistinctIterator`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this] mov eax, gword ptr [ebp-10H] G_M000_IG07: mov esp, ebp pop ebp ret 4 ; Total bytes of code 117 312: JIT compiled System.Linq.Enumerable:Distinct[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]) [Tier0, IL size=18, code size=117] ; Assembly listing for method System.Linq.Enumerable+DistinctIterator`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable+Iterator`1[System.__Canon]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+10H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+14H] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 55 313: JIT compiled System.Linq.Enumerable+DistinctIterator`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]) [Tier0, IL size=21, code size=55] ; Assembly listing for method System.Linq.Enumerable:OrderBy[System.__Canon,int](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,int]):System.Linq.IOrderedEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-10H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, dword ptr [ebp-14H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push gword ptr [ebp-0CH] push 0 push 0 push 0 mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-08H] call [System.Linq.OrderedEnumerable`2[System.__Canon,int]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,int],System.Collections.Generic.IComparer`1[int],bool,System.Linq.OrderedEnumerable`1[System.__Canon]):this] mov eax, gword ptr [ebp-10H] G_M000_IG06: mov esp, ebp pop ebp ret 4 ; Total bytes of code 106 314: JIT compiled System.Linq.Enumerable:OrderBy[System.__Canon,int](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,int]) [Tier0, IL size=11, code size=106] ; Assembly listing for method System.Linq.OrderedEnumerable`2[System.__Canon,int]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,int],System.Collections.Generic.IComparer`1[int],bool,System.Linq.OrderedEnumerable`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Linq.OrderedEnumerable`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this] cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: cmp gword ptr [ebp+14H], 0 jne SHORT G_M000_IG04 mov ecx, 9 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG04: mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov gword ptr [ebp-0CH], eax mov eax, gword ptr [ebp+10H] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp+10H], 0 jne SHORT G_M000_IG05 call [System.Collections.Generic.Comparer`1[int]:get_Default():System.Collections.Generic.Comparer`1[int]] mov gword ptr [ebp-10H], eax G_M000_IG05: mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+10H] mov eax, gword ptr [ebp-10H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+0CH] mov byte ptr [eax+14H], dl G_M000_IG06: mov esp, ebp pop ebp ret 16 ; Total bytes of code 150 315: JIT compiled System.Linq.OrderedEnumerable`2[System.__Canon,int]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,int],System.Collections.Generic.IComparer`1[int],bool,System.Linq.OrderedEnumerable`1[System.__Canon]) [Tier0, IL size=67, code size=150] ; Assembly listing for method System.Linq.OrderedEnumerable`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 39 316: JIT compiled System.Linq.OrderedEnumerable`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]) [Tier0, IL size=14, code size=39] ; Assembly listing for method System.Linq.Enumerable:ThenBy[System.__Canon,System.__Canon](System.Linq.IOrderedEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):System.Linq.IOrderedEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG06: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG09 G_M000_IG08: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG09: push dword ptr [ebp-14H] mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-18H], eax push 0 push 0 mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] mov eax, dword ptr [ebp-18H] call eax G_M000_IG10: mov esp, ebp pop ebp ret 4 ; Total bytes of code 157 317: JIT compiled System.Linq.Enumerable:ThenBy[System.__Canon,System.__Canon](System.Linq.IOrderedEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]) [Tier0, IL size=20, code size=157] ; Assembly listing for method System.Linq.OrderedEnumerable`1[System.__Canon]:System.Linq.IOrderedEnumerable.CreateOrderedEnumerable[System.__Canon](System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IComparer`1[System.__Canon],bool):System.Linq.IOrderedEnumerable`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-18H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, dword ptr [ebp-14H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-08H] mov edx, gword ptr [edx+04H] mov gword ptr [ebp-18H], edx push gword ptr [ebp-0CH] push gword ptr [ebp+10H] mov edx, dword ptr [ebp+0CH] movzx edx, dl push edx push gword ptr [ebp-08H] mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-10H] call [System.Linq.OrderedEnumerable`2[System.__Canon,System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IComparer`1[System.__Canon],bool,System.Linq.OrderedEnumerable`1[System.__Canon]):this] mov eax, gword ptr [ebp-10H] G_M000_IG06: mov esp, ebp pop ebp ret 12 ; Total bytes of code 125 318: JIT compiled System.Linq.OrderedEnumerable`1[System.__Canon]:System.Linq.IOrderedEnumerable.CreateOrderedEnumerable[System.__Canon](System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IComparer`1[System.__Canon],bool) [Tier0, IL size=16, code size=125] ; Assembly listing for method System.Linq.OrderedEnumerable`2[System.__Canon,System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IComparer`1[System.__Canon],bool,System.Linq.OrderedEnumerable`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Linq.OrderedEnumerable`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this] cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: cmp gword ptr [ebp+14H], 0 jne SHORT G_M000_IG04 mov ecx, 9 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG04: mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] mov ecx, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-04H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp+10H] mov gword ptr [ebp-10H], edx cmp gword ptr [ebp+10H], 0 jne SHORT G_M000_IG08 mov edx, gword ptr [ebp-04H] mov edx, dword ptr [edx] mov dword ptr [ebp-18H], edx mov ecx, dword ptr [ebp-18H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp-18H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp-18H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-14H], eax G_M000_IG07: mov ecx, dword ptr [ebp-14H] call [System.Collections.Generic.Comparer`1[System.__Canon]:get_Default():System.Collections.Generic.Comparer`1[System.__Canon]] mov gword ptr [ebp-10H], eax G_M000_IG08: mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+10H] mov ecx, gword ptr [ebp-10H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp+0CH] mov byte ptr [ecx+14H], dl G_M000_IG09: mov esp, ebp pop ebp ret 16 ; Total bytes of code 209 319: JIT compiled System.Linq.OrderedEnumerable`2[System.__Canon,System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IComparer`1[System.__Canon],bool,System.Linq.OrderedEnumerable`1[System.__Canon]) [Tier0, IL size=67, code size=209] ; Assembly listing for method System.Linq.Enumerable:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon[] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG06: mov ecx, dword ptr [ebp-14H] mov edx, gword ptr [ebp-08H] call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-10H], 0 jne SHORT G_M000_IG11 mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-20H], ecx jmp SHORT G_M000_IG09 G_M000_IG08: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-20H], eax G_M000_IG09: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-20H] call [System.Collections.Generic.EnumerableHelpers:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon[]] G_M000_IG10: mov esp, ebp pop ebp ret G_M000_IG11: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG13 G_M000_IG12: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-18H], ecx jmp SHORT G_M000_IG14 G_M000_IG13: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-18H], eax G_M000_IG14: mov ecx, dword ptr [ebp-18H] mov dword ptr [ebp-1CH], ecx mov ecx, gword ptr [ebp-10H] mov eax, dword ptr [ebp-1CH] nop call [eax] G_M000_IG15: mov esp, ebp pop ebp ret ; Total bytes of code 221 320: JIT compiled System.Linq.Enumerable:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]) [Tier0, IL size=34, code size=221] ; Assembly listing for method System.Linq.OrderedEnumerable`1[System.__Canon]:ToArray():System.__Canon[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 64 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-3CH], xmm4 vmovdqu xmmword ptr [ebp-2CH], xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 mov gword ptr [ebp-0CH], ecx G_M000_IG02: mov ecx, gword ptr [ebp-0CH] mov ecx, dword ptr [ecx] mov dword ptr [ebp-40H], ecx mov ecx, dword ptr [ebp-40H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov edx, dword ptr [ebp-40H] mov edx, dword ptr [edx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+08H] mov dword ptr [ebp-20H], edx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-40H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-20H], eax G_M000_IG05: mov edx, gword ptr [ebp-0CH] mov edx, gword ptr [edx+04H] mov gword ptr [ebp-3CH], edx push dword ptr [ebp-20H] mov edx, gword ptr [ebp-3CH] lea ecx, [ebp-14H] call [System.Linq.Buffer`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this] mov eax, dword ptr [ebp-10H] mov dword ptr [ebp-18H], eax cmp dword ptr [ebp-18H], 0 jne SHORT G_M000_IG07 mov eax, gword ptr [ebp-14H] G_M000_IG06: lea esp, [ebp-08H] pop esi pop edi pop ebp ret G_M000_IG07: mov ecx, gword ptr [ebp-0CH] mov ecx, dword ptr [ecx] mov dword ptr [ebp-44H], ecx mov ecx, dword ptr [ebp-44H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG09 G_M000_IG08: mov ecx, dword ptr [ebp-44H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-24H], ecx jmp SHORT G_M000_IG10 G_M000_IG09: mov ecx, dword ptr [ebp-44H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-24H], eax G_M000_IG10: mov ecx, dword ptr [ebp-24H] mov edx, dword ptr [ebp-18H] call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [ebp-1CH], eax mov ecx, gword ptr [ebp-0CH] mov ecx, dword ptr [ecx] mov dword ptr [ebp-48H], ecx mov ecx, dword ptr [ebp-48H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG12 G_M000_IG11: mov ecx, dword ptr [ebp-48H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-28H], ecx jmp SHORT G_M000_IG13 G_M000_IG12: mov ecx, dword ptr [ebp-48H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-28H], eax G_M000_IG13: lea edi, bword ptr [ebp-30H] lea esi, bword ptr [ebp-14H] movsd movsd push dword ptr [ebp-28H] lea ecx, [ebp-38H] mov edx, gword ptr [ebp-1CH] call [System.Span`1[System.__Canon]:op_Implicit(System.__Canon[]):System.Span`1[System.__Canon]] push dword ptr [ebp-2CH] push gword ptr [ebp-30H] push dword ptr [ebp-34H] push bword ptr [ebp-38H] mov ecx, gword ptr [ebp-0CH] call [System.Linq.OrderedEnumerable`1[System.__Canon]:Fill(System.Linq.Buffer`1[System.__Canon],System.Span`1[System.__Canon]):this] mov eax, gword ptr [ebp-1CH] G_M000_IG14: lea esp, [ebp-08H] pop esi pop edi pop ebp ret ; Total bytes of code 306 321: JIT compiled System.Linq.OrderedEnumerable`1[System.__Canon]:ToArray() [Tier0, IL size=52, code size=306] ; Assembly listing for method System.Linq.Buffer`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 44 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-28H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov bword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-18H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-18H], eax G_M000_IG05: mov ecx, dword ptr [ebp-18H] mov edx, gword ptr [ebp-0CH] call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-10H], 0 je SHORT G_M000_IG11 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-2CH], ecx mov ecx, dword ptr [ebp-2CH] cmp dword ptr [ecx+04H], 16 jle SHORT G_M000_IG08 G_M000_IG06: mov ecx, dword ptr [ebp-2CH] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp-2CH] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-20H], ecx jmp SHORT G_M000_IG09 G_M000_IG08: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-20H], eax G_M000_IG09: mov ecx, dword ptr [ebp-20H] mov dword ptr [ebp-24H], ecx mov ecx, gword ptr [ebp-10H] mov eax, dword ptr [ebp-24H] nop call [eax] mov gword ptr [ebp-14H], eax mov edx, bword ptr [ebp-08H] mov ecx, gword ptr [ebp-14H] call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-14H] mov ecx, dword ptr [ecx+04H] mov edx, bword ptr [ebp-08H] mov dword ptr [edx+04H], ecx G_M000_IG10: mov esp, ebp pop ebp ret 4 G_M000_IG11: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG13 G_M000_IG12: mov edx, dword ptr [ebp+08H] mov edx, dword ptr [edx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+0CH] mov dword ptr [ebp-1CH], edx jmp SHORT G_M000_IG14 G_M000_IG13: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-1CH], eax G_M000_IG14: mov edx, bword ptr [ebp-08H] cmp byte ptr [edx], dl mov edx, bword ptr [ebp-08H] add edx, 4 mov bword ptr [ebp-28H], edx push dword ptr [ebp-1CH] mov edx, bword ptr [ebp-28H] mov ecx, gword ptr [ebp-0CH] call [System.Collections.Generic.EnumerableHelpers:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],byref):System.__Canon[]] mov edx, bword ptr [ebp-08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX G_M000_IG15: mov esp, ebp pop ebp ret 4 ; Total bytes of code 290 322: JIT compiled System.Linq.Buffer`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]) [Tier0, IL size=53, code size=290] ; Assembly listing for method System.Linq.Enumerable+DistinctIterator`1[System.__Canon]:ToArray():System.__Canon[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-18H], ecx mov ecx, dword ptr [ebp-18H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-18H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-18H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-0CH], eax G_M000_IG05: mov ecx, dword ptr [ebp-0CH] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+10H] mov gword ptr [ebp-14H], edx mov edx, gword ptr [ebp-04H] push gword ptr [edx+14H] mov edx, gword ptr [ebp-14H] mov ecx, gword ptr [ebp-08H] call [System.Collections.Generic.HashSet`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this] mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-1CH], ecx mov ecx, dword ptr [ebp-1CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp-1CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp-1CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-10H], eax G_M000_IG08: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [System.Linq.Enumerable:HashSetToArray[System.__Canon](System.Collections.Generic.HashSet`1[System.__Canon]):System.__Canon[]] G_M000_IG09: mov esp, ebp pop ebp ret ; Total bytes of code 183 323: JIT compiled System.Linq.Enumerable+DistinctIterator`1[System.__Canon]:ToArray() [Tier0, IL size=23, code size=183] ; Assembly listing for method System.Linq.Enumerable+ConcatIterator`1[System.__Canon]:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx G_M000_IG02: cmp dword ptr [esi+0CH], 1 jne SHORT G_M000_IG07 G_M000_IG03: mov edi, dword ptr [esi] mov ecx, edi mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx+04H] mov ebx, dword ptr [edx+08H] test ebx, ebx je SHORT G_M000_IG05 G_M000_IG04: jmp SHORT G_M000_IG06 G_M000_IG05: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov ebx, eax G_M000_IG06: mov ecx, esi xor edx, edx mov eax, dword ptr [edi+30H] call [eax+04H]System.Linq.Enumerable+ConcatIterator`1[System.__Canon]:GetEnumerable(int):System.Collections.Generic.IEnumerable`1[System.__Canon]:this mov ecx, eax mov eax, ebx nop call [eax] lea edx, bword ptr [esi+10H] call CORINFO_HELP_ASSIGN_REF_EAX mov dword ptr [esi+0CH], 2 G_M000_IG07: cmp dword ptr [esi+0CH], 1 jle G_M000_IG18 G_M000_IG08: mov ecx, gword ptr [esi+10H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG12 mov edx, dword ptr [esi+0CH] lea ecx, [edx+01H] mov dword ptr [esi+0CH], ecx dec edx mov ecx, esi mov edi, dword ptr [esi] mov eax, dword ptr [edi+30H] call [eax+04H]System.Linq.Enumerable+ConcatIterator`1[System.__Canon]:GetEnumerable(int):System.Collections.Generic.IEnumerable`1[System.__Canon]:this mov ebx, eax test ebx, ebx je SHORT G_M000_IG17 mov ecx, gword ptr [esi+10H] call [System.IDisposable:Dispose():this] mov ecx, dword ptr [edi+20H] mov ecx, dword ptr [ecx+04H] mov eax, dword ptr [ecx+08H] test eax, eax je SHORT G_M000_IG10 G_M000_IG09: jmp SHORT G_M000_IG11 G_M000_IG10: mov ecx, edi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG11: mov ecx, ebx nop call [eax] lea edx, bword ptr [esi+10H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG08 G_M000_IG12: mov edi, dword ptr [esi] mov ecx, dword ptr [edi+20H] mov ecx, dword ptr [ecx+04H] mov eax, dword ptr [ecx+0CH] test eax, eax je SHORT G_M000_IG14 G_M000_IG13: jmp SHORT G_M000_IG15 G_M000_IG14: mov ecx, edi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG15: mov ecx, gword ptr [esi+10H] nop call [eax] lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, 1 G_M000_IG16: pop ebx pop esi pop edi pop ebp ret G_M000_IG17: mov ecx, esi mov eax, dword ptr [edi+28H] call [eax+18H]System.Linq.Enumerable+Iterator`1[System.__Canon]:Dispose():this G_M000_IG18: xor eax, eax G_M000_IG19: pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 251 324: JIT compiled System.Linq.Enumerable+ConcatIterator`1[System.__Canon]:MoveNext() [Tier-0 switched to FullOpts, IL size=137, code size=251] ; Assembly listing for method System.Linq.Enumerable+Concat2Iterator`1[System.__Canon]:GetEnumerable(int):System.Collections.Generic.IEnumerable`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: cmp dword ptr [ebp-08H], 0 je SHORT G_M000_IG03 cmp dword ptr [ebp-08H], 1 je SHORT G_M000_IG04 jmp SHORT G_M000_IG05 G_M000_IG03: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+14H] mov gword ptr [ebp-0CH], eax jmp SHORT G_M000_IG06 G_M000_IG04: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+18H] mov gword ptr [ebp-0CH], eax jmp SHORT G_M000_IG06 G_M000_IG05: xor eax, eax mov gword ptr [ebp-0CH], eax G_M000_IG06: mov eax, gword ptr [ebp-0CH] G_M000_IG07: mov esp, ebp pop ebp ret ; Total bytes of code 65 325: JIT compiled System.Linq.Enumerable+Concat2Iterator`1[System.__Canon]:GetEnumerable(int) [Tier0, IL size=31, code size=65] ; Assembly listing for method System.Linq.Enumerable+WhereSelectArrayIterator`2[System.__Canon,System.__Canon]:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 16 mov esi, ecx G_M000_IG02: mov edi, dword ptr [esi+0CH] dec edi mov ebx, gword ptr [esi+10H] mov gword ptr [ebp-18H], ebx mov eax, dword ptr [ebx+04H] mov dword ptr [ebp-14H], eax cmp eax, edi jbe SHORT G_M000_IG04 G_M000_IG03: cmp edi, eax jae SHORT G_M000_IG09 mov edi, gword ptr [ebx+4*edi+08H] mov ecx, dword ptr [esi+0CH] lea edx, [ecx+01H] mov dword ptr [esi+0CH], edx mov dword ptr [ebp-10H], ecx mov ecx, gword ptr [esi+14H] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ecx+04H] mov edx, edi mov ebx, gword ptr [ebp-1CH] call [ebx+0CH]System.Func`2[System.__Canon,bool]:Invoke(System.__Canon):bool:this test eax, eax jne SHORT G_M000_IG07 mov edi, dword ptr [ebp-14H] mov ebx, dword ptr [ebp-10H] cmp edi, ebx mov eax, edi ja SHORT G_M000_IG06 G_M000_IG04: xor eax, eax mov gword ptr [esi+04H], eax mov dword ptr [esi+0CH], -1 G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG06: mov edi, ebx mov ebx, gword ptr [ebp-18H] jmp SHORT G_M000_IG03 G_M000_IG07: mov eax, gword ptr [esi+18H] mov ecx, gword ptr [eax+04H] mov edx, edi call [eax+0CH]System.Func`2[System.__Canon,System.__Canon]:Invoke(System.__Canon):System.__Canon:this lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, 1 G_M000_IG08: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG09: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 149 326: JIT compiled System.Linq.Enumerable+WhereSelectArrayIterator`2[System.__Canon,System.__Canon]:MoveNext() [Tier-0 switched to FullOpts, IL size=92, code size=149] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:b__8_0(System.Reflection.FieldInfo):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+30H] call [eax+0CH]System.Reflection.FieldInfo:get_FieldType():System.Type:this mov ecx, eax call [BenchmarkDotNet.Characteristics.CharacteristicHelper:IsCharacteristicSubclass(System.Type):bool] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 38 327: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:b__8_0(System.Reflection.FieldInfo) [Tier0, IL size=12, code size=38] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper:IsCharacteristicSubclass(System.Type):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Reflection.IntrospectionExtensions:GetTypeInfo(System.Type):System.Reflection.TypeInfo] mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+60H] call [eax+0CH]System.Type:IsSubclassOf(System.Type):bool:this G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 49 328: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper:IsCharacteristicSubclass(System.Type) [Tier0, IL size=22, code size=49] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:b__8_1(System.Reflection.FieldInfo):BenchmarkDotNet.Characteristics.Characteristic:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] xor edx, edx mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+34H] call [eax]System.Reflection.FieldInfo:GetValue(System.Object):System.Object:this mov gword ptr [ebp-0CH], eax mov edx, gword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_CHKCASTCLASS] mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-10H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicHelper:AssertHasValue(System.Reflection.MemberInfo,BenchmarkDotNet.Characteristics.Characteristic):BenchmarkDotNet.Characteristics.Characteristic] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 71 329: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:b__8_1(System.Reflection.FieldInfo) [Tier0, IL size=19, code size=71] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper:AssertHasValue(System.Reflection.MemberInfo,BenchmarkDotNet.Characteristics.Characteristic):BenchmarkDotNet.Characteristics.Characteristic ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 76 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-4CH], xmm4 vmovdqu xmmword ptr [ebp-3CH], xmm4 vmovdqu xmmword ptr [ebp-2CH], xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: cmp gword ptr [ebp-04H], 0 jne SHORT G_M000_IG03 xor ecx, ecx mov gword ptr [ebp-24H], ecx jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+1CH]System.Reflection.MemberInfo:get_DeclaringType():System.Type:this mov gword ptr [ebp-24H], eax G_M000_IG04: cmp gword ptr [ebp-24H], 0 jne SHORT G_M000_IG06 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-2CH], eax mov ecx, 0x14766 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-30H], eax mov edx, gword ptr [ebp-30H] mov ecx, gword ptr [ebp-2CH] call [System.NullReferenceException:.ctor(System.String):this] mov ecx, gword ptr [ebp-2CH] call CORINFO_HELP_THROW G_M000_IG06: cmp gword ptr [ebp-08H], 0 jne G_M000_IG09 G_M000_IG07: push 2 lea ecx, [ebp-20H] mov edx, 22 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] mov ecx, 0x14782 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-34H], eax mov edx, gword ptr [ebp-34H] lea ecx, [ebp-20H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+1CH]System.Reflection.MemberInfo:get_DeclaringType():System.Type:this mov gword ptr [ebp-38H], eax mov ecx, gword ptr [ebp-38H] mov eax, gword ptr [ebp-38H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+18H]System.Reflection.MemberInfo:get_Name():System.String:this mov gword ptr [ebp-3CH], eax mov edx, gword ptr [ebp-3CH] lea ecx, [ebp-20H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this] mov ecx, 0x3F3 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-40H], eax mov edx, gword ptr [ebp-40H] lea ecx, [ebp-20H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+18H]System.Reflection.MemberInfo:get_Name():System.String:this mov gword ptr [ebp-44H], eax mov edx, gword ptr [ebp-44H] lea ecx, [ebp-20H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this] mov ecx, 0x1479E mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-48H], eax mov edx, gword ptr [ebp-48H] lea ecx, [ebp-20H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-28H], eax lea ecx, [ebp-20H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] mov gword ptr [ebp-4CH], eax mov edx, gword ptr [ebp-4CH] mov ecx, gword ptr [ebp-28H] call [System.ArgumentException:.ctor(System.String):this] mov ecx, gword ptr [ebp-28H] G_M000_IG08: call CORINFO_HELP_THROW G_M000_IG09: mov eax, gword ptr [ebp-08H] G_M000_IG10: mov esp, ebp pop ebp ret ; Total bytes of code 371 330: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper:AssertHasValue(System.Reflection.MemberInfo,BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=126, code size=371] ; Assembly listing for method System.Linq.EmptyPartition`1[System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 14 331: JIT compiled System.Linq.EmptyPartition`1[System.__Canon]:GetEnumerator() [Tier0, IL size=2, code size=14] ; Assembly listing for method System.Linq.EmptyPartition`1[System.__Canon]:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 13 332: JIT compiled System.Linq.EmptyPartition`1[System.__Canon]:MoveNext() [Tier0, IL size=2, code size=13] ; Assembly listing for method System.Linq.Enumerable+ConcatIterator`1[System.__Canon]:Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] cmp gword ptr [ecx+10H], 0 je SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+10H] call [System.IDisposable:Dispose():this] mov ecx, gword ptr [ebp-04H] xor eax, eax mov gword ptr [ecx+10H], eax G_M000_IG03: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable+Iterator`1[System.__Canon]:Dispose():this] G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 49 333: JIT compiled System.Linq.Enumerable+ConcatIterator`1[System.__Canon]:Dispose() [Tier0, IL size=33, code size=49] ; Assembly listing for method System.Linq.EmptyPartition`1[System.__Canon]:System.IDisposable.Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov esp, ebp pop ebp ret ; Total bytes of code 11 334: JIT compiled System.Linq.EmptyPartition`1[System.__Canon]:System.IDisposable.Dispose() [Tier0, IL size=1, code size=11] ; Assembly listing for method System.Linq.Enumerable:HashSetToArray[System.__Canon](System.Collections.Generic.HashSet`1[System.__Canon]):System.__Canon[] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.HashSet`1[System.__Canon]:get_Count():int:this] mov dword ptr [ebp-18H], eax mov edx, dword ptr [ebp-18H] mov ecx, dword ptr [ebp-14H] call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-10H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.HashSet`1[System.__Canon]:CopyTo(System.__Canon[]):this] mov eax, gword ptr [ebp-10H] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 111 335: JIT compiled System.Linq.Enumerable:HashSetToArray[System.__Canon](System.Collections.Generic.HashSet`1[System.__Canon]) [Tier0, IL size=21, code size=111] ; Assembly listing for method System.Linq.OrderedEnumerable`1[System.__Canon]:Fill(System.Linq.Buffer`1[System.__Canon],System.Span`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx push eax G_M000_IG02: xor edx, edx mov eax, dword ptr [ecx] mov eax, dword ptr [eax+2CH] call [eax+14H]System.Linq.OrderedEnumerable`1[System.__Canon]:GetEnumerableSorter(System.Linq.EnumerableSorter`1[System.__Canon]):System.Linq.EnumerableSorter`1[System.__Canon]:this mov ecx, eax push dword ptr [ebp+14H] mov esi, gword ptr [ebp+10H] mov gword ptr [ebp-10H], esi mov edx, esi cmp dword ptr [ecx], ecx call [System.Linq.EnumerableSorter`1[System.__Canon]:Sort(System.__Canon[],int):int[]:this] xor ecx, ecx mov edi, dword ptr [ebp+0CH] test edi, edi jle SHORT G_M000_IG04 align [0 bytes for IG03] G_M000_IG03: mov edx, bword ptr [ebp+08H] lea edx, bword ptr [edx+4*ecx] mov ebx, esi cmp ecx, dword ptr [eax+04H] jae SHORT G_M000_IG05 mov esi, dword ptr [eax+4*ecx+08H] cmp esi, dword ptr [ebx+04H] jae SHORT G_M000_IG05 mov esi, gword ptr [ebx+4*esi+08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_ESI inc ecx cmp ecx, edi mov esi, gword ptr [ebp-10H] jl SHORT G_M000_IG03 G_M000_IG04: pop ecx pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG05: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 100 336: JIT compiled System.Linq.OrderedEnumerable`1[System.__Canon]:Fill(System.Linq.Buffer`1[System.__Canon],System.Span`1[System.__Canon]) [Tier-0 switched to FullOpts, IL size=54, code size=100] ; Assembly listing for method System.Linq.OrderedEnumerable`2[System.__Canon,System.__Canon]:GetEnumerableSorter(System.Linq.EnumerableSorter`1[System.__Canon]):System.Linq.EnumerableSorter`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 vmovdqu xmmword ptr [ebp-18H], xmm4 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+10H] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ecx+04H], 0xD1FFAB1E jne SHORT G_M000_IG06 mov ecx, 0xD1FFAB1E call [System.Collections.Generic.Comparer`1[System.__Canon]:get_Default():System.Collections.Generic.Comparer`1[System.__Canon]] cmp eax, gword ptr [ebp-0CH] jne SHORT G_M000_IG06 mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-2CH], ecx mov ecx, dword ptr [ebp-2CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ecx+14H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov eax, dword ptr [ebp-2CH] mov eax, dword ptr [eax+20H] mov eax, dword ptr [eax+04H] mov eax, dword ptr [eax+14H] mov dword ptr [ebp-1CH], eax jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-2CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-1CH], eax G_M000_IG05: call [System.StringComparer:get_CurrentCulture():System.StringComparer] mov gword ptr [ebp-20H], eax mov edx, gword ptr [ebp-20H] mov ecx, dword ptr [ebp-1CH] call [CORINFO_HELP_CHKCASTANY] mov gword ptr [ebp-0CH], eax G_M000_IG06: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-30H], ecx mov ecx, dword ptr [ebp-30H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp-30H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-18H], ecx jmp SHORT G_M000_IG09 G_M000_IG08: mov ecx, dword ptr [ebp-30H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-18H], eax G_M000_IG09: mov ecx, dword ptr [ebp-18H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+0CH] mov gword ptr [ebp-24H], edx push gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] movzx edx, byte ptr [edx+14H] push edx push gword ptr [ebp-08H] mov edx, gword ptr [ebp-24H] mov ecx, gword ptr [ebp-14H] call [System.Linq.EnumerableSorter`2[System.__Canon,System.__Canon]:.ctor(System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IComparer`1[System.__Canon],bool,System.Linq.EnumerableSorter`1[System.__Canon]):this] mov ecx, gword ptr [ebp-14H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-04H] cmp gword ptr [ecx+08H], 0 je SHORT G_M000_IG10 mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] mov gword ptr [ebp-28H], ecx mov ecx, gword ptr [ebp-28H] mov edx, gword ptr [ebp-10H] mov eax, gword ptr [ebp-28H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+2CH] call [eax+14H]System.Linq.OrderedEnumerable`1[System.__Canon]:GetEnumerableSorter(System.Linq.EnumerableSorter`1[System.__Canon]):System.Linq.EnumerableSorter`1[System.__Canon]:this mov gword ptr [ebp-10H], eax G_M000_IG10: mov eax, gword ptr [ebp-10H] G_M000_IG11: mov esp, ebp pop ebp ret ; Total bytes of code 304 337: JIT compiled System.Linq.OrderedEnumerable`2[System.__Canon,System.__Canon]:GetEnumerableSorter(System.Linq.EnumerableSorter`1[System.__Canon]) [Tier0, IL size=96, code size=304] ; Assembly listing for method System.Linq.EnumerableSorter`2[System.__Canon,System.__Canon]:.ctor(System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IComparer`1[System.__Canon],bool,System.Linq.EnumerableSorter`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.EnumerableSorter`1[System.__Canon]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp+10H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] mov eax, dword ptr [ebp+0CH] mov byte ptr [edx+14H], al mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 12 ; Total bytes of code 78 338: JIT compiled System.Linq.EnumerableSorter`2[System.__Canon,System.__Canon]:.ctor(System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IComparer`1[System.__Canon],bool,System.Linq.EnumerableSorter`1[System.__Canon]) [Tier0, IL size=36, code size=78] ; Assembly listing for method System.Linq.EnumerableSorter`1[System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 339: JIT compiled System.Linq.EnumerableSorter`1[System.__Canon]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.OrderedEnumerable`2[System.__Canon,int]:GetEnumerableSorter(System.Linq.EnumerableSorter`1[System.__Canon]):System.Linq.EnumerableSorter`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-20H], xmm4 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+10H] mov gword ptr [ebp-0CH], ecx G_M000_IG03: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-24H], ecx mov ecx, dword ptr [ebp-24H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-24H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-18H], ecx jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp-24H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-18H], eax G_M000_IG06: mov ecx, dword ptr [ebp-18H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+0CH] mov gword ptr [ebp-1CH], edx push gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] movzx edx, byte ptr [edx+14H] push edx push gword ptr [ebp-08H] mov edx, gword ptr [ebp-1CH] mov ecx, gword ptr [ebp-14H] call [System.Linq.EnumerableSorter`2[System.__Canon,int]:.ctor(System.Func`2[System.__Canon,int],System.Collections.Generic.IComparer`1[int],bool,System.Linq.EnumerableSorter`1[System.__Canon]):this] mov ecx, gword ptr [ebp-14H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-04H] cmp gword ptr [ecx+08H], 0 je SHORT G_M000_IG07 mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] mov gword ptr [ebp-20H], ecx mov ecx, gword ptr [ebp-20H] mov edx, gword ptr [ebp-10H] mov eax, gword ptr [ebp-20H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+2CH] call [eax+14H]System.Linq.OrderedEnumerable`1[System.__Canon]:GetEnumerableSorter(System.Linq.EnumerableSorter`1[System.__Canon]):System.Linq.EnumerableSorter`1[System.__Canon]:this mov gword ptr [ebp-10H], eax G_M000_IG07: mov eax, gword ptr [ebp-10H] G_M000_IG08: mov esp, ebp pop ebp ret ; Total bytes of code 191 340: JIT compiled System.Linq.OrderedEnumerable`2[System.__Canon,int]:GetEnumerableSorter(System.Linq.EnumerableSorter`1[System.__Canon]) [Tier0, IL size=96, code size=191] ; Assembly listing for method System.Linq.EnumerableSorter`2[System.__Canon,int]:.ctor(System.Func`2[System.__Canon,int],System.Collections.Generic.IComparer`1[int],bool,System.Linq.EnumerableSorter`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.EnumerableSorter`1[System.__Canon]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp+10H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] mov eax, dword ptr [ebp+0CH] mov byte ptr [edx+14H], al mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 12 ; Total bytes of code 78 341: JIT compiled System.Linq.EnumerableSorter`2[System.__Canon,int]:.ctor(System.Func`2[System.__Canon,int],System.Collections.Generic.IComparer`1[int],bool,System.Linq.EnumerableSorter`1[System.__Canon]) [Tier0, IL size=36, code size=78] ; Assembly listing for method System.Linq.EnumerableSorter`1[System.__Canon]:Sort(System.__Canon[],int):int[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Linq.EnumerableSorter`1[System.__Canon]:ComputeMap(System.__Canon[],int):int[]:this] mov gword ptr [ebp-0CH], eax push 0 mov ecx, dword ptr [ebp+08H] dec ecx push ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-0CH] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+18H]System.Linq.EnumerableSorter`1[System.__Canon]:QuickSort(int[],int,int):this mov eax, gword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 68 342: JIT compiled System.Linq.EnumerableSorter`1[System.__Canon]:Sort(System.__Canon[],int) [Tier0, IL size=22, code size=68] ; Assembly listing for method System.Linq.EnumerableSorter`1[System.__Canon]:ComputeMap(System.__Canon[],int):int[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push esi mov esi, dword ptr [ebp+08H] G_M000_IG02: push esi mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+10H]System.Linq.EnumerableSorter`1[System.__Canon]:ComputeKeys(System.__Canon[],int):this mov edx, esi mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC xor edx, edx mov ecx, dword ptr [eax+04H] test ecx, ecx jle SHORT G_M000_IG04 align [0 bytes for IG03] G_M000_IG03: mov dword ptr [eax+4*edx+08H], edx inc edx cmp ecx, edx jg SHORT G_M000_IG03 G_M000_IG04: pop esi pop ebp ret 4 ; Total bytes of code 51 343: JIT compiled System.Linq.EnumerableSorter`1[System.__Canon]:ComputeMap(System.__Canon[],int) [Tier-0 switched to FullOpts, IL size=35, code size=51] ; Assembly listing for method System.Linq.EnumerableSorter`2[System.__Canon,int]:ComputeKeys(System.__Canon[],int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 12 mov edi, ecx mov esi, edx G_M000_IG02: mov ebx, gword ptr [edi+04H] mov ecx, dword ptr [edi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx+04H] mov edx, dword ptr [edx+0CH] test edx, edx je SHORT G_M000_IG04 G_M000_IG03: jmp SHORT G_M000_IG05 G_M000_IG04: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax G_M000_IG05: mov ecx, edx call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE cmp gword ptr [eax], ebx je G_M000_IG13 G_M000_IG06: mov edx, dword ptr [ebp+08H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-18H], eax xor ecx, ecx mov edx, dword ptr [eax+04H] mov dword ptr [ebp-14H], edx test edx, edx jle SHORT G_M000_IG11 test esi, esi je SHORT G_M000_IG09 cmp dword ptr [esi+04H], edx jl SHORT G_M000_IG10 G_M000_IG07: mov dword ptr [ebp-10H], ecx mov edx, gword ptr [esi+4*ecx+08H] mov ecx, gword ptr [ebx+04H] call [ebx+0CH]System.Func`2[System.__Canon,int]:Invoke(System.__Canon):int:this mov ecx, gword ptr [ebp-18H] mov edx, dword ptr [ebp-10H] mov dword ptr [ecx+4*edx+08H], eax inc edx mov eax, dword ptr [ebp-14H] cmp eax, edx mov ecx, edx jg SHORT G_M000_IG07 G_M000_IG08: jmp SHORT G_M000_IG11 G_M000_IG09: G_M000_IG10: cmp ecx, dword ptr [esi+04H] jae SHORT G_M000_IG21 mov dword ptr [ebp-10H], ecx mov edx, gword ptr [esi+4*ecx+08H] mov ecx, gword ptr [ebx+04H] call [ebx+0CH]System.Func`2[System.__Canon,int]:Invoke(System.__Canon):int:this mov ecx, gword ptr [ebp-18H] mov edx, dword ptr [ebp-10H] mov dword ptr [ecx+4*edx+08H], eax inc edx mov eax, dword ptr [ebp-14H] cmp eax, edx jg SHORT G_M000_IG12 G_M000_IG11: lea edx, bword ptr [edi+10H] mov eax, gword ptr [ebp-18H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG17 G_M000_IG12: mov ecx, edx jmp SHORT G_M000_IG10 G_M000_IG13: mov ecx, esi test ecx, ecx je SHORT G_M000_IG16 G_M000_IG14: mov edx, 0xD1FFAB1E cmp dword ptr [ecx], edx je SHORT G_M000_IG16 G_M000_IG15: mov ecx, edx mov edx, esi call [CORINFO_HELP_CHKCASTARRAY] G_M000_IG16: lea edx, bword ptr [edi+10H] call CORINFO_HELP_ASSIGN_REF_ESI G_M000_IG17: mov ecx, gword ptr [edi+0CH] test ecx, ecx jne SHORT G_M000_IG19 G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG19: push dword ptr [ebp+08H] mov edx, esi mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+10H]System.Linq.EnumerableSorter`1[System.__Canon]:ComputeKeys(System.__Canon[],int):this G_M000_IG20: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG21: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 264 344: JIT compiled System.Linq.EnumerableSorter`2[System.__Canon,int]:ComputeKeys(System.__Canon[],int) [Tier-0 switched to FullOpts, IL size=96, code size=264] ; Assembly listing for method System.Linq.EnumerableSorter`1[System.__Canon]:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], ecx G_M000_IG02: mov ecx, dword ptr [ebp-08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-0CH], eax G_M000_IG05: mov ecx, dword ptr [ebp-08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp-08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-14H], eax G_M000_IG08: mov ecx, dword ptr [ebp-14H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, dword ptr [ebp-0CH] call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov edx, gword ptr [eax] mov gword ptr [ebp-18H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-10H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, dword ptr [ebp-08H] call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov ecx, gword ptr [ebp-10H] mov edx, eax call CORINFO_HELP_ASSIGN_REF_ECX G_M000_IG09: mov esp, ebp pop ebp ret ; Total bytes of code 175 345: JIT compiled System.Linq.EnumerableSorter`1[System.__Canon]:.cctor() [Tier0, IL size=22, code size=175] ; Assembly listing for method System.Linq.EnumerableSorter`1+<>c[System.__Canon]:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], ecx G_M000_IG02: mov ecx, dword ptr [ebp-08H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] call [System.Linq.EnumerableSorter`1+<>c[System.__Canon]:.ctor():this] mov ecx, dword ptr [ebp-08H] call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov ecx, gword ptr [ebp-0CH] mov edx, eax call CORINFO_HELP_ASSIGN_REF_ECX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 59 346: JIT compiled System.Linq.EnumerableSorter`1+<>c[System.__Canon]:.cctor() [Tier0, IL size=11, code size=59] ; Assembly listing for method System.Linq.EnumerableSorter`1+<>c[System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 347: JIT compiled System.Linq.EnumerableSorter`1+<>c[System.__Canon]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:b__8_4(BenchmarkDotNet.Characteristics.Characteristic):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_HasChildCharacteristics():bool:this] test eax, eax jne SHORT G_M000_IG04 xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov eax, 1 G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 42 348: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:b__8_4(BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=12, code size=42] ; Assembly listing for method System.Linq.EnumerableSorter`2[System.__Canon,System.__Canon]:ComputeKeys(System.__Canon[],int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 12 mov edi, ecx mov esi, edx G_M000_IG02: mov ebx, gword ptr [edi+04H] mov ecx, dword ptr [edi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx+04H] mov edx, dword ptr [edx+0CH] test edx, edx je SHORT G_M000_IG04 G_M000_IG03: jmp SHORT G_M000_IG05 G_M000_IG04: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax G_M000_IG05: mov ecx, edx call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE cmp gword ptr [eax], ebx je G_M000_IG16 G_M000_IG06: mov ecx, dword ptr [edi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx+04H] mov eax, dword ptr [edx+10H] test eax, eax je SHORT G_M000_IG08 G_M000_IG07: jmp SHORT G_M000_IG09 G_M000_IG08: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG09: mov ecx, eax mov edx, dword ptr [ebp+08H] call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [ebp-18H], eax xor ecx, ecx mov edx, dword ptr [eax+04H] mov dword ptr [ebp-14H], edx test edx, edx jle SHORT G_M000_IG14 test esi, esi je SHORT G_M000_IG12 cmp dword ptr [esi+04H], edx jl SHORT G_M000_IG13 G_M000_IG10: mov dword ptr [ebp-10H], ecx mov edx, gword ptr [esi+4*ecx+08H] mov ecx, gword ptr [ebx+04H] call [ebx+0CH]System.Func`2[System.__Canon,System.__Canon]:Invoke(System.__Canon):System.__Canon:this push eax mov edx, dword ptr [ebp-10H] mov ecx, gword ptr [ebp-18H] call CORINFO_HELP_ARRADDR_ST mov edx, dword ptr [ebp-10H] inc edx mov eax, dword ptr [ebp-14H] cmp eax, edx mov ecx, edx jg SHORT G_M000_IG10 G_M000_IG11: jmp SHORT G_M000_IG14 G_M000_IG12: G_M000_IG13: cmp ecx, dword ptr [esi+04H] jae G_M000_IG27 mov dword ptr [ebp-10H], ecx mov edx, gword ptr [esi+4*ecx+08H] mov ecx, gword ptr [ebx+04H] call [ebx+0CH]System.Func`2[System.__Canon,System.__Canon]:Invoke(System.__Canon):System.__Canon:this push eax mov edx, dword ptr [ebp-10H] mov ecx, gword ptr [ebp-18H] call CORINFO_HELP_ARRADDR_ST mov edx, dword ptr [ebp-10H] inc edx mov ecx, dword ptr [ebp-14H] cmp ecx, edx jg SHORT G_M000_IG15 G_M000_IG14: lea edx, bword ptr [edi+10H] mov eax, gword ptr [ebp-18H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG23 G_M000_IG15: mov ecx, edx jmp SHORT G_M000_IG13 G_M000_IG16: mov ecx, dword ptr [edi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx+04H] mov eax, dword ptr [edx+10H] test eax, eax je SHORT G_M000_IG18 G_M000_IG17: mov ecx, eax jmp SHORT G_M000_IG19 G_M000_IG18: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov ecx, eax G_M000_IG19: mov edx, ecx mov eax, esi test eax, eax je SHORT G_M000_IG22 G_M000_IG20: cmp dword ptr [eax], ecx je SHORT G_M000_IG22 G_M000_IG21: mov ecx, edx mov edx, esi call [CORINFO_HELP_CHKCASTARRAY] G_M000_IG22: lea edx, bword ptr [edi+10H] call CORINFO_HELP_ASSIGN_REF_ESI G_M000_IG23: mov ecx, gword ptr [edi+0CH] test ecx, ecx jne SHORT G_M000_IG25 G_M000_IG24: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG25: push dword ptr [ebp+08H] mov edx, esi mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+10H]System.Linq.EnumerableSorter`1[System.__Canon]:ComputeKeys(System.__Canon[],int):this G_M000_IG26: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG27: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 330 349: JIT compiled System.Linq.EnumerableSorter`2[System.__Canon,System.__Canon]:ComputeKeys(System.__Canon[],int) [Tier-0 switched to FullOpts, IL size=96, code size=330] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:b__8_5(BenchmarkDotNet.Characteristics.Characteristic):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_Id():System.String:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 27 350: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:b__8_5(BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=7, code size=27] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:get_Id():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 351: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:get_Id() [Tier0, IL size=7, code size=17] ; Assembly listing for method System.Linq.EnumerableSorter`2[System.__Canon,int]:QuickSort(int[],int,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 44 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 vmovdqu xmmword ptr [ebp-18H], xmm4 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-04H] cmp gword ptr [eax+0CH], 0 jne SHORT G_M000_IG04 mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+08H] mov gword ptr [ebp-20H], eax call [System.Collections.Generic.Comparer`1[int]:get_Default():System.Collections.Generic.Comparer`1[int]] cmp eax, gword ptr [ebp-20H] jne SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] movzx ecx, byte ptr [ecx+14H] test ecx, ecx jne SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-28H], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-28H] mov edx, gword ptr [ebp-04H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, gword ptr [ebp-28H] mov gword ptr [ebp-0CH], ecx jmp G_M000_IG08 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-24H], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-24H] mov edx, gword ptr [ebp-04H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, gword ptr [ebp-24H] mov gword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG08 G_M000_IG04: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-2CH], ecx mov ecx, dword ptr [ebp-2CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp-2CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp-2CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-10H], eax G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp-10H] call CORINFO_HELP_VIRTUAL_FUNC_PTR push eax mov edx, gword ptr [ebp-04H] mov ecx, gword ptr [ebp-14H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov eax, gword ptr [ebp-14H] mov gword ptr [ebp-0CH], eax G_M000_IG08: xor ecx, ecx mov dword ptr [ebp-1CH], ecx mov dword ptr [ebp-18H], ecx push dword ptr [ebp+0CH] mov ecx, dword ptr [ebp+08H] sub ecx, dword ptr [ebp+0CH] inc ecx push ecx lea ecx, [ebp-1CH] mov edx, gword ptr [ebp-08H] call [System.Span`1[int]:.ctor(int[],int,int):this] push dword ptr [ebp-18H] push bword ptr [ebp-1CH] mov ecx, gword ptr [ebp-0CH] call [System.MemoryExtensions:Sort[int](System.Span`1[int],System.Comparison`1[int])] G_M000_IG09: mov esp, ebp pop ebp ret 8 ; Total bytes of code 301 352: JIT compiled System.Linq.EnumerableSorter`2[System.__Canon,int]:QuickSort(int[],int,int) [Tier0, IL size=109, code size=301] ; Assembly listing for method System.Linq.EnumerableSorter`2[System.__Canon,int]:CompareAnyKeys(int,int):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-1CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+10H] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] mov gword ptr [ebp-14H], ecx mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp-08H] cmp edx, dword ptr [ecx+04H] jae G_M000_IG10 lea ecx, bword ptr [ecx+4*edx+08H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-18H], ecx mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+08H] cmp edx, dword ptr [ecx+04H] jae G_M000_IG10 lea ecx, bword ptr [ecx+4*edx+08H] push dword ptr [ecx] mov ecx, gword ptr [ebp-14H] mov edx, dword ptr [ebp-18H] call [System.Collections.Generic.IComparer`1[int]:Compare(int,int):int:this] mov dword ptr [ebp-10H], eax cmp dword ptr [ebp-10H], 0 jne SHORT G_M000_IG06 mov eax, gword ptr [ebp-04H] cmp gword ptr [eax+0CH], 0 jne SHORT G_M000_IG04 mov eax, dword ptr [ebp-08H] sub eax, dword ptr [ebp+08H] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+0CH] mov gword ptr [ebp-1CH], ecx push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-1CH] mov edx, dword ptr [ebp-08H] mov eax, gword ptr [ebp-1CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+14H]System.Linq.EnumerableSorter`1[System.__Canon]:CompareAnyKeys(int,int):int:this G_M000_IG05: mov esp, ebp pop ebp ret 4 G_M000_IG06: mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+14H] xor edx, edx cmp dword ptr [ebp-10H], 0 setg dl cmp eax, edx jne SHORT G_M000_IG08 mov eax, -1 G_M000_IG07: mov esp, ebp pop ebp ret 4 G_M000_IG08: mov eax, 1 G_M000_IG09: mov esp, ebp pop ebp ret 4 G_M000_IG10: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 211 353: JIT compiled System.Linq.EnumerableSorter`2[System.__Canon,int]:CompareAnyKeys(int,int) [Tier0, IL size=78, code size=211] ; Assembly listing for method System.Linq.EnumerableSorter`2[System.__Canon,System.__Canon]:CompareAnyKeys(int,int):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 40 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-20H], eax mov dword ptr [ebp-24H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+10H] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-28H], ecx mov ecx, dword ptr [ebp-28H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ecx+14H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-28H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] mov ecx, dword ptr [ecx+14H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-28H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, dword ptr [ebp-14H] mov dword ptr [ebp-18H], ecx mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp-08H] cmp edx, dword ptr [ecx+04H] jae G_M000_IG13 lea ecx, bword ptr [ecx+4*edx+08H] mov ecx, gword ptr [ecx] mov gword ptr [ebp-20H], ecx mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+08H] cmp edx, dword ptr [ecx+04H] jae G_M000_IG13 lea ecx, bword ptr [ecx+4*edx+08H] push gword ptr [ecx] mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-20H] mov eax, dword ptr [ebp-18H] nop call [eax] mov dword ptr [ebp-10H], eax cmp dword ptr [ebp-10H], 0 jne SHORT G_M000_IG09 mov eax, gword ptr [ebp-04H] cmp gword ptr [eax+0CH], 0 jne SHORT G_M000_IG07 mov eax, dword ptr [ebp-08H] sub eax, dword ptr [ebp+08H] G_M000_IG06: mov esp, ebp pop ebp ret 4 G_M000_IG07: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+0CH] mov gword ptr [ebp-24H], ecx push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-24H] mov edx, dword ptr [ebp-08H] mov eax, gword ptr [ebp-24H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+14H]System.Linq.EnumerableSorter`1[System.__Canon]:CompareAnyKeys(int,int):int:this G_M000_IG08: mov esp, ebp pop ebp ret 4 G_M000_IG09: mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+14H] xor edx, edx cmp dword ptr [ebp-10H], 0 setg dl cmp eax, edx jne SHORT G_M000_IG11 mov eax, -1 G_M000_IG10: mov esp, ebp pop ebp ret 4 G_M000_IG11: mov eax, 1 G_M000_IG12: mov esp, ebp pop ebp ret 4 G_M000_IG13: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 278 354: JIT compiled System.Linq.EnumerableSorter`2[System.__Canon,System.__Canon]:CompareAnyKeys(int,int) [Tier0, IL size=78, code size=278] ; Assembly listing for method System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:TryAddInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[System.__Canon,System.__Canon],System.__Canon,System.Nullable`1[int],System.__Canon,bool,bool,byref):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 1 inlinees with PGO data; 7 single block inlinees; 4 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 84 xor eax, eax mov dword ptr [ebp-48H], eax mov dword ptr [ebp-4CH], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-40H], ecx mov gword ptr [ebp-44H], edx G_M000_IG02: mov edx, gword ptr [ebp-44H] mov edx, gword ptr [edx+0CH] mov gword ptr [ebp-48H], edx movzx edx, byte ptr [ebp+18H] mov ebx, dword ptr [ebp+1CH] test dl, dl jne SHORT G_M000_IG08 mov edx, gword ptr [ebp-40H] cmp byte ptr [edx+0DH], 0 jne SHORT G_M000_IG06 mov edx, gword ptr [ebp-40H] mov ebx, dword ptr [edx] mov edx, dword ptr [ebx+20H] mov edx, dword ptr [edx] mov eax, dword ptr [edx+20H] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG05: mov ecx, gword ptr [ebp-48H] mov edx, gword ptr [ebp+20H] nop call [eax] jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, gword ptr [ebp+20H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+0CH]System.Object:GetHashCode():int:this G_M000_IG07: jmp SHORT G_M000_IG09 G_M000_IG08: mov eax, ebx G_M000_IG09: mov dword ptr [ebp-24H], eax G_M000_IG10: mov eax, gword ptr [ebp-44H] mov ebx, gword ptr [eax+14H] mov gword ptr [ebp-4CH], ebx mov eax, gword ptr [ebp-40H] mov eax, dword ptr [eax] mov dword ptr [ebp-3CH], eax mov eax, gword ptr [ebp-44H] mov eax, gword ptr [eax+10H] mov gword ptr [ebp-58H], eax mov eax, dword ptr [ebp-24H] mov edi, gword ptr [ebp-58H] mov esi, dword ptr [edi+04H] xor edx, edx div edx:eax, esi mov esi, edx mov eax, esi xor edx, edx div edx:eax, dword ptr [ebx+04H] mov dword ptr [ebp-28H], edx lea esi, bword ptr [edi+4*esi+08H] mov bword ptr [ebp-50H], esi xor ebx, ebx mov dword ptr [ebp-2CH], ebx xor eax, eax mov dword ptr [ebp-30H], eax xor edx, edx mov dword ptr [ebp-34H], edx G_M000_IG11: cmp byte ptr [ebp+0CH], 0 je SHORT G_M000_IG12 mov edx, gword ptr [ebp-4CH] mov edx, dword ptr [edx+04H] cmp dword ptr [ebp-28H], edx jae G_M000_IG16 mov edx, gword ptr [ebp-4CH] mov edi, dword ptr [ebp-28H] mov edx, gword ptr [edx+4*edi+08H] mov gword ptr [ebp-5CH], edx cmp byte ptr [ebp-34H], 0 jne SHORT G_M000_IG18 lea edx, [ebp-34H] mov ecx, gword ptr [ebp-5CH] call System.Threading.Monitor:ReliableEnter(System.Object,byref) G_M000_IG12: mov edx, gword ptr [ebp-44H] mov edi, gword ptr [ebp-40H] cmp edx, gword ptr [edi+04H] je G_M000_IG21 mov edx, gword ptr [ebp-40H] mov edx, gword ptr [edx+04H] mov gword ptr [ebp-44H], edx mov edx, gword ptr [ebp-44H] mov edx, gword ptr [edx+0CH] cmp gword ptr [ebp-48H], edx je SHORT G_M000_IG15 mov gword ptr [ebp-48H], edx mov edx, gword ptr [ebp-40H] cmp byte ptr [edx+0DH], 0 jne SHORT G_M000_IG20 mov ebx, dword ptr [ebp-3CH] mov edx, dword ptr [ebx+20H] mov edx, dword ptr [edx] mov eax, dword ptr [edx+20H] test eax, eax je SHORT G_M000_IG19 G_M000_IG13: mov ecx, gword ptr [ebp-48H] mov edx, gword ptr [ebp+20H] nop call [eax] G_M000_IG14: mov dword ptr [ebp-24H], eax G_M000_IG15: mov dword ptr [ebp-1CH], 0 mov dword ptr [ebp-18H], 252 push G_M000_IG37 jmp G_M000_IG39 G_M000_IG16: call CORINFO_HELP_RNGCHKFAIL G_M000_IG17: call CORINFO_HELP_OVERFLOW G_M000_IG18: call [System.Threading.Monitor:ThrowLockTakenException()] int3 G_M000_IG19: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS jmp SHORT G_M000_IG13 G_M000_IG20: mov ecx, gword ptr [ebp+20H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+0CH]System.Object:GetHashCode():int:this jmp SHORT G_M000_IG14 G_M000_IG21: xor edi, edi mov edx, gword ptr [esi] test edx, edx je SHORT G_M000_IG28 G_M000_IG22: mov ebx, dword ptr [ebp-24H] mov gword ptr [ebp-54H], edx cmp ebx, dword ptr [edx+10H] jne SHORT G_M000_IG27 G_M000_IG23: mov ebx, dword ptr [ebp-3CH] mov eax, dword ptr [ebx+20H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+24H] test eax, eax je SHORT G_M000_IG25 G_M000_IG24: jmp SHORT G_M000_IG26 G_M000_IG25: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG26: mov edx, gword ptr [ebp-54H] mov esi, gword ptr [edx+04H] push gword ptr [ebp+20H] mov edx, esi mov ecx, gword ptr [ebp-48H] nop call [eax] test eax, eax mov dword ptr [ebp-3CH], ebx jne G_M000_IG33 G_M000_IG27: inc edi mov edx, gword ptr [ebp-54H] mov edx, gword ptr [edx+0CH] test edx, edx jne SHORT G_M000_IG22 G_M000_IG28: mov ebx, dword ptr [ebp-3CH] mov edx, dword ptr [ebx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+28H] test edx, edx je SHORT G_M000_IG30 G_M000_IG29: jmp SHORT G_M000_IG31 G_M000_IG30: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax G_M000_IG31: mov ecx, edx call CORINFO_HELP_NEWSFAST mov esi, bword ptr [ebp-50H] mov ecx, gword ptr [esi] mov gword ptr [ebp-60H], ecx lea edx, bword ptr [eax+04H] mov ebx, gword ptr [ebp+20H] call CORINFO_HELP_ASSIGN_REF_EBX lea edx, bword ptr [eax+08H] mov ecx, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_ECX lea edx, bword ptr [eax+0CH] mov ecx, gword ptr [ebp-60H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, dword ptr [ebp-24H] mov dword ptr [eax+10H], edx mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov edx, gword ptr [ebp-44H] mov edx, gword ptr [edx+18H] mov ecx, edx mov eax, dword ptr [ecx+04H] cmp dword ptr [ebp-28H], eax jae G_M000_IG16 mov eax, dword ptr [ebp-28H] lea ecx, bword ptr [ecx+4*eax+08H] mov eax, dword ptr [ecx] add eax, 1 jo G_M000_IG17 mov dword ptr [ecx], eax mov edx, dword ptr [edx+04H] cmp dword ptr [ebp-28H], edx jae G_M000_IG16 mov edx, gword ptr [ebp-40H] cmp eax, dword ptr [edx+08H] jle SHORT G_M000_IG32 mov dword ptr [ebp-2CH], 1 G_M000_IG32: cmp edi, 100 jbe SHORT G_M000_IG36 mov edx, gword ptr [ebp-48H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] mov edx, 1 test eax, eax mov eax, edx cmove eax, dword ptr [ebp-30H] mov dword ptr [ebp-30H], eax jmp SHORT G_M000_IG36 G_M000_IG33: cmp byte ptr [ebp+10H], 0 je SHORT G_M000_IG34 mov edx, gword ptr [ebp-54H] lea edx, bword ptr [edx+08H] mov esi, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_ESI mov edx, bword ptr [ebp+08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_ESI jmp SHORT G_M000_IG35 G_M000_IG34: mov edx, gword ptr [ebp-54H] mov eax, gword ptr [edx+08H] mov edx, bword ptr [ebp+08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov esi, gword ptr [ebp+14H] G_M000_IG35: xor eax, eax mov dword ptr [ebp-38H], eax mov dword ptr [ebp-1CH], 0 mov dword ptr [ebp-18H], 252 push G_M000_IG38 jmp SHORT G_M000_IG39 G_M000_IG36: cmp byte ptr [ebp-34H], 0 je SHORT G_M000_IG41 mov ecx, gword ptr [ebp-4CH] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ebp-28H], ecx jae G_M000_IG46 mov ecx, gword ptr [ebp-4CH] mov edx, dword ptr [ebp-28H] mov ecx, gword ptr [ecx+4*edx+08H] call System.Threading.Monitor:Exit(System.Object) jmp SHORT G_M000_IG41 G_M000_IG37: mov dword ptr [ebp-18H], 0 jmp G_M000_IG10 G_M000_IG38: mov dword ptr [ebp-18H], 0 jmp SHORT G_M000_IG44 G_M000_IG39: cmp byte ptr [ebp-34H], 0 je SHORT G_M000_IG40 mov ecx, gword ptr [ebp-4CH] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ebp-28H], ecx jae SHORT G_M000_IG46 mov ecx, gword ptr [ebp-4CH] mov eax, dword ptr [ebp-28H] mov ecx, gword ptr [ecx+4*eax+08H] call System.Threading.Monitor:Exit(System.Object) G_M000_IG40: pop eax jmp eax G_M000_IG41: mov eax, dword ptr [ebp-2CH] mov ebx, dword ptr [ebp-30H] mov ecx, eax or ecx, ebx je SHORT G_M000_IG42 push eax push ebx mov ecx, gword ptr [ebp-40H] mov edx, gword ptr [ebp-44H] call [System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:GrowTable(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[System.__Canon,System.__Canon],bool,bool):this] G_M000_IG42: mov edx, bword ptr [ebp+08H] mov esi, gword ptr [ebp+14H] call CORINFO_HELP_CHECKED_ASSIGN_REF_ESI mov eax, 1 G_M000_IG43: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 28 G_M000_IG44: mov eax, dword ptr [ebp-38H] G_M000_IG45: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 28 G_M000_IG46: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 908 355: JIT compiled System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:TryAddInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[System.__Canon,System.__Canon],System.__Canon,System.Nullable`1[int],System.__Canon,bool,bool,byref) [Tier-0 switched to FullOpts, IL size=478, code size=908] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:b__13_0(BenchmarkDotNet.Characteristics.Characteristic):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_HasChildCharacteristics():bool:this] test eax, eax sete al movzx eax, al G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 35 356: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:b__13_0(BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=10, code size=35] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:b__13_1(BenchmarkDotNet.Characteristics.Characteristic):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_HasChildCharacteristics():bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 27 357: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:b__13_1(BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=7, code size=27] ; Assembly listing for method BenchmarkDotNet.Jobs.GcMode:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: pop ebp ret ; Total bytes of code 239 358: JIT compiled BenchmarkDotNet.Jobs.GcMode:.cctor() [Tier0, IL size=136, code size=239] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 359: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-14H], eax xor ecx, ecx mov dword ptr [ebp-10H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax push gword ptr [ebp-14H] push 0 push dword ptr [ebp-10H] push 0 push 0 mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool):this] mov eax, gword ptr [ebp-18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 91 360: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String) [Tier0, IL size=29, code size=91] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov gword ptr [ebp-10H], 0xD1FFAB1E mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+10H] mov dword ptr [ecx+04H], edx push gword ptr [ebp-10H] push gword ptr [ebp+18H] push gword ptr [ebp-0CH] mov ecx, dword ptr [ebp+0CH] movzx ecx, cl push ecx mov ecx, dword ptr [ebp+08H] movzx ecx, cl push ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+10H] mov dword ptr [eax+1CH], edx G_M000_IG03: mov esp, ebp pop ebp ret 20 ; Total bytes of code 113 361: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool) [Tier0, IL size=45, code size=113] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 362: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 363: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Jobs.AccuracyMode:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[double](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[double]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[Perfolizer.Horology.TimeInterval](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[Perfolizer.Horology.TimeInterval](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: pop ebp ret ; Total bytes of code 187 364: JIT compiled BenchmarkDotNet.Jobs.AccuracyMode:.cctor() [Tier0, IL size=106, code size=187] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[double](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[double] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,double](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[double]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 365: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[double](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,double](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[double] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vzeroupper xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-18H], eax vxorps xmm0, xmm0, xmm0 vmovsd qword ptr [ebp-14H], xmm0 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-1CH], eax push gword ptr [ebp-18H] push 0 vmovsd xmm0, qword ptr [ebp-14H] sub esp, 8 vmovsd qword ptr [esp], xmm0 push 0 push 0 mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic`1[double]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,double,double],double,bool,bool):this] mov eax, gword ptr [ebp-1CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 111 366: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,double](System.String) [Tier0, IL size=29, code size=111] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[double]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,double,double],double,bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov gword ptr [ebp-10H], 0xD1FFAB1E mov ecx, gword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp+10H] vmovsd qword ptr [ecx+04H], xmm0 push gword ptr [ebp-10H] push gword ptr [ebp+1CH] push gword ptr [ebp-0CH] mov ecx, dword ptr [ebp+0CH] movzx ecx, cl push ecx mov ecx, dword ptr [ebp+08H] movzx ecx, cl push ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+24H] mov eax, gword ptr [ebp+18H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+10H] vmovsd qword ptr [eax+1CH], xmm0 G_M000_IG03: mov esp, ebp pop ebp ret 24 ; Total bytes of code 124 367: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[double]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,double,double],double,bool,bool) [Tier0, IL size=45, code size=124] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[Perfolizer.Horology.TimeInterval](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,Perfolizer.Horology.TimeInterval](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 368: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[Perfolizer.Horology.TimeInterval](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,Perfolizer.Horology.TimeInterval](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-18H], eax xor ecx, ecx mov dword ptr [ebp-14H], ecx mov dword ptr [ebp-10H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-1CH], eax push gword ptr [ebp-18H] push 0 push dword ptr [ebp-10H] push dword ptr [ebp-14H] push 0 push 0 mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,Perfolizer.Horology.TimeInterval,Perfolizer.Horology.TimeInterval],Perfolizer.Horology.TimeInterval,bool,bool):this] mov eax, gword ptr [ebp-1CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 100 369: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,Perfolizer.Horology.TimeInterval](System.String) [Tier0, IL size=29, code size=100] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,Perfolizer.Horology.TimeInterval,Perfolizer.Horology.TimeInterval],Perfolizer.Horology.TimeInterval,bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push 0xD1FFAB1E push gword ptr [ebp+1CH] lea edx, [ebp+10H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_BOX push eax mov edx, dword ptr [ebp+0CH] movzx edx, dl push edx mov edx, dword ptr [ebp+08H] movzx edx, dl push edx mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+18H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+10H] mov dword ptr [eax+1CH], edx mov edx, dword ptr [ebp+14H] mov dword ptr [eax+20H], edx G_M000_IG03: mov esp, ebp pop ebp ret 24 ; Total bytes of code 95 370: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,Perfolizer.Horology.TimeInterval,Perfolizer.Horology.TimeInterval],Perfolizer.Horology.TimeInterval,bool,bool) [Tier0, IL size=45, code size=95] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 371: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-14H], eax xor ecx, ecx mov dword ptr [ebp-10H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax push gword ptr [ebp-14H] push 0 push dword ptr [ebp-10H] push 0 push 0 mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool):this] mov eax, gword ptr [ebp-18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 91 372: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String) [Tier0, IL size=29, code size=91] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov gword ptr [ebp-10H], 0xD1FFAB1E mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+10H] mov dword ptr [ecx+04H], edx push gword ptr [ebp-10H] push gword ptr [ebp+18H] push gword ptr [ebp-0CH] mov ecx, dword ptr [ebp+0CH] movzx ecx, cl push ecx mov ecx, dword ptr [ebp+08H] movzx ecx, cl push ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+10H] mov dword ptr [eax+1CH], edx G_M000_IG03: mov esp, ebp pop ebp ret 20 ; Total bytes of code 113 373: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool) [Tier0, IL size=45, code size=113] ; Assembly listing for method BenchmarkDotNet.Jobs.InfrastructureMode:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, 0xD1FFAB1E mov edx, 164 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Jobs.InfrastructureMode:.ctor(BenchmarkDotNet.Toolchains.IToolchain):this] mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, 0xD1FFAB1E mov edx, 164 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-10H], edx mov edx, gword ptr [ebp-10H] mov ecx, gword ptr [ebp-08H] G_M000_IG03: call [BenchmarkDotNet.Jobs.InfrastructureMode:.ctor(BenchmarkDotNet.Toolchains.IToolchain):this] mov eax, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 304 374: JIT compiled BenchmarkDotNet.Jobs.InfrastructureMode:.cctor() [Tier0, IL size=121, code size=304] ; Assembly listing for method BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitToolchain:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] mov edx, 1 call [BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitToolchain:.ctor(bool):this] mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] xor edx, edx call [BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitToolchain:.ctor(bool):this] mov eax, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 95 375: JIT compiled BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitToolchain:.cctor() [Tier0, IL size=23, code size=95] ; Assembly listing for method BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitToolchain:.ctor(bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 460 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, 0xD1FFAB1E push dword ptr [edx+04H] push dword ptr [edx] mov edx, dword ptr [ebp-08H] movzx edx, dl mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitToolchain:.ctor(System.TimeSpan,bool):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 56 376: JIT compiled BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitToolchain:.ctor(bool) [Tier0, IL size=13, code size=56] ; Assembly listing for method BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitToolchain:.ctor(System.TimeSpan,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitGenerator:.ctor():this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitBuilder:.ctor():this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, dword ptr [ebp-08H] movzx edx, dl mov ecx, gword ptr [ebp-14H] call [BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitExecutor:.ctor(System.TimeSpan,bool):this] push gword ptr [ebp-0CH] push gword ptr [ebp-10H] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Toolchains.Toolchain:.ctor(System.String,BenchmarkDotNet.Toolchains.IGenerator,BenchmarkDotNet.Toolchains.IBuilder,BenchmarkDotNet.Toolchains.IExecutor):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 130 377: JIT compiled BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitToolchain:.ctor(System.TimeSpan,bool) [Tier0, IL size=29, code size=130] ; Assembly listing for method BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitGenerator:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 378: JIT compiled BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitGenerator:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitBuilder:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 379: JIT compiled BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitBuilder:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitExecutor:.ctor(System.TimeSpan,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov eax, 0xD1FFAB1E push dword ptr [eax+04H] push dword ptr [eax] call [System.TimeSpan:op_Equality(System.TimeSpan,System.TimeSpan):bool] test eax, eax je SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E mov edx, 162 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov eax, 0xD1FFAB1E mov edx, dword ptr [eax] mov dword ptr [ebp+08H], edx mov edx, dword ptr [eax+04H] mov dword ptr [ebp+0CH], edx G_M000_IG03: mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+08H] mov dword ptr [eax+0CH], edx mov edx, dword ptr [ebp+0CH] mov dword ptr [eax+10H], edx mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov byte ptr [eax+04H], dl G_M000_IG04: mov esp, ebp pop ebp ret 8 ; Total bytes of code 108 380: JIT compiled BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitExecutor:.ctor(System.TimeSpan,bool) [Tier0, IL size=41, code size=108] ; Assembly listing for method BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitExecutor:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [@RWD00] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, 0xD1FFAB1E call [System.TimeSpan:FromDays(double):System.TimeSpan] vmovsd xmm0, qword ptr [@RWD08] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, 0xD1FFAB1E call [System.TimeSpan:FromMinutes(double):System.TimeSpan] G_M000_IG03: pop ebp ret RWD00 dq 3FF0000000000000h ; 1 RWD08 dq 4014000000000000h ; 5 ; Total bytes of code 62 381: JIT compiled BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitExecutor:.cctor() [Tier0, IL size=39, code size=62] ; Assembly listing for method BenchmarkDotNet.Toolchains.Toolchain:.ctor(System.String,BenchmarkDotNet.Toolchains.IGenerator,BenchmarkDotNet.Toolchains.IBuilder,BenchmarkDotNet.Toolchains.IExecutor):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp+10H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp+0CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+10H] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 12 ; Total bytes of code 83 382: JIT compiled BenchmarkDotNet.Toolchains.Toolchain:.ctor(System.String,BenchmarkDotNet.Toolchains.IGenerator,BenchmarkDotNet.Toolchains.IBuilder,BenchmarkDotNet.Toolchains.IExecutor) [Tier0, IL size=36, code size=83] ; Assembly listing for method BenchmarkDotNet.Jobs.InfrastructureMode:.ctor(BenchmarkDotNet.Toolchains.IToolchain):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.ctor():this] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Jobs.InfrastructureMode:set_Toolchain(BenchmarkDotNet.Toolchains.IToolchain):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 37 383: JIT compiled BenchmarkDotNet.Jobs.InfrastructureMode:.ctor(BenchmarkDotNet.Toolchains.IToolchain) [Tier0, IL size=14, code size=37] ; Assembly listing for method BenchmarkDotNet.Jobs.InfrastructureMode:set_Toolchain(BenchmarkDotNet.Toolchains.IToolchain):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 291 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 62 384: JIT compiled BenchmarkDotNet.Jobs.InfrastructureMode:set_Toolchain(BenchmarkDotNet.Toolchains.IToolchain) [Tier0, IL size=13, code size=62] ; Assembly listing for method BenchmarkDotNet.Jobs.MetaMode:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateHiddenCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateIgnoreOnApplyCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateHiddenCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: pop ebp ret ; Total bytes of code 83 385: JIT compiled BenchmarkDotNet.Jobs.MetaMode:.cctor() [Tier0, IL size=46, code size=83] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateHiddenCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:CreateHidden[System.__Canon,bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 386: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateHiddenCharacteristic[bool](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:CreateHidden[System.__Canon,bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-14H], eax xor ecx, ecx mov dword ptr [ebp-10H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax push gword ptr [ebp-14H] push 0 push dword ptr [ebp-10H] push 0 push 1 mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic`1[bool]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,bool,bool],bool,bool,bool):this] mov eax, gword ptr [ebp-18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 91 387: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:CreateHidden[System.__Canon,bool](System.String) [Tier0, IL size=29, code size=91] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateIgnoreOnApplyCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:CreateIgnoreOnApply[System.__Canon,bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 388: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateIgnoreOnApplyCharacteristic[bool](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:CreateIgnoreOnApply[System.__Canon,bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-14H], eax xor ecx, ecx mov dword ptr [ebp-10H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax push gword ptr [ebp-14H] push 0 push dword ptr [ebp-10H] push 1 push 0 mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic`1[bool]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,bool,bool],bool,bool,bool):this] mov eax, gword ptr [ebp-18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 91 389: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:CreateIgnoreOnApply[System.__Canon,bool](System.String) [Tier0, IL size=29, code size=91] ; Assembly listing for method BenchmarkDotNet.Jobs.RunMode:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-14H], xmm4 xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: push 0xD1FFAB1E mov ecx, 0xD1FFAB1E xor edx, edx call [BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String,int):BenchmarkDotNet.Characteristics.Characteristic`1[int]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[long](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[long]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[Perfolizer.Horology.TimeInterval](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E G_M000_IG03: mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Jobs.RunMode:.ctor(System.String):this] mov ecx, gword ptr [ebp-04H] mov edx, 1 cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.RunMode:set_LaunchCount(int):this] mov ecx, gword ptr [ebp-04H] mov edx, 1 cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.RunMode:set_WarmupCount(int):this] mov ecx, gword ptr [ebp-04H] mov edx, 1 cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.RunMode:set_IterationCount(int):this] mov ecx, gword ptr [ebp-04H] mov edx, 1 cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.RunMode:set_RunStrategy(int):this] mov ecx, gword ptr [ebp-04H] mov edx, 1 cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.RunMode:set_UnrollFactor(int):this] mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Jobs.RunMode:.ctor(System.String):this] mov ecx, gword ptr [ebp-08H] mov edx, 1 cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.RunMode:set_LaunchCount(int):this] mov ecx, gword ptr [ebp-08H] mov edx, 3 cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.RunMode:set_WarmupCount(int):this] mov ecx, gword ptr [ebp-08H] mov edx, 3 cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.RunMode:set_IterationCount(int):this] mov ecx, gword ptr [ebp-08H] G_M000_IG04: cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Jobs.RunMode:.ctor(System.String):this] mov ecx, gword ptr [ebp-0CH] mov edx, 2 cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.RunMode:set_LaunchCount(int):this] mov ecx, gword ptr [ebp-0CH] mov edx, 10 cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.RunMode:set_WarmupCount(int):this] mov ecx, gword ptr [ebp-0CH] mov edx, 15 cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.RunMode:set_IterationCount(int):this] mov ecx, gword ptr [ebp-0CH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Jobs.RunMode:.ctor(System.String):this] mov ecx, gword ptr [ebp-10H] mov edx, 3 cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.RunMode:set_LaunchCount(int):this] mov ecx, gword ptr [ebp-10H] mov edx, 15 cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.RunMode:set_WarmupCount(int):this] mov ecx, gword ptr [ebp-10H] mov edx, 100 cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.RunMode:set_IterationCount(int):this] mov ecx, gword ptr [ebp-10H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-14H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Jobs.RunMode:.ctor(System.String):this] mov ecx, gword ptr [ebp-14H] mov edx, 4 cmp dword ptr [ecx], ecx G_M000_IG05: call [BenchmarkDotNet.Jobs.RunMode:set_LaunchCount(int):this] mov ecx, gword ptr [ebp-14H] mov edx, 30 cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.RunMode:set_WarmupCount(int):this] mov ecx, gword ptr [ebp-14H] mov edx, 500 cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.RunMode:set_IterationCount(int):this] mov ecx, gword ptr [ebp-14H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 850 390: JIT compiled BenchmarkDotNet.Jobs.RunMode:.cctor() [Tier0, IL size=410, code size=850] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String,int):BenchmarkDotNet.Characteristics.Characteristic`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-10H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE push eax push 0 push dword ptr [ebp-0CH] push 0 push 0 mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool):this] mov eax, gword ptr [ebp-10H] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 80 391: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String,int) [Tier0, IL size=21, code size=80] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov gword ptr [ebp-10H], 0xD1FFAB1E mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+10H] mov dword ptr [ecx+04H], edx push gword ptr [ebp-10H] push gword ptr [ebp+18H] push gword ptr [ebp-0CH] mov ecx, dword ptr [ebp+0CH] movzx ecx, cl push ecx mov ecx, dword ptr [ebp+08H] movzx ecx, cl push ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+10H] mov dword ptr [eax+1CH], edx G_M000_IG03: mov esp, ebp pop ebp ret 20 ; Total bytes of code 113 392: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool) [Tier0, IL size=45, code size=113] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[long](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[long] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,long](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[long]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 393: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[long](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,long](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[long] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-18H], eax xor ecx, ecx xor eax, eax mov dword ptr [ebp-14H], ecx mov dword ptr [ebp-10H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-1CH], eax push gword ptr [ebp-18H] push 0 push dword ptr [ebp-10H] push dword ptr [ebp-14H] push 0 push 0 mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic`1[long]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,long,long],long,bool,bool):this] mov eax, gword ptr [ebp-1CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 102 394: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,long](System.String) [Tier0, IL size=29, code size=102] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[long]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,long,long],long,bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov gword ptr [ebp-10H], 0xD1FFAB1E mov ecx, gword ptr [ebp-0CH] add ecx, 4 mov bword ptr [ebp-14H], ecx mov ecx, bword ptr [ebp-14H] mov edx, dword ptr [ebp+10H] mov dword ptr [ecx], edx mov ecx, dword ptr [ebp+14H] mov edx, bword ptr [ebp-14H] mov dword ptr [edx+04H], ecx push gword ptr [ebp-10H] push gword ptr [ebp+1CH] push gword ptr [ebp-0CH] mov ecx, dword ptr [ebp+0CH] movzx ecx, cl push ecx mov ecx, dword ptr [ebp+08H] movzx ecx, cl push ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+24H] mov eax, gword ptr [ebp+18H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] add eax, 28 mov bword ptr [ebp-18H], eax mov eax, bword ptr [ebp-18H] mov edx, dword ptr [ebp+10H] mov dword ptr [eax], edx mov eax, dword ptr [ebp+14H] mov edx, bword ptr [ebp-18H] mov dword ptr [edx+04H], eax G_M000_IG03: mov esp, ebp pop ebp ret 24 ; Total bytes of code 153 395: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[long]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,long,long],long,bool,bool) [Tier0, IL size=45, code size=153] ; Assembly listing for method BenchmarkDotNet.Jobs.RunMode:set_LaunchCount(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 300 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx push dword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 62 396: JIT compiled BenchmarkDotNet.Jobs.RunMode:set_LaunchCount(int) [Tier0, IL size=13, code size=62] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 35 397: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int) [Tier0, IL size=9, code size=35] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+08H] mov dword ptr [ecx+04H], edx push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 60 398: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int) [Tier0, IL size=14, code size=60] ; Assembly listing for method BenchmarkDotNet.Jobs.RunMode:set_WarmupCount(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 300 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx push dword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 62 399: JIT compiled BenchmarkDotNet.Jobs.RunMode:set_WarmupCount(int) [Tier0, IL size=13, code size=62] ; Assembly listing for method BenchmarkDotNet.Jobs.RunMode:set_IterationCount(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 300 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx push dword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 62 400: JIT compiled BenchmarkDotNet.Jobs.RunMode:set_IterationCount(int) [Tier0, IL size=13, code size=62] ; Assembly listing for method BenchmarkDotNet.Jobs.RunMode:set_RunStrategy(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 300 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx push dword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 62 401: JIT compiled BenchmarkDotNet.Jobs.RunMode:set_RunStrategy(int) [Tier0, IL size=13, code size=62] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 35 402: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int) [Tier0, IL size=9, code size=35] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+08H] mov dword ptr [ecx+04H], edx push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 60 403: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int) [Tier0, IL size=14, code size=60] ; Assembly listing for method BenchmarkDotNet.Jobs.RunMode:set_UnrollFactor(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 300 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx push dword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 62 404: JIT compiled BenchmarkDotNet.Jobs.RunMode:set_UnrollFactor(int) [Tier0, IL size=13, code size=62] ; Assembly listing for method System.Linq.Enumerable:Intersect[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: push 0 push dword ptr [ebp-10H] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [System.Linq.Enumerable:Intersect[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]] G_M000_IG06: mov esp, ebp pop ebp ret 4 ; Total bytes of code 83 405: JIT compiled System.Linq.Enumerable:Intersect[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon]) [Tier0, IL size=9, code size=83] ; Assembly listing for method System.Linq.Enumerable:Intersect[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 4 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: cmp gword ptr [ebp-0CH], 0 jne SHORT G_M000_IG04 mov ecx, 14 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG07: push gword ptr [ebp+0CH] push dword ptr [ebp-10H] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [System.Linq.Enumerable:IntersectIterator[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]] G_M000_IG08: mov esp, ebp pop ebp ret 8 ; Total bytes of code 118 406: JIT compiled System.Linq.Enumerable:Intersect[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]) [Tier0, IL size=28, code size=118] ; Assembly listing for method System.Linq.Enumerable:IntersectIterator[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-10H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, dword ptr [ebp-14H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] mov edx, -2 call [System.Linq.Enumerable+d__123`1[System.__Canon]:.ctor(int):this] mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+1CH] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp-0CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+14H] mov eax, gword ptr [ebp+0CH] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-10H] G_M000_IG06: mov esp, ebp pop ebp ret 8 ; Total bytes of code 141 407: JIT compiled System.Linq.Enumerable:IntersectIterator[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]) [Tier0, IL size=29, code size=141] ; Assembly listing for method System.Linq.Enumerable+d__123`1[System.__Canon]:.ctor(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov dword ptr [eax+28H], edx call System.Environment:get_CurrentManagedThreadId():int mov edx, gword ptr [ebp-04H] mov dword ptr [edx+2CH], eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 45 408: JIT compiled System.Linq.Enumerable+d__123`1[System.__Canon]:.ctor(int) [Tier0, IL size=25, code size=45] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ApplyCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Characteristics.Characteristic]):BenchmarkDotNet.Characteristics.CharacteristicObject:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 6 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 32 xor eax, eax mov dword ptr [ebp-20H], eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov esi, ecx mov edi, edx G_M000_IG02: mov ecx, esi call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertNotFrozen():this] test edi, edi jne SHORT G_M000_IG05 G_M000_IG03: mov eax, esi G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG05: mov ecx, gword ptr [ebp+08H] call [System.Collections.Generic.IEnumerable`1[System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this] mov gword ptr [ebp-28H], eax G_M000_IG06: mov ecx, eax call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je G_M000_IG14 G_M000_IG07: mov ecx, gword ptr [ebp-28H] call [System.Collections.Generic.IEnumerator`1[System.__Canon]:get_Current():System.__Canon:this] mov ebx, eax mov gword ptr [ebp-24H], edi mov ecx, gword ptr [edi+04H] cmp byte ptr [ecx], cl mov edx, ebx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:FindValue(System.__Canon):byref:this] test eax, eax je G_M000_IG13 G_M000_IG08: mov eax, gword ptr [eax] mov gword ptr [ebp-2CH], eax mov ecx, gword ptr [ebx+08H] call [System.Reflection.IntrospectionExtensions:GetTypeInfo(System.Type):System.Reflection.TypeInfo] mov ecx, eax mov edx, 0xD1FFAB1E mov eax, dword ptr [eax] mov eax, dword ptr [eax+60H] call [eax+0CH]System.Type:IsSubclassOf(System.Type):bool:this test eax, eax je SHORT G_M000_IG12 mov ecx, esi mov edx, ebx call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax jne SHORT G_M000_IG13 push gword ptr [ebp-2CH] mov ecx, ebx mov edx, esi mov edi, dword ptr [ebx] mov edi, dword ptr [edi+28H] call [edi+10H]BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this mov ecx, eax test ecx, ecx je SHORT G_M000_IG11 G_M000_IG09: mov edx, 0xD1FFAB1E cmp dword ptr [ecx], edx je SHORT G_M000_IG11 G_M000_IG10: mov ecx, edx mov edx, eax call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] mov ecx, eax G_M000_IG11: test ecx, ecx je SHORT G_M000_IG12 call System.Object:GetType():System.Type:this mov ecx, eax push 1 xor edx, edx call [System.Activator:CreateInstance(System.Type,bool,bool):System.Object] mov edi, eax mov gword ptr [ebp-2CH], edi G_M000_IG12: push gword ptr [ebp-2CH] mov ecx, esi mov edx, ebx call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValueCore(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] G_M000_IG13: mov ecx, gword ptr [ebp-28H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax mov edi, gword ptr [ebp-24H] jne G_M000_IG07 G_M000_IG14: mov ecx, gword ptr [ebp-28H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG17 G_M000_IG15: cmp gword ptr [ebp-28H], 0 je SHORT G_M000_IG16 mov ecx, gword ptr [ebp-28H] call [System.IDisposable:Dispose():this] G_M000_IG16: pop eax jmp eax G_M000_IG17: mov eax, esi G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 303 409: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ApplyCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Characteristics.Characteristic]) [Tier-0 switched to FullOpts, IL size=129, code size=303] ; Assembly listing for method System.Linq.Enumerable+d__123`1[System.__Canon]:System.Collections.Generic.IEnumerable.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] cmp dword ptr [eax+28H], -2 jne SHORT G_M000_IG03 mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+2CH] mov dword ptr [ebp-10H], eax call System.Environment:get_CurrentManagedThreadId():int cmp eax, dword ptr [ebp-10H] jne SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] xor eax, eax mov dword ptr [ecx+28H], eax mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-08H], ecx jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] xor edx, edx call [System.Linq.Enumerable+d__123`1[System.__Canon]:.ctor(int):this] mov edx, gword ptr [ebp-0CH] mov gword ptr [ebp-08H], edx G_M000_IG04: mov edx, gword ptr [ebp-04H] mov eax, gword ptr [edx+1CH] mov edx, gword ptr [ebp-08H] lea edx, bword ptr [edx+18H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] mov eax, gword ptr [edx+0CH] mov edx, gword ptr [ebp-08H] lea edx, bword ptr [edx+08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] mov eax, gword ptr [edx+14H] mov edx, gword ptr [ebp-08H] lea edx, bword ptr [edx+10H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-08H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 149 410: JIT compiled System.Linq.Enumerable+d__123`1[System.__Canon]:System.Collections.Generic.IEnumerable.GetEnumerator() [Tier0, IL size=79, code size=149] ; Assembly listing for method System.Linq.Enumerable+d__123`1[System.__Canon]:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-1CH], ecx G_M000_IG02: mov ecx, gword ptr [ebp-1CH] mov ecx, dword ptr [ecx+28H] test ecx, ecx je SHORT G_M000_IG04 G_M000_IG03: cmp ecx, 1 je G_M000_IG16 xor eax, eax jmp G_M000_IG22 G_M000_IG04: mov ecx, gword ptr [ebp-1CH] mov dword ptr [ecx+28H], -1 mov ecx, gword ptr [ebp-1CH] mov ecx, dword ptr [ecx] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+08H] test edx, edx je SHORT G_M000_IG06 G_M000_IG05: jmp SHORT G_M000_IG07 G_M000_IG06: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax G_M000_IG07: mov ecx, edx call CORINFO_HELP_NEWSFAST mov esi, eax mov edx, gword ptr [ebp-1CH] mov edx, gword ptr [edx+08H] mov ecx, gword ptr [ebp-1CH] push gword ptr [ecx+10H] mov ecx, esi call [System.Collections.Generic.HashSet`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this] mov edx, gword ptr [ebp-1CH] lea edx, bword ptr [edx+20H] call CORINFO_HELP_ASSIGN_REF_ESI mov ecx, gword ptr [ebp-1CH] mov ecx, dword ptr [ecx] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov eax, dword ptr [edx+0CH] test eax, eax je SHORT G_M000_IG09 G_M000_IG08: jmp SHORT G_M000_IG10 G_M000_IG09: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG10: mov ecx, gword ptr [ebp-1CH] mov ecx, gword ptr [ecx+18H] nop call [eax] mov edx, gword ptr [ebp-1CH] lea edx, bword ptr [edx+24H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG16 G_M000_IG11: mov ecx, gword ptr [ebp-1CH] mov ecx, dword ptr [ecx] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov eax, dword ptr [edx+10H] test eax, eax je SHORT G_M000_IG13 G_M000_IG12: jmp SHORT G_M000_IG14 G_M000_IG13: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG14: mov ecx, gword ptr [ebp-1CH] mov ecx, gword ptr [ecx+24H] nop call [eax] mov esi, eax mov ecx, gword ptr [ebp-1CH] mov ecx, gword ptr [ecx+20H] mov edx, esi cmp dword ptr [ecx], ecx call [System.Collections.Generic.HashSet`1[System.__Canon]:Remove(System.__Canon):bool:this] test eax, eax je SHORT G_M000_IG17 G_M000_IG15: mov edx, gword ptr [ebp-1CH] lea edx, bword ptr [edx+04H] call CORINFO_HELP_ASSIGN_REF_ESI mov ecx, gword ptr [ebp-1CH] mov dword ptr [ecx+28H], 1 mov eax, 1 jmp SHORT G_M000_IG22 G_M000_IG16: mov ecx, gword ptr [ebp-1CH] mov dword ptr [ecx+28H], -3 G_M000_IG17: mov ecx, gword ptr [ebp-1CH] mov ecx, gword ptr [ecx+24H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG11 G_M000_IG18: mov ecx, gword ptr [ebp-1CH] mov dword ptr [ecx+28H], -1 mov ecx, gword ptr [ebp-1CH] cmp gword ptr [ecx+24H], 0 je SHORT G_M000_IG19 mov ecx, gword ptr [ebp-1CH] mov ecx, gword ptr [ecx+24H] call [System.IDisposable:Dispose():this] G_M000_IG19: mov eax, gword ptr [ebp-1CH] xor ecx, ecx mov gword ptr [eax+24H], ecx G_M000_IG20: xor eax, eax jmp SHORT G_M000_IG22 G_M000_IG21: mov ecx, gword ptr [ebp-1CH] call [System.Linq.Enumerable+d__123`1[System.__Canon]:System.IDisposable.Dispose():this] pop eax jmp eax G_M000_IG22: lea esp, [ebp-04H] pop esi pop ebp ret ; Total bytes of code 352 411: JIT compiled System.Linq.Enumerable+d__123`1[System.__Canon]:MoveNext() [Tier-0 switched to FullOpts, IL size=169, code size=352] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject+<>c:b__24_2(BenchmarkDotNet.Characteristics.Characteristic):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_IgnoreOnApply():bool:this] test eax, eax sete al movzx eax, al G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 35 412: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject+<>c:b__24_2(BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=10, code size=35] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:get_IgnoreOnApply():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+14H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 18 413: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:get_IgnoreOnApply() [Tier0, IL size=7, code size=18] ; Assembly listing for method System.Linq.Enumerable+d__123`1[System.__Canon]:System.Collections.Generic.IEnumerator.get_Current():System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 414: JIT compiled System.Linq.Enumerable+d__123`1[System.__Canon]:System.Collections.Generic.IEnumerator.get_Current() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-10H], ecx lea ecx, [ebp-0CH] push ecx mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryGetValue(System.__Canon,byref):bool:this] test eax, eax je SHORT G_M000_IG04 mov eax, gword ptr [ebp-0CH] cmp eax, gword ptr [D1FFAB1EH] setne al movzx eax, al G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: xor eax, eax G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 76 415: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=30, code size=76] ; Assembly listing for method System.Linq.Enumerable+d__123`1[System.__Canon]:System.IDisposable.Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; fully interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-18H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-18H] mov ecx, dword ptr [ecx+28H] mov dword ptr [ebp-1CH], ecx cmp dword ptr [ebp-1CH], -3 je SHORT G_M000_IG03 cmp dword ptr [ebp-1CH], 1 jne SHORT G_M000_IG06 G_M000_IG03: mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG04 jmp SHORT G_M000_IG05 G_M000_IG04: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, gword ptr [ebp-18H] call [System.Linq.Enumerable+d__123`1[System.__Canon]:<>m__Finally1():this] pop eax jmp eax G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 81 416: JIT compiled System.Linq.Enumerable+d__123`1[System.__Canon]:System.IDisposable.Dispose() [Tier0, IL size=27, code size=81] ; Assembly listing for method BenchmarkDotNet.Jobs.Job:get_DisplayInfo():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] xor edx, edx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveId(BenchmarkDotNet.Characteristics.CharacteristicObject,System.String):System.String] mov gword ptr [ebp-08H], eax mov ecx, gword ptr [D1FFAB1EH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_FallbackValue():System.__Canon:this] mov gword ptr [ebp-0CH], eax mov edx, gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-08H] call [System.String:op_Equality(System.String,System.String):bool] test eax, eax jne SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Jobs.Job:get_ResolvedId():System.String:this] mov gword ptr [ebp-10H], eax push gword ptr [ebp-08H] push 0xD1FFAB1E mov ecx, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E call [System.String:Concat(System.String,System.String,System.String,System.String):System.String] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Jobs.Job:get_ResolvedId():System.String:this] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 118 417: JIT compiled BenchmarkDotNet.Jobs.Job:get_DisplayInfo() [Tier0, IL size=56, code size=118] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveId(BenchmarkDotNet.Characteristics.CharacteristicObject,System.String):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] call [System.String:IsNullOrEmpty(System.String):bool] test eax, eax jne SHORT G_M000_IG04 mov ecx, gword ptr [D1FFAB1EH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_FallbackValue():System.__Canon:this] mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-10H] mov ecx, gword ptr [ebp-08H] call [System.String:op_Inequality(System.String,System.String):bool] test eax, eax je SHORT G_M000_IG04 mov eax, gword ptr [ebp-08H] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, 0xD1FFAB1E mov edx, 571 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-14H], ecx mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-14H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+10H]BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:ToPresentation(BenchmarkDotNet.Characteristics.CharacteristicObject):System.String:this mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] cmp dword ptr [ecx+04H], 0 jne SHORT G_M000_IG05 mov ecx, gword ptr [D1FFAB1EH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_FallbackValue():System.__Canon:this] mov gword ptr [ebp-0CH], eax G_M000_IG05: mov eax, gword ptr [ebp-0CH] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 153 418: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveId(BenchmarkDotNet.Characteristics.CharacteristicObject,System.String) [Tier0, IL size=61, code size=153] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DefaultPresenter:.ctor():this] mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter:.ctor():this] mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+FolderPresenter:.ctor():this] mov ecx, gword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+SourceCodePresenter:.ctor():this] mov eax, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 164 419: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:.cctor() [Tier0, IL size=41, code size=164] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DefaultPresenter:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 420: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DefaultPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 421: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 422: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+FolderPresenter:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 423: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+FolderPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+SourceCodePresenter:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 424: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+SourceCodePresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter:ToPresentation(BenchmarkDotNet.Characteristics.CharacteristicObject):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-20H], xmm4 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-14H] call [BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter+<>c__DisplayClass2_0:.ctor():this] mov edx, gword ptr [ebp-14H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-0CH] mov edx, gword ptr [edx+04H] mov gword ptr [ebp-20H], edx push 0 mov edx, gword ptr [ebp-20H] mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+14H]BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:GetPresentableCharacteristics(BenchmarkDotNet.Characteristics.CharacteristicObject,bool):System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Characteristics.Characteristic]:this mov gword ptr [ebp-1CH], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push 0xD1FFAB1E mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-18H] call [System.Linq.Enumerable:Select[System.__Canon,System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]] mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-10H] mov ecx, 0xD1FFAB1E call [System.String:Join(System.String,System.Collections.Generic.IEnumerable`1[System.String]):System.String] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 170 425: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter:ToPresentation(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=56, code size=170] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter+<>c__DisplayClass2_0:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 426: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter+<>c__DisplayClass2_0:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:GetPresentableCharacteristics(BenchmarkDotNet.Characteristics.CharacteristicObject,bool):System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Characteristics.Characteristic]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+<>c__DisplayClass5_0:.ctor():this] mov ecx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-0CH] mov eax, dword ptr [ebp+08H] mov byte ptr [ecx+04H], al mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetCharacteristicsWithValues():System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Characteristics.Characteristic]:this] mov gword ptr [ebp-18H], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push 0xD1FFAB1E mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-14H] call [System.Linq.Enumerable:Where[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.Collections.Generic.IEnumerable`1[System.__Canon]] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 427: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:GetPresentableCharacteristics(BenchmarkDotNet.Characteristics.CharacteristicObject,bool) [Tier0, IL size=37, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+<>c__DisplayClass5_0:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 428: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+<>c__DisplayClass5_0:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:GetCharacteristicsWithValues():System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Characteristics.Characteristic]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-24H], xmm4 vmovdqu xmmword ptr [ebp-14H], xmm4 mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+10H]BenchmarkDotNet.Characteristics.CharacteristicObject:get_IsPropertyBag():bool:this test eax, eax jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-20H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicHelper:GetAllCharacteristics(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Characteristics.Characteristic]] mov gword ptr [ebp-24H], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-20H] mov edx, gword ptr [ebp-04H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push 0xD1FFAB1E mov ecx, gword ptr [ebp-24H] mov edx, gword ptr [ebp-20H] call [System.Linq.Enumerable:Where[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.Collections.Generic.IEnumerable`1[System.__Canon]] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:get_Keys():System.Collections.Generic.Dictionary`2+KeyCollection[System.__Canon,System.__Canon]:this] mov gword ptr [ebp-10H], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-10H] mov gword ptr [ebp-14H], ecx mov ecx, gword ptr [ebp-0CH] mov gword ptr [ebp-18H], ecx cmp gword ptr [ebp-0CH], 0 jne SHORT G_M000_IG05 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-1CH], eax push 0xD1FFAB1E mov edx, gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-1CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, gword ptr [ebp-1CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-1CH] mov gword ptr [ebp-18H], ecx G_M000_IG05: push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-18H] call [System.Linq.Enumerable:OrderBy[System.__Canon,System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):System.Linq.IOrderedEnumerable`1[System.__Canon]] mov gword ptr [ebp-08H], eax mov eax, gword ptr [ebp-08H] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 227 429: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:GetCharacteristicsWithValues() [Tier0, IL size=82, code size=227] ; Assembly listing for method System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:Where(System.Func`2[System.__Canon,bool]):System.Collections.Generic.IEnumerable`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-1CH], ecx mov ecx, dword ptr [ebp-1CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-1CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-1CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-0CH], eax G_M000_IG05: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+10H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+14H] mov gword ptr [ebp-18H], ecx push dword ptr [ebp-0CH] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] call [System.Linq.Utilities:CombinePredicates[System.__Canon](System.Func`2[System.__Canon,bool],System.Func`2[System.__Canon,bool]):System.Func`2[System.__Canon,bool]] push eax mov edx, gword ptr [ebp-10H] mov ecx, gword ptr [ebp-14H] call [System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:.ctor(System.__Canon[],System.Func`2[System.__Canon,bool]):this] mov eax, gword ptr [ebp-14H] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 145 430: JIT compiled System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:Where(System.Func`2[System.__Canon,bool]) [Tier0, IL size=24, code size=145] ; Assembly listing for method System.Linq.Utilities:CombinePredicates[System.__Canon](System.Func`2[System.__Canon,bool],System.Func`2[System.__Canon,bool]):System.Func`2[System.__Canon,bool] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-1CH], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-18H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-18H], eax G_M000_IG05: mov ecx, dword ptr [ebp-18H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-14H] call [System.Linq.Utilities+<>c__DisplayClass1_0`1[System.__Canon]:.ctor():this] mov edx, gword ptr [ebp-14H] mov gword ptr [ebp-10H], edx mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+08H] mov ecx, gword ptr [ebp-0CH] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-20H], ecx jmp SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-20H], eax G_M000_IG08: mov ecx, dword ptr [ebp-20H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-1CH], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-10H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov eax, gword ptr [ebp-1CH] G_M000_IG09: mov esp, ebp pop ebp ret 4 ; Total bytes of code 204 431: JIT compiled System.Linq.Utilities:CombinePredicates[System.__Canon](System.Func`2[System.__Canon,bool],System.Func`2[System.__Canon,bool]) [Tier0, IL size=33, code size=204] ; Assembly listing for method System.Linq.Utilities+<>c__DisplayClass1_0`1[System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 432: JIT compiled System.Linq.Utilities+<>c__DisplayClass1_0`1[System.__Canon]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Utilities+<>c__DisplayClass1_0`1[System.__Canon]:b__0(System.__Canon):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-0CH] call [eax+0CH]System.Func`2[System.__Canon,bool]:Invoke(System.__Canon):bool:this test eax, eax je SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-10H] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-10H] call [eax+0CH]System.Func`2[System.__Canon,bool]:Invoke(System.__Canon):bool:this G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: xor eax, eax G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 82 433: JIT compiled System.Linq.Utilities+<>c__DisplayClass1_0`1[System.__Canon]:b__0(System.__Canon) [Tier0, IL size=29, code size=82] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+<>c__DisplayClass5_0:b__0(BenchmarkDotNet.Characteristics.Characteristic):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] movzx edx, byte ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicHelper:IsPresentableCharacteristic(BenchmarkDotNet.Characteristics.Characteristic,bool):bool] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 434: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+<>c__DisplayClass5_0:b__0(BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=13, code size=32] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper:IsPresentableCharacteristic(BenchmarkDotNet.Characteristics.Characteristic,bool):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_HasChildCharacteristics():bool:this] test eax, eax jne SHORT G_M000_IG06 mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_DontShowInSummary():bool:this] test eax, eax jne SHORT G_M000_IG06 mov ecx, dword ptr [ebp-08H] movzx ecx, cl test ecx, ecx jne SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_IgnoreOnApply():bool:this] test eax, eax sete al movzx eax, al G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov eax, 1 G_M000_IG05: mov esp, ebp pop ebp ret G_M000_IG06: xor eax, eax G_M000_IG07: mov esp, ebp pop ebp ret ; Total bytes of code 90 435: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper:IsPresentableCharacteristic(BenchmarkDotNet.Characteristics.Characteristic,bool) [Tier0, IL size=33, code size=90] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:get_DontShowInSummary():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+15H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 18 436: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:get_DontShowInSummary() [Tier0, IL size=7, code size=18] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter+<>c__DisplayClass2_0:b__0(BenchmarkDotNet.Characteristics.Characteristic):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_Id():System.String:this] mov gword ptr [ebp-0CH], eax mov ecx, 0xD1FFAB1E mov edx, 0x492 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-14H], ecx push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-14H] mov eax, gword ptr [ebp-10H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+10H]BenchmarkDotNet.Characteristics.CharacteristicPresenter:ToPresentation(BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic):System.String:this push eax mov ecx, gword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call [System.String:Concat(System.String,System.String,System.String):System.String] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 109 437: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter+<>c__DisplayClass2_0:b__0(BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=34, code size=109] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 569 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov eax, gword ptr [D1FFAB1EH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: pop ebp ret ; Total bytes of code 35 438: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter:.cctor() [Tier0, IL size=11, code size=35] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicPresenter:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:.ctor():this] mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicPresenter+FolderCharacteristicPresenter:.ctor():this] mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:.ctor():this] mov ecx, gword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.CharacteristicPresenter+SourceCodeCharacteristicPresenter:.ctor():this] mov eax, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 164 439: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicPresenter:.cctor() [Tier0, IL size=41, code size=164] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicPresenter:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 440: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicPresenter:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 441: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicPresenter+FolderCharacteristicPresenter:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicPresenter:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 442: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicPresenter+FolderCharacteristicPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicPresenter+SourceCodeCharacteristicPresenter:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicPresenter:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 443: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicPresenter+SourceCodeCharacteristicPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:ToPresentation(BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp+08H] cmp edx, gword ptr [D1FFAB1EH] jne SHORT G_M000_IG04 mov edx, gword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] mov gword ptr [ebp-0CH], eax cmp gword ptr [ebp-0CH], 0 je SHORT G_M000_IG04 mov ecx, gword ptr [ebp-0CH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.Job:get_ResolvedId():System.String:this] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp+08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax jne SHORT G_M000_IG06 mov eax, 0xD1FFAB1E G_M000_IG05: mov esp, ebp pop ebp ret 4 G_M000_IG06: mov ecx, gword ptr [ebp+08H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Object:this] mov gword ptr [ebp-10H], eax push gword ptr [ebp+08H] mov edx, gword ptr [ebp-10H] mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+14H]BenchmarkDotNet.Characteristics.CharacteristicPresenter:ToPresentation(System.Object,BenchmarkDotNet.Characteristics.Characteristic):System.String:this G_M000_IG07: mov esp, ebp pop ebp ret 4 ; Total bytes of code 143 444: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:ToPresentation(BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=55, code size=143] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue(BenchmarkDotNet.Characteristics.Characteristic):System.Object:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 445: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=8, code size=30] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 72 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,System.Nullable`1[System.Guid],System.Nullable`1[System.Guid]]:this] test eax, eax jne SHORT G_M000_IG04 push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this] push eax lea ecx, [ebp-48H] mov edx, 0xD1FFAB1E call CORINFO_HELP_UNBOX_NULLABLE lea edx, [ebp-48H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_BOX_NULLABLE G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,System.Nullable`1[System.Guid],System.Nullable`1[System.Guid]]:this] mov gword ptr [ebp-0CH], eax push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this] push eax lea ecx, [ebp-20H] mov edx, 0xD1FFAB1E call CORINFO_HELP_UNBOX_NULLABLE push gword ptr [ebp-08H] sub esp, 20 vmovdqu xmm0, xmmword ptr [ebp-20H] vmovdqu xmmword ptr [esp], xmm0 mov edx, dword ptr [ebp-10H] mov dword ptr [esp+10H], edx lea edx, [ebp-34H] mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-0CH] call [eax+0CH]System.Func`3[System.__Canon,System.Nullable`1[System.Guid],System.Nullable`1[System.Guid]]:Invoke(System.__Canon,System.Nullable`1[System.Guid]):System.Nullable`1[System.Guid]:this lea edx, [ebp-34H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_BOX_NULLABLE G_M000_IG05: mov esp, ebp pop ebp ret 4 ; Total bytes of code 179 446: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object) [Tier0, IL size=58, code size=179] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,System.Nullable`1[System.Guid],System.Nullable`1[System.Guid]]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 447: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]]:get_Resolver() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:ToPresentation(System.Object,BenchmarkDotNet.Characteristics.Characteristic):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax jne SHORT G_M000_IG04 mov edx, gword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-0CH], eax cmp gword ptr [ebp-0CH], 0 je SHORT G_M000_IG04 mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:ToPresentation(System.Collections.IEnumerable):System.String] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov edx, gword ptr [ebp+08H] cmp edx, gword ptr [D1FFAB1EH] jne SHORT G_M000_IG06 mov edx, gword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax je SHORT G_M000_IG06 mov edx, gword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] mov eax, dword ptr [eax] mov dword ptr [ebp-10H], eax call [System.Environment:get_ProcessorCount():int] mov dword ptr [ebp-14H], eax mov edx, dword ptr [ebp-14H] mov ecx, dword ptr [ebp-10H] call [BenchmarkDotNet.Extensions.ProcessExtensions:ToPresentation(int,int):System.String] G_M000_IG05: mov esp, ebp pop ebp ret 4 G_M000_IG06: mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:ToPresentation(System.Object):System.String] G_M000_IG07: mov esp, ebp pop ebp ret 4 ; Total bytes of code 166 448: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:ToPresentation(System.Object,BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=67, code size=166] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:ToPresentation(System.Object):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-18H], xmm4 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov edx, gword ptr [ebp-04H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-0CH], ecx cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 xor ecx, ecx mov gword ptr [ebp-10H], ecx jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E mov edx, 304 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-0CH] xor edx, edx call [System.IFormattable:ToString(System.String,System.IFormatProvider):System.String:this] mov gword ptr [ebp-10H], eax G_M000_IG04: mov ecx, gword ptr [ebp-10H] mov gword ptr [ebp-14H], ecx cmp gword ptr [ebp-10H], 0 jne SHORT G_M000_IG07 cmp gword ptr [ebp-04H], 0 jne SHORT G_M000_IG05 xor ecx, ecx mov gword ptr [ebp-18H], ecx jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+04H]System.Object:ToString():System.String:this mov gword ptr [ebp-18H], eax G_M000_IG06: mov eax, gword ptr [ebp-18H] mov gword ptr [ebp-14H], eax cmp gword ptr [ebp-18H], 0 jne SHORT G_M000_IG07 mov gword ptr [ebp-14H], 0xD1FFAB1E G_M000_IG07: mov eax, gword ptr [ebp-14H] G_M000_IG08: mov esp, ebp pop ebp ret ; Total bytes of code 162 449: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:ToPresentation(System.Object) [Tier0, IL size=50, code size=162] ; Assembly listing for method BenchmarkDotNet.Helpers.DefaultCultureInfo:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax G_M000_IG02: call [System.Globalization.CultureInfo:get_InvariantCulture():System.Globalization.CultureInfo] mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+34H] call [eax]System.Globalization.CultureInfo:Clone():System.Object:this mov gword ptr [ebp-08H], eax mov edx, gword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_CHKCASTCLASS] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-0CH] mov eax, gword ptr [ebp-0CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+30H] call [eax+08H]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [System.Globalization.NumberFormatInfo:set_NumberDecimalSeparator(System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 115 450: JIT compiled BenchmarkDotNet.Helpers.DefaultCultureInfo:.cctor() [Tier0, IL size=41, code size=115] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[long]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 56 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-38H], xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 vmovdqu xmmword ptr [ebp-18H], xmm4 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic`1[long]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,long,long]:this] test eax, eax jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this] mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-14H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] mov bword ptr [ebp-1CH], eax mov eax, bword ptr [ebp-1CH] mov eax, dword ptr [eax] mov dword ptr [ebp-24H], eax mov eax, dword ptr [ebp-24H] mov ecx, bword ptr [ebp-1CH] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-28H], ecx mov ecx, gword ptr [ebp-10H] add ecx, 4 mov bword ptr [ebp-20H], ecx mov ecx, bword ptr [ebp-20H] mov dword ptr [ecx], eax mov eax, dword ptr [ebp-28H] mov ecx, bword ptr [ebp-20H] mov dword ptr [ecx+04H], eax mov eax, gword ptr [ebp-10H] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic`1[long]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,long,long]:this] mov gword ptr [ebp-0CH], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this] mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] mov bword ptr [ebp-2CH], eax mov edx, bword ptr [ebp-2CH] mov edx, dword ptr [edx] mov ecx, bword ptr [ebp-2CH] push dword ptr [ecx+04H] push edx mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-0CH] call [eax+0CH]System.Func`3[System.__Canon,long,long]:Invoke(System.__Canon,long):long:this mov dword ptr [ebp-34H], eax mov dword ptr [ebp-30H], edx mov eax, dword ptr [ebp-34H] mov edx, gword ptr [ebp-10H] add edx, 4 mov bword ptr [ebp-38H], edx mov edx, bword ptr [ebp-38H] mov dword ptr [edx], eax mov eax, dword ptr [ebp-30H] mov edx, bword ptr [ebp-38H] mov dword ptr [edx+04H], eax mov eax, gword ptr [ebp-10H] G_M000_IG05: mov esp, ebp pop ebp ret 4 ; Total bytes of code 272 451: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[long]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object) [Tier0, IL size=58, code size=272] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[long]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,long,long]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+24H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 452: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[long]:get_Resolver() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,Perfolizer.Horology.TimeInterval,Perfolizer.Horology.TimeInterval]:this] test eax, eax jne SHORT G_M000_IG04 push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this] mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-14H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] mov bword ptr [ebp-18H], eax mov edx, bword ptr [ebp-18H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_BOX G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,Perfolizer.Horology.TimeInterval,Perfolizer.Horology.TimeInterval]:this] mov gword ptr [ebp-0CH], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push gword ptr [ebp-08H] push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this] mov gword ptr [ebp-1CH], eax mov edx, gword ptr [ebp-1CH] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] push dword ptr [eax+04H] push dword ptr [eax] mov edx, gword ptr [ebp-10H] add edx, 4 mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-0CH] call [eax+0CH]System.Func`3[System.__Canon,Perfolizer.Horology.TimeInterval,Perfolizer.Horology.TimeInterval]:Invoke(System.__Canon,Perfolizer.Horology.TimeInterval):Perfolizer.Horology.TimeInterval:this mov eax, gword ptr [ebp-10H] G_M000_IG05: mov esp, ebp pop ebp ret 4 ; Total bytes of code 185 453: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object) [Tier0, IL size=58, code size=185] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,Perfolizer.Horology.TimeInterval,Perfolizer.Horology.TimeInterval]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 454: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]:get_Resolver() [Tier0, IL size=7, code size=17] ; Assembly listing for method Perfolizer.Horology.TimeInterval:ToString():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 85 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-08H], edx push 0xD1FFAB1E push 0 mov edx, gword ptr [ebp-08H] mov ecx, bword ptr [ebp-04H] call [Perfolizer.Horology.TimeInterval:ToString(System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation):System.String:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 61 455: JIT compiled Perfolizer.Horology.TimeInterval:ToString() [Tier0, IL size=18, code size=61] ; Assembly listing for method Perfolizer.Common.DefaultCultureInfo:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax G_M000_IG02: call [System.Globalization.CultureInfo:get_InvariantCulture():System.Globalization.CultureInfo] mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+34H] call [eax]System.Globalization.CultureInfo:Clone():System.Object:this mov gword ptr [ebp-08H], eax mov edx, gword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_CHKCASTCLASS] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-0CH] mov eax, gword ptr [ebp-0CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+30H] call [eax+08H]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [System.Globalization.NumberFormatInfo:set_NumberDecimalSeparator(System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 115 456: JIT compiled Perfolizer.Common.DefaultCultureInfo:.cctor() [Tier0, IL size=41, code size=115] ; Assembly listing for method Perfolizer.Horology.TimeInterval:ToString(System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov bword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push gword ptr [ebp-08H] push gword ptr [ebp+0CH] push gword ptr [ebp+08H] mov ecx, bword ptr [ebp-04H] xor edx, edx call [Perfolizer.Horology.TimeInterval:ToString(Perfolizer.Horology.TimeUnit,System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation):System.String:this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 38 457: JIT compiled Perfolizer.Horology.TimeInterval:ToString(System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation) [Tier0, IL size=11, code size=38] ; Assembly listing for method Perfolizer.Horology.TimeInterval:ToString(Perfolizer.Horology.TimeUnit,System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 72 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-40H], xmm4 vmovdqu xmmword ptr [ebp-30H], xmm4 vmovdqu xmmword ptr [ebp-20H], xmm4 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov bword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-18H], ecx cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E mov edx, 1 call CORINFO_HELP_NEWARR_1_ALIGN8 mov gword ptr [ebp-2CH], eax mov ecx, bword ptr [ebp-04H] call [Perfolizer.Horology.TimeInterval:get_Nanoseconds():double:this] fstp qword ptr [ebp-48H] vmovsd xmm0, qword ptr [ebp-48H] vmovsd qword ptr [ebp-34H], xmm0 mov ecx, gword ptr [ebp-2CH] xor eax, eax cmp eax, dword ptr [ecx+04H] jae G_M000_IG10 lea ecx, bword ptr [ecx+8*eax+08H] vmovsd xmm0, qword ptr [ebp-34H] vmovsd qword ptr [ecx], xmm0 mov ecx, gword ptr [ebp-2CH] call [Perfolizer.Horology.TimeUnit:GetBestTimeUnit(double[]):Perfolizer.Horology.TimeUnit] mov gword ptr [ebp-18H], eax G_M000_IG03: mov ecx, gword ptr [ebp-18H] mov gword ptr [ebp-08H], ecx mov ecx, gword ptr [ebp+10H] mov gword ptr [ebp-1CH], ecx cmp gword ptr [ebp+10H], 0 jne SHORT G_M000_IG04 mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-1CH], ecx G_M000_IG04: mov ecx, gword ptr [ebp-1CH] mov gword ptr [ebp+10H], ecx mov ecx, gword ptr [ebp+0CH] mov gword ptr [ebp-20H], ecx cmp gword ptr [ebp+0CH], 0 jne SHORT G_M000_IG05 mov gword ptr [ebp-20H], 0xD1FFAB1E G_M000_IG05: mov ecx, gword ptr [ebp-20H] mov gword ptr [ebp+0CH], ecx mov ecx, gword ptr [ebp+08H] mov gword ptr [ebp-24H], ecx cmp gword ptr [ebp+08H], 0 jne SHORT G_M000_IG06 mov ecx, 0xD1FFAB1E mov edx, 87 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-24H], ecx G_M000_IG06: mov ecx, gword ptr [ebp-24H] mov gword ptr [ebp+08H], ecx mov ecx, bword ptr [ebp-04H] call [Perfolizer.Horology.TimeInterval:get_Nanoseconds():double:this] fstp qword ptr [ebp-48H] vmovsd xmm0, qword ptr [ebp-48H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, 0xD1FFAB1E mov edx, 82 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-38H], ecx mov ecx, gword ptr [ebp-38H] mov edx, gword ptr [ebp-08H] call [Perfolizer.Horology.TimeUnit:Convert(double,Perfolizer.Horology.TimeUnit,Perfolizer.Horology.TimeUnit):double] fstp qword ptr [ebp-48H] vmovsd xmm0, qword ptr [ebp-48H] vmovsd qword ptr [ebp-10H], xmm0 mov ecx, gword ptr [ebp+08H] cmp dword ptr [ecx], ecx call [Perfolizer.Common.UnitPresentation:get_IsVisible():bool:this] test eax, eax je SHORT G_M000_IG08 mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:get_Name():System.String:this] mov gword ptr [ebp-28H], eax mov ecx, gword ptr [ebp+08H] cmp dword ptr [ecx], ecx call [Perfolizer.Common.UnitPresentation:get_MinUnitWidth():int:this] mov dword ptr [ebp-3CH], eax mov edx, dword ptr [ebp-3CH] mov ecx, gword ptr [ebp-28H] cmp dword ptr [ecx], ecx call [System.String:PadLeft(int):System.String:this] mov gword ptr [ebp-14H], eax push gword ptr [ebp+10H] lea ecx, [ebp-10H] mov edx, gword ptr [ebp+0CH] call [System.Double:ToString(System.String,System.IFormatProvider):System.String:this] mov gword ptr [ebp-40H], eax push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-40H] mov edx, 0xD1FFAB1E call [System.String:Concat(System.String,System.String,System.String):System.String] G_M000_IG07: mov esp, ebp pop ebp ret 12 G_M000_IG08: push gword ptr [ebp+10H] lea ecx, [ebp-10H] mov edx, gword ptr [ebp+0CH] call [System.Double:ToString(System.String,System.IFormatProvider):System.String:this] G_M000_IG09: mov esp, ebp pop ebp ret 12 G_M000_IG10: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 435 458: JIT compiled Perfolizer.Horology.TimeInterval:ToString(Perfolizer.Horology.TimeUnit,System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation) [Tier0, IL size=141, code size=435] ; Assembly listing for method Perfolizer.Horology.TimeInterval:get_Nanoseconds():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 459: JIT compiled Perfolizer.Horology.TimeInterval:get_Nanoseconds() [Tier0, IL size=7, code size=31] ; Assembly listing for method Perfolizer.Horology.TimeUnit:GetBestTimeUnit(double[]):Perfolizer.Horology.TimeUnit ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 40 vzeroupper xor eax, eax mov dword ptr [ebp-18H], eax G_M000_IG02: cmp dword ptr [ecx+04H], 0 jne SHORT G_M000_IG06 G_M000_IG03: test byte ptr [D1FFAB1EH], 1 je G_M000_IG13 G_M000_IG04: mov eax, gword ptr [D1FFAB1EH] G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG06: call [System.Linq.Enumerable:MinFloat[double](System.Collections.Generic.IEnumerable`1[double]):double] fstp qword ptr [ebp-34H] vmovsd xmm0, qword ptr [ebp-34H] vmovsd qword ptr [ebp-14H], xmm0 test byte ptr [D1FFAB1EH], 1 je G_M000_IG14 G_M000_IG07: mov esi, gword ptr [D1FFAB1EH] mov gword ptr [ebp-2CH], esi mov edi, esi xor ebx, ebx mov eax, dword ptr [edi+04H] mov dword ptr [ebp-1CH], eax test eax, eax jle SHORT G_M000_IG09 G_M000_IG08: mov edx, gword ptr [edi+4*ebx+08H] mov gword ptr [ebp-28H], edx lea ecx, bword ptr [edx+04H] mov esi, dword ptr [ecx] push dword ptr [ecx+04H] push esi push 0 push 0x3E8 call CORINFO_HELP_LMUL push edx push eax call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-34H] vmovsd xmm0, qword ptr [ebp-34H] vmovsd xmm1, qword ptr [ebp-14H] vucomisd xmm0, xmm1 ja SHORT G_M000_IG11 inc ebx mov esi, dword ptr [ebp-1CH] cmp esi, ebx jg SHORT G_M000_IG08 G_M000_IG09: mov esi, gword ptr [ebp-2CH] mov ecx, esi push 0xD1FFAB1E lea edx, [ebp-18H] call [System.Linq.Enumerable:TryGetLast[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],byref):System.__Canon] cmp byte ptr [ebp-18H], 0 je SHORT G_M000_IG15 G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG11: mov eax, gword ptr [ebp-28H] G_M000_IG12: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG13: mov ecx, 0xD1FFAB1E mov edx, 82 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M000_IG04 G_M000_IG14: mov ecx, 0xD1FFAB1E mov edx, 82 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M000_IG07 G_M000_IG15: call [System.Linq.ThrowHelper:ThrowNoElementsException()] int3 ; Total bytes of code 257 460: JIT compiled Perfolizer.Horology.TimeUnit:GetBestTimeUnit(double[]) [Tier-0 switched to FullOpts, IL size=71, code size=257] ; Assembly listing for method System.Linq.Enumerable:MinFloat[double](System.Collections.Generic.IEnumerable`1[double]):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 9 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp sub esp, 60 vzeroupper xor eax, eax mov dword ptr [ebp-34H], eax mov dword ptr [ebp-2CH], eax mov dword ptr [ebp-0CH], eax G_M000_IG02: test ecx, ecx je G_M000_IG31 mov edx, dword ptr [ecx] cmp edx, 0xD1FFAB1E jne SHORT G_M000_IG03 lea eax, bword ptr [ecx+08H] mov ecx, dword ptr [ecx+04H] jmp SHORT G_M000_IG04 align [0 bytes for IG05] G_M000_IG03: cmp edx, 0xD1FFAB1E jne SHORT G_M000_IG13 mov gword ptr [ebp-30H], ecx lea ecx, [ebp-2CH] mov edx, gword ptr [ebp-30H] call [System.Runtime.InteropServices.CollectionsMarshal:AsSpan[double](System.Collections.Generic.List`1[double]):System.Span`1[double]] mov eax, bword ptr [ebp-2CH] mov ecx, dword ptr [ebp-28H] G_M000_IG04: test ecx, ecx je G_M000_IG32 vmovsd xmm0, qword ptr [eax] mov edx, 1 cmp ecx, 1 jbe SHORT G_M000_IG09 G_M000_IG05: cmp edx, ecx jae G_M000_IG33 vmovsd xmm1, qword ptr [eax+8*edx] vucomisd xmm0, xmm1 jbe SHORT G_M000_IG07 G_M000_IG06: vmovaps xmm0, xmm1 jmp SHORT G_M000_IG08 G_M000_IG07: vucomisd xmm1, xmm1 jp SHORT G_M000_IG11 G_M000_IG08: inc edx cmp edx, ecx jb SHORT G_M000_IG05 G_M000_IG09: vmovsd qword ptr [ebp-1CH], xmm0 fld qword ptr [ebp-1CH] G_M000_IG10: mov esp, ebp pop ebp ret G_M000_IG11: vmovsd qword ptr [ebp-3CH], xmm1 fld qword ptr [ebp-3CH] G_M000_IG12: mov esp, ebp pop ebp ret G_M000_IG13: call [System.Collections.Generic.IEnumerable`1[double]:GetEnumerator():System.Collections.Generic.IEnumerator`1[double]:this] mov ecx, eax mov gword ptr [ebp-34H], ecx G_M000_IG14: call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je G_M000_IG20 mov ecx, gword ptr [ebp-34H] call [System.Collections.Generic.IEnumerator`1[double]:get_Current():double:this] fstp qword ptr [ebp-3CH] vmovsd xmm0, qword ptr [ebp-3CH] vucomisd xmm0, xmm0 jp SHORT G_M000_IG15 je SHORT G_M000_IG16 G_M000_IG15: vmovsd qword ptr [ebp-24H], xmm0 mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG23 jmp G_M000_IG25 G_M000_IG16: vmovsd qword ptr [ebp-1CH], xmm0 jmp SHORT G_M000_IG21 G_M000_IG17: mov ecx, gword ptr [ebp-34H] call [System.Collections.Generic.IEnumerator`1[double]:get_Current():double:this] fstp qword ptr [ebp-3CH] vmovsd xmm0, qword ptr [ebp-3CH] vmovsd xmm1, qword ptr [ebp-1CH] vucomisd xmm1, xmm0 jbe SHORT G_M000_IG18 vmovaps xmm1, xmm0 vmovsd qword ptr [ebp-1CH], xmm1 jmp SHORT G_M000_IG21 G_M000_IG18: vucomisd xmm0, xmm0 vmovsd qword ptr [ebp-1CH], xmm1 jp SHORT G_M000_IG19 je SHORT G_M000_IG21 G_M000_IG19: vmovsd qword ptr [ebp-24H], xmm0 mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG24 jmp SHORT G_M000_IG25 G_M000_IG20: call [System.Linq.ThrowHelper:ThrowNoElementsException()] int3 G_M000_IG21: mov ecx, gword ptr [ebp-34H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG17 G_M000_IG22: mov ecx, gword ptr [ebp-34H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG27 G_M000_IG23: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG29 G_M000_IG24: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG29 G_M000_IG25: mov ecx, gword ptr [ebp-34H] test ecx, ecx je SHORT G_M000_IG26 call [System.IDisposable:Dispose():this] mov ecx, gword ptr [ebp-34H] G_M000_IG26: pop eax jmp eax G_M000_IG27: vmovsd xmm0, qword ptr [ebp-1CH] vmovsd qword ptr [ebp-1CH], xmm0 fld qword ptr [ebp-1CH] G_M000_IG28: mov esp, ebp pop ebp ret G_M000_IG29: vmovsd xmm0, qword ptr [ebp-24H] vmovsd qword ptr [ebp-3CH], xmm0 fld qword ptr [ebp-3CH] G_M000_IG30: mov esp, ebp pop ebp ret G_M000_IG31: mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG32: call [System.Linq.ThrowHelper:ThrowNoElementsException()] int3 G_M000_IG33: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 448 461: JIT compiled System.Linq.Enumerable:MinFloat[double](System.Collections.Generic.IEnumerable`1[double]) [Tier-0 switched to FullOpts, IL size=235, code size=448] ; Assembly listing for method Perfolizer.Horology.TimeUnit:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 80 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-20H], xmm4 vmovdqu xmmword ptr [ebp-10H], xmm4 G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax push 0xD1FFAB1E push 0 push 1 mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call [Perfolizer.Horology.TimeUnit:.ctor(System.String,System.String,long):this] mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax push 0xD1FFAB1E push 0 push 0x3E8 mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call [Perfolizer.Horology.TimeUnit:.ctor(System.String,System.String,long):this] mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax push 0xD1FFAB1E push 0 push 0xD1FFAB1E mov ecx, gword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call [Perfolizer.Horology.TimeUnit:.ctor(System.String,System.String,long):this] mov ecx, gword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push 0xD1FFAB1E push 0 push 0xD1FFAB1E mov ecx, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E call [Perfolizer.Horology.TimeUnit:.ctor(System.String,System.String,long):this] mov ecx, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax push 0xD1FFAB1E mov ecx, gword ptr [D1FFAB1EH] cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:get_NanosecondAmount():long:this] mov dword ptr [ebp-28H], eax G_M000_IG03: mov dword ptr [ebp-24H], edx push dword ptr [ebp-24H] push dword ptr [ebp-28H] push 0 push 60 call CORINFO_HELP_LMUL mov dword ptr [ebp-30H], eax mov dword ptr [ebp-2CH], edx push dword ptr [ebp-2CH] push dword ptr [ebp-30H] mov ecx, gword ptr [ebp-14H] mov edx, 0xD1FFAB1E call [Perfolizer.Horology.TimeUnit:.ctor(System.String,System.String,long):this] mov ecx, gword ptr [ebp-14H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax push 0xD1FFAB1E mov ecx, gword ptr [D1FFAB1EH] cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:get_NanosecondAmount():long:this] mov dword ptr [ebp-38H], eax mov dword ptr [ebp-34H], edx push dword ptr [ebp-34H] push dword ptr [ebp-38H] push 0 push 60 call CORINFO_HELP_LMUL mov dword ptr [ebp-40H], eax mov dword ptr [ebp-3CH], edx push dword ptr [ebp-3CH] push dword ptr [ebp-40H] mov ecx, gword ptr [ebp-18H] mov edx, 0xD1FFAB1E call [Perfolizer.Horology.TimeUnit:.ctor(System.String,System.String,long):this] mov ecx, gword ptr [ebp-18H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-1CH], eax push 0xD1FFAB1E mov ecx, gword ptr [D1FFAB1EH] cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:get_NanosecondAmount():long:this] mov dword ptr [ebp-48H], eax mov dword ptr [ebp-44H], edx push dword ptr [ebp-44H] push dword ptr [ebp-48H] push 0 push 24 call CORINFO_HELP_LMUL mov dword ptr [ebp-50H], eax mov dword ptr [ebp-4CH], edx push dword ptr [ebp-4CH] push dword ptr [ebp-50H] mov ecx, gword ptr [ebp-1CH] G_M000_IG04: mov edx, 0xD1FFAB1E call [Perfolizer.Horology.TimeUnit:.ctor(System.String,System.String,long):this] mov ecx, gword ptr [ebp-1CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E mov edx, 7 call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [ebp-20H], eax push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-20H] xor edx, edx call CORINFO_HELP_ARRADDR_ST push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-20H] mov edx, 1 call CORINFO_HELP_ARRADDR_ST push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-20H] mov edx, 2 call CORINFO_HELP_ARRADDR_ST push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-20H] mov edx, 3 call CORINFO_HELP_ARRADDR_ST push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-20H] mov edx, 4 call CORINFO_HELP_ARRADDR_ST push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-20H] mov edx, 5 call CORINFO_HELP_ARRADDR_ST push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-20H] mov edx, 6 call CORINFO_HELP_ARRADDR_ST mov eax, gword ptr [ebp-20H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 666 462: JIT compiled Perfolizer.Horology.TimeUnit:.cctor() [Tier0, IL size=270, code size=666] ; Assembly listing for method Perfolizer.Horology.TimeUnit:.ctor(System.String,System.String,long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+10H] mov eax, gword ptr [ebp+10H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] add eax, 4 mov bword ptr [ebp-0CH], eax mov eax, bword ptr [ebp-0CH] mov edx, dword ptr [ebp+08H] mov dword ptr [eax], edx mov eax, dword ptr [ebp+0CH] mov edx, bword ptr [ebp-0CH] mov dword ptr [edx+04H], eax G_M000_IG03: mov esp, ebp pop ebp ret 12 ; Total bytes of code 86 463: JIT compiled Perfolizer.Horology.TimeUnit:.ctor(System.String,System.String,long) [Tier0, IL size=28, code size=86] ; Assembly listing for method Perfolizer.Horology.TimeUnit:get_NanosecondAmount():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] add eax, 4 mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 38 464: JIT compiled Perfolizer.Horology.TimeUnit:get_NanosecondAmount() [Tier0, IL size=7, code size=38] ; Assembly listing for method Perfolizer.Common.UnitPresentation:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax push 0 mov ecx, gword ptr [ebp-04H] mov edx, 1 call [Perfolizer.Common.UnitPresentation:.ctor(bool,int):this] mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax push 0 mov ecx, gword ptr [ebp-08H] xor edx, edx call [Perfolizer.Common.UnitPresentation:.ctor(bool,int):this] mov eax, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 99 465: JIT compiled Perfolizer.Common.UnitPresentation:.cctor() [Tier0, IL size=25, code size=99] ; Assembly listing for method Perfolizer.Common.UnitPresentation:.ctor(bool,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov edx, dword ptr [ebp-08H] movzx edx, dl mov ecx, gword ptr [ebp-04H] call [Perfolizer.Common.UnitPresentation:set_IsVisible(bool):this] mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp+08H] call [Perfolizer.Common.UnitPresentation:set_MinUnitWidth(int):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 54 466: JIT compiled Perfolizer.Common.UnitPresentation:.ctor(bool,int) [Tier0, IL size=21, code size=54] ; Assembly listing for method Perfolizer.Common.UnitPresentation:set_IsVisible(bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov byte ptr [eax+08H], dl G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 25 467: JIT compiled Perfolizer.Common.UnitPresentation:set_IsVisible(bool) [Tier0, IL size=8, code size=25] ; Assembly listing for method Perfolizer.Common.UnitPresentation:set_MinUnitWidth(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov dword ptr [eax+04H], edx G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 25 468: JIT compiled Perfolizer.Common.UnitPresentation:set_MinUnitWidth(int) [Tier0, IL size=8, code size=25] ; Assembly listing for method Perfolizer.Horology.TimeUnit:Convert(double,Perfolizer.Horology.TimeUnit,Perfolizer.Horology.TimeUnit):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vzeroupper xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:get_NanosecondAmount():long:this] mov dword ptr [ebp-20H], eax mov dword ptr [ebp-1CH], edx push dword ptr [ebp-1CH] push dword ptr [ebp-20H] call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-30H] vmovsd xmm0, qword ptr [ebp-30H] vmulsd xmm0, xmm0, qword ptr [ebp+08H] vmovsd qword ptr [ebp-10H], xmm0 mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-14H], ecx cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E mov edx, 1 call CORINFO_HELP_NEWARR_1_ALIGN8 mov gword ptr [ebp-18H], eax mov ecx, gword ptr [ebp-18H] xor eax, eax cmp eax, dword ptr [ecx+04H] jae SHORT G_M000_IG05 lea ecx, bword ptr [ecx+8*eax+08H] vmovsd xmm0, qword ptr [ebp+08H] vmovsd qword ptr [ecx], xmm0 mov ecx, gword ptr [ebp-18H] call [Perfolizer.Horology.TimeUnit:GetBestTimeUnit(double[]):Perfolizer.Horology.TimeUnit] mov gword ptr [ebp-14H], eax G_M000_IG03: mov ecx, gword ptr [ebp-14H] cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:get_NanosecondAmount():long:this] mov dword ptr [ebp-28H], eax mov dword ptr [ebp-24H], edx push dword ptr [ebp-24H] push dword ptr [ebp-28H] call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-30H] vmovsd xmm1, qword ptr [ebp-10H] vmovsd xmm0, qword ptr [ebp-30H] vdivsd xmm0, xmm1, xmm0 vmovsd qword ptr [ebp-30H], xmm0 fld qword ptr [ebp-30H] G_M000_IG04: mov esp, ebp pop ebp ret 8 G_M000_IG05: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 199 469: JIT compiled Perfolizer.Horology.TimeUnit:Convert(double,Perfolizer.Horology.TimeUnit,Perfolizer.Horology.TimeUnit) [Tier0, IL size=37, code size=199] ; Assembly listing for method Perfolizer.Common.UnitPresentation:get_IsVisible():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 18 470: JIT compiled Perfolizer.Common.UnitPresentation:get_IsVisible() [Tier0, IL size=7, code size=18] ; Assembly listing for method Perfolizer.Horology.TimeUnit:get_Name():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 471: JIT compiled Perfolizer.Horology.TimeUnit:get_Name() [Tier0, IL size=7, code size=17] ; Assembly listing for method Perfolizer.Common.UnitPresentation:get_MinUnitWidth():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 472: JIT compiled Perfolizer.Common.UnitPresentation:get_MinUnitWidth() [Tier0, IL size=7, code size=17] ; Assembly listing for method System.Number:FormatNumber[ushort](byref,byref,int,System.Globalization.NumberFormatInfo) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 20 single block inlinees; 11 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 44 mov esi, ecx mov ebx, edx mov edi, gword ptr [ebp+08H] G_M000_IG02: mov bword ptr [ebp-20H], ebx cmp byte ptr [ebx+08H], 0 jne SHORT G_M000_IG04 G_M000_IG03: mov edx, 0xD1FFAB1E jmp SHORT G_M000_IG05 G_M000_IG04: mov edx, gword ptr [D1FFAB1EH] mov ecx, dword ptr [edi+94H] cmp ecx, dword ptr [edx+04H] jae G_M000_IG22 mov edx, gword ptr [edx+4*ecx+08H] G_M000_IG05: mov gword ptr [ebp-24H], edx xor ecx, ecx cmp dword ptr [edx+04H], 0 jle G_M000_IG20 G_M000_IG06: mov dword ptr [ebp-10H], ecx movzx eax, word ptr [edx+2*ecx+08H] cmp eax, 35 je SHORT G_M000_IG08 G_M000_IG07: cmp eax, 45 je SHORT G_M000_IG13 jmp G_M000_IG17 G_M000_IG08: mov eax, gword ptr [edi+04H] mov gword ptr [ebp-28H], eax mov ebx, gword ptr [edi+18H] test ebx, ebx jne SHORT G_M000_IG09 xor ebx, ebx mov bword ptr [ebp-30H], ebx xor ebx, ebx jmp SHORT G_M000_IG10 G_M000_IG09: lea eax, bword ptr [ebx+08H] mov ebx, dword ptr [ebx+04H] mov bword ptr [ebp-30H], eax G_M000_IG10: mov eax, bword ptr [ebp-30H] mov bword ptr [ebp-2CH], eax mov dword ptr [ebp-18H], ebx mov eax, gword ptr [edi+1CH] test eax, eax jne SHORT G_M000_IG11 xor eax, eax xor ebx, ebx jmp SHORT G_M000_IG12 G_M000_IG11: lea ebx, bword ptr [eax+08H] mov eax, dword ptr [eax+04H] mov ecx, eax mov eax, ebx mov ebx, ecx G_M000_IG12: push dword ptr [ebp+0CH] push gword ptr [ebp-28H] push dword ptr [ebp-18H] push bword ptr [ebp-2CH] push ebx push eax mov ecx, esi mov edx, bword ptr [ebp-20H] call [System.Number:FormatFixed[ushort](byref,byref,int,int[],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort])] jmp G_M000_IG19 G_M000_IG13: mov eax, gword ptr [edi+14H] test eax, eax jne SHORT G_M000_IG14 xor eax, eax xor ebx, ebx jmp SHORT G_M000_IG15 G_M000_IG14: lea ebx, bword ptr [eax+08H] mov eax, dword ptr [eax+04H] mov ecx, eax mov eax, ebx mov ebx, ecx G_M000_IG15: mov bword ptr [ebp-34H], eax mov dword ptr [ebp-1CH], ebx mov edx, dword ptr [esi+04H] lea eax, bword ptr [esi+08H] mov ebx, bword ptr [eax] mov eax, dword ptr [eax+04H] cmp dword ptr [ebp-1CH], 1 jne SHORT G_M000_IG16 cmp edx, eax jae SHORT G_M000_IG16 mov eax, bword ptr [ebp-34H] movzx eax, word ptr [eax] mov word ptr [ebx+2*edx], ax inc edx mov dword ptr [esi+04H], edx jmp SHORT G_M000_IG19 G_M000_IG16: push dword ptr [ebp-1CH] push bword ptr [ebp-34H] mov ecx, esi call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] jmp SHORT G_M000_IG19 G_M000_IG17: mov ebx, dword ptr [esi+04H] mov dword ptr [ebp-14H], ebx lea edx, bword ptr [esi+08H] mov ebx, bword ptr [edx] mov bword ptr [ebp-38H], ebx mov edx, dword ptr [edx+04H] mov ebx, dword ptr [ebp-14H] cmp ebx, edx jae SHORT G_M000_IG18 mov edx, bword ptr [ebp-38H] mov word ptr [edx+2*ebx], ax inc ebx mov dword ptr [esi+04H], ebx jmp SHORT G_M000_IG19 G_M000_IG18: mov ecx, esi mov edx, eax call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] G_M000_IG19: mov ebx, dword ptr [ebp-10H] inc ebx mov edx, gword ptr [ebp-24H] cmp dword ptr [edx+04H], ebx mov ecx, ebx jg G_M000_IG06 G_M000_IG20: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG21: call CORINFO_HELP_OVERFLOW G_M000_IG22: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 360 473: JIT compiled System.Number:FormatNumber[ushort](byref,byref,int,System.Globalization.NumberFormatInfo) [Tier-0 switched to FullOpts, IL size=128, code size=360] ; Assembly listing for method System.Number:FormatFixed[ushort](byref,byref,int,int[],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 2 inlinees with PGO data; 9 single block inlinees; 6 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 148 xor eax, eax mov dword ptr [ebp-2CH], eax mov dword ptr [ebp-44H], eax mov esi, ecx mov ebx, gword ptr [ebp+18H] G_M000_IG02: mov eax, dword ptr [edx+04H] mov bword ptr [ebp-74H], edx mov ecx, bword ptr [edx+0CH] mov dword ptr [ebp-14H], ecx test eax, eax jle G_M000_IG39 G_M000_IG03: mov gword ptr [ebp+18H], ebx test ebx, ebx je G_M000_IG31 xor edx, edx mov dword ptr [ebp-1CH], eax xor edi, edi mov ebx, gword ptr [ebp+18H] mov ebx, dword ptr [ebx+04H] mov dword ptr [ebp-6CH], ebx test ebx, ebx je G_M000_IG13 mov edi, gword ptr [ebp+18H] mov edi, dword ptr [edi+08H] mov dword ptr [ebp-68H], edi cmp dword ptr [ebp-1CH], edi jle G_M000_IG12 align [0 bytes for IG04] G_M000_IG04: cmp edx, ebx jae G_M000_IG62 mov ebx, gword ptr [ebp+18H] mov ebx, dword ptr [ebx+4*edx+08H] test ebx, ebx je SHORT G_M000_IG07 mov ebx, dword ptr [ebp+0CH] add ebx, dword ptr [ebp-1CH] mov dword ptr [ebp-1CH], ebx mov ebx, dword ptr [ebp-6CH] dec ebx cmp ebx, edx jle SHORT G_M000_IG06 G_M000_IG05: inc edx G_M000_IG06: cmp edx, dword ptr [ebp-6CH] jae G_M000_IG62 mov ebx, gword ptr [ebp+18H] add edi, dword ptr [ebx+4*edx+08H] mov ebx, edi or ebx, dword ptr [ebp-1CH] jl G_M000_IG61 cmp eax, edi jg G_M000_IG11 G_M000_IG07: xor ebx, ebx test edi, edi cmovne ebx, dword ptr [ebp-68H] mov dword ptr [ebp-20H], ebx mov edi, dword ptr [ebp-20H] G_M000_IG08: xor edx, edx mov dword ptr [ebp-18H], edx xor ebx, ebx mov dword ptr [ebp-24H], ebx mov ebx, bword ptr [ebp-74H] mov ebx, dword ptr [ebx] cmp eax, ebx mov dword ptr [ebp-10H], eax cmovl ebx, eax mov dword ptr [ebp-28H], ebx mov ebx, dword ptr [esi+04H] mov dword ptr [ebp-48H], ebx lea ebx, bword ptr [esi+08H] mov bword ptr [ebp-94H], ebx mov ebx, bword ptr [ebx] mov bword ptr [ebp-78H], ebx mov ebx, bword ptr [ebp-94H] mov ebx, dword ptr [ebx+04H] mov dword ptr [ebp-5CH], ebx xor ebx, ebx mov dword ptr [ebp-98H], ebx mov ebx, dword ptr [ebp-1CH] add ebx, dword ptr [ebp-48H] mov dword ptr [ebp-9CH], ebx mov ebx, dword ptr [ebp-98H] adc ebx, 0 mov dword ptr [ebp-98H], ebx xor ebx, ebx mov dword ptr [ebp-A0H], ebx mov ebx, dword ptr [ebp-9CH] cmp dword ptr [ebp-5CH], ebx mov ebx, dword ptr [ebp-A0H] sbb ebx, dword ptr [ebp-98H] jb SHORT G_M000_IG14 mov dword ptr [ebp-20H], edi mov edi, dword ptr [ebp-1CH] mov ebx, edi add ebx, dword ptr [ebp-48H] mov dword ptr [esi+04H], ebx mov ebx, dword ptr [ebp-48H] cmp ebx, dword ptr [ebp-5CH] ja G_M000_IG61 G_M000_IG09: mov ebx, dword ptr [ebp-5CH] sub ebx, dword ptr [ebp-48H] mov dword ptr [ebp-1CH], edi cmp ebx, edi jb G_M000_IG61 G_M000_IG10: mov ebx, bword ptr [ebp-78H] mov edi, dword ptr [ebp-48H] lea edi, bword ptr [ebx+2*edi] mov bword ptr [ebp-7CH], edi mov ebx, dword ptr [ebp-1CH] mov dword ptr [ebp-60H], ebx mov edi, bword ptr [ebp-7CH] mov bword ptr [ebp-44H], edi mov edi, dword ptr [ebp-60H] mov dword ptr [ebp-40H], edi mov dword ptr [ebp-1CH], ebx jmp SHORT G_M000_IG15 G_M000_IG11: mov ebx, dword ptr [ebp-6CH] jmp G_M000_IG04 G_M000_IG12: jmp G_M000_IG07 align [0 bytes for IG21] G_M000_IG13: jmp G_M000_IG08 G_M000_IG14: push dword ptr [ebp-1CH] lea edx, [ebp-44H] mov ecx, esi call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendSpanWithGrow(int):System.Span`1[ushort]:this] mov dword ptr [ebp-20H], edi G_M000_IG15: mov ebx, bword ptr [ebp-44H] mov bword ptr [ebp-2CH], ebx mov edi, dword ptr [ebp-1CH] lea edi, [ebx+2*edi-02H] mov eax, dword ptr [ebp-10H] lea ebx, [eax-01H] test ebx, ebx jl G_M000_IG25 G_M000_IG16: lea ecx, [edi-02H] cmp ebx, dword ptr [ebp-28H] jl SHORT G_M000_IG18 G_M000_IG17: mov dword ptr [ebp-3CH], edi mov edi, 48 jmp SHORT G_M000_IG19 G_M000_IG18: mov dword ptr [ebp-3CH], edi mov edi, dword ptr [ebp-14H] movzx eax, byte ptr [edi+ebx] mov dword ptr [ebp-14H], edi mov edi, eax G_M000_IG19: mov eax, dword ptr [ebp-3CH] mov word ptr [eax], di mov edi, dword ptr [ebp-20H] test edi, edi jle SHORT G_M000_IG24 G_M000_IG20: mov eax, dword ptr [ebp-24H] inc eax mov dword ptr [ebp-20H], edi cmp eax, edi jne G_M000_IG30 mov dword ptr [ebp-30H], ebx test ebx, ebx mov dword ptr [ebp-24H], eax je G_M000_IG29 mov eax, dword ptr [ebp+0CH] lea edi, [eax-01H] test edi, edi jl SHORT G_M000_IG28 G_M000_IG21: lea ebx, [ecx-02H] mov dword ptr [ebp-70H], eax cmp edi, eax jae G_M000_IG62 mov eax, bword ptr [ebp+08H] movzx eax, word ptr [eax+2*edi] mov word ptr [ecx], ax dec edi mov eax, dword ptr [ebp-70H] jns SHORT G_M000_IG27 G_M000_IG22: mov edi, dword ptr [ebp-6CH] lea ecx, [edi-01H] mov edx, dword ptr [ebp-18H] cmp ecx, edx jle SHORT G_M000_IG23 inc edx cmp edx, edi jae G_M000_IG62 mov ecx, gword ptr [ebp+18H] mov eax, dword ptr [ecx+4*edx+08H] mov dword ptr [ebp-20H], eax G_M000_IG23: xor ecx, ecx mov dword ptr [ebp-18H], edx mov dword ptr [ebp-24H], ecx mov ecx, ebx mov ebx, dword ptr [ebp-30H] mov edi, dword ptr [ebp-20H] G_M000_IG24: dec ebx mov dword ptr [ebp-20H], edi jns SHORT G_M000_IG26 G_M000_IG25: mov edi, dword ptr [ebp-14H] add edi, dword ptr [ebp-28H] xor ecx, ecx mov bword ptr [ebp-2CH], ecx jmp G_M000_IG41 G_M000_IG26: mov edi, ecx jmp G_M000_IG16 G_M000_IG27: mov ecx, ebx jmp SHORT G_M000_IG21 G_M000_IG28: mov ebx, ecx jmp SHORT G_M000_IG22 G_M000_IG29: mov ebx, dword ptr [ebp-30H] mov edi, dword ptr [ebp-20H] jmp SHORT G_M000_IG24 G_M000_IG30: mov dword ptr [ebp-24H], eax mov edi, dword ptr [ebp-20H] jmp SHORT G_M000_IG24 G_M000_IG31: mov ecx, dword ptr [ebp-14H] cmp byte ptr [ecx], 0 jne SHORT G_M000_IG33 G_M000_IG32: mov edx, 48 jmp SHORT G_M000_IG34 G_M000_IG33: mov edx, ecx lea ecx, [edx+01H] mov dword ptr [ebp-14H], ecx movzx edx, byte ptr [edx] mov ecx, dword ptr [ebp-14H] G_M000_IG34: movzx edx, dx mov ebx, dword ptr [esi+04H] mov dword ptr [ebp-4CH], ebx lea ebx, bword ptr [esi+08H] mov edi, bword ptr [ebx] mov bword ptr [ebp-80H], edi mov ebx, dword ptr [ebx+04H] mov edi, dword ptr [ebp-4CH] cmp edi, ebx jae SHORT G_M000_IG36 G_M000_IG35: mov ebx, bword ptr [ebp-80H] mov word ptr [ebx+2*edi], dx inc edi mov dword ptr [esi+04H], edi jmp SHORT G_M000_IG37 G_M000_IG36: mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], ecx mov ecx, esi call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov eax, dword ptr [ebp-10H] mov ecx, dword ptr [ebp-14H] G_M000_IG37: dec eax mov edi, eax mov dword ptr [ebp-10H], edi test edi, edi mov dword ptr [ebp-14H], ecx mov eax, dword ptr [ebp-10H] jg SHORT G_M000_IG31 G_M000_IG38: mov dword ptr [ebp-10H], eax mov edi, dword ptr [ebp-14H] jmp SHORT G_M000_IG41 G_M000_IG39: mov edx, dword ptr [esi+04H] mov dword ptr [ebp-50H], edx lea ebx, bword ptr [esi+08H] mov edx, bword ptr [ebx] mov bword ptr [ebp-84H], edx mov ebx, dword ptr [ebx+04H] mov edx, dword ptr [ebp-50H] cmp edx, ebx jae SHORT G_M000_IG40 mov ebx, bword ptr [ebp-84H] mov word ptr [ebx+2*edx], 48 inc edx mov dword ptr [esi+04H], edx mov dword ptr [ebp-10H], eax mov edi, dword ptr [ebp-14H] jmp SHORT G_M000_IG41 G_M000_IG40: mov dword ptr [ebp-10H], eax mov ecx, esi mov edx, 48 call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov edi, dword ptr [ebp-14H] G_M000_IG41: mov ebx, dword ptr [ebp+1CH] test ebx, ebx jle G_M000_IG60 G_M000_IG42: mov ecx, bword ptr [ebp+10H] mov bword ptr [ebp-88H], ecx mov eax, dword ptr [ebp+14H] mov dword ptr [ebp-64H], eax mov edx, dword ptr [esi+04H] lea ecx, bword ptr [esi+08H] mov eax, bword ptr [ecx] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ebp-64H], 1 jne SHORT G_M000_IG43 cmp edx, ecx jae SHORT G_M000_IG43 mov ecx, bword ptr [ebp-88H] movzx ecx, word ptr [ecx] mov word ptr [eax+2*edx], cx inc edx mov dword ptr [esi+04H], edx jmp SHORT G_M000_IG44 G_M000_IG43: push dword ptr [ebp-64H] push bword ptr [ebp-88H] mov ecx, esi call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] G_M000_IG44: mov ecx, dword ptr [ebp-10H] test ecx, ecx jge SHORT G_M000_IG51 mov eax, ecx neg eax cmp eax, ebx cmovg eax, ebx mov dword ptr [ebp-34H], eax xor edx, edx mov dword ptr [ebp-38H], edx test eax, eax jle SHORT G_M000_IG47 G_M000_IG45: mov ecx, dword ptr [esi+04H] mov dword ptr [ebp-54H], ecx lea eax, bword ptr [esi+08H] mov ecx, bword ptr [eax] mov bword ptr [ebp-8CH], ecx mov eax, dword ptr [eax+04H] mov ecx, dword ptr [ebp-54H] cmp ecx, eax jae SHORT G_M000_IG48 G_M000_IG46: mov eax, bword ptr [ebp-8CH] mov word ptr [eax+2*ecx], 48 inc ecx mov dword ptr [esi+04H], ecx jmp SHORT G_M000_IG49 G_M000_IG47: mov ecx, dword ptr [ebp-34H] jmp SHORT G_M000_IG50 G_M000_IG48: mov ecx, esi mov edx, 48 call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] G_M000_IG49: mov edx, dword ptr [ebp-38H] inc edx mov ecx, dword ptr [ebp-34H] cmp edx, ecx mov dword ptr [ebp-38H], edx jl SHORT G_M000_IG54 G_M000_IG50: sub ebx, ecx G_M000_IG51: test ebx, ebx jle SHORT G_M000_IG60 G_M000_IG52: cmp byte ptr [edi], 0 jne SHORT G_M000_IG55 G_M000_IG53: mov ecx, 48 jmp SHORT G_M000_IG56 G_M000_IG54: jmp SHORT G_M000_IG45 G_M000_IG55: mov ecx, edi lea edi, [ecx+01H] movzx ecx, byte ptr [ecx] G_M000_IG56: movzx edx, cx mov ecx, dword ptr [esi+04H] mov dword ptr [ebp-58H], ecx lea eax, bword ptr [esi+08H] mov ecx, bword ptr [eax] mov bword ptr [ebp-90H], ecx mov eax, dword ptr [eax+04H] mov ecx, dword ptr [ebp-58H] cmp ecx, eax jae SHORT G_M000_IG58 G_M000_IG57: mov eax, bword ptr [ebp-90H] mov word ptr [eax+2*ecx], dx inc ecx mov dword ptr [esi+04H], ecx jmp SHORT G_M000_IG59 G_M000_IG58: mov ecx, esi call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] G_M000_IG59: dec ebx test ebx, ebx jg SHORT G_M000_IG52 G_M000_IG60: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 24 G_M000_IG61: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG62: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 1145 474: JIT compiled System.Number:FormatFixed[ushort](byref,byref,int,int[],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]) [Tier-0 switched to FullOpts, IL size=542, code size=1145] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int]:this] test eax, eax jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this] mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-14H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] mov eax, dword ptr [eax] mov ecx, gword ptr [ebp-10H] mov dword ptr [ecx+04H], eax mov eax, gword ptr [ebp-10H] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int]:this] mov gword ptr [ebp-0CH], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this] mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] push dword ptr [eax] mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-0CH] call [eax+0CH]System.Func`3[System.__Canon,int,int]:Invoke(System.__Canon,int):int:this mov edx, gword ptr [ebp-10H] mov dword ptr [edx+04H], eax mov eax, gword ptr [ebp-10H] G_M000_IG05: mov esp, ebp pop ebp ret 4 ; Total bytes of code 190 475: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object) [Tier0, IL size=58, code size=190] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 476: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Resolver() [Tier0, IL size=7, code size=17] ; Assembly listing for method System.Number:UInt32ToDecChars[ushort](uint,uint,int):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 6 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx push eax mov esi, edx mov edi, dword ptr [ebp+08H] G_M000_IG02: cmp esi, 100 jb SHORT G_M000_IG12 align [0 bytes for IG03] G_M000_IG03: add ecx, -4 add edi, -2 mov edx, 0xD1FFAB1E mov eax, esi mul edx:eax, edx shr edx, 5 imul eax, edx, 100 sub esi, eax mov eax, gword ptr [D1FFAB1EH] cmp byte ptr [eax], al lea eax, bword ptr [eax+4*esi+08H] mov eax, dword ptr [eax] mov dword ptr [ecx], eax cmp edx, 100 jae SHORT G_M000_IG11 G_M000_IG04: test edx, edx je SHORT G_M000_IG10 G_M000_IG05: dec edi mov eax, 0xD1FFAB1E mov dword ptr [ebp-10H], edx mul edx:eax, edx shr edx, 3 lea eax, [edx+4*edx] add eax, eax mov esi, dword ptr [ebp-10H] mov ebx, esi sub ebx, eax mov esi, edx add ecx, -2 add ebx, 48 mov word ptr [ecx], bx test esi, esi jne SHORT G_M000_IG09 G_M000_IG06: test edi, edi mov edx, esi jg SHORT G_M000_IG05 G_M000_IG07: mov eax, ecx G_M000_IG08: pop ecx pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG09: mov edx, esi jmp SHORT G_M000_IG05 G_M000_IG10: mov esi, edx jmp SHORT G_M000_IG06 G_M000_IG11: mov esi, edx jmp SHORT G_M000_IG03 G_M000_IG12: mov edx, esi jmp SHORT G_M000_IG04 ; Total bytes of code 137 477: JIT compiled System.Number:UInt32ToDecChars[ushort](uint,uint,int) [Tier-0 switched to FullOpts, IL size=123, code size=137] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_FallbackValue():System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+1CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 478: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_FallbackValue() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Jobs.Job:get_ResolvedId():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov edx, gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax jne SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Jobs.JobIdGenerator:GenerateRandomId(BenchmarkDotNet.Jobs.Job):System.String] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:get_Id():System.String:this] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 52 479: JIT compiled BenchmarkDotNet.Jobs.Job:get_ResolvedId() [Tier0, IL size=27, code size=52] ; Assembly listing for method BenchmarkDotNet.Jobs.JobIdGenerator:GenerateRandomId(BenchmarkDotNet.Jobs.Job):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 8 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 8 mov edx, ecx G_M000_IG02: mov ecx, gword ptr [D1FFAB1EH] call [BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter:ToPresentation(BenchmarkDotNet.Characteristics.CharacteristicObject):System.String:this] mov ebx, eax test ebx, ebx je SHORT G_M000_IG04 G_M000_IG03: cmp dword ptr [ebx+04H], 0 je G_M000_IG09 G_M000_IG04: cmp byte ptr [ebx], bl test byte ptr [D1FFAB1EH], 1 je G_M000_IG11 G_M000_IG05: mov ecx, 0xD1FFAB1E mov esi, dword ptr [ecx] mov edi, dword ptr [ecx+04H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov edx, dword ptr [ebx+04H] add edx, edx push esi push edi lea ecx, bword ptr [ebx+08H] call [System.Marvin:ComputeHash32(byref,uint,uint,uint):int] mov edx, eax mov ecx, gword ptr [ebp-14H] call [System.Random:.ctor(int):this] mov ebx, gword ptr [ebp-14H] mov esi, 0xD1FFAB1E xor edi, edi G_M000_IG06: mov ecx, gword ptr [ebx+04H] mov edx, 26 mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+18H]System.Random+ImplBase:Next(int):int:this add eax, 65 movzx eax, ax mov dword ptr [ebp-10H], eax mov ecx, 1 call System.String:FastAllocateString(int):System.String mov ecx, dword ptr [ebp-10H] mov word ptr [eax+08H], cx mov ecx, esi mov edx, eax call [System.String:Concat(System.String,System.String):System.String] mov esi, eax inc edi cmp edi, 6 jl SHORT G_M000_IG06 G_M000_IG07: mov edx, esi mov ecx, 0xD1FFAB1E call [System.String:Concat(System.String,System.String):System.String] G_M000_IG08: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG09: mov eax, 0xD1FFAB1E G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG11: mov ecx, 0xD1FFAB1E mov edx, 367 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M000_IG05 ; Total bytes of code 228 480: JIT compiled BenchmarkDotNet.Jobs.JobIdGenerator:GenerateRandomId(BenchmarkDotNet.Jobs.Job) [Tier-0 switched to FullOpts, IL size=101, code size=228] ; Assembly listing for method BenchmarkDotNet.Validators.ValidationErrorReporter:ReportIfAny(System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Validators.ValidationError],BenchmarkDotNet.Engines.IHost):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi push ebx sub esp, 24 xor eax, eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov esi, edx G_M000_IG02: xor ebx, ebx call [System.Collections.Generic.IEnumerable`1[System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this] mov ecx, eax mov gword ptr [ebp-20H], ecx G_M000_IG03: call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG05 G_M000_IG04: mov ecx, gword ptr [ebp-20H] call [System.Collections.Generic.IEnumerator`1[System.__Canon]:get_Current():System.__Canon:this] mov edx, gword ptr [eax+04H] mov ecx, esi call [BenchmarkDotNet.Engines.IHost:SendError(System.String):this] mov ebx, 1 mov ecx, gword ptr [ebp-20H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG04 G_M000_IG05: mov ecx, gword ptr [ebp-20H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG08 G_M000_IG06: cmp gword ptr [ebp-20H], 0 je SHORT G_M000_IG07 mov ecx, gword ptr [ebp-20H] call [System.IDisposable:Dispose():this] G_M000_IG07: pop eax jmp eax G_M000_IG08: mov eax, ebx G_M000_IG09: lea esp, [ebp-08H] pop ebx pop esi pop ebp ret ; Total bytes of code 123 481: JIT compiled BenchmarkDotNet.Validators.ValidationErrorReporter:ReportIfAny(System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Validators.ValidationError],BenchmarkDotNet.Engines.IHost) [Tier-0 switched to FullOpts, IL size=54, code size=123] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__55:System.Collections.Generic.IEnumerable.GetEnumerator():System.Collections.Generic.IEnumerator`1[BenchmarkDotNet.Validators.ValidationError]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] cmp dword ptr [eax+10H], -2 jne SHORT G_M000_IG03 mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+14H] mov dword ptr [ebp-10H], eax call System.Environment:get_CurrentManagedThreadId():int cmp eax, dword ptr [ebp-10H] jne SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] xor eax, eax mov dword ptr [ecx+10H], eax mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-08H], ecx jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] xor edx, edx call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__55:.ctor(int):this] mov edx, gword ptr [ebp-0CH] mov gword ptr [ebp-08H], edx G_M000_IG04: mov edx, gword ptr [ebp-04H] mov eax, gword ptr [edx+0CH] mov edx, gword ptr [ebp-08H] lea edx, bword ptr [edx+08H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-08H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 115 482: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__55:System.Collections.Generic.IEnumerable.GetEnumerator() [Tier0, IL size=55, code size=115] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__55:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 44 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-2CH], xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+10H] mov dword ptr [ebp-08H], eax cmp dword ptr [ebp-08H], 2 ja SHORT G_M000_IG03 mov ecx, dword ptr [ebp-08H] lea eax, [@RWD00] mov eax, dword ptr [eax+4*ecx] lea edx, G_M000_IG02 add eax, edx jmp eax G_M000_IG03: xor eax, eax G_M000_IG04: mov esp, ebp pop ebp ret G_M000_IG05: mov ecx, gword ptr [ebp-04H] mov dword ptr [ecx+10H], -1 mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.Job:get_Environment():BenchmarkDotNet.Jobs.EnvironmentMode:this] mov ecx, eax cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.EnvironmentMode:get_Jit():int:this] cmp eax, 2 jne SHORT G_M000_IG08 call [BenchmarkDotNet.Portability.RuntimeInformation:HasRyuJit():bool] test eax, eax jne SHORT G_M000_IG08 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-2CH], eax push 0xD1FFAB1E push 0 mov ecx, gword ptr [ebp-2CH] mov edx, 1 call [BenchmarkDotNet.Validators.ValidationError:.ctor(bool,System.String,BenchmarkDotNet.Running.BenchmarkCase):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-2CH] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov dword ptr [eax+10H], 1 mov eax, 1 G_M000_IG06: mov esp, ebp pop ebp ret G_M000_IG07: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+10H], -1 G_M000_IG08: call [BenchmarkDotNet.Portability.RuntimeInformation:GetCurrentRuntime():BenchmarkDotNet.Environments.Runtime] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.Job:get_Environment():BenchmarkDotNet.Jobs.EnvironmentMode:this] mov ecx, eax cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.EnvironmentMode:get_Jit():int:this] cmp eax, 1 jne G_M000_IG11 mov edx, gword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax jne G_M000_IG11 push 1 lea ecx, [ebp-24H] mov edx, 51 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] lea ecx, [ebp-24H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] push 0xD1FFAB1E lea ecx, [ebp-24H] mov edx, gword ptr [ebp-0CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-28H], eax lea ecx, [ebp-24H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] push eax push 0 mov ecx, gword ptr [ebp-28H] mov edx, 1 call [BenchmarkDotNet.Validators.ValidationError:.ctor(bool,System.String,BenchmarkDotNet.Running.BenchmarkCase):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-28H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov dword ptr [eax+10H], 2 mov eax, 1 G_M000_IG09: mov esp, ebp pop ebp ret G_M000_IG10: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+10H], -1 G_M000_IG11: xor eax, eax G_M000_IG12: mov esp, ebp pop ebp ret RWD00 dd G_M000_IG05 - G_M000_IG02 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG10 - G_M000_IG02 ; Total bytes of code 399 483: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__55:MoveNext() [Tier0, IL size=195, code size=399] ; Assembly listing for method BenchmarkDotNet.Jobs.Job:get_Environment():BenchmarkDotNet.Jobs.EnvironmentMode:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [D1FFAB1EH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):System.__Canon:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 484: JIT compiled BenchmarkDotNet.Jobs.Job:get_Environment() [Tier0, IL size=12, code size=28] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-10H], ecx mov ecx, dword ptr [ebp-10H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-10H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-10H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-0CH], eax G_M000_IG05: push dword ptr [ebp-0CH] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]):System.__Canon:this] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 87 485: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=8, code size=87] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]):System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-10H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue(BenchmarkDotNet.Characteristics.Characteristic):System.Object:this] mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-10H] mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call [CORINFO_HELP_CHKCASTANY] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 61 486: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]) [Tier0, IL size=13, code size=61] ; Assembly listing for method BenchmarkDotNet.Jobs.EnvironmentMode:get_Jit():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [D1FFAB1EH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):int:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 487: JIT compiled BenchmarkDotNet.Jobs.EnvironmentMode:get_Jit() [Tier0, IL size=12, code size=28] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int]):int:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 488: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=8, code size=30] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int]):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue(BenchmarkDotNet.Characteristics.Characteristic):System.Object:this] mov gword ptr [ebp-0CH], eax mov edx, gword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] mov eax, dword ptr [eax] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 52 489: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int]) [Tier0, IL size=13, code size=52] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int]:this] test eax, eax jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this] mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-14H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] mov eax, dword ptr [eax] mov ecx, gword ptr [ebp-10H] mov dword ptr [ecx+04H], eax mov eax, gword ptr [ebp-10H] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int]:this] mov gword ptr [ebp-0CH], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this] mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] push dword ptr [eax] mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-0CH] call [eax+0CH]System.Func`3[System.__Canon,int,int]:Invoke(System.__Canon,int):int:this mov edx, gword ptr [ebp-10H] mov dword ptr [edx+04H], eax mov eax, gword ptr [ebp-10H] G_M000_IG05: mov esp, ebp pop ebp ret 4 ; Total bytes of code 190 490: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object) [Tier0, IL size=58, code size=190] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 491: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Resolver() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:GetCurrentRuntime():BenchmarkDotNet.Environments.Runtime ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax G_M000_IG02: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsAot():bool] test eax, eax je SHORT G_M000_IG03 call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsMono():bool] test eax, eax je SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E mov edx, 394 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-08H], eax jmp G_M000_IG10 G_M000_IG03: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsWasm():bool] test eax, eax je SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E mov edx, 398 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-08H], eax jmp G_M000_IG10 G_M000_IG04: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsNewMono():bool] test eax, eax je SHORT G_M000_IG05 call [BenchmarkDotNet.Environments.MonoRuntime:GetCurrentVersion():BenchmarkDotNet.Environments.Runtime] mov gword ptr [ebp-08H], eax jmp G_M000_IG10 G_M000_IG05: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsOldMono():bool] test eax, eax je SHORT G_M000_IG06 mov ecx, 0xD1FFAB1E mov edx, 395 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-08H], eax jmp SHORT G_M000_IG10 G_M000_IG06: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsFullFramework():bool] test eax, eax je SHORT G_M000_IG07 call [BenchmarkDotNet.Environments.ClrRuntime:GetCurrentVersion():BenchmarkDotNet.Environments.ClrRuntime] mov gword ptr [ebp-08H], eax jmp SHORT G_M000_IG10 G_M000_IG07: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsNetCore():bool] test eax, eax je SHORT G_M000_IG08 call [BenchmarkDotNet.Environments.CoreRuntime:GetCurrentVersion():BenchmarkDotNet.Environments.CoreRuntime] mov gword ptr [ebp-08H], eax jmp SHORT G_M000_IG10 G_M000_IG08: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsNativeAOT():bool] test eax, eax je SHORT G_M000_IG09 call [BenchmarkDotNet.Environments.NativeAotRuntime:GetCurrentVersion():BenchmarkDotNet.Environments.NativeAotRuntime] mov gword ptr [ebp-08H], eax jmp SHORT G_M000_IG10 G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, 0x9148 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-0CH], eax mov edx, gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-04H] call [System.NotSupportedException:.ctor(System.String):this] mov ecx, gword ptr [ebp-04H] call CORINFO_HELP_THROW G_M000_IG10: mov eax, gword ptr [ebp-08H] G_M000_IG11: mov esp, ebp pop ebp ret ; Total bytes of code 283 492: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:GetCurrentRuntime() [Tier0, IL size=109, code size=283] ; Assembly listing for method BenchmarkDotNet.Environments.CoreRuntime:GetCurrentVersion():BenchmarkDotNet.Environments.CoreRuntime ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-14H], xmm4 xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsNetCore():bool] test eax, eax jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, 0xF2F7 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-10H] mov ecx, gword ptr [ebp-0CH] call [System.NotSupportedException:.ctor(System.String):this] mov ecx, gword ptr [ebp-0CH] call CORINFO_HELP_THROW G_M000_IG04: lea ecx, [ebp-04H] call [BenchmarkDotNet.Environments.CoreRuntime:TryGetVersion(byref):bool] test eax, eax jne SHORT G_M000_IG06 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, 0xF3C6 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-14H] mov ecx, gword ptr [ebp-08H] call [System.NotSupportedException:.ctor(System.String):this] mov ecx, gword ptr [ebp-08H] call CORINFO_HELP_THROW G_M000_IG06: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.CoreRuntime:FromVersion(System.Version):BenchmarkDotNet.Environments.CoreRuntime] G_M000_IG07: mov esp, ebp pop ebp ret ; Total bytes of code 158 493: JIT compiled BenchmarkDotNet.Environments.CoreRuntime:GetCurrentVersion() [Tier0, IL size=45, code size=158] ; Assembly listing for method BenchmarkDotNet.Environments.CoreRuntime:FromVersion(System.Version):BenchmarkDotNet.Environments.CoreRuntime ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 88 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-58H], xmm4 vmovdqu xmmword ptr [ebp-48H], xmm4 vmovdqu xmmword ptr [ebp-38H], xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 vmovdqu xmmword ptr [ebp-18H], xmm4 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-08H], ecx cmp gword ptr [ebp-08H], 0 je G_M000_IG10 mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Version:get_Major():int:this] cmp eax, 2 jne SHORT G_M000_IG03 mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Version:get_Minor():int:this] test eax, eax jne SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E mov edx, 393 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-44H], ecx jmp G_M000_IG11 G_M000_IG03: mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-0CH] cmp dword ptr [ecx], ecx call [System.Version:get_Major():int:this] cmp eax, 2 jne SHORT G_M000_IG04 mov ecx, gword ptr [ebp-0CH] cmp dword ptr [ecx], ecx call [System.Version:get_Minor():int:this] cmp eax, 1 jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E mov edx, 393 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-44H], ecx jmp G_M000_IG11 G_M000_IG04: mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-10H] cmp dword ptr [ecx], ecx call [System.Version:get_Major():int:this] cmp eax, 2 jne SHORT G_M000_IG05 mov ecx, gword ptr [ebp-10H] cmp dword ptr [ecx], ecx call [System.Version:get_Minor():int:this] cmp eax, 2 jne SHORT G_M000_IG05 mov ecx, 0xD1FFAB1E mov edx, 393 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-44H], ecx jmp G_M000_IG11 G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-14H], ecx mov ecx, gword ptr [ebp-14H] cmp dword ptr [ecx], ecx call [System.Version:get_Major():int:this] cmp eax, 3 jne SHORT G_M000_IG06 mov ecx, gword ptr [ebp-14H] cmp dword ptr [ecx], ecx call [System.Version:get_Minor():int:this] test eax, eax jne SHORT G_M000_IG06 mov ecx, 0xD1FFAB1E mov edx, 393 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-44H], ecx jmp G_M000_IG11 G_M000_IG06: mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-18H], ecx mov ecx, gword ptr [ebp-18H] cmp dword ptr [ecx], ecx call [System.Version:get_Major():int:this] cmp eax, 3 jne SHORT G_M000_IG07 mov ecx, gword ptr [ebp-18H] cmp dword ptr [ecx], ecx call [System.Version:get_Minor():int:this] cmp eax, 1 jne SHORT G_M000_IG07 mov ecx, 0xD1FFAB1E mov edx, 393 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-44H], ecx jmp G_M000_IG11 G_M000_IG07: mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ebp-1CH] cmp dword ptr [ecx], ecx call [System.Version:get_Major():int:this] cmp eax, 5 jne SHORT G_M000_IG08 mov ecx, gword ptr [ebp-1CH] cmp dword ptr [ecx], ecx call [System.Version:get_Minor():int:this] test eax, eax jne SHORT G_M000_IG08 mov ecx, 0xD1FFAB1E mov edx, 393 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] call [BenchmarkDotNet.Environments.CoreRuntime:GetPlatformSpecific(BenchmarkDotNet.Environments.CoreRuntime):BenchmarkDotNet.Environments.CoreRuntime] mov gword ptr [ebp-44H], eax jmp G_M000_IG11 G_M000_IG08: mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-20H], ecx mov ecx, gword ptr [ebp-20H] cmp dword ptr [ecx], ecx call [System.Version:get_Major():int:this] cmp eax, 6 jne SHORT G_M000_IG09 mov ecx, gword ptr [ebp-20H] cmp dword ptr [ecx], ecx call [System.Version:get_Minor():int:this] test eax, eax jne SHORT G_M000_IG09 mov ecx, 0xD1FFAB1E mov edx, 393 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] call [BenchmarkDotNet.Environments.CoreRuntime:GetPlatformSpecific(BenchmarkDotNet.Environments.CoreRuntime):BenchmarkDotNet.Environments.CoreRuntime] mov gword ptr [ebp-44H], eax jmp G_M000_IG11 G_M000_IG09: mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-24H], ecx mov ecx, gword ptr [ebp-24H] cmp dword ptr [ecx], ecx call [System.Version:get_Major():int:this] cmp eax, 7 jne SHORT G_M000_IG10 mov ecx, gword ptr [ebp-24H] cmp dword ptr [ecx], ecx call [System.Version:get_Minor():int:this] test eax, eax jne SHORT G_M000_IG10 mov ecx, 0xD1FFAB1E mov edx, 393 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] call [BenchmarkDotNet.Environments.CoreRuntime:GetPlatformSpecific(BenchmarkDotNet.Environments.CoreRuntime):BenchmarkDotNet.Environments.CoreRuntime] mov gword ptr [ebp-44H], eax jmp G_M000_IG11 G_M000_IG10: push 2 lea ecx, [ebp-3CH] mov edx, 4 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] lea ecx, [ebp-3CH] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [System.Version:get_Major():int:this] mov dword ptr [ebp-48H], eax mov edx, dword ptr [ebp-48H] lea ecx, [ebp-3CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this] lea ecx, [ebp-3CH] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [System.Version:get_Minor():int:this] mov dword ptr [ebp-4CH], eax mov edx, dword ptr [ebp-4CH] lea ecx, [ebp-3CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this] lea ecx, [ebp-3CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] mov gword ptr [ebp-40H], eax push 2 lea ecx, [ebp-3CH] mov edx, 6 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] lea ecx, [ebp-3CH] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [System.Version:get_Major():int:this] mov dword ptr [ebp-50H], eax mov edx, dword ptr [ebp-50H] lea ecx, [ebp-3CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this] lea ecx, [ebp-3CH] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [System.Version:get_Minor():int:this] mov dword ptr [ebp-54H], eax mov edx, dword ptr [ebp-54H] lea ecx, [ebp-3CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this] lea ecx, [ebp-3CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] mov gword ptr [ebp-58H], eax mov edx, gword ptr [ebp-58H] mov ecx, gword ptr [ebp-40H] call [BenchmarkDotNet.Environments.CoreRuntime:CreateForNewVersion(System.String,System.String):BenchmarkDotNet.Environments.CoreRuntime] mov gword ptr [ebp-44H], eax G_M000_IG11: mov eax, gword ptr [ebp-44H] G_M000_IG12: mov esp, ebp pop ebp ret ; Total bytes of code 840 494: JIT compiled BenchmarkDotNet.Environments.CoreRuntime:FromVersion(System.Version) [Tier0, IL size=374, code size=840] ; Assembly listing for method BenchmarkDotNet.Environments.CoreRuntime:CreateForNewVersion(System.String,System.String):BenchmarkDotNet.Environments.CoreRuntime ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.String:IsNullOrEmpty(System.String):bool] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, 0xF2D9 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-14H] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-14H] call CORINFO_HELP_THROW G_M000_IG04: mov ecx, gword ptr [ebp-08H] call [System.String:IsNullOrEmpty(System.String):bool] test eax, eax je SHORT G_M000_IG06 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, 0x9228 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-1CH], eax mov edx, gword ptr [ebp-1CH] mov ecx, gword ptr [ebp-10H] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-10H] call CORINFO_HELP_THROW G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax push gword ptr [ebp-04H] push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, 1 call [BenchmarkDotNet.Environments.CoreRuntime:.ctor(int,System.String,System.String):this] mov eax, gword ptr [ebp-0CH] G_M000_IG07: mov esp, ebp pop ebp ret ; Total bytes of code 194 495: JIT compiled BenchmarkDotNet.Environments.CoreRuntime:CreateForNewVersion(System.String,System.String) [Tier0, IL size=47, code size=194] ; Assembly listing for method BenchmarkDotNet.Environments.CoreRuntime:.ctor(int,System.String,System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: push gword ptr [ebp+0CH] push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] call [BenchmarkDotNet.Environments.Runtime:.ctor(int,System.String,System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 36 496: JIT compiled BenchmarkDotNet.Environments.CoreRuntime:.ctor(int,System.String,System.String) [Tier0, IL size=10, code size=36] ; Assembly listing for method BenchmarkDotNet.Environments.Runtime:.ctor(int,System.String,System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov ecx, gword ptr [ebp+08H] call [System.String:IsNullOrEmpty(System.String):bool] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, 0x9228 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-14H] mov ecx, gword ptr [ebp-10H] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-10H] call CORINFO_HELP_THROW G_M000_IG04: mov ecx, gword ptr [ebp+0CH] call [System.String:IsNullOrEmpty(System.String):bool] test eax, eax je SHORT G_M000_IG06 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, 0xF2D9 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-0CH] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-0CH] call CORINFO_HELP_THROW G_M000_IG06: mov edx, gword ptr [ebp-04H] mov ecx, dword ptr [ebp-08H] mov dword ptr [edx+0CH], ecx mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov ecx, gword ptr [ebp+0CH] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX G_M000_IG07: mov esp, ebp pop ebp ret 8 ; Total bytes of code 206 497: JIT compiled BenchmarkDotNet.Environments.Runtime:.ctor(int,System.String,System.String) [Tier0, IL size=66, code size=206] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__55:System.IDisposable.Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov esp, ebp pop ebp ret ; Total bytes of code 11 498: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__55:System.IDisposable.Dispose() [Tier0, IL size=1, code size=11] ; Assembly listing for method BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], ecx G_M000_IG02: mov ecx, dword ptr [ebp-08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-0CH], eax G_M000_IG05: mov ecx, dword ptr [ebp-08H] call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov bword ptr [ebp-10H], eax mov ecx, dword ptr [ebp-0CH] call [System.Activator:CreateInstance[System.__Canon]():System.__Canon] mov ecx, eax cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this] mov edx, bword ptr [ebp-10H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 107 499: JIT compiled BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.cctor() [Tier0, IL size=21, code size=107] ; Assembly listing for method BenchmarkDotNet.Jobs.Job:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] xor edx, edx call [BenchmarkDotNet.Jobs.Job:.ctor(System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 22 500: JIT compiled BenchmarkDotNet.Jobs.Job:.ctor() [Tier0, IL size=8, code size=22] ; Assembly listing for method BenchmarkDotNet.Engines.EngineFactory:CreateReadyToRun(BenchmarkDotNet.Engines.EngineParameters):BenchmarkDotNet.Engines.IEngine:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 216 vzeroupper vxorps xmm4, xmm4, xmm4 mov eax, -192 vmovdqu xmmword ptr [ebp+eax-10H], xmm4 vmovdqu xmmword ptr [eax+ebp], xmm4 vmovdqu xmmword ptr [ebp+eax+10H], xmm4 add eax, 48 jne SHORT -5 instr mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_WorkloadActionNoUnroll():System.Action`1[long]:this] test eax, eax jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-98H], eax mov ecx, 0x4D2D mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-A0H], eax mov edx, gword ptr [ebp-A0H] mov ecx, gword ptr [ebp-98H] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-98H] call CORINFO_HELP_THROW G_M000_IG04: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_WorkloadActionUnroll():System.Action`1[long]:this] test eax, eax jne SHORT G_M000_IG06 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-94H], eax mov ecx, 0x4D03 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-A4H], eax mov edx, gword ptr [ebp-A4H] mov ecx, gword ptr [ebp-94H] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-94H] call CORINFO_HELP_THROW G_M000_IG06: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_Dummy1Action():System.Action:this] test eax, eax jne SHORT G_M000_IG08 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-90H], eax mov ecx, 0xF93E mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-A8H], eax mov edx, gword ptr [ebp-A8H] mov ecx, gword ptr [ebp-90H] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-90H] call CORINFO_HELP_THROW G_M000_IG08: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_Dummy2Action():System.Action:this] test eax, eax jne SHORT G_M000_IG10 G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-8CH], eax mov ecx, 0xF958 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-ACH], eax mov edx, gword ptr [ebp-ACH] mov ecx, gword ptr [ebp-8CH] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-8CH] call CORINFO_HELP_THROW G_M000_IG10: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_Dummy3Action():System.Action:this] test eax, eax jne SHORT G_M000_IG12 G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-88H], eax mov ecx, 0xF972 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-B0H], eax mov edx, gword ptr [ebp-B0H] mov ecx, gword ptr [ebp-88H] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-88H] call CORINFO_HELP_THROW G_M000_IG12: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_OverheadActionNoUnroll():System.Action`1[long]:this] test eax, eax jne SHORT G_M000_IG14 G_M000_IG13: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-84H], eax mov ecx, 0x4CBF mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-B4H], eax mov edx, gword ptr [ebp-B4H] mov ecx, gword ptr [ebp-84H] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-84H] call CORINFO_HELP_THROW G_M000_IG14: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_OverheadActionUnroll():System.Action`1[long]:this] test eax, eax jne SHORT G_M000_IG16 G_M000_IG15: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-80H], eax mov ecx, 0x4C95 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-B8H], eax mov edx, gword ptr [ebp-B8H] mov ecx, gword ptr [ebp-80H] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-80H] call CORINFO_HELP_THROW G_M000_IG16: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] test eax, eax jne SHORT G_M000_IG18 G_M000_IG17: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-7CH], eax mov ecx, 0xF98C mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-BCH], eax mov edx, gword ptr [ebp-BCH] mov ecx, gword ptr [ebp-7CH] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-7CH] call CORINFO_HELP_THROW G_M000_IG18: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_GlobalSetupAction():System.Action:this] mov gword ptr [ebp-2CH], eax mov ecx, gword ptr [ebp-2CH] mov gword ptr [ebp-30H], ecx cmp gword ptr [ebp-2CH], 0 jne SHORT G_M000_IG19 jmp SHORT G_M000_IG20 G_M000_IG19: mov ecx, gword ptr [ebp-30H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-30H] call [eax+0CH]System.Action:Invoke():this G_M000_IG20: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_NeedsJitting():bool:this] test eax, eax jne SHORT G_M000_IG21 mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.EngineFactory:CreateMultiActionEngine(BenchmarkDotNet.Engines.EngineParameters):BenchmarkDotNet.Engines.Engine] mov gword ptr [ebp-9CH], eax jmp G_M000_IG28 G_M000_IG21: xor ecx, ecx mov dword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_HasInvocationCount():bool:this] test eax, eax jne SHORT G_M000_IG22 mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_HasUnrollFactor():bool:this] test eax, eax je SHORT G_M000_IG23 G_M000_IG22: mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.EngineFactory:CreateMultiActionEngine(BenchmarkDotNet.Engines.EngineParameters):BenchmarkDotNet.Engines.Engine] mov gword ptr [ebp-34H], eax mov ecx, dword ptr [ebp-0CH] inc ecx mov dword ptr [ebp-38H], ecx mov ecx, dword ptr [ebp-0CH] inc ecx mov dword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_UnrollFactor():int:this] mov dword ptr [ebp-3CH], eax push dword ptr [ebp-38H] push dword ptr [ebp-3CH] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_UnrollFactor():int:this] push eax lea ecx, [ebp-44H] mov edx, gword ptr [ebp-34H] call [BenchmarkDotNet.Engines.EngineFactory:Jit(BenchmarkDotNet.Engines.Engine,int,int,int):Perfolizer.Horology.TimeInterval] push dword ptr [ebp-40H] push dword ptr [ebp-44H] call [BenchmarkDotNet.Engines.DeadCodeEliminationHelper:KeepAliveWithoutBoxing[Perfolizer.Horology.TimeInterval](Perfolizer.Horology.TimeInterval)] mov ecx, gword ptr [ebp-34H] mov gword ptr [ebp-9CH], ecx jmp G_M000_IG28 G_M000_IG23: mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.EngineFactory:CreateSingleActionEngine(BenchmarkDotNet.Engines.EngineParameters):BenchmarkDotNet.Engines.Engine] mov gword ptr [ebp-10H], eax mov ecx, dword ptr [ebp-0CH] inc ecx mov dword ptr [ebp-48H], ecx mov ecx, dword ptr [ebp-0CH] inc ecx mov dword ptr [ebp-0CH], ecx push dword ptr [ebp-48H] push 1 push 1 lea ecx, [ebp-18H] mov edx, gword ptr [ebp-10H] call [BenchmarkDotNet.Engines.EngineFactory:Jit(BenchmarkDotNet.Engines.Engine,int,int,int):Perfolizer.Horology.TimeInterval] lea edx, [ebp-50H] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_IterationTime():Perfolizer.Horology.TimeInterval:this] push dword ptr [ebp-4CH] push dword ptr [ebp-50H] push dword ptr [ebp-14H] push dword ptr [ebp-18H] call [Perfolizer.Horology.TimeInterval:op_Division(Perfolizer.Horology.TimeInterval,Perfolizer.Horology.TimeInterval):double] fstp qword ptr [ebp-D8H] vmovsd xmm0, qword ptr [ebp-D8H] vmovsd qword ptr [ebp-20H], xmm0 vmovsd xmm0, qword ptr [@RWD00] vucomisd xmm0, qword ptr [ebp-20H] jbe G_M000_IG25 vmovsd xmm0, qword ptr [@RWD08] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-6CH] call [Perfolizer.Horology.TimeInterval:FromSeconds(double):Perfolizer.Horology.TimeInterval] push dword ptr [ebp-14H] push dword ptr [ebp-18H] push dword ptr [ebp-68H] push dword ptr [ebp-6CH] call [Perfolizer.Horology.TimeInterval:op_LessThan(Perfolizer.Horology.TimeInterval,Perfolizer.Horology.TimeInterval):bool] test eax, eax je SHORT G_M000_IG25 mov ecx, dword ptr [ebp-0CH] inc ecx mov dword ptr [ebp-70H], ecx mov ecx, dword ptr [ebp-0CH] inc ecx mov dword ptr [ebp-0CH], ecx push dword ptr [ebp-70H] push 1 push 1 lea ecx, [ebp-18H] mov edx, gword ptr [ebp-10H] call [BenchmarkDotNet.Engines.EngineFactory:Jit(BenchmarkDotNet.Engines.Engine,int,int,int):Perfolizer.Horology.TimeInterval] lea edx, [ebp-78H] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_IterationTime():Perfolizer.Horology.TimeInterval:this] push dword ptr [ebp-74H] push dword ptr [ebp-78H] G_M000_IG24: push dword ptr [ebp-14H] push dword ptr [ebp-18H] call [Perfolizer.Horology.TimeInterval:op_Division(Perfolizer.Horology.TimeInterval,Perfolizer.Horology.TimeInterval):double] fstp qword ptr [ebp-D8H] vmovsd xmm0, qword ptr [ebp-D8H] vmovsd qword ptr [ebp-20H], xmm0 G_M000_IG25: vmovsd xmm0, qword ptr [@RWD00] vucomisd xmm0, qword ptr [ebp-20H] jbe SHORT G_M000_IG26 mov ecx, gword ptr [ebp-10H] mov gword ptr [ebp-9CH], ecx jmp G_M000_IG28 G_M000_IG26: mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-C4H], ecx mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-C0H], ecx mov ecx, 0xD1FFAB1E mov edx, 407 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov edx, gword ptr [ebp-C0H] mov ecx, gword ptr [ebp-C4H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver):int:this] mov dword ptr [ebp-24H], eax vmovsd xmm0, qword ptr [ebp-20H] sub esp, 8 vmovsd qword ptr [esp], xmm0 call System.Math:Ceiling(double):double fstp qword ptr [ebp-D8H] vmovsd xmm0, qword ptr [ebp-D8H] vcvttsd2si ecx, xmm0 cmp ecx, dword ptr [ebp-24H] jge G_M000_IG27 mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-C8H], eax mov ecx, gword ptr [ebp-C8H] mov edx, 1 call [BenchmarkDotNet.Jobs.JobExtensions:WithUnrollFactor(BenchmarkDotNet.Jobs.Job,int):BenchmarkDotNet.Jobs.Job] mov gword ptr [ebp-CCH], eax mov ecx, gword ptr [ebp-CCH] mov edx, 2 call [BenchmarkDotNet.Jobs.JobExtensions:WithMinInvokeCount(BenchmarkDotNet.Jobs.Job,int):BenchmarkDotNet.Jobs.Job] mov gword ptr [ebp-D0H], eax mov ecx, gword ptr [ebp-D0H] xor edx, edx call [BenchmarkDotNet.Jobs.JobExtensions:WithEvaluateOverhead(BenchmarkDotNet.Jobs.Job,bool):BenchmarkDotNet.Jobs.Job] mov gword ptr [ebp-28H], eax mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_OverheadActionNoUnroll():System.Action`1[long]:this] mov gword ptr [ebp-64H], eax push gword ptr [ebp-64H] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_WorkloadActionNoUnroll():System.Action`1[long]:this] push eax mov edx, gword ptr [ebp-28H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.EngineFactory:CreateEngine(BenchmarkDotNet.Engines.EngineParameters,BenchmarkDotNet.Jobs.Job,System.Action`1[long],System.Action`1[long]):BenchmarkDotNet.Engines.Engine] mov gword ptr [ebp-9CH], eax jmp SHORT G_M000_IG28 G_M000_IG27: mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.EngineFactory:CreateMultiActionEngine(BenchmarkDotNet.Engines.EngineParameters):BenchmarkDotNet.Engines.Engine] mov gword ptr [ebp-54H], eax mov ecx, dword ptr [ebp-0CH] inc ecx mov dword ptr [ebp-58H], ecx mov ecx, dword ptr [ebp-0CH] inc ecx mov dword ptr [ebp-0CH], ecx push dword ptr [ebp-58H] push dword ptr [ebp-24H] push dword ptr [ebp-24H] lea ecx, [ebp-60H] mov edx, gword ptr [ebp-54H] call [BenchmarkDotNet.Engines.EngineFactory:Jit(BenchmarkDotNet.Engines.Engine,int,int,int):Perfolizer.Horology.TimeInterval] push dword ptr [ebp-5CH] push dword ptr [ebp-60H] call [BenchmarkDotNet.Engines.DeadCodeEliminationHelper:KeepAliveWithoutBoxing[Perfolizer.Horology.TimeInterval](Perfolizer.Horology.TimeInterval)] mov eax, gword ptr [ebp-54H] mov gword ptr [ebp-9CH], eax G_M000_IG28: mov eax, gword ptr [ebp-9CH] G_M000_IG29: mov esp, ebp pop ebp ret RWD00 dq 3FF8000000000000h ; 1.5 RWD08 dq 4024000000000000h ; 10 ; Total bytes of code 1486 501: JIT compiled BenchmarkDotNet.Engines.EngineFactory:CreateReadyToRun(BenchmarkDotNet.Engines.EngineParameters) [Tier0, IL size=453, code size=1486] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_WorkloadActionNoUnroll():System.Action`1[long]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+10H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 502: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_WorkloadActionNoUnroll() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_WorkloadActionUnroll():System.Action`1[long]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+14H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 503: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_WorkloadActionUnroll() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_Dummy1Action():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 504: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_Dummy1Action() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_Dummy2Action():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+1CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 505: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_Dummy2Action() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_Dummy3Action():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+20H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 506: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_Dummy3Action() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_OverheadActionNoUnroll():System.Action`1[long]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+24H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 507: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_OverheadActionNoUnroll() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_OverheadActionUnroll():System.Action`1[long]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+28H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 508: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_OverheadActionUnroll() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_TargetJob():BenchmarkDotNet.Jobs.Job:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+2CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 509: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_TargetJob() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_GlobalSetupAction():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+30H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 510: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_GlobalSetupAction() [Tier0, IL size=7, code size=17] ; Assembly listing for method System.Collections.Sort`1[System.__Canon]:Setup():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Collections.Sort`1[System.__Canon]:GenerateValues():System.__Canon[]:this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 511: JIT compiled System.Collections.Sort`1[System.__Canon]:Setup() [Tier0, IL size=13, code size=31] ; Assembly listing for method System.Collections.Sort`1[System.__Canon]:GenerateValues():System.__Canon[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 84 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-40H], xmm4 vmovdqu xmmword ptr [ebp-30H], xmm4 vmovdqu xmmword ptr [ebp-20H], xmm4 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: G_M000_IG03: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx], 0xD1FFAB1E jne G_M000_IG18 mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx+10H] call [BenchmarkDotNet.Extensions.ValuesGenerator:ArrayOfUniqueValues[int](int):int[]] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-44H], ecx mov ecx, dword ptr [ebp-44H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-44H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-18H], ecx jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp-44H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-18H], eax G_M000_IG06: mov ecx, dword ptr [ebp-18H] call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov ecx, gword ptr [eax+14H] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ebp-0CH] mov gword ptr [ebp-20H], ecx mov ecx, gword ptr [ebp-1CH] mov gword ptr [ebp-24H], ecx cmp gword ptr [ebp-1CH], 0 jne G_M000_IG13 mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-48H], ecx mov ecx, dword ptr [ebp-48H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp-48H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-2CH], ecx jmp SHORT G_M000_IG09 G_M000_IG08: mov ecx, dword ptr [ebp-48H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-2CH], eax G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-30H], eax mov ecx, dword ptr [ebp-2CH] call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov edx, gword ptr [eax] mov gword ptr [ebp-38H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-38H] mov ecx, gword ptr [ebp-30H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-4CH], ecx mov ecx, dword ptr [ebp-4CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG11 G_M000_IG10: mov ecx, dword ptr [ebp-4CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-34H], ecx jmp SHORT G_M000_IG12 G_M000_IG11: mov ecx, dword ptr [ebp-4CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-34H], eax G_M000_IG12: mov ecx, dword ptr [ebp-34H] call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE lea edx, bword ptr [eax+14H] mov ecx, gword ptr [ebp-30H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-30H] mov gword ptr [ebp-24H], ecx G_M000_IG13: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-50H], ecx mov ecx, dword ptr [ebp-50H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG15 G_M000_IG14: mov ecx, dword ptr [ebp-50H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-28H], ecx jmp SHORT G_M000_IG16 G_M000_IG15: mov ecx, dword ptr [ebp-50H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-28H], eax G_M000_IG16: push 0xD1FFAB1E mov ecx, gword ptr [ebp-20H] mov edx, gword ptr [ebp-24H] call [System.Linq.Enumerable:Select[int,System.__Canon](System.Collections.Generic.IEnumerable`1[int],System.Func`2[int,System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]] mov gword ptr [ebp-3CH], eax mov ecx, gword ptr [ebp-3CH] mov edx, 0xD1FFAB1E call [System.Linq.Enumerable:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon[]] mov gword ptr [ebp-40H], eax mov edx, gword ptr [ebp-40H] mov ecx, dword ptr [ebp-28H] call [CORINFO_HELP_CHKCASTARRAY] G_M000_IG17: mov esp, ebp pop ebp ret G_M000_IG18: G_M000_IG19: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-54H], ecx mov ecx, dword ptr [ebp-54H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG21 G_M000_IG20: mov ecx, dword ptr [ebp-54H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG22 G_M000_IG21: mov ecx, dword ptr [ebp-54H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-14H], eax G_M000_IG22: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx+10H] mov edx, dword ptr [ebp-14H] call [BenchmarkDotNet.Extensions.ValuesGenerator:ArrayOfUniqueValues[System.__Canon](int):System.__Canon[]] G_M000_IG23: mov esp, ebp pop ebp ret ; Total bytes of code 522 512: JIT compiled System.Collections.Sort`1[System.__Canon]:GenerateValues() [Tier0, IL size=273, code size=522] ; Assembly listing for method BenchmarkDotNet.Extensions.ValuesGenerator:ArrayOfUniqueValues[System.__Canon](int):System.__Canon[] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 13 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 32 xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], edx mov esi, ecx mov edi, edx G_M000_IG02: mov ecx, dword ptr [edi+0CH] mov ecx, dword ptr [ecx+08H] test ecx, ecx je SHORT G_M000_IG04 G_M000_IG03: jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, edi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov ecx, eax G_M000_IG05: mov edx, esi call CORINFO_HELP_NEWARR_1_OBJ mov ebx, eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-24H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-2CH], eax lea ecx, bword ptr [eax+04H] cmp gword ptr [ecx], 0 jne SHORT G_M000_IG07 G_M000_IG06: mov edx, 0x3039 call [System.Random+CompatPrng:Initialize(int):this] G_M000_IG07: mov eax, gword ptr [ebp-2CH] mov ecx, gword ptr [ebp-24H] lea edx, bword ptr [ecx+04H] call CORINFO_HELP_ASSIGN_REF_EAX mov gword ptr [ebp-18H], ecx mov ecx, dword ptr [edi+0CH] mov ecx, dword ptr [ecx+0CH] test ecx, ecx je SHORT G_M000_IG09 G_M000_IG08: jmp SHORT G_M000_IG10 G_M000_IG09: mov ecx, edi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov ecx, eax G_M000_IG10: call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-28H], eax mov ecx, eax xor edx, edx call [System.Collections.Generic.HashSet`1[System.__Canon]:.ctor(System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this] mov eax, gword ptr [ebp-28H] mov gword ptr [ebp-1CH], eax mov ecx, dword ptr [eax+10H] sub ecx, dword ptr [eax+18H] cmp ecx, esi je SHORT G_M000_IG12 mov ecx, dword ptr [edi+0CH] mov edx, dword ptr [ecx+10H] test edx, edx je SHORT G_M000_IG13 G_M000_IG11: mov edi, edx jmp SHORT G_M000_IG14 G_M000_IG12: mov edx, gword ptr [ebp-1CH] jmp SHORT G_M000_IG17 G_M000_IG13: mov ecx, edi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov edi, eax G_M000_IG14: mov edx, edi mov ecx, gword ptr [ebp-18H] call [BenchmarkDotNet.Extensions.ValuesGenerator:GenerateValue[System.__Canon](System.Random):System.__Canon] mov gword ptr [ebp-20H], eax mov ecx, gword ptr [ebp-1CH] mov edx, eax call [System.Collections.Generic.HashSet`1[System.__Canon]:FindItemIndex(System.__Canon):int:this] test eax, eax jge SHORT G_M000_IG16 G_M000_IG15: lea ecx, [ebp-14H] push ecx mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-20H] call [System.Collections.Generic.HashSet`1[System.__Canon]:AddIfNotPresent(System.__Canon,byref):bool:this] G_M000_IG16: mov edx, gword ptr [ebp-1CH] mov ecx, dword ptr [edx+10H] sub ecx, dword ptr [edx+18H] cmp ecx, esi jne SHORT G_M000_IG19 G_M000_IG17: push 0 mov ecx, dword ptr [edx+10H] sub ecx, dword ptr [edx+18H] push ecx mov ecx, edx mov edx, ebx call [System.Collections.Generic.HashSet`1[System.__Canon]:CopyTo(System.__Canon[],int,int):this] mov eax, ebx G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG19: jmp SHORT G_M000_IG14 ; Total bytes of code 300 513: JIT compiled BenchmarkDotNet.Extensions.ValuesGenerator:ArrayOfUniqueValues[System.__Canon](int) [Tier-0 switched to FullOpts, IL size=193, code size=300] ; Assembly listing for method BenchmarkDotNet.Extensions.ValuesGenerator:GenerateValue[System.__Canon](System.Random):System.__Canon ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-24H], xmm4 xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: G_M000_IG03: G_M000_IG04: G_M000_IG05: G_M000_IG06: G_M000_IG07: G_M000_IG08: G_M000_IG09: G_M000_IG10: G_M000_IG11: G_M000_IG12: G_M000_IG13: G_M000_IG14: G_M000_IG15: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG17 push 50 mov ecx, gword ptr [ebp-08H] mov edx, 1 call [BenchmarkDotNet.Extensions.ValuesGenerator:GenerateRandomString(System.Random,int,int):System.String] mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-14H] mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call [CORINFO_HELP_CHKCASTANY] G_M000_IG16: mov esp, ebp pop ebp ret G_M000_IG17: G_M000_IG18: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-18H], eax mov ecx, gword ptr [ebp-18H] mov eax, gword ptr [ebp-18H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+18H]System.Reflection.MemberInfo:get_Name():System.String:this mov gword ptr [ebp-1CH], eax mov ecx, 0x874 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-20H], eax mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-20H] call [System.String:Concat(System.String,System.String):System.String] mov gword ptr [ebp-24H], eax mov edx, gword ptr [ebp-24H] mov ecx, gword ptr [ebp-10H] call [System.NotImplementedException:.ctor(System.String):this] mov ecx, gword ptr [ebp-10H] call CORINFO_HELP_THROW int3 ; Total bytes of code 186 514: JIT compiled BenchmarkDotNet.Extensions.ValuesGenerator:GenerateValue[System.__Canon](System.Random) [Tier0, IL size=734, code size=186] ; Assembly listing for method BenchmarkDotNet.Extensions.ValuesGenerator:GenerateRandomString(System.Random,int,int):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 3 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 20 mov esi, ecx G_M000_IG02: push dword ptr [ebp+08H] mov ecx, esi mov eax, dword ptr [esi] mov edi, dword ptr [eax+28H] call [edi+18H]System.Random:Next(int,int):int:this mov ebx, eax mov dword ptr [ebp-10H], ebx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-20H], eax push 0xD1FFAB1E mov ecx, eax mov edx, ebx call [System.Text.StringBuilder:.ctor(int,int):this] mov eax, gword ptr [ebp-20H] mov gword ptr [ebp-1CH], eax xor edx, edx mov dword ptr [ebp-14H], edx test ebx, ebx jle G_M000_IG16 G_M000_IG03: push 3 mov ecx, esi xor edx, edx call [edi+18H]System.Random:Next(int,int):int:this test eax, eax jne SHORT G_M000_IG08 G_M000_IG04: push 122 mov ecx, esi mov edx, 97 call [edi+18H]System.Random:Next(int,int):int:this movzx edx, ax mov eax, gword ptr [ebp-1CH] mov ecx, dword ptr [eax+0CH] mov dword ptr [ebp-18H], ecx mov ecx, gword ptr [eax+04H] mov ebx, dword ptr [ebp-18H] cmp dword ptr [ecx+04H], ebx jbe SHORT G_M000_IG07 G_M000_IG05: mov word ptr [ecx+2*ebx+08H], dx G_M000_IG06: inc dword ptr [eax+0CH] jmp SHORT G_M000_IG15 G_M000_IG07: push 1 mov ecx, eax call [System.Text.StringBuilder:Append(ushort,int):System.Text.StringBuilder:this] jmp SHORT G_M000_IG15 G_M000_IG08: cmp eax, 1 jne SHORT G_M000_IG10 push 90 mov ecx, esi mov edx, 65 call [edi+18H]System.Random:Next(int,int):int:this movzx edx, ax mov eax, gword ptr [ebp-1CH] mov ecx, dword ptr [eax+0CH] mov ebx, gword ptr [eax+04H] cmp dword ptr [ebx+04H], ecx jbe SHORT G_M000_IG12 G_M000_IG09: mov word ptr [ebx+2*ecx+08H], dx jmp SHORT G_M000_IG06 G_M000_IG10: push 57 mov ecx, esi mov edx, 48 call [edi+18H]System.Random:Next(int,int):int:this movzx edx, ax mov eax, gword ptr [ebp-1CH] mov ecx, dword ptr [eax+0CH] mov ebx, gword ptr [eax+04H] cmp dword ptr [ebx+04H], ecx jbe SHORT G_M000_IG14 G_M000_IG11: jmp SHORT G_M000_IG13 G_M000_IG12: push 1 mov ecx, eax call [System.Text.StringBuilder:Append(ushort,int):System.Text.StringBuilder:this] jmp SHORT G_M000_IG15 G_M000_IG13: mov word ptr [ebx+2*ecx+08H], dx jmp SHORT G_M000_IG06 G_M000_IG14: push 1 mov ecx, eax call [System.Text.StringBuilder:Append(ushort,int):System.Text.StringBuilder:this] G_M000_IG15: mov ebx, dword ptr [ebp-14H] inc ebx mov eax, dword ptr [ebp-10H] cmp ebx, eax mov dword ptr [ebp-14H], ebx jl G_M000_IG03 G_M000_IG16: mov ecx, gword ptr [ebp-1CH] call [System.Text.StringBuilder:ToString():System.String:this] G_M000_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 284 515: JIT compiled BenchmarkDotNet.Extensions.ValuesGenerator:GenerateRandomString(System.Random,int,int) [Tier-0 switched to FullOpts, IL size=109, code size=284] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_NeedsJitting():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineParameters:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-08H], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx mov ecx, 0xD1FFAB1E mov edx, 407 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver):int:this] mov ecx, eax call [BenchmarkDotNet.Engines.RunStrategyExtensions:NeedsJitting(int):bool] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 85 516: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_NeedsJitting() [Tier0, IL size=27, code size=85] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 2 call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [ebp-04H], eax mov ecx, 0xD1FFAB1E mov edx, 202 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-04H] xor edx, edx call CORINFO_HELP_ARRADDR_ST mov ecx, 0xD1FFAB1E mov edx, 409 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-04H] mov edx, 1 call CORINFO_HELP_ARRADDR_ST mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CompositeResolver:.ctor(BenchmarkDotNet.Characteristics.IResolver[]):this] mov eax, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 139 517: JIT compiled BenchmarkDotNet.Engines.EngineParameters:.cctor() [Tier0, IL size=33, code size=139] ; Assembly listing for method BenchmarkDotNet.Running.BenchmarkRunnerClean:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 2 call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [ebp-04H], eax mov ecx, 0xD1FFAB1E mov edx, 382 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-04H] xor edx, edx call CORINFO_HELP_ARRADDR_ST mov ecx, 0xD1FFAB1E mov edx, 385 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-04H] mov edx, 1 call CORINFO_HELP_ARRADDR_ST mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CompositeResolver:.ctor(BenchmarkDotNet.Characteristics.IResolver[]):this] mov eax, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 139 518: JIT compiled BenchmarkDotNet.Running.BenchmarkRunnerClean:.cctor() [Tier0, IL size=33, code size=139] ; Assembly listing for method BenchmarkDotNet.Environments.EnvironmentResolver:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 2 call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [ebp-04H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Environments.EnvironmentResolver:.ctor():this] push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] xor edx, edx call CORINFO_HELP_ARRADDR_ST mov ecx, 0xD1FFAB1E mov edx, 383 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-04H] mov edx, 1 call CORINFO_HELP_ARRADDR_ST mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CompositeResolver:.ctor(BenchmarkDotNet.Characteristics.IResolver[]):this] mov eax, gword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 146 519: JIT compiled BenchmarkDotNet.Environments.EnvironmentResolver:.cctor() [Tier0, IL size=33, code size=146] ; Assembly listing for method BenchmarkDotNet.Environments.EnvironmentResolver:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 128 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-80H], xmm4 mov eax, -96 vmovdqu xmmword ptr [ebp+eax-10H], xmm4 vmovdqu xmmword ptr [eax+ebp], xmm4 vmovdqu xmmword ptr [ebp+eax+10H], xmm4 add eax, 48 jne SHORT -5 instr mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Resolver:.ctor():this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx push 0xD1FFAB1E push 0xD1FFAB1E mov ecx, gword ptr [ebp-08H] xor edx, edx call [System.MulticastDelegate:CtorOpened(System.Object,int,int):this] push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-14H], ecx push 0xD1FFAB1E push 0xD1FFAB1E mov ecx, gword ptr [ebp-10H] xor edx, edx call [System.MulticastDelegate:CtorOpened(System.Object,int,int):this] push gword ptr [ebp-10H] push 0xD1FFAB1E mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-14H] call [BenchmarkDotNet.Characteristics.Resolver:Register[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon],System.Func`1[System.__Canon]):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-1CH], ecx push 0xD1FFAB1E push 0xD1FFAB1E mov ecx, gword ptr [ebp-18H] xor edx, edx call [System.MulticastDelegate:CtorOpened(System.Object,int,int):this] push gword ptr [ebp-18H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-1CH] call [BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-20H], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-24H], ecx push 0xD1FFAB1E push 0xD1FFAB1E mov ecx, gword ptr [ebp-20H] xor edx, edx call [System.MulticastDelegate:CtorOpened(System.Object,int,int):this] push gword ptr [ebp-20H] mov ecx, gword ptr [ebp-04H] G_M000_IG03: mov edx, gword ptr [ebp-24H] call [BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-28H], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-2CH], ecx push 0xD1FFAB1E push 0xD1FFAB1E mov ecx, gword ptr [ebp-28H] xor edx, edx call [System.MulticastDelegate:CtorOpened(System.Object,int,int):this] push gword ptr [ebp-28H] push 0xD1FFAB1E mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-2CH] call [BenchmarkDotNet.Characteristics.Resolver:Register[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon],System.Func`1[System.__Canon]):this] mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-34H], ecx mov ecx, 0xD1FFAB1E mov edx, 0x3F8 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-30H], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-38H], ecx mov ecx, gword ptr [ebp-34H] mov gword ptr [ebp-3CH], ecx mov ecx, gword ptr [ebp-30H] mov gword ptr [ebp-40H], ecx cmp gword ptr [ebp-30H], 0 jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-74H], eax mov ecx, 0xD1FFAB1E mov edx, 0x3F8 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-78H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-78H] mov ecx, gword ptr [ebp-74H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x3F8 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-74H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-74H] mov gword ptr [ebp-40H], ecx G_M000_IG04: push gword ptr [ebp-40H] mov ecx, gword ptr [ebp-38H] mov edx, gword ptr [ebp-3CH] call [BenchmarkDotNet.Characteristics.Resolver:Register[System.Nullable`1[System.Guid]](BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]],System.Func`1[System.Nullable`1[System.Guid]]):this] mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-48H], ecx mov ecx, 0xD1FFAB1E mov edx, 0x3F8 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-44H], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-4CH], ecx mov ecx, gword ptr [ebp-48H] mov gword ptr [ebp-50H], ecx mov ecx, gword ptr [ebp-44H] mov gword ptr [ebp-54H], ecx cmp gword ptr [ebp-44H], 0 jne SHORT G_M000_IG05 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-70H], eax mov ecx, 0xD1FFAB1E mov edx, 0x3F8 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-7CH], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-7CH] mov ecx, gword ptr [ebp-70H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x3F8 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-70H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-70H] mov gword ptr [ebp-54H], ecx G_M000_IG05: push gword ptr [ebp-54H] mov ecx, gword ptr [ebp-4CH] mov edx, gword ptr [ebp-50H] call [BenchmarkDotNet.Characteristics.Resolver:Register[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],System.Func`1[bool]):this] mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-5CH], ecx mov ecx, 0xD1FFAB1E mov edx, 0x3F8 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-58H], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-60H], ecx mov ecx, gword ptr [ebp-5CH] mov gword ptr [ebp-64H], ecx mov ecx, gword ptr [ebp-58H] mov gword ptr [ebp-68H], ecx cmp gword ptr [ebp-58H], 0 jne SHORT G_M000_IG06 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-6CH], eax mov ecx, 0xD1FFAB1E mov edx, 0x3F8 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-80H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-80H] mov ecx, gword ptr [ebp-6CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x3F8 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-6CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-6CH] mov gword ptr [ebp-68H], ecx G_M000_IG06: push gword ptr [ebp-68H] mov ecx, gword ptr [ebp-60H] mov edx, gword ptr [ebp-64H] call [BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`2[BenchmarkDotNet.Characteristics.CharacteristicObject,int]):this] G_M000_IG07: mov esp, ebp pop ebp ret ; Total bytes of code 850 520: JIT compiled BenchmarkDotNet.Environments.EnvironmentResolver:.ctor() [Tier0, IL size=248, code size=850] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 63 521: JIT compiled BenchmarkDotNet.Characteristics.Resolver:.ctor() [Tier0, IL size=18, code size=63] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 522: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]) [Tier0, IL size=38, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 523: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon],System.Func`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-20H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-18H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-18H], eax G_M000_IG05: mov ecx, dword ptr [ebp-18H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-14H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[System.__Canon]:.ctor():this] mov edx, gword ptr [ebp-14H] mov gword ptr [ebp-10H], edx mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+0CH] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-1CH], eax mov ecx, gword ptr [ebp-08H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-20H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-10H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-1CH] mov ecx, gword ptr [ebp-20H] mov edx, gword ptr [ebp-0CH] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG06: mov esp, ebp pop ebp ret 8 ; Total bytes of code 176 524: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon],System.Func`1[System.__Canon]) [Tier0, IL size=38, code size=176] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 525: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[System.__Canon]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 526: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]) [Tier0, IL size=38, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 527: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 528: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]) [Tier0, IL size=38, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 529: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Environments.EnvironmentResolver+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.EnvironmentResolver+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 530: JIT compiled BenchmarkDotNet.Environments.EnvironmentResolver+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Environments.EnvironmentResolver+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 531: JIT compiled BenchmarkDotNet.Environments.EnvironmentResolver+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[System.Nullable`1[System.Guid]](BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]],System.Func`1[System.Nullable`1[System.Guid]]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[System.Nullable`1[System.Guid]]:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 532: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[System.Nullable`1[System.Guid]](BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]],System.Func`1[System.Nullable`1[System.Guid]]) [Tier0, IL size=38, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[System.Nullable`1[System.Guid]]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 533: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[System.Nullable`1[System.Guid]]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],System.Func`1[bool]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[bool]:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 534: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],System.Func`1[bool]) [Tier0, IL size=38, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[bool]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 535: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[bool]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`2[BenchmarkDotNet.Characteristics.CharacteristicObject,int]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass2_0`1[int]:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 536: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`2[BenchmarkDotNet.Characteristics.CharacteristicObject,int]) [Tier0, IL size=38, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass2_0`1[int]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 537: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass2_0`1[int]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Environments.GcResolver:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.GcResolver:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 538: JIT compiled BenchmarkDotNet.Environments.GcResolver:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Environments.GcResolver:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 200 vxorps xmm4, xmm4, xmm4 mov eax, -192 vmovdqu xmmword ptr [ebp+eax-08H], xmm4 vmovdqu xmmword ptr [ebp+eax+08H], xmm4 vmovdqu xmmword ptr [ebp+eax+18H], xmm4 add eax, 48 jne SHORT -5 instr mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Resolver:.ctor():this] mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx mov ecx, 0xD1FFAB1E mov edx, 0x3F9 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-08H], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-0CH] mov gword ptr [ebp-14H], ecx mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-18H], ecx cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-ACH], eax mov ecx, 0xD1FFAB1E mov edx, 0x3F9 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-B0H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-B0H] mov ecx, gword ptr [ebp-ACH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x3F9 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-ACH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-ACH] mov gword ptr [ebp-18H], ecx G_M000_IG03: push gword ptr [ebp-18H] mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-14H] call [BenchmarkDotNet.Characteristics.Resolver:Register[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],System.Func`1[bool]):this] mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-20H], ecx mov ecx, 0xD1FFAB1E mov edx, 0x3F9 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-24H], ecx mov ecx, gword ptr [ebp-20H] mov gword ptr [ebp-28H], ecx mov ecx, gword ptr [ebp-1CH] mov gword ptr [ebp-2CH], ecx cmp gword ptr [ebp-1CH], 0 jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-A8H], eax mov ecx, 0xD1FFAB1E mov edx, 0x3F9 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-B4H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-B4H] mov ecx, gword ptr [ebp-A8H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x3F9 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-A8H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-A8H] mov gword ptr [ebp-2CH], ecx G_M000_IG04: push gword ptr [ebp-2CH] mov ecx, gword ptr [ebp-24H] mov edx, gword ptr [ebp-28H] call [BenchmarkDotNet.Characteristics.Resolver:Register[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],System.Func`1[bool]):this] mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-34H], ecx mov ecx, 0xD1FFAB1E mov edx, 0x3F9 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-30H], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-38H], ecx mov ecx, gword ptr [ebp-34H] mov gword ptr [ebp-3CH], ecx mov ecx, gword ptr [ebp-30H] mov gword ptr [ebp-40H], ecx cmp gword ptr [ebp-30H], 0 jne SHORT G_M000_IG05 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-A4H], eax mov ecx, 0xD1FFAB1E mov edx, 0x3F9 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-B8H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-B8H] mov ecx, gword ptr [ebp-A4H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x3F9 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-A4H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-A4H] mov gword ptr [ebp-40H], ecx G_M000_IG05: push gword ptr [ebp-40H] mov ecx, gword ptr [ebp-38H] mov edx, gword ptr [ebp-3CH] call [BenchmarkDotNet.Characteristics.Resolver:Register[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],System.Func`1[bool]):this] mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-48H], ecx mov ecx, 0xD1FFAB1E mov edx, 0x3F9 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-44H], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-4CH], ecx mov ecx, gword ptr [ebp-48H] mov gword ptr [ebp-50H], ecx mov ecx, gword ptr [ebp-44H] mov gword ptr [ebp-54H], ecx cmp gword ptr [ebp-44H], 0 jne SHORT G_M000_IG06 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-A0H], eax mov ecx, 0xD1FFAB1E mov edx, 0x3F9 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-BCH], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-BCH] mov ecx, gword ptr [ebp-A0H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x3F9 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-A0H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-A0H] mov gword ptr [ebp-54H], ecx G_M000_IG06: push gword ptr [ebp-54H] mov ecx, gword ptr [ebp-4CH] mov edx, gword ptr [ebp-50H] call [BenchmarkDotNet.Characteristics.Resolver:Register[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],System.Func`1[bool]):this] mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-5CH], ecx mov ecx, 0xD1FFAB1E mov edx, 0x3F9 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-58H], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-60H], ecx mov ecx, gword ptr [ebp-5CH] mov gword ptr [ebp-64H], ecx mov ecx, gword ptr [ebp-58H] mov gword ptr [ebp-68H], ecx cmp gword ptr [ebp-58H], 0 jne SHORT G_M000_IG07 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-9CH], eax mov ecx, 0xD1FFAB1E mov edx, 0x3F9 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-C0H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-C0H] mov ecx, gword ptr [ebp-9CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x3F9 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-9CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-9CH] mov gword ptr [ebp-68H], ecx G_M000_IG07: push gword ptr [ebp-68H] mov ecx, gword ptr [ebp-60H] mov edx, gword ptr [ebp-64H] call [BenchmarkDotNet.Characteristics.Resolver:Register[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],System.Func`1[bool]):this] mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-70H], ecx mov ecx, 0xD1FFAB1E mov edx, 0x3F9 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-6CH], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-74H], ecx mov ecx, gword ptr [ebp-70H] mov gword ptr [ebp-78H], ecx mov ecx, gword ptr [ebp-6CH] mov gword ptr [ebp-7CH], ecx cmp gword ptr [ebp-6CH], 0 jne SHORT G_M000_IG08 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-98H], eax mov ecx, 0xD1FFAB1E mov edx, 0x3F9 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-C4H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-C4H] mov ecx, gword ptr [ebp-98H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x3F9 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-98H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-98H] mov gword ptr [ebp-7CH], ecx G_M000_IG08: push gword ptr [ebp-7CH] mov ecx, gword ptr [ebp-74H] mov edx, gword ptr [ebp-78H] call [BenchmarkDotNet.Characteristics.Resolver:Register[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],System.Func`1[bool]):this] mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-84H], ecx mov ecx, 0xD1FFAB1E mov edx, 0x3F9 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-80H], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-88H], ecx mov ecx, gword ptr [ebp-84H] mov gword ptr [ebp-8CH], ecx mov ecx, gword ptr [ebp-80H] mov gword ptr [ebp-90H], ecx cmp gword ptr [ebp-80H], 0 jne SHORT G_M000_IG09 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-94H], eax mov ecx, 0xD1FFAB1E mov edx, 0x3F9 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-C8H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-C8H] mov ecx, gword ptr [ebp-94H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x3F9 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-94H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-94H] mov gword ptr [ebp-90H], ecx G_M000_IG09: push gword ptr [ebp-90H] mov ecx, gword ptr [ebp-88H] mov edx, gword ptr [ebp-8CH] call [BenchmarkDotNet.Characteristics.Resolver:Register[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],System.Func`1[bool]):this] G_M000_IG10: mov esp, ebp pop ebp ret ; Total bytes of code 1333 539: JIT compiled BenchmarkDotNet.Environments.GcResolver:.ctor() [Tier0, IL size=301, code size=1333] ; Assembly listing for method BenchmarkDotNet.Environments.GcResolver+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.GcResolver+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 540: JIT compiled BenchmarkDotNet.Environments.GcResolver+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Environments.GcResolver+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 541: JIT compiled BenchmarkDotNet.Environments.GcResolver+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver:.ctor(BenchmarkDotNet.Characteristics.IResolver[]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 39 542: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver:.ctor(BenchmarkDotNet.Characteristics.IResolver[]) [Tier0, IL size=14, code size=39] ; Assembly listing for method BenchmarkDotNet.Environments.InfrastructureResolver:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.InfrastructureResolver:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 543: JIT compiled BenchmarkDotNet.Environments.InfrastructureResolver:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Environments.InfrastructureResolver:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 104 vxorps xmm4, xmm4, xmm4 mov eax, -96 vmovdqu xmmword ptr [ebp+eax-08H], xmm4 vmovdqu xmmword ptr [ebp+eax+08H], xmm4 vmovdqu xmmword ptr [ebp+eax+18H], xmm4 add eax, 48 jne SHORT -5 instr mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Resolver:.ctor():this] mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx mov ecx, 0xD1FFAB1E mov edx, 0x3FC call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-08H], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-0CH] mov gword ptr [ebp-14H], ecx mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-18H], ecx cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-5CH], eax mov ecx, 0xD1FFAB1E mov edx, 0x3FC call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-60H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-60H] mov ecx, gword ptr [ebp-5CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x3FC call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-5CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-5CH] mov gword ptr [ebp-18H], ecx G_M000_IG03: push gword ptr [ebp-18H] push 0xD1FFAB1E mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-14H] call [BenchmarkDotNet.Characteristics.Resolver:Register[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon],System.Func`1[System.__Canon]):this] mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-20H], ecx mov ecx, 0xD1FFAB1E mov edx, 0x3FC call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-24H], ecx mov ecx, gword ptr [ebp-20H] mov gword ptr [ebp-28H], ecx mov ecx, gword ptr [ebp-1CH] mov gword ptr [ebp-2CH], ecx cmp gword ptr [ebp-1CH], 0 jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-58H], eax mov ecx, 0xD1FFAB1E mov edx, 0x3FC call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-64H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-64H] mov ecx, gword ptr [ebp-58H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x3FC call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-58H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-58H] mov gword ptr [ebp-2CH], ecx G_M000_IG04: push gword ptr [ebp-2CH] push 0xD1FFAB1E mov ecx, gword ptr [ebp-24H] mov edx, gword ptr [ebp-28H] call [BenchmarkDotNet.Characteristics.Resolver:Register[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon],System.Func`1[System.__Canon]):this] mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-34H], ecx mov ecx, 0xD1FFAB1E mov edx, 0x3FC call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-30H], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-38H], ecx mov ecx, gword ptr [ebp-34H] mov gword ptr [ebp-3CH], ecx mov ecx, gword ptr [ebp-30H] mov gword ptr [ebp-40H], ecx cmp gword ptr [ebp-30H], 0 jne SHORT G_M000_IG05 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-54H], eax mov ecx, 0xD1FFAB1E mov edx, 0x3FC call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-68H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-68H] mov ecx, gword ptr [ebp-54H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x3FC call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-54H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-54H] mov gword ptr [ebp-40H], ecx G_M000_IG05: push gword ptr [ebp-40H] push 0xD1FFAB1E mov ecx, gword ptr [ebp-38H] mov edx, gword ptr [ebp-3CH] call [BenchmarkDotNet.Characteristics.Resolver:Register[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon],System.Func`1[System.__Canon]):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-44H], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-48H], ecx push 0xD1FFAB1E push 0xD1FFAB1E mov ecx, gword ptr [ebp-44H] xor edx, edx call [System.MulticastDelegate:CtorOpened(System.Object,int,int):this] push gword ptr [ebp-44H] push 0xD1FFAB1E mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-48H] call [BenchmarkDotNet.Characteristics.Resolver:Register[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon],System.Func`1[System.__Canon]):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-4CH], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-50H], ecx push 0xD1FFAB1E push 0xD1FFAB1E mov ecx, gword ptr [ebp-4CH] xor edx, edx call [System.MulticastDelegate:CtorOpened(System.Object,int,int):this] push gword ptr [ebp-4CH] push 0xD1FFAB1E mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-50H] call [BenchmarkDotNet.Characteristics.Resolver:Register[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon],System.Func`1[System.__Canon]):this] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 678 544: JIT compiled BenchmarkDotNet.Environments.InfrastructureResolver:.ctor() [Tier0, IL size=179, code size=678] ; Assembly listing for method BenchmarkDotNet.Environments.InfrastructureResolver+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.InfrastructureResolver+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 545: JIT compiled BenchmarkDotNet.Environments.InfrastructureResolver+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Environments.InfrastructureResolver+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 546: JIT compiled BenchmarkDotNet.Environments.InfrastructureResolver+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineResolver:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 547: JIT compiled BenchmarkDotNet.Engines.EngineResolver:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 320 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-140H], xmm4 mov eax, -288 vmovdqu xmmword ptr [ebp+eax-10H], xmm4 vmovdqu xmmword ptr [eax+ebp], xmm4 vmovdqu xmmword ptr [ebp+eax+10H], xmm4 add eax, 48 jne SHORT -5 instr mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Resolver:.ctor():this] mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-08H], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-0CH] mov gword ptr [ebp-14H], ecx mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-18H], ecx cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-114H], eax mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-118H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-118H] mov ecx, gword ptr [ebp-114H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-114H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-114H] mov gword ptr [ebp-18H], ecx G_M000_IG03: push gword ptr [ebp-18H] mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-14H] call [BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]):this] mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-20H], ecx mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-24H], ecx mov ecx, gword ptr [ebp-20H] mov gword ptr [ebp-28H], ecx mov ecx, gword ptr [ebp-1CH] mov gword ptr [ebp-2CH], ecx cmp gword ptr [ebp-1CH], 0 jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-110H], eax mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-11CH], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-11CH] mov ecx, gword ptr [ebp-110H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-110H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-110H] mov gword ptr [ebp-2CH], ecx G_M000_IG04: push gword ptr [ebp-2CH] mov ecx, gword ptr [ebp-24H] mov edx, gword ptr [ebp-28H] call [BenchmarkDotNet.Characteristics.Resolver:Register[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval],System.Func`1[Perfolizer.Horology.TimeInterval]):this] mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-34H], ecx mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-30H], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-38H], ecx mov ecx, gword ptr [ebp-34H] mov gword ptr [ebp-3CH], ecx mov ecx, gword ptr [ebp-30H] mov gword ptr [ebp-40H], ecx cmp gword ptr [ebp-30H], 0 jne SHORT G_M000_IG05 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10CH], eax mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-120H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-120H] mov ecx, gword ptr [ebp-10CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-10CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-10CH] mov gword ptr [ebp-40H], ecx G_M000_IG05: push gword ptr [ebp-40H] mov ecx, gword ptr [ebp-38H] mov edx, gword ptr [ebp-3CH] call [BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]):this] mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-48H], ecx mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-44H], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-4CH], ecx mov ecx, gword ptr [ebp-48H] mov gword ptr [ebp-50H], ecx mov ecx, gword ptr [ebp-44H] mov gword ptr [ebp-54H], ecx cmp gword ptr [ebp-44H], 0 jne SHORT G_M000_IG06 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-108H], eax mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-124H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-124H] mov ecx, gword ptr [ebp-108H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-108H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-108H] mov gword ptr [ebp-54H], ecx G_M000_IG06: push gword ptr [ebp-54H] mov ecx, gword ptr [ebp-4CH] mov edx, gword ptr [ebp-50H] call [BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]):this] mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-5CH], ecx mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-58H], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-60H], ecx mov ecx, gword ptr [ebp-5CH] mov gword ptr [ebp-64H], ecx mov ecx, gword ptr [ebp-58H] mov gword ptr [ebp-68H], ecx cmp gword ptr [ebp-58H], 0 jne SHORT G_M000_IG07 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-104H], eax mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-128H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-128H] mov ecx, gword ptr [ebp-104H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-104H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-104H] mov gword ptr [ebp-68H], ecx G_M000_IG07: push gword ptr [ebp-68H] mov ecx, gword ptr [ebp-60H] mov edx, gword ptr [ebp-64H] call [BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]):this] mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-70H], ecx mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-6CH], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-74H], ecx mov ecx, gword ptr [ebp-70H] mov gword ptr [ebp-78H], ecx mov ecx, gword ptr [ebp-6CH] mov gword ptr [ebp-7CH], ecx cmp gword ptr [ebp-6CH], 0 jne SHORT G_M000_IG08 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-100H], eax mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-12CH], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-12CH] mov ecx, gword ptr [ebp-100H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-100H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-100H] mov gword ptr [ebp-7CH], ecx G_M000_IG08: push gword ptr [ebp-7CH] mov ecx, gword ptr [ebp-74H] mov edx, gword ptr [ebp-78H] call [BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]):this] mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-84H], ecx mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-80H], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-88H], ecx mov ecx, gword ptr [ebp-84H] mov gword ptr [ebp-8CH], ecx mov ecx, gword ptr [ebp-80H] mov gword ptr [ebp-90H], ecx cmp gword ptr [ebp-80H], 0 jne SHORT G_M000_IG09 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-FCH], eax mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-130H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-130H] mov ecx, gword ptr [ebp-FCH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-FCH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-FCH] mov gword ptr [ebp-90H], ecx G_M000_IG09: push gword ptr [ebp-90H] mov ecx, gword ptr [ebp-88H] mov edx, gword ptr [ebp-8CH] call [BenchmarkDotNet.Characteristics.Resolver:Register[double](BenchmarkDotNet.Characteristics.Characteristic`1[double],System.Func`1[double]):this] mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-98H], ecx mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-94H], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-9CH], ecx mov ecx, gword ptr [ebp-98H] mov gword ptr [ebp-A0H], ecx mov ecx, gword ptr [ebp-94H] mov gword ptr [ebp-A4H], ecx cmp gword ptr [ebp-94H], 0 jne SHORT G_M000_IG10 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-F8H], eax mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-134H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-134H] mov ecx, gword ptr [ebp-F8H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-F8H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-F8H] mov gword ptr [ebp-A4H], ecx G_M000_IG10: push gword ptr [ebp-A4H] mov ecx, gword ptr [ebp-9CH] mov edx, gword ptr [ebp-A0H] call [BenchmarkDotNet.Characteristics.Resolver:Register[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval],System.Func`1[Perfolizer.Horology.TimeInterval]):this] mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-ACH], ecx mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-A8H], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-B0H], ecx mov ecx, gword ptr [ebp-ACH] mov gword ptr [ebp-B4H], ecx mov ecx, gword ptr [ebp-A8H] mov gword ptr [ebp-B8H], ecx cmp gword ptr [ebp-A8H], 0 jne SHORT G_M000_IG11 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-F4H], eax mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-138H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-138H] mov ecx, gword ptr [ebp-F4H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-F4H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-F4H] mov gword ptr [ebp-B8H], ecx G_M000_IG11: push gword ptr [ebp-B8H] mov ecx, gword ptr [ebp-B0H] mov edx, gword ptr [ebp-B4H] call [BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]):this] mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-C0H], ecx mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-BCH], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-C4H], ecx mov ecx, gword ptr [ebp-C0H] mov gword ptr [ebp-C8H], ecx mov ecx, gword ptr [ebp-BCH] mov gword ptr [ebp-CCH], ecx cmp gword ptr [ebp-BCH], 0 jne SHORT G_M000_IG12 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-F0H], eax mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-13CH], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-13CH] mov ecx, gword ptr [ebp-F0H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-F0H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-F0H] mov gword ptr [ebp-CCH], ecx G_M000_IG12: push gword ptr [ebp-CCH] mov ecx, gword ptr [ebp-C4H] mov edx, gword ptr [ebp-C8H] call [BenchmarkDotNet.Characteristics.Resolver:Register[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],System.Func`1[bool]):this] mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-D4H], ecx mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-D0H], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-D8H], ecx mov ecx, gword ptr [ebp-D4H] mov gword ptr [ebp-DCH], ecx mov ecx, gword ptr [ebp-D0H] mov gword ptr [ebp-E0H], ecx cmp gword ptr [ebp-D0H], 0 jne SHORT G_M000_IG13 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-ECH], eax mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-140H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-140H] mov ecx, gword ptr [ebp-ECH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x406 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-ECH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-ECH] mov gword ptr [ebp-E0H], ecx G_M000_IG13: push gword ptr [ebp-E0H] mov ecx, gword ptr [ebp-D8H] mov edx, gword ptr [ebp-DCH] call [BenchmarkDotNet.Characteristics.Resolver:Register[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],System.Func`1[bool]):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-E4H], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-E8H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-E4H] mov edx, gword ptr [ebp-04H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-E4H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-E8H] call [BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`2[BenchmarkDotNet.Characteristics.CharacteristicObject,int]):this] G_M000_IG14: mov esp, ebp pop ebp ret ; Total bytes of code 2271 548: JIT compiled BenchmarkDotNet.Engines.EngineResolver:.ctor() [Tier0, IL size=492, code size=2271] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineResolver+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 549: JIT compiled BenchmarkDotNet.Engines.EngineResolver+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 550: JIT compiled BenchmarkDotNet.Engines.EngineResolver+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 551: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]) [Tier0, IL size=38, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 552: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval],System.Func`1[Perfolizer.Horology.TimeInterval]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[Perfolizer.Horology.TimeInterval]:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 553: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval],System.Func`1[Perfolizer.Horology.TimeInterval]) [Tier0, IL size=38, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[Perfolizer.Horology.TimeInterval]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 554: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[Perfolizer.Horology.TimeInterval]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 555: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]) [Tier0, IL size=38, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 556: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[double](BenchmarkDotNet.Characteristics.Characteristic`1[double],System.Func`1[double]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[double]:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 557: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[double](BenchmarkDotNet.Characteristics.Characteristic`1[double],System.Func`1[double]) [Tier0, IL size=38, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[double]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 558: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[double]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`2[BenchmarkDotNet.Characteristics.CharacteristicObject,int]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass2_0`1[int]:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 559: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`2[BenchmarkDotNet.Characteristics.CharacteristicObject,int]) [Tier0, IL size=38, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass2_0`1[int]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 560: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass2_0`1[int]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push 0xD1FFAB1E mov ecx, gword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-0CH], eax push gword ptr [ebp-08H] mov ecx, gword ptr [ebp+08H] mov edx, gword ptr [ebp-04H] mov eax, dword ptr [ebp-0CH] call eax G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 53 561: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=9, code size=53] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[int](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[int]):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-30H], xmm4 vmovdqu xmmword ptr [ebp-20H], xmm4 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-14H] call [BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:.ctor():this] mov edx, gword ptr [ebp-14H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-0CH] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax je SHORT G_M000_IG04 mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):int:this] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-1CH], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push 0xD1FFAB1E mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-18H] call [System.Linq.Enumerable:FirstOrDefault[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.__Canon] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-10H], 0 je SHORT G_M000_IG06 push 0xD1FFAB1E mov ecx, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-24H], eax mov ecx, gword ptr [ebp-0CH] push gword ptr [ecx+04H] mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-08H] mov eax, dword ptr [ebp-24H] call eax G_M000_IG05: mov esp, ebp pop ebp ret 4 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-20H], eax mov ecx, 0x14A80 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-28H], eax mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_FullId():System.String:this] mov gword ptr [ebp-2CH], eax mov ecx, gword ptr [ebp-28H] mov edx, gword ptr [ebp-2CH] call [System.String:Concat(System.String,System.String):System.String] mov gword ptr [ebp-30H], eax mov edx, gword ptr [ebp-30H] mov ecx, gword ptr [ebp-20H] call [System.InvalidOperationException:.ctor(System.String):this] mov ecx, gword ptr [ebp-20H] call CORINFO_HELP_THROW int3 ; Total bytes of code 313 562: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[int](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[int]) [Tier0, IL size=108, code size=313] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 563: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:FirstOrDefault[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.__Canon ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG05: lea ecx, [ebp-10H] push ecx push dword ptr [ebp-14H] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool],byref):System.__Canon] G_M000_IG06: mov esp, ebp pop ebp ret 4 ; Total bytes of code 85 564: JIT compiled System.Linq.Enumerable:FirstOrDefault[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]) [Tier0, IL size=10, code size=85] ; Assembly listing for method System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool],byref):System.__Canon ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 36 xor eax, eax mov dword ptr [ebp-28H], eax mov dword ptr [ebp-30H], eax mov dword ptr [ebp-18H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-10H], eax mov edi, ecx mov esi, edx mov ebx, dword ptr [ebp+08H] G_M000_IG02: test edi, edi je G_M000_IG20 test esi, esi je G_M000_IG21 mov ecx, dword ptr [ebx+0CH] mov ecx, dword ptr [ecx+08H] test ecx, ecx je SHORT G_M000_IG04 G_M000_IG03: mov dword ptr [ebp-24H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-24H], eax G_M000_IG05: mov ecx, edi mov eax, dword ptr [ebp-24H] nop call [eax] mov edi, eax mov gword ptr [ebp-28H], edi G_M000_IG06: mov ecx, edi call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG12 mov ecx, dword ptr [ebx+0CH] mov eax, dword ptr [ecx+0CH] test eax, eax je SHORT G_M000_IG08 G_M000_IG07: mov ebx, eax jmp SHORT G_M000_IG09 G_M000_IG08: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov ebx, eax G_M000_IG09: mov eax, ebx mov ecx, edi nop call [eax] mov gword ptr [ebp-2CH], eax mov ecx, gword ptr [esi+04H] mov edx, eax call [esi+0CH]System.Func`2[System.__Canon,bool]:Invoke(System.__Canon):bool:this test eax, eax jne SHORT G_M000_IG11 mov ecx, edi call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG09 G_M000_IG10: jmp SHORT G_M000_IG12 G_M000_IG11: mov esi, bword ptr [ebp+0CH] mov byte ptr [esi], 1 mov esi, gword ptr [ebp-2CH] mov gword ptr [ebp-30H], esi mov dword ptr [ebp-1CH], 0 mov dword ptr [ebp-18H], 252 push G_M000_IG13 jmp SHORT G_M000_IG14 G_M000_IG12: mov ecx, edi call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG16 G_M000_IG13: mov dword ptr [ebp-18H], 0 jmp SHORT G_M000_IG18 G_M000_IG14: mov edi, gword ptr [ebp-28H] test edi, edi je SHORT G_M000_IG15 mov ecx, edi call [System.IDisposable:Dispose():this] G_M000_IG15: pop eax jmp eax G_M000_IG16: mov esi, bword ptr [ebp+0CH] mov byte ptr [esi], 0 xor eax, eax G_M000_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG18: mov eax, gword ptr [ebp-30H] G_M000_IG19: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG20: mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG21: mov ecx, 12 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 ; Total bytes of code 297 565: JIT compiled System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool],byref) [Tier-0 switched to FullOpts, IL size=87, code size=297] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:b__0(BenchmarkDotNet.Characteristics.IResolver):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.IResolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 566: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:b__0(BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=13, code size=31] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass2_0:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push 0xD1FFAB1E mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-14H] call [System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):bool] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 128 567: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=37, code size=128] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass2_0:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 568: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass2_0:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 28 xor eax, eax mov dword ptr [ebp-28H], eax mov dword ptr [ebp-18H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-10H], eax mov edi, ecx mov esi, edx mov ebx, dword ptr [ebp+08H] G_M000_IG02: test edi, edi je G_M000_IG20 test esi, esi je G_M000_IG21 mov ecx, dword ptr [ebx+0CH] mov eax, dword ptr [ecx+08H] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD G_M000_IG05: mov ecx, edi nop call [eax] mov gword ptr [ebp-28H], eax G_M000_IG06: mov ecx, eax call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG12 mov ecx, dword ptr [ebx+0CH] mov edi, dword ptr [ecx+0CH] test edi, edi je SHORT G_M000_IG08 G_M000_IG07: jmp SHORT G_M000_IG09 G_M000_IG08: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov edi, eax G_M000_IG09: mov eax, edi mov ecx, gword ptr [ebp-28H] nop call [eax] mov edx, eax mov ecx, gword ptr [esi+04H] call [esi+0CH]System.Func`2[System.__Canon,bool]:Invoke(System.__Canon):bool:this test eax, eax jne SHORT G_M000_IG11 mov ecx, gword ptr [ebp-28H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG09 G_M000_IG10: jmp SHORT G_M000_IG12 G_M000_IG11: mov dword ptr [ebp-24H], 1 mov dword ptr [ebp-1CH], 0 mov dword ptr [ebp-18H], 252 push G_M000_IG13 jmp SHORT G_M000_IG14 G_M000_IG12: mov ecx, gword ptr [ebp-28H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG16 G_M000_IG13: mov dword ptr [ebp-18H], 0 jmp SHORT G_M000_IG18 G_M000_IG14: mov ecx, gword ptr [ebp-28H] test ecx, ecx je SHORT G_M000_IG15 call [System.IDisposable:Dispose():this] mov ecx, gword ptr [ebp-28H] G_M000_IG15: pop eax jmp eax G_M000_IG16: xor eax, eax G_M000_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG18: mov eax, dword ptr [ebp-24H] G_M000_IG19: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG20: mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG21: mov ecx, 12 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 ; Total bytes of code 271 569: JIT compiled System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]) [Tier-0 switched to FullOpts, IL size=73, code size=271] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass2_0:b__0(BenchmarkDotNet.Characteristics.IResolver):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.IResolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 570: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass2_0:b__0(BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=13, code size=31] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:ContainsKey(System.__Canon):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 33 571: JIT compiled BenchmarkDotNet.Characteristics.Resolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=13, code size=33] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Resolve[int](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[int]):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-24H], xmm4 xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp+08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax je SHORT G_M000_IG04 mov ecx, gword ptr [ebp+08H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):int:this] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-14H], ecx lea ecx, [ebp-0CH] push ecx mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp+08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryGetValue(System.__Canon,byref):bool:this] test eax, eax je SHORT G_M000_IG06 mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-0CH] call [eax+0CH]System.Func`2[System.__Canon,System.__Canon]:Invoke(System.__Canon):System.__Canon:this mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] mov eax, dword ptr [eax] G_M000_IG05: mov esp, ebp pop ebp ret 4 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, 0x14A80 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-1CH], eax mov ecx, gword ptr [ebp+08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_FullId():System.String:this] mov gword ptr [ebp-20H], eax mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-20H] call [System.String:Concat(System.String,System.String):System.String] mov gword ptr [ebp-24H], eax mov edx, gword ptr [ebp-24H] mov ecx, gword ptr [ebp-10H] call [System.InvalidOperationException:.ctor(System.String):this] mov ecx, gword ptr [ebp-10H] call CORINFO_HELP_THROW int3 ; Total bytes of code 222 572: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Resolve[int](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[int]) [Tier0, IL size=68, code size=222] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-10H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-10H] call [eax+0CH]System.Func`1[int]:Invoke():int:this mov edx, gword ptr [ebp-0CH] mov dword ptr [edx+04H], eax mov eax, gword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 67 573: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=17, code size=67] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_0():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 13 574: JIT compiled BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_0() [Tier0, IL size=2, code size=13] ; Assembly listing for method BenchmarkDotNet.Engines.RunStrategyExtensions:NeedsJitting(int):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov dword ptr [ebp-04H], ecx G_M000_IG02: xor eax, eax cmp dword ptr [ebp-04H], 0 sete al G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 575: JIT compiled BenchmarkDotNet.Engines.RunStrategyExtensions:NeedsJitting(int) [Tier0, IL size=5, code size=20] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_HasInvocationCount():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineParameters:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [D1FFAB1EH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 47 576: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_HasInvocationCount() [Tier0, IL size=17, code size=47] ; Assembly listing for method BenchmarkDotNet.Engines.EngineFactory:CreateMultiActionEngine(BenchmarkDotNet.Engines.EngineParameters):BenchmarkDotNet.Engines.Engine ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_OverheadActionUnroll():System.Action`1[long]:this] mov gword ptr [ebp-0CH], eax push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_WorkloadActionUnroll():System.Action`1[long]:this] push eax mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineFactory:CreateEngine(BenchmarkDotNet.Engines.EngineParameters,BenchmarkDotNet.Jobs.Job,System.Action`1[long],System.Action`1[long]):BenchmarkDotNet.Engines.Engine] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 76 577: JIT compiled BenchmarkDotNet.Engines.EngineFactory:CreateMultiActionEngine(BenchmarkDotNet.Engines.EngineParameters) [Tier0, IL size=25, code size=76] ; Assembly listing for method BenchmarkDotNet.Engines.EngineFactory:CreateEngine(BenchmarkDotNet.Engines.EngineParameters,BenchmarkDotNet.Jobs.Job,System.Action`1[long],System.Action`1[long]):BenchmarkDotNet.Engines.Engine ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 60 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-3CH], xmm4 vmovdqu xmmword ptr [ebp-2CH], xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_Host():BenchmarkDotNet.Engines.IHost:this] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_Dummy1Action():System.Action:this] mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_Dummy2Action():System.Action:this] mov gword ptr [ebp-18H], eax mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_Dummy3Action():System.Action:this] mov gword ptr [ebp-1CH], eax mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_GlobalSetupAction():System.Action:this] mov gword ptr [ebp-20H], eax mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_GlobalCleanupAction():System.Action:this] mov gword ptr [ebp-24H], eax mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_IterationSetupAction():System.Action:this] mov gword ptr [ebp-28H], eax mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_IterationCleanupAction():System.Action:this] mov gword ptr [ebp-2CH], eax mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_OperationsPerInvoke():long:this] mov dword ptr [ebp-34H], eax mov dword ptr [ebp-30H], edx mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_MeasureExtraStats():bool:this] mov dword ptr [ebp-38H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-3CH], eax push gword ptr [ebp-10H] push gword ptr [ebp-14H] push gword ptr [ebp-18H] push gword ptr [ebp-1CH] push gword ptr [ebp+0CH] push gword ptr [ebp+08H] push gword ptr [ebp-08H] push gword ptr [ebp-20H] push gword ptr [ebp-24H] push gword ptr [ebp-28H] push gword ptr [ebp-2CH] push dword ptr [ebp-30H] push dword ptr [ebp-34H] G_M000_IG03: push dword ptr [ebp-38H] mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_BenchmarkName():System.String:this] push eax mov edx, gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-3CH] call [BenchmarkDotNet.Engines.Engine:.ctor(BenchmarkDotNet.Engines.IHost,BenchmarkDotNet.Characteristics.IResolver,System.Action,System.Action,System.Action,System.Action`1[long],System.Action`1[long],BenchmarkDotNet.Jobs.Job,System.Action,System.Action,System.Action,System.Action,long,bool,System.String):this] mov eax, gword ptr [ebp-3CH] G_M000_IG04: mov esp, ebp pop ebp ret 8 ; Total bytes of code 276 578: JIT compiled BenchmarkDotNet.Engines.EngineFactory:CreateEngine(BenchmarkDotNet.Engines.EngineParameters,BenchmarkDotNet.Jobs.Job,System.Action`1[long],System.Action`1[long]) [Tier0, IL size=80, code size=276] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_Host():BenchmarkDotNet.Engines.IHost:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 579: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_Host() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_GlobalCleanupAction():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+34H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 580: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_GlobalCleanupAction() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_IterationSetupAction():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+38H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 581: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_IterationSetupAction() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_IterationCleanupAction():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+3CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 582: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_IterationCleanupAction() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_OperationsPerInvoke():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] add eax, 4 mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 38 583: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_OperationsPerInvoke() [Tier0, IL size=7, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_MeasureExtraStats():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+44H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 18 584: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_MeasureExtraStats() [Tier0, IL size=7, code size=18] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_BenchmarkName():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+40H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 585: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_BenchmarkName() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:.ctor(BenchmarkDotNet.Engines.IHost,BenchmarkDotNet.Characteristics.IResolver,System.Action,System.Action,System.Action,System.Action`1[long],System.Action`1[long],BenchmarkDotNet.Jobs.Job,System.Action,System.Action,System.Action,System.Action,long,bool,System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 56 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-38H], xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 vmovdqu xmmword ptr [ebp-18H], xmm4 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, 10 call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:.ctor(int):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+48H] mov ecx, gword ptr [ebp-0CH] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] mov ecx, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+20H] mov ecx, gword ptr [ebp+30H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+14H] mov ecx, gword ptr [ebp+3CH] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov ecx, gword ptr [ebp+38H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+1CH] mov ecx, gword ptr [ebp+34H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+10H] mov ecx, gword ptr [ebp+2CH] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+24H] mov ecx, gword ptr [ebp+28H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+28H] mov ecx, gword ptr [ebp+24H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+2CH] mov ecx, gword ptr [ebp+20H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+30H] mov ecx, gword ptr [ebp+1CH] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+34H] mov ecx, gword ptr [ebp+18H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-04H] add edx, 4 mov bword ptr [ebp-38H], edx mov edx, bword ptr [ebp-38H] G_M000_IG03: mov ecx, dword ptr [ebp+10H] mov dword ptr [edx], ecx mov edx, dword ptr [ebp+14H] mov ecx, bword ptr [ebp-38H] mov dword ptr [ecx+04H], edx mov edx, gword ptr [ebp-04H] mov ecx, dword ptr [ebp+0CH] mov byte ptr [edx+67H], cl mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+40H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+38H] mov ecx, gword ptr [ebp+40H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.Engine:get_Resolver():BenchmarkDotNet.Characteristics.IResolver:this] push eax push 0xD1FFAB1E mov edx, gword ptr [ebp-10H] mov ecx, gword ptr [ebp+28H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon],BenchmarkDotNet.Characteristics.IResolver):System.__Canon:this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+44H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-14H], ecx mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.Engine:get_Resolver():BenchmarkDotNet.Characteristics.IResolver:this] push eax mov edx, gword ptr [ebp-14H] mov ecx, gword ptr [ebp+28H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],BenchmarkDotNet.Characteristics.IResolver):bool:this] mov ecx, gword ptr [ebp-04H] mov byte ptr [ecx+64H], al mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-18H], ecx mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.Engine:get_Resolver():BenchmarkDotNet.Characteristics.IResolver:this] push eax mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp+28H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver):int:this] mov ecx, gword ptr [ebp-04H] mov dword ptr [ecx+5CH], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.Engine:get_Resolver():BenchmarkDotNet.Characteristics.IResolver:this] push eax mov edx, gword ptr [ebp-1CH] mov ecx, gword ptr [ebp+28H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver):int:this] G_M000_IG04: mov ecx, gword ptr [ebp-04H] mov dword ptr [ecx+60H], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-20H], ecx mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.Engine:get_Resolver():BenchmarkDotNet.Characteristics.IResolver:this] push eax mov edx, gword ptr [ebp-20H] mov ecx, gword ptr [ebp+28H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],BenchmarkDotNet.Characteristics.IResolver):bool:this] mov ecx, gword ptr [ebp-04H] mov byte ptr [ecx+65H], al mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-24H], ecx mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.Engine:get_Resolver():BenchmarkDotNet.Characteristics.IResolver:this] push eax mov edx, gword ptr [ebp-24H] mov ecx, gword ptr [ebp+28H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],BenchmarkDotNet.Characteristics.IResolver):bool:this] mov ecx, gword ptr [ebp-04H] mov byte ptr [ecx+66H], al mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-28H], eax mov ecx, gword ptr [ebp-28H] mov edx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineWarmupStage:.ctor(BenchmarkDotNet.Engines.IEngine):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+50H] mov ecx, gword ptr [ebp-28H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-2CH], eax mov ecx, gword ptr [ebp-2CH] mov edx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EnginePilotStage:.ctor(BenchmarkDotNet.Engines.IEngine):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+4CH] mov ecx, gword ptr [ebp-2CH] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-30H], eax mov ecx, gword ptr [ebp-30H] mov edx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineActualStage:.ctor(BenchmarkDotNet.Engines.IEngine):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+54H] mov ecx, gword ptr [ebp-30H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-34H], eax mov ecx, gword ptr [ebp-34H] mov edx, 0x3039 G_M000_IG05: call [System.Random:.ctor(int):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+58H] mov eax, gword ptr [ebp-34H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG06: mov esp, ebp pop ebp ret 60 ; Total bytes of code 706 586: JIT compiled BenchmarkDotNet.Engines.Engine:.ctor(BenchmarkDotNet.Engines.IHost,BenchmarkDotNet.Characteristics.IResolver,System.Action,System.Action,System.Action,System.Action`1[long],System.Action`1[long],BenchmarkDotNet.Jobs.Job,System.Action,System.Action,System.Action,System.Action,long,bool,System.String) [Tier0, IL size=333, code size=706] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:.ctor(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] cmp dword ptr [ebp-08H], 0 jge SHORT G_M000_IG03 mov ecx, 22 mov edx, 13 call [System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)] G_M000_IG03: cmp dword ptr [ebp-08H], 0 jne SHORT G_M000_IG05 mov ecx, 0xD1FFAB1E mov edx, 46 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov ecx, gword ptr [D1FFAB1EH] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] call CORINFO_HELP_ASSIGN_REF_ECX G_M000_IG04: mov esp, ebp pop ebp ret G_M000_IG05: mov edx, dword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 113 587: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:.ctor(int) [Tier0, IL size=47, code size=113] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_Resolver():BenchmarkDotNet.Characteristics.IResolver:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+38H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 588: JIT compiled BenchmarkDotNet.Engines.Engine:get_Resolver() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon],BenchmarkDotNet.Characteristics.IResolver):System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: push dword ptr [ebp-10H] mov ecx, gword ptr [ebp+0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-14H], eax push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp+0CH] mov edx, gword ptr [ebp-08H] mov eax, dword ptr [ebp-14H] call eax G_M000_IG06: mov esp, ebp pop ebp ret 8 ; Total bytes of code 99 589: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon],BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=9, code size=99] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[System.__Canon](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]):System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 60 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-3CH], xmm4 vmovdqu xmmword ptr [ebp-2CH], xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-1CH], eax G_M000_IG05: mov ecx, dword ptr [ebp-1CH] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax mov ecx, gword ptr [ebp-18H] call [BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[System.__Canon]:.ctor():this] mov edx, gword ptr [ebp-18H] mov gword ptr [ebp-10H], edx mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+0CH] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-10H] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp-0CH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax je SHORT G_M000_IG07 mov ecx, gword ptr [ebp-10H] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-0CH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):System.__Canon:this] G_M000_IG06: mov esp, ebp pop ebp ret 8 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-20H], eax mov ecx, gword ptr [ebp-08H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-24H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-20H] mov edx, gword ptr [ebp-10H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push 0xD1FFAB1E mov ecx, gword ptr [ebp-24H] mov edx, gword ptr [ebp-20H] call [System.Linq.Enumerable:FirstOrDefault[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.__Canon] mov gword ptr [ebp-14H], eax cmp gword ptr [ebp-14H], 0 je SHORT G_M000_IG12 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG09 G_M000_IG08: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-2CH], ecx jmp SHORT G_M000_IG10 G_M000_IG09: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-2CH], eax G_M000_IG10: push dword ptr [ebp-2CH] mov ecx, gword ptr [ebp-14H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-30H], eax mov ecx, gword ptr [ebp-10H] push gword ptr [ecx+04H] mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] mov eax, dword ptr [ebp-30H] call eax G_M000_IG11: mov esp, ebp pop ebp ret 8 G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-28H], eax mov ecx, 0x14A80 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-34H], eax mov ecx, gword ptr [ebp-10H] mov ecx, gword ptr [ecx+04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_FullId():System.String:this] mov gword ptr [ebp-38H], eax mov ecx, gword ptr [ebp-34H] mov edx, gword ptr [ebp-38H] call [System.String:Concat(System.String,System.String):System.String] mov gword ptr [ebp-3CH], eax mov edx, gword ptr [ebp-3CH] mov ecx, gword ptr [ebp-28H] call [System.InvalidOperationException:.ctor(System.String):this] mov ecx, gword ptr [ebp-28H] call CORINFO_HELP_THROW int3 ; Total bytes of code 396 590: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[System.__Canon](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]) [Tier0, IL size=108, code size=396] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 591: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[System.__Canon]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[System.__Canon]:b__0(BenchmarkDotNet.Characteristics.IResolver):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.IResolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 592: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[System.__Canon]:b__0(BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=13, code size=31] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Resolve[System.__Canon](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]):System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 40 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp+0CH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax je SHORT G_M000_IG04 mov ecx, gword ptr [ebp+0CH] mov edx, gword ptr [ebp-0CH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):System.__Canon:this] G_M000_IG03: mov esp, ebp pop ebp ret 8 G_M000_IG04: mov ecx, gword ptr [ebp-08H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx lea ecx, [ebp-10H] push ecx mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp+0CH] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryGetValue(System.__Canon,byref):bool:this] test eax, eax je SHORT G_M000_IG06 mov ecx, gword ptr [ebp-10H] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-0CH] mov eax, gword ptr [ebp-10H] call [eax+0CH]System.Func`2[System.__Canon,System.__Canon]:Invoke(System.__Canon):System.__Canon:this mov gword ptr [ebp-1CH], eax mov edx, gword ptr [ebp-1CH] mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call [CORINFO_HELP_CHKCASTANY] G_M000_IG05: mov esp, ebp pop ebp ret 8 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, 0x14A80 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-20H], eax mov ecx, gword ptr [ebp+0CH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_FullId():System.String:this] mov gword ptr [ebp-24H], eax mov ecx, gword ptr [ebp-20H] mov edx, gword ptr [ebp-24H] call [System.String:Concat(System.String,System.String):System.String] mov gword ptr [ebp-28H], eax mov edx, gword ptr [ebp-28H] mov ecx, gword ptr [ebp-14H] call [System.InvalidOperationException:.ctor(System.String):this] mov ecx, gword ptr [ebp-14H] call CORINFO_HELP_THROW int3 ; Total bytes of code 229 593: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Resolve[System.__Canon](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]) [Tier0, IL size=68, code size=229] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[System.__Canon]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-0CH] call [eax+0CH]System.Func`1[System.__Canon]:Invoke():System.__Canon:this G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 42 594: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[System.__Canon]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=17, code size=42] ; Assembly listing for method BenchmarkDotNet.Environments.InfrastructureResolver+<>c:<.ctor>b__1_0():Perfolizer.Horology.IClock:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 70 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov eax, gword ptr [D1FFAB1EH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 595: JIT compiled BenchmarkDotNet.Environments.InfrastructureResolver+<>c:<.ctor>b__1_0() [Tier0, IL size=6, code size=31] ; Assembly listing for method Perfolizer.Horology.Chronometer:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [Perfolizer.Horology.StopwatchClock:.ctor():this] mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] call [Perfolizer.Horology.DateTimeClock:.ctor():this] mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] call [Perfolizer.Horology.WindowsClock:.ctor():this] mov eax, gword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX call [System.Runtime.InteropServices.OSPlatform:get_Windows():System.Runtime.InteropServices.OSPlatform] mov gword ptr [ebp-10H], eax push gword ptr [ebp-10H] call [System.Runtime.InteropServices.RuntimeInformation:IsOSPlatform(System.Runtime.InteropServices.OSPlatform):bool] test eax, eax je SHORT G_M000_IG04 mov ecx, gword ptr [D1FFAB1EH] call [Perfolizer.Horology.IClock:get_IsAvailable():bool:this] test eax, eax je SHORT G_M000_IG04 mov eax, gword ptr [D1FFAB1EH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov eax, gword ptr [D1FFAB1EH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 201 596: JIT compiled Perfolizer.Horology.Chronometer:.cctor() [Tier0, IL size=76, code size=201] ; Assembly listing for method Perfolizer.Horology.StopwatchClock:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 597: JIT compiled Perfolizer.Horology.StopwatchClock:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method Perfolizer.Horology.DateTimeClock:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 598: JIT compiled Perfolizer.Horology.DateTimeClock:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method Perfolizer.Horology.WindowsClock:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 83 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 35 599: JIT compiled Perfolizer.Horology.WindowsClock:.ctor() [Tier0, IL size=7, code size=35] ; Assembly listing for method Perfolizer.Horology.WindowsClock:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E call [Perfolizer.Horology.WindowsClock:Initialize(byref):bool] mov byte ptr [D1FFAB1EH], al G_M000_IG03: pop ebp ret ; Total bytes of code 21 600: JIT compiled Perfolizer.Horology.WindowsClock:.cctor() [Tier0, IL size=16, code size=21] ; Assembly listing for method Perfolizer.Horology.WindowsClock:Initialize(byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 56 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-38H], xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 vmovdqu xmmword ptr [ebp-18H], xmm4 xor eax, eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-18H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 83 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE call [System.Runtime.InteropServices.OSPlatform:get_Windows():System.Runtime.InteropServices.OSPlatform] mov gword ptr [ebp-28H], eax push gword ptr [ebp-28H] call [System.Runtime.InteropServices.RuntimeInformation:IsOSPlatform(System.Runtime.InteropServices.OSPlatform):bool] test eax, eax jne SHORT G_M000_IG04 mov eax, bword ptr [ebp-18H] mov bword ptr [ebp-34H], eax mov eax, bword ptr [ebp-34H] xor ecx, ecx mov dword ptr [eax], ecx xor ecx, ecx mov eax, bword ptr [ebp-34H] mov dword ptr [eax+04H], ecx xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, bword ptr [ebp-18H] call Perfolizer.Horology.WindowsClock:QueryPerformanceFrequency(byref):bool test eax, eax je SHORT G_M000_IG05 lea ecx, [ebp-20H] call Perfolizer.Horology.WindowsClock:QueryPerformanceCounter(byref):bool mov dword ptr [ebp-2CH], eax jmp SHORT G_M000_IG06 G_M000_IG05: xor eax, eax mov dword ptr [ebp-2CH], eax G_M000_IG06: mov eax, dword ptr [ebp-2CH] movzx eax, al mov dword ptr [ebp-24H], eax jmp SHORT G_M000_IG08 G_M000_IG07: mov gword ptr [ebp-30H], eax mov eax, bword ptr [ebp-18H] mov bword ptr [ebp-38H], eax mov eax, bword ptr [ebp-38H] xor edx, edx mov dword ptr [eax], edx xor edx, edx mov eax, bword ptr [ebp-38H] mov dword ptr [eax+04H], edx xor edx, edx mov dword ptr [ebp-24H], edx call CORINFO_HELP_ENDCATCH G_M000_IG08: mov eax, dword ptr [ebp-24H] G_M000_IG09: mov esp, ebp pop ebp ret ; Total bytes of code 179 601: JIT compiled Perfolizer.Horology.WindowsClock:Initialize(byref) [Tier0, IL size=51, code size=179] ; Assembly listing for method (dynamicClass):IL_STUB_PInvoke(byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 40 mov dword ptr [ebp-14H], eax xor edx, edx mov dword ptr [ebp-10H], edx G_M000_IG02: lea edi, [ebp-30H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-1CH], eax mov bword ptr [ebp-10H], ecx mov eax, dword ptr [ebp-14H] mov eax, dword ptr [eax+10H] mov eax, dword ptr [eax] push ecx mov dword ptr [ebp-28H], 4 mov edx, esp mov dword ptr [ebp-24H], edx lea edx, G_M000_IG04 mov dword ptr [ebp-20H], edx mov byte ptr [esi+08H], 0 G_M000_IG03: call eax G_M000_IG04: mov edi, eax mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG05 call CORINFO_HELP_STOP_FOR_GC G_M000_IG05: xor eax, eax mov dword ptr [ebp-20H], eax xor eax, eax test edi, edi setne al movzx eax, al mov edx, bword ptr [ebp-2CH] mov dword ptr [esi+0CH], edx G_M000_IG06: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 118 602: JIT compiled (dynamicClass):IL_STUB_PInvoke(byref) [FullOpts, IL size=55, code size=118] ; Assembly listing for method Perfolizer.Horology.WindowsClock:get_IsAvailable():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: movzx eax, byte ptr [D1FFAB1EH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 18 603: JIT compiled Perfolizer.Horology.WindowsClock:get_IsAvailable() [Tier0, IL size=6, code size=18] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],BenchmarkDotNet.Characteristics.IResolver):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push 0xD1FFAB1E mov ecx, gword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-0CH], eax push gword ptr [ebp-08H] mov ecx, gword ptr [ebp+08H] mov edx, gword ptr [ebp-04H] mov eax, dword ptr [ebp-0CH] call eax G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 53 604: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=9, code size=53] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[bool](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[bool]):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-30H], xmm4 vmovdqu xmmword ptr [ebp-20H], xmm4 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-14H] call [BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[bool]:.ctor():this] mov edx, gword ptr [ebp-14H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-0CH] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax je SHORT G_M000_IG04 mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[bool]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-1CH], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push 0xD1FFAB1E mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-18H] call [System.Linq.Enumerable:FirstOrDefault[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.__Canon] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-10H], 0 je SHORT G_M000_IG06 push 0xD1FFAB1E mov ecx, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-24H], eax mov ecx, gword ptr [ebp-0CH] push gword ptr [ecx+04H] mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-08H] mov eax, dword ptr [ebp-24H] call eax G_M000_IG05: mov esp, ebp pop ebp ret 4 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-20H], eax mov ecx, 0x14A80 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-28H], eax mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_FullId():System.String:this] mov gword ptr [ebp-2CH], eax mov ecx, gword ptr [ebp-28H] mov edx, gword ptr [ebp-2CH] call [System.String:Concat(System.String,System.String):System.String] mov gword ptr [ebp-30H], eax mov edx, gword ptr [ebp-30H] mov ecx, gword ptr [ebp-20H] call [System.InvalidOperationException:.ctor(System.String):this] mov ecx, gword ptr [ebp-20H] call CORINFO_HELP_THROW int3 ; Total bytes of code 313 605: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[bool](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[bool]) [Tier0, IL size=108, code size=313] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[bool]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 606: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[bool]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[bool]:b__0(BenchmarkDotNet.Characteristics.IResolver):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.IResolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 607: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[bool]:b__0(BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=13, code size=31] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Resolve[bool](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[bool]):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-24H], xmm4 xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp+08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax je SHORT G_M000_IG04 mov ecx, gword ptr [ebp+08H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[bool]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-14H], ecx lea ecx, [ebp-0CH] push ecx mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp+08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryGetValue(System.__Canon,byref):bool:this] test eax, eax je SHORT G_M000_IG06 mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-0CH] call [eax+0CH]System.Func`2[System.__Canon,System.__Canon]:Invoke(System.__Canon):System.__Canon:this mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] movzx eax, byte ptr [eax] G_M000_IG05: mov esp, ebp pop ebp ret 4 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, 0x14A80 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-1CH], eax mov ecx, gword ptr [ebp+08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_FullId():System.String:this] mov gword ptr [ebp-20H], eax mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-20H] call [System.String:Concat(System.String,System.String):System.String] mov gword ptr [ebp-24H], eax mov edx, gword ptr [ebp-24H] mov ecx, gword ptr [ebp-10H] call [System.InvalidOperationException:.ctor(System.String):this] mov ecx, gword ptr [ebp-10H] call CORINFO_HELP_THROW int3 ; Total bytes of code 223 608: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Resolve[bool](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[bool]) [Tier0, IL size=68, code size=223] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[bool]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-10H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-10H] call [eax+0CH]System.Func`1[bool]:Invoke():bool:this mov edx, gword ptr [ebp-0CH] mov byte ptr [edx+04H], al mov eax, gword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 67 609: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[bool]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=17, code size=67] ; Assembly listing for method BenchmarkDotNet.Environments.GcResolver+<>c:<.ctor>b__1_3():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, 1 G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 16 610: JIT compiled BenchmarkDotNet.Environments.GcResolver+<>c:<.ctor>b__1_3() [Tier0, IL size=2, code size=16] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push 0xD1FFAB1E mov ecx, gword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-0CH], eax push gword ptr [ebp-08H] mov ecx, gword ptr [ebp+08H] mov edx, gword ptr [ebp-04H] mov eax, dword ptr [ebp-0CH] call eax G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 53 611: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=9, code size=53] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[int](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[int]):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-30H], xmm4 vmovdqu xmmword ptr [ebp-20H], xmm4 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-14H] call [BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:.ctor():this] mov edx, gword ptr [ebp-14H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-0CH] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax je SHORT G_M000_IG04 mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):int:this] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-1CH], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push 0xD1FFAB1E mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-18H] call [System.Linq.Enumerable:FirstOrDefault[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.__Canon] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-10H], 0 je SHORT G_M000_IG06 push 0xD1FFAB1E mov ecx, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-24H], eax mov ecx, gword ptr [ebp-0CH] push gword ptr [ecx+04H] mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-08H] mov eax, dword ptr [ebp-24H] call eax G_M000_IG05: mov esp, ebp pop ebp ret 4 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-20H], eax mov ecx, 0x14A80 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-28H], eax mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_FullId():System.String:this] mov gword ptr [ebp-2CH], eax mov ecx, gword ptr [ebp-28H] mov edx, gword ptr [ebp-2CH] call [System.String:Concat(System.String,System.String):System.String] mov gword ptr [ebp-30H], eax mov edx, gword ptr [ebp-30H] mov ecx, gword ptr [ebp-20H] call [System.InvalidOperationException:.ctor(System.String):this] mov ecx, gword ptr [ebp-20H] call CORINFO_HELP_THROW int3 ; Total bytes of code 313 612: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[int](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[int]) [Tier0, IL size=108, code size=313] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 613: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int]):int:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 614: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=8, code size=30] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int]):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue(BenchmarkDotNet.Characteristics.Characteristic):System.Object:this] mov gword ptr [ebp-0CH], eax mov edx, gword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] mov eax, dword ptr [eax] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 52 615: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int]) [Tier0, IL size=13, code size=52] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_9():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, 1 G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 16 616: JIT compiled BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_9() [Tier0, IL size=2, code size=16] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_10():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 13 617: JIT compiled BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_10() [Tier0, IL size=2, code size=13] ; Assembly listing for method BenchmarkDotNet.Engines.EngineWarmupStage:.ctor(BenchmarkDotNet.Engines.IEngine):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.EngineStage:.ctor(BenchmarkDotNet.Engines.IEngine):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 42 618: JIT compiled BenchmarkDotNet.Engines.EngineWarmupStage:.ctor(BenchmarkDotNet.Engines.IEngine) [Tier0, IL size=15, code size=42] ; Assembly listing for method BenchmarkDotNet.Engines.EngineStage:.ctor(BenchmarkDotNet.Engines.IEngine):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 39 619: JIT compiled BenchmarkDotNet.Engines.EngineStage:.ctor(BenchmarkDotNet.Engines.IEngine) [Tier0, IL size=14, code size=39] ; Assembly listing for method BenchmarkDotNet.Engines.EnginePilotStage:.ctor(BenchmarkDotNet.Engines.IEngine):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 88 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-50H], xmm4 vmovdqu xmmword ptr [ebp-40H], xmm4 vmovdqu xmmword ptr [ebp-30H], xmm4 vmovdqu xmmword ptr [ebp-20H], xmm4 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.EngineStage:.ctor(BenchmarkDotNet.Engines.IEngine):this] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.IEngine:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-14H], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-18H], ecx mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.IEngine:get_Resolver():BenchmarkDotNet.Characteristics.IResolver:this] push eax mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-14H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver):int:this] mov ecx, gword ptr [ebp-04H] mov dword ptr [ecx+24H], eax mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.IEngine:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-1CH], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-20H], ecx mov ecx, gword ptr [ebp-04H] cmp byte ptr [ecx], cl mov ecx, gword ptr [ebp-04H] add ecx, 44 mov bword ptr [ebp-44H], ecx push gword ptr [ebp-20H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.IEngine:get_Resolver():BenchmarkDotNet.Characteristics.IResolver:this] push eax mov edx, bword ptr [ebp-44H] mov ecx, gword ptr [ebp-1CH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval],BenchmarkDotNet.Characteristics.IResolver):Perfolizer.Horology.TimeInterval:this] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.IEngine:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-24H], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-28H], ecx mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.IEngine:get_Resolver():BenchmarkDotNet.Characteristics.IResolver:this] push eax mov edx, gword ptr [ebp-28H] mov ecx, gword ptr [ebp-24H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver):int:this] mov ecx, gword ptr [ebp-04H] mov dword ptr [ecx+28H], eax mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.IEngine:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-2CH], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-30H], ecx mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.IEngine:get_Resolver():BenchmarkDotNet.Characteristics.IResolver:this] push eax mov edx, gword ptr [ebp-30H] mov ecx, gword ptr [ebp-2CH] cmp dword ptr [ecx], ecx G_M000_IG03: call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[double](BenchmarkDotNet.Characteristics.Characteristic`1[double],BenchmarkDotNet.Characteristics.IResolver):double:this] fstp qword ptr [ebp-58H] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-58H] vmovsd qword ptr [ecx+0CH], xmm0 mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.IEngine:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-48H], eax mov ecx, gword ptr [ebp-04H] cmp byte ptr [ecx], cl mov ecx, gword ptr [ebp-04H] add ecx, 52 mov bword ptr [ebp-4CH], ecx push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-48H] mov edx, bword ptr [ebp-4CH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValueAsNullable[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]):System.Nullable`1[Perfolizer.Horology.TimeInterval]:this] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.IEngine:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-34H], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-38H], ecx push gword ptr [ebp-38H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.IEngine:get_Resolver():BenchmarkDotNet.Characteristics.IResolver:this] push eax lea edx, [ebp-10H] mov ecx, gword ptr [ebp-34H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval],BenchmarkDotNet.Characteristics.IResolver):Perfolizer.Horology.TimeInterval:this] lea ecx, [ebp-10H] call [Perfolizer.Horology.TimeInterval:ToNanoseconds():double:this] fstp qword ptr [ebp-58H] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-58H] vmovsd qword ptr [ecx+14H], xmm0 mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.IEngine:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-3CH], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-40H], ecx mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.IEngine:get_Resolver():BenchmarkDotNet.Characteristics.IResolver:this] push eax push 0xD1FFAB1E mov edx, gword ptr [ebp-40H] mov ecx, gword ptr [ebp-3CH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon],BenchmarkDotNet.Characteristics.IResolver):System.__Canon:this] mov gword ptr [ebp-50H], eax mov edx, gword ptr [ebp-50H] lea ecx, [ebp-10H] call [Perfolizer.Horology.ClockExtensions:GetResolution(Perfolizer.Horology.IClock):Perfolizer.Horology.TimeInterval] lea ecx, [ebp-10H] call [Perfolizer.Horology.TimeInterval:get_Nanoseconds():double:this] fstp qword ptr [ebp-58H] mov eax, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-58H] vmovsd qword ptr [eax+1CH], xmm0 G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 497 620: JIT compiled BenchmarkDotNet.Engines.EnginePilotStage:.ctor(BenchmarkDotNet.Engines.IEngine) [Tier0, IL size=219, code size=497] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_TargetJob():BenchmarkDotNet.Jobs.Job:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+24H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 621: JIT compiled BenchmarkDotNet.Engines.Engine:get_TargetJob() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval],BenchmarkDotNet.Characteristics.IResolver):Perfolizer.Horology.TimeInterval:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: push 0xD1FFAB1E mov ecx, gword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-0CH], eax push gword ptr [ebp-04H] push gword ptr [ebp+0CH] mov ecx, gword ptr [ebp+08H] mov edx, bword ptr [ebp-08H] mov eax, dword ptr [ebp-0CH] call eax G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 56 622: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval],BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=9, code size=56] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]):Perfolizer.Horology.TimeInterval:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 52 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-34H], xmm4 vmovdqu xmmword ptr [ebp-24H], xmm4 xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-14H] call [BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[Perfolizer.Horology.TimeInterval]:.ctor():this] mov edx, gword ptr [ebp-14H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-0CH] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp+0CH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax je SHORT G_M000_IG04 mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-28H], ecx push gword ptr [ebp+0CH] mov ecx, gword ptr [ebp-28H] mov edx, bword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):Perfolizer.Horology.TimeInterval:this] G_M000_IG03: mov esp, ebp pop ebp ret 8 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-1CH], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push 0xD1FFAB1E mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-18H] call [System.Linq.Enumerable:FirstOrDefault[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.__Canon] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-10H], 0 je SHORT G_M000_IG06 push 0xD1FFAB1E mov ecx, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-24H], eax push gword ptr [ebp+0CH] mov ecx, gword ptr [ebp-0CH] push gword ptr [ecx+04H] mov ecx, gword ptr [ebp-10H] mov edx, bword ptr [ebp-08H] mov eax, dword ptr [ebp-24H] call eax G_M000_IG05: mov esp, ebp pop ebp ret 8 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-20H], eax mov ecx, 0x14A80 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-2CH], eax mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_FullId():System.String:this] mov gword ptr [ebp-30H], eax mov ecx, gword ptr [ebp-2CH] mov edx, gword ptr [ebp-30H] call [System.String:Concat(System.String,System.String):System.String] mov gword ptr [ebp-34H], eax mov edx, gword ptr [ebp-34H] mov ecx, gword ptr [ebp-20H] call [System.InvalidOperationException:.ctor(System.String):this] mov ecx, gword ptr [ebp-20H] call CORINFO_HELP_THROW int3 ; Total bytes of code 328 623: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]) [Tier0, IL size=108, code size=328] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[Perfolizer.Horology.TimeInterval]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 624: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[Perfolizer.Horology.TimeInterval]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[Perfolizer.Horology.TimeInterval]:b__0(BenchmarkDotNet.Characteristics.IResolver):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.IResolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 625: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[Perfolizer.Horology.TimeInterval]:b__0(BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=13, code size=31] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Resolve[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]):Perfolizer.Horology.TimeInterval:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-24H], xmm4 xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp+0CH] mov edx, gword ptr [ebp+08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax je SHORT G_M000_IG04 push gword ptr [ebp+0CH] mov ecx, gword ptr [ebp+08H] mov edx, bword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):Perfolizer.Horology.TimeInterval:this] G_M000_IG03: mov esp, ebp pop ebp ret 8 G_M000_IG04: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-14H], ecx lea ecx, [ebp-0CH] push ecx mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp+08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryGetValue(System.__Canon,byref):bool:this] test eax, eax je SHORT G_M000_IG06 mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp+0CH] mov eax, gword ptr [ebp-0CH] call [eax+0CH]System.Func`2[System.__Canon,System.__Canon]:Invoke(System.__Canon):System.__Canon:this mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] mov ecx, bword ptr [ebp-08H] mov edx, dword ptr [eax] mov dword ptr [ecx], edx mov edx, dword ptr [eax+04H] mov dword ptr [ecx+04H], edx G_M000_IG05: mov esp, ebp pop ebp ret 8 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, 0x14A80 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-1CH], eax mov ecx, gword ptr [ebp+08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_FullId():System.String:this] mov gword ptr [ebp-20H], eax mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-20H] call [System.String:Concat(System.String,System.String):System.String] mov gword ptr [ebp-24H], eax mov edx, gword ptr [ebp-24H] mov ecx, gword ptr [ebp-10H] call [System.InvalidOperationException:.ctor(System.String):this] mov ecx, gword ptr [ebp-10H] call CORINFO_HELP_THROW int3 ; Total bytes of code 236 626: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Resolve[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]) [Tier0, IL size=68, code size=236] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[Perfolizer.Horology.TimeInterval]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-10H] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-0CH] add edx, 4 mov eax, gword ptr [ebp-10H] call [eax+0CH]System.Func`1[Perfolizer.Horology.TimeInterval]:Invoke():Perfolizer.Horology.TimeInterval:this mov eax, gword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 67 627: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[Perfolizer.Horology.TimeInterval]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=17, code size=67] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_7():Perfolizer.Horology.TimeInterval:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 80 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, 0xD1FFAB1E push dword ptr [ecx+04H] push dword ptr [ecx] mov ecx, bword ptr [ebp-08H] mov edx, 500 call [Perfolizer.Horology.TimeInterval:op_Multiply(Perfolizer.Horology.TimeInterval,int):Perfolizer.Horology.TimeInterval] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 55 628: JIT compiled BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_7() [Tier0, IL size=16, code size=55] ; Assembly listing for method Perfolizer.Horology.TimeInterval:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: push 0 push 1 mov ecx, gword ptr [D1FFAB1EH] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:ToInterval(long):Perfolizer.Horology.TimeInterval:this] push 0 push 1 mov ecx, gword ptr [D1FFAB1EH] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:ToInterval(long):Perfolizer.Horology.TimeInterval:this] push 0 push 1 mov ecx, gword ptr [D1FFAB1EH] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:ToInterval(long):Perfolizer.Horology.TimeInterval:this] push 0 push 1 mov ecx, gword ptr [D1FFAB1EH] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:ToInterval(long):Perfolizer.Horology.TimeInterval:this] push 0 push 1 mov ecx, gword ptr [D1FFAB1EH] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:ToInterval(long):Perfolizer.Horology.TimeInterval:this] push 0 push 1 mov ecx, gword ptr [D1FFAB1EH] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:ToInterval(long):Perfolizer.Horology.TimeInterval:this] push 0 push 1 mov ecx, gword ptr [D1FFAB1EH] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:ToInterval(long):Perfolizer.Horology.TimeInterval:this] G_M000_IG03: pop ebp ret ; Total bytes of code 166 629: JIT compiled Perfolizer.Horology.TimeInterval:.cctor() [Tier0, IL size=120, code size=166] ; Assembly listing for method Perfolizer.Horology.TimeUnit:ToInterval(long):Perfolizer.Horology.TimeInterval:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 vzeroupper mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax push dword ptr [ebp+0CH] push dword ptr [ebp+08H] call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-18H] vmovsd xmm0, qword ptr [ebp-18H] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-10H] mov edx, gword ptr [ebp-04H] call [Perfolizer.Horology.TimeInterval:.ctor(double,Perfolizer.Horology.TimeUnit):this] mov eax, bword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] mov dword ptr [eax], edx mov edx, dword ptr [ebp-0CH] mov dword ptr [eax+04H], edx G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 82 630: JIT compiled Perfolizer.Horology.TimeUnit:ToInterval(long) [Tier0, IL size=9, code size=82] ; Assembly listing for method Perfolizer.Horology.TimeInterval:.ctor(double,Perfolizer.Horology.TimeUnit):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 vzeroupper mov bword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:get_NanosecondAmount():long:this] mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], edx push dword ptr [ebp-0CH] push dword ptr [ebp-10H] call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-18H] vmovsd xmm0, qword ptr [ebp-18H] vmulsd xmm0, xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, bword ptr [ebp-04H] call [Perfolizer.Horology.TimeInterval:.ctor(double):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 79 631: JIT compiled Perfolizer.Horology.TimeInterval:.ctor(double,Perfolizer.Horology.TimeUnit) [Tier0, IL size=16, code size=79] ; Assembly listing for method Perfolizer.Horology.TimeInterval:.ctor(double):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+08H] vmovsd qword ptr [eax], xmm0 G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 28 632: JIT compiled Perfolizer.Horology.TimeInterval:.ctor(double) [Tier0, IL size=8, code size=28] ; Assembly listing for method Perfolizer.Horology.TimeInterval:op_Multiply(Perfolizer.Horology.TimeInterval,int):Perfolizer.Horology.TimeInterval ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 vzeroupper mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: xor ecx, ecx mov dword ptr [ebp-10H], ecx mov dword ptr [ebp-0CH], ecx lea ecx, [ebp+08H] call [Perfolizer.Horology.TimeInterval:get_Nanoseconds():double:this] fstp qword ptr [ebp-18H] vxorps xmm1, xmm1, xmm1 vcvtsi2sd xmm1, xmm1, dword ptr [ebp-08H] vmovsd xmm0, qword ptr [ebp-18H] vmulsd xmm0, xmm0, xmm1 sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-10H] call [Perfolizer.Horology.TimeInterval:.ctor(double):this] mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp-10H] mov dword ptr [eax], edx mov edx, dword ptr [ebp-0CH] mov dword ptr [eax+04H], edx G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 90 633: JIT compiled Perfolizer.Horology.TimeInterval:op_Multiply(Perfolizer.Horology.TimeInterval,int) [Tier0, IL size=16, code size=90] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:b__0(BenchmarkDotNet.Characteristics.IResolver):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.IResolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 634: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:b__0(BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=13, code size=31] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Resolve[int](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[int]):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-24H], xmm4 xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp+08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax je SHORT G_M000_IG04 mov ecx, gword ptr [ebp+08H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):int:this] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-14H], ecx lea ecx, [ebp-0CH] push ecx mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp+08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryGetValue(System.__Canon,byref):bool:this] test eax, eax je SHORT G_M000_IG06 mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-0CH] call [eax+0CH]System.Func`2[System.__Canon,System.__Canon]:Invoke(System.__Canon):System.__Canon:this mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] mov eax, dword ptr [eax] G_M000_IG05: mov esp, ebp pop ebp ret 4 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, 0x14A80 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-1CH], eax mov ecx, gword ptr [ebp+08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_FullId():System.String:this] mov gword ptr [ebp-20H], eax mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-20H] call [System.String:Concat(System.String,System.String):System.String] mov gword ptr [ebp-24H], eax mov edx, gword ptr [ebp-24H] mov ecx, gword ptr [ebp-10H] call [System.InvalidOperationException:.ctor(System.String):this] mov ecx, gword ptr [ebp-10H] call CORINFO_HELP_THROW int3 ; Total bytes of code 222 635: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Resolve[int](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[int]) [Tier0, IL size=68, code size=222] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-10H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-10H] call [eax+0CH]System.Func`1[int]:Invoke():int:this mov edx, gword ptr [ebp-0CH] mov dword ptr [edx+04H], eax mov eax, gword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 67 636: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=17, code size=67] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_8():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, 4 G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 16 637: JIT compiled BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_8() [Tier0, IL size=2, code size=16] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[double](BenchmarkDotNet.Characteristics.Characteristic`1[double],BenchmarkDotNet.Characteristics.IResolver):double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vzeroupper mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push 0xD1FFAB1E mov ecx, gword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-0CH], eax push gword ptr [ebp-08H] mov ecx, gword ptr [ebp+08H] mov edx, gword ptr [ebp-04H] mov eax, dword ptr [ebp-0CH] call eax fstp qword ptr [ebp-14H] vmovsd xmm0, qword ptr [ebp-14H] vmovsd qword ptr [ebp-14H], xmm0 fld qword ptr [ebp-14H] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 72 638: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[double](BenchmarkDotNet.Characteristics.Characteristic`1[double],BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=9, code size=72] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[double](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[double]):double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 56 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-30H], xmm4 vmovdqu xmmword ptr [ebp-20H], xmm4 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-14H] call [BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[double]:.ctor():this] mov edx, gword ptr [ebp-14H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-0CH] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax je SHORT G_M000_IG04 mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[double]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):double:this] fstp qword ptr [ebp-38H] vmovsd xmm0, qword ptr [ebp-38H] vmovsd qword ptr [ebp-38H], xmm0 fld qword ptr [ebp-38H] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-1CH], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push 0xD1FFAB1E mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-18H] call [System.Linq.Enumerable:FirstOrDefault[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.__Canon] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-10H], 0 je SHORT G_M000_IG06 push 0xD1FFAB1E mov ecx, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-24H], eax mov ecx, gword ptr [ebp-0CH] push gword ptr [ecx+04H] mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-08H] mov eax, dword ptr [ebp-24H] call eax fstp qword ptr [ebp-38H] vmovsd xmm0, qword ptr [ebp-38H] vmovsd qword ptr [ebp-38H], xmm0 fld qword ptr [ebp-38H] G_M000_IG05: mov esp, ebp pop ebp ret 4 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-20H], eax mov ecx, 0x14A80 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-28H], eax mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_FullId():System.String:this] mov gword ptr [ebp-2CH], eax mov ecx, gword ptr [ebp-28H] mov edx, gword ptr [ebp-2CH] call [System.String:Concat(System.String,System.String):System.String] mov gword ptr [ebp-30H], eax mov edx, gword ptr [ebp-30H] mov ecx, gword ptr [ebp-20H] call [System.InvalidOperationException:.ctor(System.String):this] mov ecx, gword ptr [ebp-20H] call CORINFO_HELP_THROW int3 ; Total bytes of code 348 639: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[double](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[double]) [Tier0, IL size=108, code size=348] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[double]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 640: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[double]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[double]:b__0(BenchmarkDotNet.Characteristics.IResolver):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.IResolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 641: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[double]:b__0(BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=13, code size=31] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Resolve[double](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[double]):double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 44 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-24H], xmm4 xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp+08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax je SHORT G_M000_IG04 mov ecx, gword ptr [ebp+08H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[double]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):double:this] fstp qword ptr [ebp-2CH] vmovsd xmm0, qword ptr [ebp-2CH] vmovsd qword ptr [ebp-2CH], xmm0 fld qword ptr [ebp-2CH] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-14H], ecx lea ecx, [ebp-0CH] push ecx mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp+08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryGetValue(System.__Canon,byref):bool:this] test eax, eax je SHORT G_M000_IG06 mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-0CH] call [eax+0CH]System.Func`2[System.__Canon,System.__Canon]:Invoke(System.__Canon):System.__Canon:this mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] vmovsd xmm0, qword ptr [eax] vmovsd qword ptr [ebp-2CH], xmm0 fld qword ptr [ebp-2CH] G_M000_IG05: mov esp, ebp pop ebp ret 4 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, 0x14A80 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-1CH], eax mov ecx, gword ptr [ebp+08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_FullId():System.String:this] mov gword ptr [ebp-20H], eax mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-20H] call [System.String:Concat(System.String,System.String):System.String] mov gword ptr [ebp-24H], eax mov edx, gword ptr [ebp-24H] mov ecx, gword ptr [ebp-10H] call [System.InvalidOperationException:.ctor(System.String):this] mov ecx, gword ptr [ebp-10H] call CORINFO_HELP_THROW int3 ; Total bytes of code 251 642: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Resolve[double](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[double]) [Tier0, IL size=68, code size=251] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[double]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-10H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-10H] call [eax+0CH]System.Func`1[double]:Invoke():double:this fstp qword ptr [ebp-18H] mov eax, gword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-18H] vmovsd qword ptr [eax+04H], xmm0 mov eax, gword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 80 643: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[double]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=17, code size=80] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_6():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: vmovsd xmm0, qword ptr [@RWD00] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret RWD00 dq 3F947AE147AE147Bh ; 0.02 ; Total bytes of code 32 644: JIT compiled BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_6() [Tier0, IL size=10, code size=32] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValueAsNullable[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]):System.Nullable`1[Perfolizer.Horology.TimeInterval]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vzeroupper xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp+08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax jne SHORT G_M000_IG04 vxorps xmm0, xmm0, xmm0 vmovups xmmword ptr [ebp-18H], xmm0 mov edx, bword ptr [ebp-08H] vmovdqu xmm0, xmmword ptr [ebp-18H] vmovdqu xmmword ptr [edx], xmm0 G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: vxorps xmm0, xmm0, xmm0 vmovups xmmword ptr [ebp-28H], xmm0 push gword ptr [ebp+08H] lea edx, [ebp-30H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]):Perfolizer.Horology.TimeInterval:this] push dword ptr [ebp-2CH] push dword ptr [ebp-30H] lea ecx, [ebp-28H] call [System.Nullable`1[Perfolizer.Horology.TimeInterval]:.ctor(Perfolizer.Horology.TimeInterval):this] mov eax, bword ptr [ebp-08H] vmovdqu xmm0, xmmword ptr [ebp-28H] vmovdqu xmmword ptr [eax], xmm0 G_M000_IG05: mov esp, ebp pop ebp ret 4 ; Total bytes of code 129 645: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValueAsNullable[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]) [Tier0, IL size=32, code size=129] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):Perfolizer.Horology.TimeInterval:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: push gword ptr [ebp-04H] mov ecx, gword ptr [ebp+08H] mov edx, bword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]):Perfolizer.Horology.TimeInterval:this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 35 646: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=8, code size=35] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]):Perfolizer.Horology.TimeInterval:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp+08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue(BenchmarkDotNet.Characteristics.Characteristic):System.Object:this] mov gword ptr [ebp-0CH], eax mov edx, gword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] mov edx, bword ptr [ebp-08H] mov ecx, dword ptr [eax] mov dword ptr [edx], ecx mov ecx, dword ptr [eax+04H] mov dword ptr [edx+04H], ecx G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 65 647: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]) [Tier0, IL size=13, code size=65] ; Assembly listing for method Perfolizer.Horology.TimeInterval:ToNanoseconds():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] push dword ptr [eax+04H] push dword ptr [eax] mov eax, 0xD1FFAB1E push dword ptr [eax+04H] push dword ptr [eax] call [Perfolizer.Horology.TimeInterval:op_Division(Perfolizer.Horology.TimeInterval,Perfolizer.Horology.TimeInterval):double] fstp qword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-0CH] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 56 648: JIT compiled Perfolizer.Horology.TimeInterval:ToNanoseconds() [Tier0, IL size=17, code size=56] ; Assembly listing for method Perfolizer.Horology.TimeInterval:op_Division(Perfolizer.Horology.TimeInterval,Perfolizer.Horology.TimeInterval):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 vzeroupper G_M000_IG02: lea ecx, [ebp+10H] call [Perfolizer.Horology.TimeInterval:get_Nanoseconds():double:this] fstp qword ptr [ebp-10H] vmovsd xmm0, qword ptr [ebp-10H] vmulsd xmm0, xmm0, qword ptr [@RWD00] vmovsd qword ptr [ebp-08H], xmm0 lea ecx, [ebp+08H] call [Perfolizer.Horology.TimeInterval:get_Nanoseconds():double:this] fstp qword ptr [ebp-10H] vmovsd xmm1, qword ptr [ebp-08H] vmovsd xmm0, qword ptr [ebp-10H] vdivsd xmm0, xmm1, xmm0 vmovsd qword ptr [ebp-10H], xmm0 fld qword ptr [ebp-10H] G_M000_IG03: mov esp, ebp pop ebp ret 16 RWD00 dq 3FF0000000000000h ; 1 ; Total bytes of code 79 649: JIT compiled Perfolizer.Horology.TimeInterval:op_Division(Perfolizer.Horology.TimeInterval,Perfolizer.Horology.TimeInterval) [Tier0, IL size=26, code size=79] ; Assembly listing for method Perfolizer.Horology.ClockExtensions:GetResolution(Perfolizer.Horology.IClock):Perfolizer.Horology.TimeInterval ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov bword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: lea edx, [ebp-10H] mov ecx, gword ptr [ebp-08H] call [Perfolizer.Horology.IClock:get_Frequency():Perfolizer.Horology.Frequency:this] lea ecx, [ebp-10H] mov edx, bword ptr [ebp-04H] call [Perfolizer.Horology.Frequency:ToResolution():Perfolizer.Horology.TimeInterval:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 650: JIT compiled Perfolizer.Horology.ClockExtensions:GetResolution(Perfolizer.Horology.IClock) [Tier0, IL size=15, code size=48] ; Assembly listing for method Perfolizer.Horology.WindowsClock:get_Frequency():Perfolizer.Horology.Frequency:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vzeroupper mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-14H], 0xD1FFAB1E mov eax, dword ptr [ebp-14H] mov edx, dword ptr [ebp-14H] push dword ptr [edx+04H] push dword ptr [eax] call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-1CH] vmovsd xmm0, qword ptr [ebp-1CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-10H] call [Perfolizer.Horology.Frequency:.ctor(double):this] mov eax, bword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] mov dword ptr [eax], edx mov edx, dword ptr [ebp-0CH] mov dword ptr [eax+04H], edx G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 89 651: JIT compiled Perfolizer.Horology.WindowsClock:get_Frequency() [Tier0, IL size=12, code size=89] ; Assembly listing for method Perfolizer.Horology.Frequency:.ctor(double):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+08H] vmovsd qword ptr [eax], xmm0 G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 28 652: JIT compiled Perfolizer.Horology.Frequency:.ctor(double) [Tier0, IL size=8, code size=28] ; Assembly listing for method Perfolizer.Horology.Frequency:ToResolution():Perfolizer.Horology.TimeInterval:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 vzeroupper mov bword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov eax, dword ptr [ecx] mov dword ptr [ebp-10H], eax mov eax, dword ptr [ecx+04H] mov dword ptr [ebp-0CH], eax push dword ptr [ebp-0CH] push dword ptr [ebp-10H] mov ecx, bword ptr [ebp-04H] call [Perfolizer.Horology.Frequency:get_Hertz():double:this] fstp qword ptr [ebp-18H] vmovsd xmm0, qword ptr [ebp-18H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, bword ptr [ebp-08H] call [Perfolizer.Horology.TimeInterval:op_Division(Perfolizer.Horology.TimeInterval,double):Perfolizer.Horology.TimeInterval] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 75 653: JIT compiled Perfolizer.Horology.Frequency:ToResolution() [Tier0, IL size=17, code size=75] ; Assembly listing for method Perfolizer.Horology.Frequency:get_Hertz():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 654: JIT compiled Perfolizer.Horology.Frequency:get_Hertz() [Tier0, IL size=7, code size=31] ; Assembly listing for method Perfolizer.Horology.TimeInterval:op_Division(Perfolizer.Horology.TimeInterval,double):Perfolizer.Horology.TimeInterval ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: xor ecx, ecx mov dword ptr [ebp-0CH], ecx mov dword ptr [ebp-08H], ecx lea ecx, [ebp+10H] call [Perfolizer.Horology.TimeInterval:get_Nanoseconds():double:this] fstp qword ptr [ebp-14H] vmovsd xmm0, qword ptr [ebp-14H] vdivsd xmm0, xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-0CH] call [Perfolizer.Horology.TimeInterval:.ctor(double):this] mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp-0CH] mov dword ptr [eax], edx mov edx, dword ptr [ebp-08H] mov dword ptr [eax+04H], edx G_M000_IG03: mov esp, ebp pop ebp ret 16 ; Total bytes of code 79 655: JIT compiled Perfolizer.Horology.TimeInterval:op_Division(Perfolizer.Horology.TimeInterval,double) [Tier0, IL size=15, code size=79] ; Assembly listing for method BenchmarkDotNet.Engines.EngineActualStage:.ctor(BenchmarkDotNet.Engines.IEngine):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 64 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-38H], xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 vmovdqu xmmword ptr [ebp-18H], xmm4 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.EngineStage:.ctor(BenchmarkDotNet.Engines.IEngine):this] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.IEngine:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-2CH], eax mov ecx, gword ptr [ebp-04H] cmp byte ptr [ecx], cl mov ecx, gword ptr [ebp-04H] add ecx, 32 mov bword ptr [ebp-30H], ecx push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-2CH] mov edx, bword ptr [ebp-30H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValueAsNullable[int](BenchmarkDotNet.Characteristics.Characteristic`1[int]):System.Nullable`1[int]:this] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.IEngine:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.IEngine:get_Resolver():BenchmarkDotNet.Characteristics.IResolver:this] push eax mov edx, gword ptr [ebp-10H] mov ecx, gword ptr [ebp-0CH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[double](BenchmarkDotNet.Characteristics.Characteristic`1[double],BenchmarkDotNet.Characteristics.IResolver):double:this] fstp qword ptr [ebp-40H] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-40H] vmovsd qword ptr [ecx+0CH], xmm0 mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.IEngine:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-34H], eax mov ecx, gword ptr [ebp-04H] cmp byte ptr [ecx], cl mov ecx, gword ptr [ebp-04H] add ecx, 44 mov bword ptr [ebp-38H], ecx push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-34H] mov edx, bword ptr [ebp-38H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValueAsNullable[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]):System.Nullable`1[Perfolizer.Horology.TimeInterval]:this] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.IEngine:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-14H], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-18H], ecx mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.IEngine:get_Resolver():BenchmarkDotNet.Characteristics.IResolver:this] push eax mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-14H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver):int:this] mov ecx, gword ptr [ebp-04H] mov dword ptr [ecx+14H], eax mov ecx, gword ptr [ebp-08H] G_M000_IG03: call [BenchmarkDotNet.Engines.IEngine:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-1CH], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-20H], ecx mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.IEngine:get_Resolver():BenchmarkDotNet.Characteristics.IResolver:this] push eax mov edx, gword ptr [ebp-20H] mov ecx, gword ptr [ebp-1CH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver):int:this] mov ecx, gword ptr [ebp-04H] mov dword ptr [ecx+18H], eax mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.IEngine:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-24H], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-28H], ecx mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.IEngine:get_Resolver():BenchmarkDotNet.Characteristics.IResolver:this] push eax mov edx, gword ptr [ebp-28H] mov ecx, gword ptr [ebp-24H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver):int:this] mov edx, gword ptr [ebp-04H] mov dword ptr [edx+1CH], eax G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 356 656: JIT compiled BenchmarkDotNet.Engines.EngineActualStage:.ctor(BenchmarkDotNet.Engines.IEngine) [Tier0, IL size=164, code size=356] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValueAsNullable[int](BenchmarkDotNet.Characteristics.Characteristic`1[int]):System.Nullable`1[int]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp+08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax jne SHORT G_M000_IG04 xor ecx, ecx mov dword ptr [ebp-10H], ecx mov dword ptr [ebp-0CH], ecx mov ecx, bword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] mov dword ptr [ecx], edx mov edx, dword ptr [ebp-0CH] mov dword ptr [ecx+04H], edx G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: xor ecx, ecx mov dword ptr [ebp-18H], ecx mov dword ptr [ebp-14H], ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp+08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int]):int:this] mov dword ptr [ebp-1CH], eax mov edx, dword ptr [ebp-1CH] lea ecx, [ebp-18H] call [System.Nullable`1[int]:.ctor(int):this] mov eax, bword ptr [ebp-08H] mov edx, dword ptr [ebp-18H] mov dword ptr [eax], edx mov edx, dword ptr [ebp-14H] mov dword ptr [eax+04H], edx G_M000_IG05: mov esp, ebp pop ebp ret 4 ; Total bytes of code 119 657: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValueAsNullable[int](BenchmarkDotNet.Characteristics.Characteristic`1[int]) [Tier0, IL size=32, code size=119] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push 0xD1FFAB1E mov ecx, gword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-0CH], eax push gword ptr [ebp-08H] mov ecx, gword ptr [ebp+08H] mov edx, gword ptr [ebp-04H] mov eax, dword ptr [ebp-0CH] call eax G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 53 658: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=9, code size=53] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[int](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[int]):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-30H], xmm4 vmovdqu xmmword ptr [ebp-20H], xmm4 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-14H] call [BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:.ctor():this] mov edx, gword ptr [ebp-14H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-0CH] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax je SHORT G_M000_IG04 mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):int:this] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-1CH], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push 0xD1FFAB1E mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-18H] call [System.Linq.Enumerable:FirstOrDefault[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.__Canon] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-10H], 0 je SHORT G_M000_IG06 push 0xD1FFAB1E mov ecx, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-24H], eax mov ecx, gword ptr [ebp-0CH] push gword ptr [ecx+04H] mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-08H] mov eax, dword ptr [ebp-24H] call eax G_M000_IG05: mov esp, ebp pop ebp ret 4 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-20H], eax mov ecx, 0x14A80 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-28H], eax mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_FullId():System.String:this] mov gword ptr [ebp-2CH], eax mov ecx, gword ptr [ebp-28H] mov edx, gword ptr [ebp-2CH] call [System.String:Concat(System.String,System.String):System.String] mov gword ptr [ebp-30H], eax mov edx, gword ptr [ebp-30H] mov ecx, gword ptr [ebp-20H] call [System.InvalidOperationException:.ctor(System.String):this] mov ecx, gword ptr [ebp-20H] call CORINFO_HELP_THROW int3 ; Total bytes of code 313 659: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[int](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[int]) [Tier0, IL size=108, code size=313] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 660: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:b__0(BenchmarkDotNet.Characteristics.IResolver):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.IResolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 661: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:b__0(BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=13, code size=31] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Resolve[int](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[int]):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-24H], xmm4 xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp+08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax je SHORT G_M000_IG04 mov ecx, gword ptr [ebp+08H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):int:this] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-14H], ecx lea ecx, [ebp-0CH] push ecx mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp+08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryGetValue(System.__Canon,byref):bool:this] test eax, eax je SHORT G_M000_IG06 mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-0CH] call [eax+0CH]System.Func`2[System.__Canon,System.__Canon]:Invoke(System.__Canon):System.__Canon:this mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] mov eax, dword ptr [eax] G_M000_IG05: mov esp, ebp pop ebp ret 4 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, 0x14A80 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-1CH], eax mov ecx, gword ptr [ebp+08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_FullId():System.String:this] mov gword ptr [ebp-20H], eax mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-20H] call [System.String:Concat(System.String,System.String):System.String] mov gword ptr [ebp-24H], eax mov edx, gword ptr [ebp-24H] mov ecx, gword ptr [ebp-10H] call [System.InvalidOperationException:.ctor(System.String):this] mov ecx, gword ptr [ebp-10H] call CORINFO_HELP_THROW int3 ; Total bytes of code 222 662: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Resolve[int](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[int]) [Tier0, IL size=68, code size=222] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass2_0`1[int]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-10H] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-10H] call [eax+0CH]System.Func`2[System.__Canon,int]:Invoke(System.__Canon):int:this mov edx, gword ptr [ebp-0CH] mov dword ptr [edx+04H], eax mov eax, gword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 70 663: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass2_0`1[int]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=18, code size=70] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver:<.ctor>b__7_11(BenchmarkDotNet.Characteristics.CharacteristicObject):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-30H], xmm4 vmovdqu xmmword ptr [ebp-20H], xmm4 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push gword ptr [ebp-04H] mov edx, gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],BenchmarkDotNet.Characteristics.IResolver):bool:this] test eax, eax je SHORT G_M000_IG04 xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: push gword ptr [ebp-04H] mov edx, gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver):int:this] mov dword ptr [ebp-0CH], eax cmp dword ptr [ebp-0CH], 0 je SHORT G_M000_IG06 mov eax, dword ptr [ebp-0CH] dec eax cmp eax, 1 jbe SHORT G_M000_IG08 G_M000_IG05: jmp SHORT G_M000_IG10 G_M000_IG06: mov eax, 1 G_M000_IG07: mov esp, ebp pop ebp ret G_M000_IG08: xor eax, eax G_M000_IG09: mov esp, ebp pop ebp ret G_M000_IG10: push 1 lea ecx, [ebp-24H] mov edx, 21 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] mov ecx, 0xF9A0 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-2CH], eax mov edx, gword ptr [ebp-2CH] lea ecx, [ebp-24H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-24H] mov edx, dword ptr [ebp-0CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-28H], eax lea ecx, [ebp-24H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] mov gword ptr [ebp-30H], eax mov edx, gword ptr [ebp-30H] mov ecx, gword ptr [ebp-28H] call [System.NotSupportedException:.ctor(System.String):this] mov ecx, gword ptr [ebp-28H] call CORINFO_HELP_THROW int3 ; Total bytes of code 223 664: JIT compiled BenchmarkDotNet.Engines.EngineResolver:<.ctor>b__7_11(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=87, code size=223] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_UnrollFactor():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineParameters:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-08H], eax push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [D1FFAB1EH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver):int:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 53 665: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_UnrollFactor() [Tier0, IL size=22, code size=53] ; Assembly listing for method BenchmarkDotNet.Engines.EngineFactory:Jit(BenchmarkDotNet.Engines.Engine,int,int,int):Perfolizer.Horology.TimeInterval ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 164 vzeroupper vxorps xmm4, xmm4, xmm4 mov eax, -144 vmovdqu xmmword ptr [ebp+eax-0CH], xmm4 vmovdqu xmmword ptr [ebp+eax+04H], xmm4 vmovdqu xmmword ptr [ebp+eax+14H], xmm4 add eax, 48 jne SHORT -5 instr mov dword ptr [ebp-0CH], eax mov bword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.Engine:get_Dummy1Action():System.Action:this] mov gword ptr [ebp-94H], eax mov ecx, gword ptr [ebp-94H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-94H] call [eax+0CH]System.Action:Invoke():this vxorps ymm0, ymm0, ymm0 vmovdqu ymmword ptr [ebp-48H], ymm0 push 0 push dword ptr [ebp+10H] mov ecx, dword ptr [ebp+0CH] mov dword ptr [ebp-8CH], ecx mov ecx, dword ptr [ebp-8CH] sar ecx, 31 push ecx push dword ptr [ebp-8CH] push dword ptr [ebp+08H] lea ecx, [ebp-48H] xor edx, edx call [BenchmarkDotNet.Engines.IterationData:.ctor(int,int,int,long,int):this] sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp-48H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-38H] vmovdqu xmmword ptr [esp+10H], xmm0 lea edx, [ebp-68H] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.Engine:RunIteration(BenchmarkDotNet.Engines.IterationData):BenchmarkDotNet.Reports.Measurement:this] sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp-68H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-58H] vmovdqu xmmword ptr [esp+10H], xmm0 call [BenchmarkDotNet.Engines.DeadCodeEliminationHelper:KeepAliveWithoutBoxing[BenchmarkDotNet.Reports.Measurement](BenchmarkDotNet.Reports.Measurement)] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.Engine:get_Dummy2Action():System.Action:this] mov gword ptr [ebp-98H], eax mov ecx, gword ptr [ebp-98H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-98H] call [eax+0CH]System.Action:Invoke():this vxorps ymm0, ymm0, ymm0 vmovdqu ymmword ptr [ebp-88H], ymm0 push 0 push dword ptr [ebp+10H] mov ecx, dword ptr [ebp+0CH] mov dword ptr [ebp-90H], ecx mov ecx, dword ptr [ebp-90H] sar ecx, 31 push ecx push dword ptr [ebp-90H] push dword ptr [ebp+08H] lea ecx, [ebp-88H] mov edx, 1 call [BenchmarkDotNet.Engines.IterationData:.ctor(int,int,int,long,int):this] sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp-88H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-78H] G_M000_IG03: vmovdqu xmmword ptr [esp+10H], xmm0 lea edx, [ebp-28H] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.Engine:RunIteration(BenchmarkDotNet.Engines.IterationData):BenchmarkDotNet.Reports.Measurement:this] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.Engine:get_Dummy3Action():System.Action:this] mov gword ptr [ebp-9CH], eax mov ecx, gword ptr [ebp-9CH] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-9CH] call [eax+0CH]System.Action:Invoke():this mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.Engine:WriteLine():this] lea ecx, [ebp-28H] call [BenchmarkDotNet.Reports.Measurement:get_Nanoseconds():double:this] fstp qword ptr [ebp-A4H] vmovsd xmm0, qword ptr [ebp-A4H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, bword ptr [ebp-04H] call [Perfolizer.Horology.TimeInterval:FromNanoseconds(double):Perfolizer.Horology.TimeInterval] G_M000_IG04: mov esp, ebp pop ebp ret 12 ; Total bytes of code 439 666: JIT compiled BenchmarkDotNet.Engines.EngineFactory:Jit(BenchmarkDotNet.Engines.Engine,int,int,int) [Tier0, IL size=92, code size=439] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_Dummy1Action():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+14H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 667: JIT compiled BenchmarkDotNet.Engines.Engine:get_Dummy1Action() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:Dummy1():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] G_M000_IG03: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] G_M000_IG04: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 395 668: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:Dummy1() [Tier0, IL size=897, code size=395] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:.ctor(int,int,int,long,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov dword ptr [eax], edx mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp+18H] mov dword ptr [eax+04H], edx mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp+14H] mov dword ptr [eax+08H], edx mov eax, bword ptr [ebp-04H] add eax, 16 mov bword ptr [ebp-0CH], eax mov eax, bword ptr [ebp-0CH] mov edx, dword ptr [ebp+0CH] mov dword ptr [eax], edx mov eax, dword ptr [ebp+10H] mov edx, bword ptr [ebp-0CH] mov dword ptr [edx+04H], eax mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp+08H] mov dword ptr [eax+18H], edx G_M000_IG03: mov esp, ebp pop ebp ret 20 ; Total bytes of code 84 669: JIT compiled BenchmarkDotNet.Engines.IterationData:.ctor(int,int,int,long,int) [Tier0, IL size=38, code size=84] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:RunIteration(BenchmarkDotNet.Engines.IterationData):BenchmarkDotNet.Reports.Measurement:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 236 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-E8H], xmm4 vmovdqu xmmword ptr [ebp-D8H], xmm4 mov eax, -192 vmovdqu xmmword ptr [ebp+eax-08H], xmm4 vmovdqu xmmword ptr [ebp+eax+08H], xmm4 vmovdqu xmmword ptr [ebp+eax+18H], xmm4 add eax, 48 jne SHORT -5 instr mov dword ptr [ebp-0CH], esp mov dword ptr [ebp-ECH], 0xD1FFAB1E mov gword ptr [ebp-10H], ecx mov bword ptr [ebp-14H], edx G_M000_IG02: lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.IterationData:get_InvokeCount():long:this] mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-18H], edx lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.IterationData:get_UnrollFactor():int:this] mov dword ptr [ebp-20H], eax push dword ptr [ebp-18H] push dword ptr [ebp-1CH] mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Engines.Engine:get_OperationsPerInvoke():long:this] mov dword ptr [ebp-D4H], eax mov dword ptr [ebp-D0H], edx push dword ptr [ebp-D0H] push dword ptr [ebp-D4H] call CORINFO_HELP_LMUL mov dword ptr [ebp-28H], eax mov dword ptr [ebp-24H], edx lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.IterationData:get_IterationMode():int:this] xor ecx, ecx test eax, eax sete cl mov dword ptr [ebp-2CH], ecx cmp dword ptr [ebp-2CH], 0 jne SHORT G_M000_IG03 mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Engines.Engine:get_MemoryRandomization():bool:this] mov dword ptr [ebp-90H], eax jmp SHORT G_M000_IG04 G_M000_IG03: xor ecx, ecx mov dword ptr [ebp-90H], ecx G_M000_IG04: mov ecx, dword ptr [ebp-90H] movzx ecx, cl mov dword ptr [ebp-30H], ecx cmp dword ptr [ebp-2CH], 0 jne SHORT G_M000_IG05 mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Engines.Engine:get_WorkloadAction():System.Action`1[long]:this] mov gword ptr [ebp-94H], eax jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Engines.Engine:get_OverheadAction():System.Action`1[long]:this] mov gword ptr [ebp-94H], eax G_M000_IG06: mov ecx, gword ptr [ebp-94H] mov gword ptr [ebp-34H], ecx cmp dword ptr [ebp-2CH], 0 jne SHORT G_M000_IG07 mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Engines.Engine:get_IterationSetupAction():System.Action:this] mov gword ptr [ebp-D8H], eax mov ecx, gword ptr [ebp-D8H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-D8H] call [eax+0CH]System.Action:Invoke():this G_M000_IG07: mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Engines.Engine:GcCollect():this] mov ecx, 0xD1FFAB1E mov edx, 404 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventSource:IsEnabled():bool:this] test eax, eax je SHORT G_M000_IG08 mov ecx, 0xD1FFAB1E mov edx, 404 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-B4H], ecx lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.IterationData:get_IterationMode():int:this] mov dword ptr [ebp-B8H], eax lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.IterationData:get_IterationStage():int:this] push eax push dword ptr [ebp-24H] push dword ptr [ebp-28H] mov edx, dword ptr [ebp-B8H] mov ecx, gword ptr [ebp-B4H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineEventSource:IterationStart(int,int,long):this] G_M000_IG08: cmp dword ptr [ebp-30H], 0 je SHORT G_M000_IG11 mov ecx, gword ptr [ebp-10H] mov ecx, gword ptr [ecx+58H] mov gword ptr [ebp-BCH], ecx mov ecx, gword ptr [ebp-BCH] mov edx, 32 mov eax, gword ptr [ebp-BCH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+14H]System.Random:Next(int):int:this mov dword ptr [ebp-8CH], eax mov edx, dword ptr [ebp-8CH] test edx, edx je SHORT G_M000_IG10 add edx, 3 shr edx, 2 G_M000_IG09: push 0 dec edx jne SHORT G_M000_IG09 lea edx, [esp] G_M000_IG10: mov dword ptr [ebp-0CH], esp mov dword ptr [ebp-C0H], edx push dword ptr [ebp-8CH] mov edx, dword ptr [ebp-C0H] lea ecx, [ebp-B0H] call [System.Span`1[ubyte]:.ctor(uint,int):this] lea edi, bword ptr [ebp-88H] lea esi, bword ptr [ebp-B0H] movsd movsd jmp SHORT G_M000_IG12 G_M000_IG11: lea ecx, [ebp-88H] call [System.Span`1[ubyte]:get_Empty():System.Span`1[ubyte]] G_M000_IG12: lea edi, bword ptr [ebp-3CH] lea esi, bword ptr [ebp-88H] movsd movsd mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Engines.Engine:get_Clock():Perfolizer.Horology.IClock:this] mov gword ptr [ebp-C4H], eax mov edx, gword ptr [ebp-C4H] lea ecx, [ebp-48H] call [Perfolizer.Horology.ClockExtensions:Start(Perfolizer.Horology.IClock):Perfolizer.Horology.StartedClock] push dword ptr [ebp-18H] push dword ptr [ebp-1CH] mov eax, dword ptr [ebp-20H] mov dword ptr [ebp-DCH], eax mov eax, dword ptr [ebp-DCH] sar eax, 31 push eax push dword ptr [ebp-DCH] call CORINFO_HELP_LDIV mov dword ptr [ebp-E4H], eax mov dword ptr [ebp-E0H], edx push dword ptr [ebp-E0H] push dword ptr [ebp-E4H] mov ecx, gword ptr [ebp-34H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-34H] call [eax+0CH]System.Action`1[long]:Invoke(long):this lea ecx, [ebp-48H] lea edx, [ebp-60H] call [Perfolizer.Horology.StartedClock:GetElapsed():Perfolizer.Horology.ClockSpan:this] mov ecx, 0xD1FFAB1E mov edx, 404 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventSource:IsEnabled():bool:this] test eax, eax je SHORT G_M000_IG13 mov ecx, 0xD1FFAB1E mov edx, 404 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-A4H], ecx lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.IterationData:get_IterationMode():int:this] mov dword ptr [ebp-A8H], eax lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.IterationData:get_IterationStage():int:this] push eax push dword ptr [ebp-24H] push dword ptr [ebp-28H] mov edx, dword ptr [ebp-A8H] mov ecx, gword ptr [ebp-A4H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineEventSource:IterationStop(int,int,long):this] G_M000_IG13: cmp dword ptr [ebp-2CH], 0 jne SHORT G_M000_IG14 mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Engines.Engine:get_IterationCleanupAction():System.Action:this] mov gword ptr [ebp-E8H], eax mov ecx, gword ptr [ebp-E8H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-E8H] call [eax+0CH]System.Action:Invoke():this G_M000_IG14: cmp dword ptr [ebp-30H], 0 je SHORT G_M000_IG15 mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Engines.Engine:RandomizeManagedHeapMemory():this] G_M000_IG15: mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Engines.Engine:GcCollect():this] lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.IterationData:get_IterationMode():int:this] mov dword ptr [ebp-98H], eax lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.IterationData:get_IterationStage():int:this] mov dword ptr [ebp-9CH], eax lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.IterationData:get_Index():int:this] mov dword ptr [ebp-A0H], eax push dword ptr [ebp-98H] push dword ptr [ebp-9CH] push dword ptr [ebp-A0H] push dword ptr [ebp-24H] push dword ptr [ebp-28H] lea ecx, [ebp-60H] call [Perfolizer.Horology.ClockSpan:GetNanoseconds():double:this] fstp qword ptr [ebp-F4H] vmovsd xmm0, qword ptr [ebp-F4H] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-80H] xor edx, edx call [BenchmarkDotNet.Reports.Measurement:.ctor(int,int,int,int,long,double):this] lea ecx, [ebp-80H] call [BenchmarkDotNet.Reports.Measurement:ToString():System.String:this] mov gword ptr [ebp-C8H], eax mov edx, gword ptr [ebp-C8H] mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Engines.Engine:WriteLine(System.String):this] lea ecx, [ebp-80H] call [BenchmarkDotNet.Reports.Measurement:get_IterationStage():int:this] test eax, eax jne SHORT G_M000_IG16 mov ecx, gword ptr [ebp-10H] mov ecx, gword ptr [ecx+48H] mov gword ptr [ebp-CCH], ecx sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp-80H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-70H] vmovdqu xmmword ptr [esp+10H], xmm0 mov ecx, gword ptr [ebp-CCH] cmp dword ptr [ecx], ecx call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:Add(BenchmarkDotNet.Reports.Measurement):this] G_M000_IG16: lea edx, [ebp-3CH] mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Engines.Engine:Consume(byref):this] mov eax, bword ptr [ebp-14H] vmovdqu ymm0, ymmword ptr [ebp-80H] vmovdqu ymmword ptr [eax], ymm0 cmp dword ptr [ebp-ECH], 0xD1FFAB1E je SHORT G_M000_IG17 call CORINFO_HELP_FAIL_FAST G_M000_IG17: vzeroupper lea esp, [ebp-08H] pop esi pop edi pop ebp ret 32 ; Total bytes of code 1116 670: JIT compiled BenchmarkDotNet.Engines.Engine:RunIteration(BenchmarkDotNet.Engines.IterationData) [Tier0, IL size=361, code size=1116] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_InvokeCount():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] add eax, 16 mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 38 671: JIT compiled BenchmarkDotNet.Engines.IterationData:get_InvokeCount() [Tier0, IL size=7, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_UnrollFactor():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax+18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 672: JIT compiled BenchmarkDotNet.Engines.IterationData:get_UnrollFactor() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_OperationsPerInvoke():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] add eax, 4 mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 38 673: JIT compiled BenchmarkDotNet.Engines.Engine:get_OperationsPerInvoke() [Tier0, IL size=7, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_IterationMode():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 16 674: JIT compiled BenchmarkDotNet.Engines.IterationData:get_IterationMode() [Tier0, IL size=7, code size=16] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_OverheadAction():System.Action`1[long]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+20H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 675: JIT compiled BenchmarkDotNet.Engines.Engine:get_OverheadAction() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:GcCollect():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.Engine:get_ForceGcCleanups():bool:this] test eax, eax jne SHORT G_M000_IG04 G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: call [BenchmarkDotNet.Engines.Engine:ForceGcCollect()] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 34 676: JIT compiled BenchmarkDotNet.Engines.Engine:GcCollect() [Tier0, IL size=15, code size=34] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_ForceGcCleanups():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+64H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 18 677: JIT compiled BenchmarkDotNet.Engines.Engine:get_ForceGcCleanups() [Tier0, IL size=7, code size=18] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:ForceGcCollect() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: call [System.GC:Collect()] call [System.GC:WaitForPendingFinalizers()] call [System.GC:Collect()] G_M000_IG03: pop ebp ret ; Total bytes of code 23 678: JIT compiled BenchmarkDotNet.Engines.Engine:ForceGcCollect() [Tier0, IL size=16, code size=23] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 679: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Diagnostics.Tracing.EventSource:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 680: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Text.Ascii:ChangeCase[ushort,ushort,System.Text.Ascii+ToUpperConversion](uint,uint,uint):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 18 single block inlinees; 30 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 28 vzeroupper mov eax, dword ptr [ebp+08H] G_M000_IG02: xor esi, esi cmp eax, 8 jb G_M000_IG07 G_M000_IG03: vmovups xmm0, xmmword ptr [ecx] vmovups xmm1, xmmword ptr [@RWD00] vptest xmm0, xmm1 jne G_M000_IG07 mov esi, 0x8061 vmovd xmm2, esi vpbroadcastw xmm2, xmm2 vmovups xmm3, xmmword ptr [@RWD16] vmovups xmm4, xmmword ptr [@RWD32] vpsubw xmm5, xmm0, xmm2 vpcmpgtw xmm5, xmm3, xmm5 vpand xmm5, xmm5, xmm4 vpxor xmm0, xmm0, xmm5 vmovups xmmword ptr [edx], xmm0 mov esi, edx and esi, 15 shr esi, 1 mov edi, 8 sub edi, esi mov esi, edi align [0 bytes for IG04] G_M000_IG04: mov edi, eax sub edi, esi cmp edi, 8 jae SHORT G_M000_IG06 G_M000_IG05: cmp esi, eax je G_M000_IG12 mov esi, eax sub esi, 8 G_M000_IG06: vmovups xmm0, xmmword ptr [ecx+2*esi] vptest xmm0, xmm1 jne SHORT G_M000_IG07 vpsubw xmm5, xmm0, xmm2 vpcmpgtw xmm5, xmm3, xmm5 vpand xmm5, xmm5, xmm4 vpxor xmm0, xmm0, xmm5 vmovups xmmword ptr [edx+2*esi], xmm0 add esi, 8 jmp SHORT G_M000_IG04 G_M000_IG07: mov edi, eax sub edi, esi cmp edi, 2 jb SHORT G_M000_IG11 mov edi, esi mov dword ptr [ebp-24H], edi mov dword ptr [ebp-10H], ecx mov ebx, dword ptr [ecx+2*edi] test ebx, 0xD1FFAB1E jne SHORT G_M000_IG08 lea edi, [ebx+D1FFAB1EH] lea ecx, [ebx+00050005H] xor ecx, edi and ecx, 0xD1FFAB1E shr ecx, 2 xor ebx, ecx mov edi, dword ptr [ebp-24H] mov dword ptr [edx+2*edi], ebx add esi, 2 mov ecx, dword ptr [ebp-10H] jmp SHORT G_M000_IG07 G_M000_IG08: mov ecx, dword ptr [ebp-10H] jmp SHORT G_M000_IG11 G_M000_IG09: mov edi, esi mov dword ptr [ebp-28H], edi movzx ebx, word ptr [ecx+2*edi] cmp ebx, 127 ja SHORT G_M000_IG12 lea edi, [ebx-61H] cmp edi, 25 ja SHORT G_M000_IG10 add ebx, -32 G_M000_IG10: movzx edi, bx mov ebx, dword ptr [ebp-28H] mov word ptr [edx+2*ebx], di inc esi G_M000_IG11: cmp esi, eax jb SHORT G_M000_IG09 G_M000_IG12: mov eax, esi G_M000_IG13: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 RWD00 dq FF80FF80FF80FF80h, FF80FF80FF80FF80h RWD16 dq 801A801A801A801Ah, 801A801A801A801Ah RWD32 dq 0020002000200020h, 0020002000200020h ; Total bytes of code 299 681: JIT compiled System.Text.Ascii:ChangeCase[ushort,ushort,System.Text.Ascii+ToUpperConversion](uint,uint,uint) [Tier-0 switched to FullOpts, IL size=900, code size=299] ; Assembly listing for method (dynamicClass):InvokeStub_EventSourceAttribute.set_Name(System.Object,System.Object,uint):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: mov ecx, edx G_M000_IG02: mov edx, dword ptr [esp+04H] mov edx, bword ptr [edx] mov edx, gword ptr [edx] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventSourceAttribute:set_Name(System.String):this] xor eax, eax G_M000_IG03: ret 4 ; Total bytes of code 23 682: JIT compiled (dynamicClass):InvokeStub_EventSourceAttribute.set_Name(System.Object,System.Object,uint) [FullOpts, IL size=25, code size=23] ; Assembly listing for method System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 34 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx vzeroupper mov eax, dword ptr [ebp+08H] G_M000_IG02: cmp eax, 8 jge G_M000_IG11 G_M000_IG03: xor esi, esi cmp eax, 4 jl SHORT G_M000_IG04 add eax, -4 movsx edi, word ptr [ecx+2*esi] movsx ebx, dx cmp edi, ebx je SHORT G_M000_IG10 movsx edi, word ptr [ecx+2*esi+02H] cmp edi, ebx je SHORT G_M000_IG09 movsx edi, word ptr [ecx+2*esi+04H] cmp edi, ebx je SHORT G_M000_IG08 movsx edi, word ptr [ecx+2*esi+06H] cmp edi, ebx je SHORT G_M000_IG07 add esi, 4 G_M000_IG04: test eax, eax jle G_M000_IG22 movsx ebx, dx align [13 bytes for IG05] G_M000_IG05: dec eax movsx edx, word ptr [ecx+2*esi] cmp edx, ebx je SHORT G_M000_IG10 inc esi test eax, eax jg SHORT G_M000_IG05 G_M000_IG06: jmp G_M000_IG22 align [13 bytes for IG12] G_M000_IG07: lea eax, [esi+03H] jmp G_M000_IG21 G_M000_IG08: lea eax, [esi+02H] jmp G_M000_IG21 G_M000_IG09: lea eax, [esi+01H] jmp G_M000_IG21 G_M000_IG10: mov eax, esi jmp G_M000_IG21 G_M000_IG11: cmp eax, 16 jl G_M000_IG16 movsx ebx, dx vmovd xmm0, ebx vpbroadcastw ymm0, ymm0 mov edx, ecx lea ebx, [2*eax-20H] lea esi, bword ptr [edx+ebx] G_M000_IG12: vpcmpeqw ymm1, ymm0, ymmword ptr [edx] vptest ymm1, ymm1 jne SHORT G_M000_IG15 add edx, 32 cmp edx, esi jbe SHORT G_M000_IG12 G_M000_IG13: xor edx, edx mov ecx, 16 cmp edx, ecx jb SHORT G_M000_IG14 mov edi, eax mov eax, edx xor edx, edx div edx:eax, ecx mov eax, edi G_M000_IG14: div edx:eax, ecx or edx, 0 je G_M000_IG22 vpcmpeqw ymm1, ymm0, ymmword ptr [esi] vptest ymm1, ymm1 je G_M000_IG22 shr ebx, 1 vpshufb ymm1, ymm1, ymmword ptr [@RWD00] vpermq ymm0, ymm1, -40 vpmovmskb eax, xmm0 tzcnt eax, eax add eax, ebx jmp G_M000_IG21 align [1 bytes for IG17] G_M000_IG15: mov eax, edx sub eax, ecx shr eax, 1 vpshufb ymm0, ymm1, ymmword ptr [@RWD00] vpermq ymm0, ymm0, -40 vpmovmskb ecx, xmm0 xor edx, edx tzcnt edx, ecx add eax, edx jmp G_M000_IG21 G_M000_IG16: movsx ebx, dx vmovd xmm0, ebx vpbroadcastw xmm0, xmm0 mov edx, ecx lea esi, [2*eax-10H] lea edi, bword ptr [edx+esi] G_M000_IG17: vpcmpeqw xmm1, xmm0, xmmword ptr [edx] vptest xmm1, xmm1 jne SHORT G_M000_IG20 add edx, 16 cmp edx, edi jbe SHORT G_M000_IG17 G_M000_IG18: xor edx, edx mov ecx, 8 cmp edx, ecx jb SHORT G_M000_IG19 mov ebx, eax mov eax, edx xor edx, edx div edx:eax, ecx mov eax, ebx G_M000_IG19: div edx:eax, ecx or edx, 0 je SHORT G_M000_IG22 vpcmpeqw xmm1, xmm0, xmmword ptr [edi] vptest xmm1, xmm1 je SHORT G_M000_IG22 shr esi, 1 vpshufb xmm1, xmm1, xmmword ptr [@RWD00] vpmovmskb eax, xmm1 tzcnt eax, eax add eax, esi jmp SHORT G_M000_IG21 G_M000_IG20: mov eax, edx sub eax, ecx shr eax, 1 vpshufb xmm0, xmm1, xmmword ptr [@RWD00] vpmovmskb edx, xmm0 tzcnt edx, edx add eax, edx G_M000_IG21: vzeroupper pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG22: mov eax, -1 G_M000_IG23: vzeroupper pop ebx pop esi pop edi pop ebp ret 4 RWD00 dq 0F0D0B0907050301h, 8080808080808080h, 0F0D0B0907050301h, 8080808080808080h ; Total bytes of code 482 683: JIT compiled System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int) [Tier-0 switched to FullOpts, IL size=1017, code size=482] ; Assembly listing for method System.Number:TryParseBinaryIntegerStyle[ushort](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 7 inlinees with PGO data; 52 single block inlinees; 13 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 108 mov gword ptr [ebp-44H], edx mov esi, ecx G_M000_IG02: mov ebx, dword ptr [ebp+10H] test ebx, ebx je G_M000_IG43 G_M000_IG03: xor ecx, ecx mov eax, bword ptr [ebp+0CH] movzx edi, word ptr [eax] mov dword ptr [ebp-10H], esi test esi, 1 je SHORT G_M000_IG05 cmp edi, 32 je SHORT G_M000_IG04 lea esi, [edi-09H] cmp esi, 4 ja SHORT G_M000_IG05 G_M000_IG04: inc ecx cmp ecx, ebx jae G_M000_IG43 movzx edi, word ptr [eax+2*ecx] cmp edi, 32 je SHORT G_M000_IG04 lea esi, [edi-09H] cmp esi, 4 jbe SHORT G_M000_IG04 G_M000_IG05: xor esi, esi xor edx, edx test byte ptr [ebp-10H], 4 je G_M000_IG17 mov esi, gword ptr [ebp-44H] cmp byte ptr [esi+A9H], 0 je SHORT G_M000_IG07 cmp edi, 45 jne SHORT G_M000_IG06 mov edx, 1 inc ecx cmp ecx, ebx jae G_M000_IG43 jmp G_M000_IG16 G_M000_IG06: cmp edi, 43 jne G_M000_IG17 inc ecx cmp ecx, ebx jae G_M000_IG43 jmp G_M000_IG16 G_M000_IG07: cmp byte ptr [esi+AAH], 0 je SHORT G_M000_IG08 cmp edi, 45 jne SHORT G_M000_IG08 mov dword ptr [ebp-18H], 1 inc ecx cmp ecx, ebx jae G_M000_IG43 mov edx, dword ptr [ebp-18H] jmp G_M000_IG16 G_M000_IG08: cmp ecx, ebx ja G_M000_IG55 lea eax, bword ptr [eax+2*ecx] mov bword ptr [ebp-74H], eax sub ebx, ecx mov ecx, ebx mov bword ptr [ebp+0CH], eax mov dword ptr [ebp+10H], ecx xor ecx, ecx mov dword ptr [ebp-14H], ecx mov ecx, gword ptr [esi+10H] mov gword ptr [ebp-48H], ecx mov esi, gword ptr [esi+14H] mov gword ptr [ebp-4CH], esi test ecx, ecx je G_M000_IG13 G_M000_IG09: cmp dword ptr [ecx+04H], 0 je G_M000_IG13 G_M000_IG10: mov dword ptr [ebp-18H], edx mov edx, bword ptr [ebp-74H] mov bword ptr [ebp-58H], edx mov dword ptr [ebp-34H], ebx lea edx, bword ptr [ecx+08H] mov bword ptr [ebp-50H], edx mov edx, dword ptr [ecx+04H] mov dword ptr [ebp-2CH], edx mov edx, bword ptr [ebp-50H] mov bword ptr [ebp-60H], edx mov edx, dword ptr [ebp-2CH] mov dword ptr [ebp-3CH], edx mov edx, bword ptr [ebp-60H] mov bword ptr [ebp-5CH], edx mov edx, dword ptr [ebp-3CH] mov dword ptr [ebp-38H], edx mov edx, bword ptr [ebp-58H] mov bword ptr [ebp-68H], edx mov edx, bword ptr [ebp-5CH] mov bword ptr [ebp-64H], edx mov edx, dword ptr [ebp-38H] mov esi, dword ptr [ebp-34H] cmp edx, esi jg SHORT G_M000_IG12 add edx, edx push edx mov ecx, bword ptr [ebp-68H] mov edx, bword ptr [ebp-64H] call [System.SpanHelpers:SequenceEqual(byref,byref,uint):bool] test eax, eax je SHORT G_M000_IG11 mov edi, gword ptr [ebp-48H] mov eax, dword ptr [edi+04H] mov esi, eax mov dword ptr [ebp-14H], esi cmp esi, ebx jae G_M000_IG43 mov ecx, dword ptr [ebp-14H] mov edx, dword ptr [ebp-18H] jmp G_M000_IG16 G_M000_IG11: mov edx, dword ptr [ebp-18H] jmp SHORT G_M000_IG13 align [9 bytes for IG18] G_M000_IG12: mov edx, dword ptr [ebp-18H] G_M000_IG13: mov esi, gword ptr [ebp-4CH] test esi, esi je G_M000_IG22 G_M000_IG14: cmp dword ptr [esi+04H], 0 je G_M000_IG21 G_M000_IG15: mov ecx, bword ptr [ebp-74H] mov bword ptr [ebp-54H], ecx mov dword ptr [ebp-30H], ebx lea ecx, bword ptr [esi+08H] mov esi, dword ptr [esi+04H] mov dword ptr [ebp-40H], esi mov esi, bword ptr [ebp-54H] mov bword ptr [ebp-70H], esi mov bword ptr [ebp-6CH], ecx mov ecx, dword ptr [ebp-40H] mov esi, dword ptr [ebp-30H] cmp ecx, esi jg G_M000_IG20 mov dword ptr [ebp-18H], edx add ecx, ecx push ecx mov ecx, bword ptr [ebp-70H] mov edx, bword ptr [ebp-6CH] call [System.SpanHelpers:SequenceEqual(byref,byref,uint):bool] test eax, eax mov ecx, dword ptr [ebp-14H] mov edx, dword ptr [ebp-18H] je SHORT G_M000_IG17 mov eax, 1 mov esi, gword ptr [ebp-4CH] mov ecx, dword ptr [esi+04H] mov esi, ecx cmp esi, ebx mov ecx, esi mov edx, eax jae G_M000_IG43 G_M000_IG16: cmp ecx, dword ptr [ebp+10H] jae G_M000_IG56 mov eax, bword ptr [ebp+0CH] movzx edi, word ptr [eax+2*ecx] G_M000_IG17: mov ebx, edx and ebx, 1 xor eax, eax lea edx, [edi-30H] cmp edx, 9 ja G_M000_IG43 cmp edi, 48 jne SHORT G_M000_IG23 G_M000_IG18: inc ecx mov edx, dword ptr [ebp+10H] cmp ecx, edx jae G_M000_IG41 mov edi, bword ptr [ebp+0CH] movzx esi, word ptr [edi+2*ecx] cmp esi, 48 mov bword ptr [ebp-78H], edi je SHORT G_M000_IG18 G_M000_IG19: mov edi, esi lea esi, [edi-30H] cmp esi, 9 jbe SHORT G_M000_IG23 xor ebx, ebx mov dword ptr [ebp-1CH], ebx jmp G_M000_IG45 G_M000_IG20: mov ecx, dword ptr [ebp-14H] jmp SHORT G_M000_IG17 G_M000_IG21: mov ecx, dword ptr [ebp-14H] jmp SHORT G_M000_IG17 align [5 bytes for IG36] G_M000_IG22: mov ecx, dword ptr [ebp-14H] jmp SHORT G_M000_IG17 G_M000_IG23: add edi, -48 movzx eax, di mov edi, eax inc ecx mov edx, dword ptr [ebp+10H] cmp ecx, edx jae G_M000_IG40 G_M000_IG24: mov dword ptr [ebp-1CH], ebx mov eax, bword ptr [ebp+0CH] movzx esi, word ptr [eax+2*ecx] lea ebx, [esi-30H] cmp ebx, 9 ja G_M000_IG32 inc ecx lea edi, [edi+4*edi] add edi, edi movzx edi, di lea ebx, [esi-30H] movzx ebx, bx add edi, ebx movzx edi, di cmp ecx, edx jae G_M000_IG31 movzx esi, word ptr [eax+2*ecx] lea ebx, [esi-30H] cmp ebx, 9 ja G_M000_IG30 inc ecx lea edi, [edi+4*edi] add edi, edi movzx edi, di lea ebx, [esi-30H] movzx ebx, bx add edi, ebx movzx edi, di cmp ecx, edx jae SHORT G_M000_IG29 movzx esi, word ptr [eax+2*ecx] lea ebx, [esi-30H] cmp ebx, 9 ja SHORT G_M000_IG28 inc ecx lea edi, [edi+4*edi] add edi, edi movzx edi, di lea ebx, [esi-30H] movzx ebx, bx add edi, ebx movzx edi, di cmp ecx, edx jae SHORT G_M000_IG27 movzx esi, word ptr [eax+2*ecx] lea ebx, [esi-30H] cmp ebx, 9 ja SHORT G_M000_IG26 inc ecx mov ebx, dword ptr [ebp-1CH] cmp edi, 0x1999 jg SHORT G_M000_IG34 cmp edi, 0x1999 jne SHORT G_M000_IG33 mov dword ptr [ebp-24H], ebx xor ebx, ebx cmp esi, 53 setg bl G_M000_IG25: mov dword ptr [ebp-28H], ebx jmp SHORT G_M000_IG35 G_M000_IG26: mov bword ptr [ebp-78H], eax mov eax, edi mov edi, esi jmp G_M000_IG45 G_M000_IG27: mov ebx, dword ptr [ebp-1CH] jmp G_M000_IG40 G_M000_IG28: mov bword ptr [ebp-78H], eax mov eax, edi mov edi, esi jmp G_M000_IG45 G_M000_IG29: mov ebx, dword ptr [ebp-1CH] jmp G_M000_IG40 G_M000_IG30: mov bword ptr [ebp-78H], eax mov eax, edi mov edi, esi jmp G_M000_IG45 G_M000_IG31: mov ebx, dword ptr [ebp-1CH] jmp G_M000_IG40 G_M000_IG32: mov bword ptr [ebp-78H], eax mov eax, edi mov edi, esi jmp G_M000_IG45 G_M000_IG33: mov dword ptr [ebp-24H], ebx xor ebx, ebx mov dword ptr [ebp-28H], ebx jmp SHORT G_M000_IG35 G_M000_IG34: mov dword ptr [ebp-24H], ebx mov dword ptr [ebp-28H], 1 G_M000_IG35: mov ebx, dword ptr [ebp-24H] or ebx, dword ptr [ebp-28H] movzx ebx, bl mov dword ptr [ebp-1CH], ebx lea edi, [edi+4*edi] add edi, edi movzx edi, di add esi, -48 movzx esi, si add esi, edi movzx edi, si cmp ecx, edx jae SHORT G_M000_IG39 movzx esi, word ptr [eax+2*ecx] lea ebx, [esi-30H] cmp ebx, 9 ja SHORT G_M000_IG38 G_M000_IG36: mov dword ptr [ebp-1CH], 1 inc ecx cmp ecx, edx jae SHORT G_M000_IG44 movzx esi, word ptr [eax+2*ecx] lea ebx, [esi-30H] cmp ebx, 9 jbe SHORT G_M000_IG36 G_M000_IG37: mov bword ptr [ebp-78H], eax mov eax, edi mov edi, esi jmp SHORT G_M000_IG45 G_M000_IG38: mov bword ptr [ebp-78H], eax mov eax, edi mov edi, esi jmp SHORT G_M000_IG45 align [12 bytes for IG47] G_M000_IG39: mov ebx, dword ptr [ebp-1CH] G_M000_IG40: test ebx, ebx mov eax, edi jne SHORT G_M000_IG44 G_M000_IG41: mov edi, bword ptr [ebp+08H] mov word ptr [edi], ax xor eax, eax G_M000_IG42: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG43: mov edi, bword ptr [ebp+08H] mov word ptr [edi], 0 mov eax, 1 jmp SHORT G_M000_IG42 G_M000_IG44: mov edi, bword ptr [ebp+08H] mov word ptr [edi], 0 mov eax, 2 jmp SHORT G_M000_IG42 G_M000_IG45: cmp edi, 32 je SHORT G_M000_IG46 lea esi, [edi-09H] cmp esi, 4 ja SHORT G_M000_IG54 G_M000_IG46: test byte ptr [ebp-10H], 2 mov dword ptr [ebp-20H], eax je SHORT G_M000_IG43 mov ebx, dword ptr [ebp-1CH] mov esi, bword ptr [ebp-78H] inc ecx cmp ecx, edx jge SHORT G_M000_IG50 G_M000_IG47: cmp ecx, edx jae SHORT G_M000_IG56 movzx edi, word ptr [esi+2*ecx] cmp edi, 32 je SHORT G_M000_IG49 G_M000_IG48: add edi, -9 cmp edi, 4 ja SHORT G_M000_IG50 G_M000_IG49: inc ecx cmp ecx, edx jl SHORT G_M000_IG47 G_M000_IG50: cmp ecx, edx jae SHORT G_M000_IG53 G_M000_IG51: mov dword ptr [ebp-1CH], ebx G_M000_IG52: push dword ptr [ebp+10H] push bword ptr [ebp+0CH] call [System.Number:TrailingZeros(System.ReadOnlySpan`1[ushort],int):bool] test eax, eax mov ebx, dword ptr [ebp-1CH] mov edi, dword ptr [ebp-20H] jne G_M000_IG40 jmp SHORT G_M000_IG43 G_M000_IG53: mov edi, dword ptr [ebp-20H] jmp G_M000_IG40 G_M000_IG54: mov dword ptr [ebp-20H], eax jmp SHORT G_M000_IG52 G_M000_IG55: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG56: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 1175 684: JIT compiled System.Number:TryParseBinaryIntegerStyle[ushort](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref) [Tier-0 switched to FullOpts, IL size=1142, code size=1175] ; Assembly listing for method (dynamicClass):InvokeStub_EventAttribute.set_Level(System.Object,System.Object,uint):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: mov ecx, edx G_M000_IG02: mov edx, dword ptr [esp+04H] mov edx, bword ptr [edx] mov edx, dword ptr [edx] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventAttribute:set_Level(int):this] xor eax, eax G_M000_IG03: ret 4 ; Total bytes of code 23 685: JIT compiled (dynamicClass):InvokeStub_EventAttribute.set_Level(System.Object,System.Object,uint) [FullOpts, IL size=25, code size=23] ; Assembly listing for method (dynamicClass):InvokeStub_EventAttribute.set_Task(System.Object,System.Object,uint):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: mov ecx, edx G_M000_IG02: mov edx, dword ptr [esp+04H] mov edx, bword ptr [edx] mov edx, dword ptr [edx] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventAttribute:set_Task(int):this] xor eax, eax G_M000_IG03: ret 4 ; Total bytes of code 23 686: JIT compiled (dynamicClass):InvokeStub_EventAttribute.set_Task(System.Object,System.Object,uint) [FullOpts, IL size=25, code size=23] ; Assembly listing for method (dynamicClass):InvokeStub_EventAttribute.set_Opcode(System.Object,System.Object,uint):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: mov ecx, edx G_M000_IG02: mov edx, dword ptr [esp+04H] mov edx, bword ptr [edx] mov edx, dword ptr [edx] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventAttribute:set_Opcode(int):this] xor eax, eax G_M000_IG03: ret 4 ; Total bytes of code 23 687: JIT compiled (dynamicClass):InvokeStub_EventAttribute.set_Opcode(System.Object,System.Object,uint) [FullOpts, IL size=25, code size=23] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_IterationStage():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 688: JIT compiled BenchmarkDotNet.Engines.IterationData:get_IterationStage() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:IterationStart(int,int,long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, dword ptr [ebp+10H] mov dword ptr [ebp-0CH], ecx cmp dword ptr [ebp-0CH], 3 ja SHORT G_M000_IG03 mov ecx, dword ptr [ebp-0CH] lea eax, [@RWD00] mov eax, dword ptr [eax+4*ecx] lea edx, G_M000_IG02 add eax, edx jmp eax G_M000_IG03: jmp G_M000_IG11 G_M000_IG04: cmp dword ptr [ebp-08H], 0 jne SHORT G_M000_IG05 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:OverheadJittingStart(long):this] jmp G_M000_IG12 G_M000_IG05: cmp dword ptr [ebp-08H], 1 jne G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:WorkloadJittingStart(long):this] jmp G_M000_IG12 G_M000_IG06: cmp dword ptr [ebp-08H], 1 jne SHORT G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:WorkloadPilotStart(long):this] jmp G_M000_IG12 G_M000_IG07: cmp dword ptr [ebp-08H], 0 jne SHORT G_M000_IG08 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:OverheadWarmupStart(long):this] jmp G_M000_IG12 G_M000_IG08: cmp dword ptr [ebp-08H], 1 jne SHORT G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:WorkloadWarmupStart(long):this] jmp SHORT G_M000_IG12 G_M000_IG09: cmp dword ptr [ebp-08H], 0 jne SHORT G_M000_IG10 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:OverheadActualStart(long):this] jmp SHORT G_M000_IG12 G_M000_IG10: cmp dword ptr [ebp-08H], 1 jne SHORT G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:WorkloadActualStart(long):this] jmp SHORT G_M000_IG12 G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] mov eax, dword ptr [ebp+10H] mov dword ptr [ecx+04H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, 0xF932 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-18H], eax push gword ptr [ebp-10H] push 0 mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-14H] call [System.ArgumentOutOfRangeException:.ctor(System.String,System.Object,System.String):this] mov ecx, gword ptr [ebp-14H] call CORINFO_HELP_THROW G_M000_IG12: mov esp, ebp pop ebp ret 12 RWD00 dd G_M000_IG04 - G_M000_IG02 dd G_M000_IG06 - G_M000_IG02 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG09 - G_M000_IG02 ; Total bytes of code 326 689: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:IterationStart(int,int,long) [Tier0, IL size=125, code size=326] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:OverheadJittingStart(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 3 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 690: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:OverheadJittingStart(long) [Tier0, IL size=9, code size=33] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_Clock():Perfolizer.Horology.IClock:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+44H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 691: JIT compiled BenchmarkDotNet.Engines.Engine:get_Clock() [Tier0, IL size=7, code size=17] ; Assembly listing for method Perfolizer.Horology.ClockExtensions:Start(Perfolizer.Horology.IClock):Perfolizer.Horology.StartedClock ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 28 xor eax, eax mov dword ptr [ebp-14H], eax mov bword ptr [ebp-0CH], ecx mov gword ptr [ebp-10H], edx G_M000_IG02: xor ecx, ecx mov dword ptr [ebp-1CH], ecx mov dword ptr [ebp-18H], ecx mov dword ptr [ebp-14H], ecx mov ecx, gword ptr [ebp-10H] call [Perfolizer.Horology.IClock:GetTimestamp():long:this] mov dword ptr [ebp-24H], eax mov dword ptr [ebp-20H], edx push dword ptr [ebp-20H] push dword ptr [ebp-24H] lea ecx, [ebp-1CH] mov edx, gword ptr [ebp-10H] call [Perfolizer.Horology.StartedClock:.ctor(Perfolizer.Horology.IClock,long):this] mov edi, bword ptr [ebp-0CH] lea esi, bword ptr [ebp-1CH] movsd movsd call CORINFO_HELP_ASSIGN_BYREF G_M000_IG03: lea esp, [ebp-08H] pop esi pop edi pop ebp ret ; Total bytes of code 83 692: JIT compiled Perfolizer.Horology.ClockExtensions:Start(Perfolizer.Horology.IClock) [Tier0, IL size=13, code size=83] ; Assembly listing for method Perfolizer.Horology.WindowsClock:GetTimestamp():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: lea ecx, [ebp-0CH] call Perfolizer.Horology.WindowsClock:QueryPerformanceCounter(byref):bool mov eax, dword ptr [ebp-0CH] mov edx, dword ptr [ebp-08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 35 693: JIT compiled Perfolizer.Horology.WindowsClock:GetTimestamp() [Tier0, IL size=10, code size=35] ; Assembly listing for method Perfolizer.Horology.StartedClock:.ctor(Perfolizer.Horology.IClock,long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov bword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, bword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov eax, bword ptr [ebp-04H] mov bword ptr [ebp-0CH], eax mov eax, bword ptr [ebp-0CH] mov edx, dword ptr [ebp+08H] mov dword ptr [eax], edx mov eax, dword ptr [ebp+0CH] mov edx, bword ptr [ebp-0CH] mov dword ptr [edx+04H], eax G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 60 694: JIT compiled Perfolizer.Horology.StartedClock:.ctor(Perfolizer.Horology.IClock,long) [Tier0, IL size=15, code size=60] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:OverheadActionUnroll(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx G_M000_IG02: xor edi, edi xor ebx, ebx cmp dword ptr [ebp+08H], 1 mov ecx, dword ptr [ebp+0CH] sbb ecx, 0 jl SHORT G_M000_IG04 G_M000_IG03: mov eax, gword ptr [esi+28H] mov ecx, gword ptr [eax+04H] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke():this add edi, 1 adc ebx, 0 cmp edi, dword ptr [ebp+08H] mov eax, ebx sbb eax, dword ptr [ebp+0CH] jl SHORT G_M000_IG03 G_M000_IG04: pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 56 695: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:OverheadActionUnroll(long) [Tier1, IL size=26, code size=56] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:__Overhead():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov esp, ebp pop ebp ret ; Total bytes of code 11 696: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:__Overhead() [Tier0, IL size=1, code size=11] ; Assembly listing for method Perfolizer.Horology.StartedClock:GetElapsed():Perfolizer.Horology.ClockSpan:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 60 vzeroupper xor eax, eax mov dword ptr [ebp-3CH], eax mov bword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov ecx, bword ptr [ebp-04H] mov bword ptr [ebp-3CH], ecx mov ecx, bword ptr [ebp-3CH] mov ecx, dword ptr [ecx] mov eax, bword ptr [ebp-3CH] mov eax, dword ptr [eax+04H] mov dword ptr [ebp-10H], ecx mov dword ptr [ebp-0CH], eax mov ecx, bword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] call [Perfolizer.Horology.IClock:GetTimestamp():long:this] mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], edx vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [ebp-30H], xmm0 vmovdqu xmmword ptr [ebp-28H], xmm0 mov ecx, bword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] lea edx, [ebp-38H] call [Perfolizer.Horology.IClock:get_Frequency():Perfolizer.Horology.Frequency:this] push dword ptr [ebp-0CH] push dword ptr [ebp-10H] push dword ptr [ebp-14H] push dword ptr [ebp-18H] push dword ptr [ebp-34H] push dword ptr [ebp-38H] lea ecx, [ebp-30H] call [Perfolizer.Horology.ClockSpan:.ctor(long,long,Perfolizer.Horology.Frequency):this] mov eax, bword ptr [ebp-08H] vmovdqu xmm0, xmmword ptr [ebp-30H] vmovdqu xmmword ptr [eax], xmm0 vmovdqu xmm0, xmmword ptr [ebp-28H] vmovdqu xmmword ptr [eax+08H], xmm0 G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 143 697: JIT compiled Perfolizer.Horology.StartedClock:GetElapsed() [Tier0, IL size=34, code size=143] ; Assembly listing for method Perfolizer.Horology.ClockSpan:.ctor(long,long,Perfolizer.Horology.Frequency):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov edx, dword ptr [ebp+18H] mov dword ptr [eax], edx mov eax, dword ptr [ebp+1CH] mov edx, bword ptr [ebp-08H] mov dword ptr [edx+04H], eax mov eax, bword ptr [ebp-04H] add eax, 8 mov bword ptr [ebp-0CH], eax mov eax, bword ptr [ebp-0CH] mov edx, dword ptr [ebp+10H] mov dword ptr [eax], edx mov eax, dword ptr [ebp+14H] mov edx, bword ptr [ebp-0CH] mov dword ptr [edx+04H], eax mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp+08H] mov dword ptr [eax+10H], edx mov edx, dword ptr [ebp+0CH] mov dword ptr [eax+14H], edx G_M000_IG03: mov esp, ebp pop ebp ret 24 ; Total bytes of code 87 698: JIT compiled Perfolizer.Horology.ClockSpan:.ctor(long,long,Perfolizer.Horology.Frequency) [Tier0, IL size=22, code size=87] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:IterationStop(int,int,long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, dword ptr [ebp+10H] mov dword ptr [ebp-0CH], ecx cmp dword ptr [ebp-0CH], 3 ja SHORT G_M000_IG03 mov ecx, dword ptr [ebp-0CH] lea eax, [@RWD00] mov eax, dword ptr [eax+4*ecx] lea edx, G_M000_IG02 add eax, edx jmp eax G_M000_IG03: jmp G_M000_IG11 G_M000_IG04: cmp dword ptr [ebp-08H], 0 jne SHORT G_M000_IG05 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:OverheadJittingStop(long):this] jmp G_M000_IG12 G_M000_IG05: cmp dword ptr [ebp-08H], 1 jne G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:WorkloadJittingStop(long):this] jmp G_M000_IG12 G_M000_IG06: cmp dword ptr [ebp-08H], 1 jne SHORT G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:WorkloadPilotStop(long):this] jmp G_M000_IG12 G_M000_IG07: cmp dword ptr [ebp-08H], 0 jne SHORT G_M000_IG08 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:OverheadWarmupStop(long):this] jmp G_M000_IG12 G_M000_IG08: cmp dword ptr [ebp-08H], 1 jne SHORT G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:WorkloadWarmupStop(long):this] jmp SHORT G_M000_IG12 G_M000_IG09: cmp dword ptr [ebp-08H], 0 jne SHORT G_M000_IG10 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:OverheadActualStop(long):this] jmp SHORT G_M000_IG12 G_M000_IG10: cmp dword ptr [ebp-08H], 1 jne SHORT G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:WorkloadActualStop(long):this] jmp SHORT G_M000_IG12 G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] mov eax, dword ptr [ebp+10H] mov dword ptr [ecx+04H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, 0xF932 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-18H], eax push gword ptr [ebp-10H] push 0 mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-14H] call [System.ArgumentOutOfRangeException:.ctor(System.String,System.Object,System.String):this] mov ecx, gword ptr [ebp-14H] call CORINFO_HELP_THROW G_M000_IG12: mov esp, ebp pop ebp ret 12 RWD00 dd G_M000_IG04 - G_M000_IG02 dd G_M000_IG06 - G_M000_IG02 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG09 - G_M000_IG02 ; Total bytes of code 326 699: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:IterationStop(int,int,long) [Tier0, IL size=125, code size=326] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:OverheadJittingStop(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 4 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 700: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:OverheadJittingStop(long) [Tier0, IL size=9, code size=33] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_Index():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax+08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 701: JIT compiled BenchmarkDotNet.Engines.IterationData:get_Index() [Tier0, IL size=7, code size=17] ; Assembly listing for method Perfolizer.Horology.ClockSpan:GetNanoseconds():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, bword ptr [ebp-04H] call [Perfolizer.Horology.ClockSpan:GetSeconds():double:this] fstp qword ptr [ebp-1CH] vmovsd xmm0, qword ptr [ebp-1CH] vmovsd qword ptr [ebp-0CH], xmm0 mov ecx, gword ptr [D1FFAB1EH] cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:get_NanosecondAmount():long:this] mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], edx push dword ptr [ebp-10H] push dword ptr [ebp-14H] call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-1CH] vmovsd xmm0, qword ptr [ebp-1CH] vmulsd xmm0, xmm0, qword ptr [ebp-0CH] vmovsd qword ptr [ebp-1CH], xmm0 fld qword ptr [ebp-1CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 90 702: JIT compiled Perfolizer.Horology.ClockSpan:GetNanoseconds() [Tier0, IL size=19, code size=90] ; Assembly listing for method Perfolizer.Horology.ClockSpan:GetSeconds():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 36 vzeroupper xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov bword ptr [ebp-08H], ecx G_M000_IG02: push 0 push 0 mov eax, bword ptr [ebp-08H] add eax, 8 mov bword ptr [ebp-14H], eax mov eax, bword ptr [ebp-14H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-14H] mov edx, dword ptr [edx+04H] mov ecx, bword ptr [ebp-08H] mov bword ptr [ebp-18H], ecx mov ecx, bword ptr [ebp-18H] mov ecx, dword ptr [ecx] mov esi, bword ptr [ebp-18H] mov esi, dword ptr [esi+04H] sub eax, ecx sbb edx, esi push edx push eax call [System.Math:Max(long,long):long] mov dword ptr [ebp-20H], eax mov dword ptr [ebp-1CH], edx push dword ptr [ebp-1CH] push dword ptr [ebp-20H] call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-28H] vmovsd xmm0, qword ptr [ebp-28H] vmulsd xmm0, xmm0, qword ptr [@RWD00] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-10H] call [Perfolizer.Horology.Frequency:op_Implicit(double):Perfolizer.Horology.Frequency] push dword ptr [ebp-0CH] push dword ptr [ebp-10H] mov eax, bword ptr [ebp-08H] add eax, 16 push dword ptr [eax+04H] push dword ptr [eax] call [Perfolizer.Horology.Frequency:op_Division(Perfolizer.Horology.Frequency,Perfolizer.Horology.Frequency):double] fstp qword ptr [ebp-28H] vmovsd xmm0, qword ptr [ebp-28H] vmovsd qword ptr [ebp-28H], xmm0 fld qword ptr [ebp-28H] G_M000_IG03: lea esp, [ebp-04H] pop esi pop ebp ret RWD00 dq 3FF0000000000000h ; 1 ; Total bytes of code 169 703: JIT compiled Perfolizer.Horology.ClockSpan:GetSeconds() [Tier0, IL size=48, code size=169] ; Assembly listing for method Perfolizer.Horology.Frequency:op_Implicit(double):Perfolizer.Horology.Frequency ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: xor ecx, ecx mov dword ptr [ebp-0CH], ecx mov dword ptr [ebp-08H], ecx vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-0CH] call [Perfolizer.Horology.Frequency:.ctor(double):this] mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp-0CH] mov dword ptr [eax], edx mov edx, dword ptr [ebp-08H] mov dword ptr [eax+04H], edx G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 62 704: JIT compiled Perfolizer.Horology.Frequency:op_Implicit(double) [Tier0, IL size=7, code size=62] ; Assembly listing for method Perfolizer.Horology.Frequency:op_Division(Perfolizer.Horology.Frequency,Perfolizer.Horology.Frequency):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 vzeroupper G_M000_IG02: lea ecx, [ebp+10H] call [Perfolizer.Horology.Frequency:get_Hertz():double:this] fstp qword ptr [ebp-10H] vmovsd xmm0, qword ptr [ebp-10H] vmulsd xmm0, xmm0, qword ptr [@RWD00] vmovsd qword ptr [ebp-08H], xmm0 lea ecx, [ebp+08H] call [Perfolizer.Horology.Frequency:get_Hertz():double:this] fstp qword ptr [ebp-10H] vmovsd xmm1, qword ptr [ebp-08H] vmovsd xmm0, qword ptr [ebp-10H] vdivsd xmm0, xmm1, xmm0 vmovsd qword ptr [ebp-10H], xmm0 fld qword ptr [ebp-10H] G_M000_IG03: mov esp, ebp pop ebp ret 16 RWD00 dq 3FF0000000000000h ; 1 ; Total bytes of code 79 705: JIT compiled Perfolizer.Horology.Frequency:op_Division(Perfolizer.Horology.Frequency,Perfolizer.Horology.Frequency) [Tier0, IL size=26, code size=79] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:.ctor(int,int,int,int,long,double):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, bword ptr [ebp-04H] add eax, 16 mov bword ptr [ebp-0CH], eax mov eax, bword ptr [ebp-0CH] mov edx, dword ptr [ebp+10H] mov dword ptr [eax], edx mov eax, dword ptr [ebp+14H] mov edx, bword ptr [ebp-0CH] mov dword ptr [edx+04H], eax mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+08H] vmovsd qword ptr [eax+18H], xmm0 mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov dword ptr [eax+08H], edx mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp+20H] mov dword ptr [eax], edx mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp+1CH] mov dword ptr [eax+04H], edx mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp+18H] mov dword ptr [eax+0CH], edx G_M000_IG03: mov esp, ebp pop ebp ret 28 ; Total bytes of code 100 706: JIT compiled BenchmarkDotNet.Reports.Measurement:.ctor(int,int,int,int,long,double) [Tier0, IL size=46, code size=100] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:ToString():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 120 vzeroupper vxorps xmm4, xmm4, xmm4 mov eax, -96 vmovdqu xmmword ptr [ebp+eax-10H], xmm4 vmovdqu xmmword ptr [eax+ebp], xmm4 vmovdqu xmmword ptr [ebp+eax+10H], xmm4 add eax, 48 jne SHORT -5 instr mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-2CH], eax mov ecx, gword ptr [ebp-2CH] call [System.Text.StringBuilder:.ctor():this] mov ecx, bword ptr [ebp-04H] call [BenchmarkDotNet.Reports.Measurement:get_IterationMode():int:this] mov dword ptr [ebp-08H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-30H], eax mov ecx, gword ptr [ebp-30H] mov eax, dword ptr [ebp-08H] mov dword ptr [ecx+04H], eax mov ecx, gword ptr [ebp-30H] mov gword ptr [ebp-40H], ecx mov ecx, gword ptr [ebp-40H] mov eax, gword ptr [ebp-40H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+04H]System.Object:ToString():System.String:this mov gword ptr [ebp-34H], eax mov ecx, bword ptr [ebp-04H] call [BenchmarkDotNet.Reports.Measurement:get_IterationStage():int:this] mov dword ptr [ebp-0CH], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-38H], eax mov ecx, gword ptr [ebp-38H] mov eax, dword ptr [ebp-0CH] mov dword ptr [ecx+04H], eax mov ecx, gword ptr [ebp-38H] mov gword ptr [ebp-44H], ecx mov ecx, gword ptr [ebp-44H] mov eax, gword ptr [ebp-44H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+04H]System.Object:ToString():System.String:this mov gword ptr [ebp-48H], eax mov edx, gword ptr [ebp-48H] mov ecx, gword ptr [ebp-34H] call [System.String:Concat(System.String,System.String):System.String] mov gword ptr [ebp-4CH], eax mov ecx, 0xD1FFAB1E mov edx, 217 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, dword ptr [D1FFAB1EH] mov dword ptr [ebp-50H], ecx push 32 mov ecx, gword ptr [ebp-4CH] mov edx, dword ptr [ebp-50H] cmp dword ptr [ecx], ecx call [System.String:PadRight(int,ushort):System.String:this] mov gword ptr [ebp-54H], eax mov edx, gword ptr [ebp-54H] mov ecx, gword ptr [ebp-2CH] cmp dword ptr [ecx], ecx call [System.Text.StringBuilder:Append(System.String):System.Text.StringBuilder:this] mov ecx, gword ptr [ebp-2CH] G_M000_IG03: mov edx, 32 cmp dword ptr [ecx], ecx call [System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this] mov ecx, bword ptr [ebp-04H] call [BenchmarkDotNet.Reports.Measurement:get_IterationIndex():int:this] mov dword ptr [ebp-10H], eax mov ecx, 0xD1FFAB1E mov edx, 217 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-58H], edx mov edx, gword ptr [ebp-58H] lea ecx, [ebp-10H] call [System.Int32:ToString(System.IFormatProvider):System.String:this] mov gword ptr [ebp-5CH], eax push 32 mov ecx, gword ptr [ebp-5CH] mov edx, 2 cmp dword ptr [ecx], ecx call [System.String:PadLeft(int,ushort):System.String:this] mov gword ptr [ebp-60H], eax mov edx, gword ptr [ebp-60H] mov ecx, gword ptr [ebp-2CH] cmp dword ptr [ecx], ecx call [System.Text.StringBuilder:Append(System.String):System.Text.StringBuilder:this] mov ecx, gword ptr [ebp-2CH] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [System.Text.StringBuilder:Append(System.String):System.Text.StringBuilder:this] mov ecx, bword ptr [ebp-04H] call [BenchmarkDotNet.Reports.Measurement:get_Operations():long:this] mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], edx mov ecx, 0xD1FFAB1E mov edx, 217 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-64H], edx mov edx, gword ptr [ebp-64H] lea ecx, [ebp-18H] call [System.Int64:ToString(System.IFormatProvider):System.String:this] mov gword ptr [ebp-68H], eax mov edx, gword ptr [ebp-68H] mov ecx, gword ptr [ebp-2CH] cmp dword ptr [ecx], ecx call [System.Text.StringBuilder:Append(System.String):System.Text.StringBuilder:this] mov ecx, gword ptr [ebp-2CH] mov edx, 32 cmp dword ptr [ecx], ecx call [System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this] mov ecx, gword ptr [ebp-2CH] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [System.Text.StringBuilder:Append(System.String):System.Text.StringBuilder:this] mov ecx, gword ptr [ebp-2CH] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [System.Text.StringBuilder:Append(System.String):System.Text.StringBuilder:this] mov ecx, bword ptr [ebp-04H] call [BenchmarkDotNet.Reports.Measurement:get_Nanoseconds():double:this] G_M000_IG04: fstp qword ptr [ebp-78H] vmovsd xmm0, qword ptr [ebp-78H] vmovsd qword ptr [ebp-20H], xmm0 mov ecx, 0xD1FFAB1E mov edx, 217 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] lea ecx, [ebp-20H] mov edx, 0xD1FFAB1E call [System.Double:ToString(System.String,System.IFormatProvider):System.String:this] mov gword ptr [ebp-3CH], eax mov ecx, gword ptr [ebp-2CH] mov edx, gword ptr [ebp-3CH] cmp dword ptr [ecx], ecx call [System.Text.StringBuilder:Append(System.String):System.Text.StringBuilder:this] mov ecx, gword ptr [ebp-2CH] mov edx, 32 cmp dword ptr [ecx], ecx call [System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this] mov ecx, gword ptr [ebp-2CH] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [System.Text.StringBuilder:Append(System.String):System.Text.StringBuilder:this] mov ecx, gword ptr [ebp-2CH] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [System.Text.StringBuilder:Append(System.String):System.Text.StringBuilder:this] lea edx, [ebp-28H] mov ecx, bword ptr [ebp-04H] call [BenchmarkDotNet.Reports.Measurement:GetAverageTime():Perfolizer.Horology.TimeInterval:this] mov ecx, 0xD1FFAB1E mov edx, 217 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-6CH], edx push 0xD1FFAB1E push 0 mov edx, gword ptr [ebp-6CH] lea ecx, [ebp-28H] call [Perfolizer.Horology.TimeInterval:ToString(System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation):System.String:this] mov ecx, eax call [BenchmarkDotNet.Helpers.AsciiHelper:ToAscii(System.String):System.String] mov gword ptr [ebp-70H], eax mov edx, gword ptr [ebp-70H] mov ecx, gword ptr [ebp-2CH] cmp dword ptr [ecx], ecx call [System.Text.StringBuilder:Append(System.String):System.Text.StringBuilder:this] mov ecx, gword ptr [ebp-2CH] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [System.Text.StringBuilder:Append(System.String):System.Text.StringBuilder:this] mov ecx, gword ptr [ebp-2CH] mov eax, gword ptr [ebp-2CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+04H]System.Object:ToString():System.String:this G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 730 707: JIT compiled BenchmarkDotNet.Reports.Measurement:ToString() [Tier0, IL size=304, code size=730] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_IterationMode():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 16 708: JIT compiled BenchmarkDotNet.Reports.Measurement:get_IterationMode() [Tier0, IL size=7, code size=16] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_IterationStage():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 709: JIT compiled BenchmarkDotNet.Reports.Measurement:get_IterationStage() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, gword ptr [D1FFAB1EH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, 0xD1FFAB1E call [System.Enum:GetNames(System.Type):System.String[]] mov gword ptr [ebp-08H], eax mov ecx, 0xD1FFAB1E mov edx, 842 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-18H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-04H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push 0xD1FFAB1E mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] call [System.Linq.Enumerable:Max[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,int]):int] mov dword ptr [ebp-0CH], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, 0xD1FFAB1E call [System.Enum:GetNames(System.Type):System.String[]] mov gword ptr [ebp-14H], eax mov ecx, 0xD1FFAB1E mov edx, 842 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-1CH], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-1CH] mov ecx, gword ptr [ebp-10H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-10H] call [System.Linq.Enumerable:Max[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,int]):int] add eax, dword ptr [ebp-0CH] mov dword ptr [D1FFAB1EH], eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 227 710: JIT compiled BenchmarkDotNet.Reports.Measurement:.cctor() [Tier0, IL size=89, code size=227] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Reports.Measurement+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 711: JIT compiled BenchmarkDotNet.Reports.Measurement+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 712: JIT compiled BenchmarkDotNet.Reports.Measurement+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:Max[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,int]):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: push dword ptr [ebp-10H] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [System.Linq.Enumerable:MaxInteger[System.__Canon,int](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,int]):int] G_M000_IG06: mov esp, ebp pop ebp ret 4 ; Total bytes of code 81 713: JIT compiled System.Linq.Enumerable:Max[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,int]) [Tier0, IL size=8, code size=81] ; Assembly listing for method System.Linq.Enumerable:MaxInteger[System.__Canon,int](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,int]):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 24 xor eax, eax mov dword ptr [ebp-18H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-10H], eax mov edi, ecx mov esi, edx mov ebx, dword ptr [ebp+08H] G_M000_IG02: test edi, edi je G_M000_IG19 test esi, esi je G_M000_IG20 mov ecx, dword ptr [ebx+0CH] mov eax, dword ptr [ecx+0CH] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD G_M000_IG05: mov ecx, edi nop call [eax] mov gword ptr [ebp-24H], eax G_M000_IG06: mov ecx, eax call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG12 mov ecx, dword ptr [ebx+0CH] mov edi, dword ptr [ecx+10H] test edi, edi je SHORT G_M000_IG13 G_M000_IG07: mov eax, edi mov ecx, gword ptr [ebp-24H] nop call [eax] mov edx, eax mov ecx, gword ptr [esi+04H] call [esi+0CH]System.Func`2[System.__Canon,int]:Invoke(System.__Canon):int:this mov ebx, eax mov ecx, gword ptr [ebp-24H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG14 G_M000_IG08: mov eax, edi mov ecx, gword ptr [ebp-24H] nop call [eax] mov edx, eax mov ecx, gword ptr [esi+04H] call [esi+0CH]System.Func`2[System.__Canon,int]:Invoke(System.__Canon):int:this cmp eax, ebx jle SHORT G_M000_IG10 G_M000_IG09: mov ebx, eax G_M000_IG10: mov ecx, gword ptr [ebp-24H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG08 G_M000_IG11: jmp SHORT G_M000_IG14 G_M000_IG12: call [System.Linq.ThrowHelper:ThrowNoElementsException()] int3 G_M000_IG13: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov edi, eax jmp SHORT G_M000_IG07 G_M000_IG14: mov ecx, gword ptr [ebp-24H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG17 G_M000_IG15: cmp gword ptr [ebp-24H], 0 je SHORT G_M000_IG16 mov ecx, gword ptr [ebp-24H] call [System.IDisposable:Dispose():this] G_M000_IG16: pop eax jmp eax G_M000_IG17: mov eax, ebx G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG19: mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG20: mov ecx, 15 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 ; Total bytes of code 259 714: JIT compiled System.Linq.Enumerable:MaxInteger[System.__Canon,int](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,int]) [Tier-0 switched to FullOpts, IL size=107, code size=259] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement+<>c:<.cctor>b__31_0(System.String):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 22 715: JIT compiled BenchmarkDotNet.Reports.Measurement+<>c:<.cctor>b__31_0(System.String) [Tier0, IL size=7, code size=22] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement+<>c:<.cctor>b__31_1(System.String):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 22 716: JIT compiled BenchmarkDotNet.Reports.Measurement+<>c:<.cctor>b__31_1(System.String) [Tier0, IL size=7, code size=22] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_IterationIndex():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax+0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 717: JIT compiled BenchmarkDotNet.Reports.Measurement:get_IterationIndex() [Tier0, IL size=7, code size=17] ; Assembly listing for method System.SpanHelpers:Fill[ushort](byref,uint,ushort) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 5 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi vzeroupper mov eax, dword ptr [ebp+08H] G_M000_IG02: cmp edx, 16 jb SHORT G_M000_IG08 G_M000_IG03: movzx eax, ax vmovd xmm0, eax vpbroadcastw ymm0, ymm0 lea eax, [edx+edx] mov esi, eax and esi, -64 xor edi, edi cmp edx, 32 jb SHORT G_M000_IG05 align [0 bytes for IG04] G_M000_IG04: vmovups ymmword ptr [ecx+edi], ymm0 vmovups ymmword ptr [ecx+edi+20H], ymm0 add edi, 64 cmp edi, esi jb SHORT G_M000_IG04 G_M000_IG05: test al, 32 je SHORT G_M000_IG06 vmovups ymmword ptr [ecx+edi], ymm0 G_M000_IG06: vmovups ymmword ptr [ecx+eax-20H], ymm0 G_M000_IG07: vzeroupper pop esi pop edi pop ebp ret 4 G_M000_IG08: xor esi, esi cmp edx, 8 jb SHORT G_M000_IG10 mov edi, edx and edi, -8 align [0 bytes for IG09] G_M000_IG09: mov word ptr [ecx+2*esi], ax mov word ptr [ecx+2*esi+02H], ax mov word ptr [ecx+2*esi+04H], ax mov word ptr [ecx+2*esi+06H], ax mov word ptr [ecx+2*esi+08H], ax mov word ptr [ecx+2*esi+0AH], ax mov word ptr [ecx+2*esi+0CH], ax mov word ptr [ecx+2*esi+0EH], ax add esi, 8 cmp esi, edi jb SHORT G_M000_IG09 G_M000_IG10: test dl, 4 je SHORT G_M000_IG11 mov word ptr [ecx+2*esi], ax mov word ptr [ecx+2*esi+02H], ax mov word ptr [ecx+2*esi+04H], ax mov word ptr [ecx+2*esi+06H], ax add esi, 4 G_M000_IG11: test dl, 2 je SHORT G_M000_IG12 mov word ptr [ecx+2*esi], ax mov word ptr [ecx+2*esi+02H], ax add esi, 2 G_M000_IG12: test dl, 1 je SHORT G_M000_IG13 mov word ptr [ecx+2*esi], ax G_M000_IG13: vzeroupper pop esi pop edi pop ebp ret 4 ; Total bytes of code 205 718: JIT compiled System.SpanHelpers:Fill[ushort](byref,uint,ushort) [Tier-0 switched to FullOpts, IL size=865, code size=205] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_Operations():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] add eax, 16 mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 38 719: JIT compiled BenchmarkDotNet.Reports.Measurement:get_Operations() [Tier0, IL size=7, code size=38] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_Nanoseconds():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+18H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 720: JIT compiled BenchmarkDotNet.Reports.Measurement:get_Nanoseconds() [Tier0, IL size=7, code size=32] ; Assembly listing for method System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 2 inlinees with PGO data; 61 single block inlinees; 45 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 752 xor eax, eax mov dword ptr [ebp-6CH], eax mov dword ptr [ebp-8CH], eax mov dword ptr [ebp-1C8H], eax mov dword ptr [ebp-10H], 0xD1FFAB1E mov bword ptr [ebp-1E4H], edx mov ebx, ecx G_M000_IG02: mov eax, gword ptr [ebp+08H] mov gword ptr [ebp-2F8H], eax lea edi, bword ptr [ebp-1C8H] lea esi, bword ptr [ebp+0CH] movsd movsd xor esi, esi mov dword ptr [ebp-40H], esi mov edi, bword ptr [ebp-1E4H] mov eax, bword ptr [edi+0CH] mov dword ptr [ebp-58H], eax mov ecx, bword ptr [ebp-1C8H] mov bword ptr [ebp-224H], ecx mov edx, dword ptr [ebp-1C4H] mov dword ptr [ebp-1D8H], edx mov dword ptr [ebp-144H], edx cmp byte ptr [eax], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, bword ptr [ebp-224H] mov bword ptr [ebp-228H], ecx mov ecx, dword ptr [ebp-144H] mov dword ptr [ebp-148H], ecx mov bword ptr [ebp-1E4H], edi xor ecx, ecx cmp byte ptr [edi+08H], 0 setne cl jmp SHORT G_M000_IG05 align [0 bytes for IG08] G_M000_IG04: mov ecx, bword ptr [ebp-224H] mov bword ptr [ebp-228H], ecx mov ecx, dword ptr [ebp-144H] mov dword ptr [ebp-148H], ecx mov ecx, 2 mov bword ptr [ebp-1E4H], edi G_M000_IG05: push dword ptr [ebp-148H] push bword ptr [ebp-228H] call [System.Number:FindSection(System.ReadOnlySpan`1[ushort],int):int] mov dword ptr [ebp-50H], eax G_M000_IG06: xor edx, edx mov dword ptr [ebp-24H], edx mov dword ptr [ebp-28H], -1 mov dword ptr [ebp-2CH], 0xD1FFAB1E xor eax, eax mov dword ptr [ebp-30H], eax xor eax, eax mov dword ptr [ebp-38H], eax mov dword ptr [ebp-3CH], -1 xor esi, esi mov dword ptr [ebp-44H], esi G_M000_IG07: mov dword ptr [ebp-48H], esi mov eax, dword ptr [ebp-50H] mov edi, bword ptr [ebp-1C8H] mov bword ptr [ebp-6CH], edi mov dword ptr [ebp-68H], edi jmp G_M000_IG31 G_M000_IG08: cmp eax, 69 ja SHORT G_M000_IG13 lea edx, [eax-22H] mov dword ptr [ebp-1DCH], edx cmp edx, 5 ja SHORT G_M000_IG10 lea edx, [@RWD00] mov edi, dword ptr [ebp-1DCH] mov edx, dword ptr [edx+4*edi] lea esi, G_M000_IG02 add edx, esi jmp edx G_M000_IG09: mov eax, ecx mov edi, dword ptr [ebp-68H] jmp G_M000_IG31 G_M000_IG10: lea edx, [eax-2CH] cmp edx, 4 ja SHORT G_M000_IG12 lea eax, [@RWD24] mov eax, dword ptr [eax+4*edx] lea edi, G_M000_IG02 add eax, edi jmp eax G_M000_IG11: mov eax, ecx mov edi, dword ptr [ebp-68H] jmp G_M000_IG31 G_M000_IG12: cmp eax, 69 je G_M000_IG25 mov eax, ecx jmp G_M000_IG31 G_M000_IG13: cmp eax, 92 je G_M000_IG24 cmp eax, 101 je G_M000_IG25 cmp eax, 0x2030 mov eax, ecx jne G_M000_IG31 mov esi, dword ptr [ebp-48H] add esi, 3 mov dword ptr [ebp-48H], esi jmp G_M000_IG31 G_M000_IG14: mov esi, dword ptr [ebp-24H] inc esi mov dword ptr [ebp-24H], esi mov eax, ecx mov edi, dword ptr [ebp-68H] jmp G_M000_IG31 G_M000_IG15: mov edi, dword ptr [ebp-2CH] cmp edi, 0xD1FFAB1E jne SHORT G_M000_IG16 mov edi, dword ptr [ebp-24H] mov eax, edi mov dword ptr [ebp-24H], edi mov edi, eax G_M000_IG16: mov eax, dword ptr [ebp-24H] inc eax mov dword ptr [ebp-30H], eax mov dword ptr [ebp-24H], eax mov dword ptr [ebp-2CH], edi mov eax, ecx mov edi, dword ptr [ebp-68H] jmp G_M000_IG31 G_M000_IG17: mov edx, dword ptr [ebp-28H] test edx, edx mov dword ptr [ebp-28H], edx mov eax, ecx mov edi, dword ptr [ebp-68H] jge G_M000_IG31 mov edx, dword ptr [ebp-24H] mov ecx, edx mov dword ptr [ebp-24H], edx mov dword ptr [ebp-28H], ecx jmp G_M000_IG31 G_M000_IG18: mov edx, dword ptr [ebp-24H] test edx, edx mov dword ptr [ebp-24H], edx mov eax, ecx mov edi, dword ptr [ebp-68H] jle G_M000_IG31 cmp dword ptr [ebp-28H], 0 jge G_M000_IG31 cmp dword ptr [ebp-3CH], 0 jl SHORT G_M000_IG20 mov edx, dword ptr [ebp-24H] cmp dword ptr [ebp-3CH], edx jne SHORT G_M000_IG19 mov esi, dword ptr [ebp-40H] inc esi mov dword ptr [ebp-24H], edx mov dword ptr [ebp-40H], esi jmp G_M000_IG31 G_M000_IG19: mov ecx, 1 mov dword ptr [ebp-24H], edx mov dword ptr [ebp-44H], ecx G_M000_IG20: mov edx, dword ptr [ebp-24H] mov dword ptr [ebp-3CH], edx mov esi, 1 mov dword ptr [ebp-40H], esi jmp G_M000_IG31 G_M000_IG21: mov eax, dword ptr [ebp-48H] add eax, 2 mov dword ptr [ebp-48H], eax mov eax, ecx mov edi, dword ptr [ebp-68H] jmp G_M000_IG31 G_M000_IG22: mov edi, dword ptr [ebp-1D8H] cmp ecx, edi mov dword ptr [ebp-5CH], eax mov eax, ecx mov edi, dword ptr [ebp-68H] jge G_M000_IG31 movzx esi, word ptr [edi+2*eax] test esi, esi mov dword ptr [ebp-1CCH], esi mov edi, dword ptr [ebp-68H] je SHORT G_M000_IG31 inc eax mov dword ptr [ebp-54H], eax mov esi, dword ptr [ebp-5CH] cmp dword ptr [ebp-1CCH], esi mov eax, esi mov ecx, dword ptr [ebp-54H] jne SHORT G_M000_IG22 G_M000_IG23: mov eax, ecx mov edi, dword ptr [ebp-68H] jmp SHORT G_M000_IG31 G_M000_IG24: cmp ecx, esi mov eax, ecx jge SHORT G_M000_IG31 cmp word ptr [edi+2*eax], 0 je SHORT G_M000_IG31 inc eax jmp SHORT G_M000_IG31 G_M000_IG25: cmp ecx, esi jge SHORT G_M000_IG26 cmp word ptr [edi+2*ecx], 48 je SHORT G_M000_IG29 G_M000_IG26: lea eax, [ecx+01H] cmp eax, esi mov eax, ecx jge SHORT G_M000_IG31 cmp word ptr [edi+2*eax], 43 je SHORT G_M000_IG27 cmp word ptr [edi+2*eax], 45 jne SHORT G_M000_IG31 G_M000_IG27: cmp word ptr [edi+2*eax+02H], 48 jne SHORT G_M000_IG31 G_M000_IG28: mov ecx, eax mov esi, dword ptr [ebp-1D8H] G_M000_IG29: inc ecx mov eax, ecx cmp eax, esi jge SHORT G_M000_IG30 cmp word ptr [edi+2*eax], 48 je SHORT G_M000_IG37 G_M000_IG30: mov ecx, 1 mov dword ptr [ebp-38H], ecx G_M000_IG31: mov esi, dword ptr [ebp-1D8H] cmp eax, esi jge SHORT G_M000_IG33 G_M000_IG32: lea ecx, [eax+01H] movzx eax, word ptr [edi+2*eax] test eax, eax je SHORT G_M000_IG33 cmp eax, 59 jne G_M000_IG08 G_M000_IG33: xor eax, eax mov bword ptr [ebp-6CH], eax mov ecx, dword ptr [ebp-28H] test ecx, ecx jge SHORT G_M000_IG35 G_M000_IG34: mov edx, dword ptr [ebp-24H] mov ecx, edx mov dword ptr [ebp-24H], edx G_M000_IG35: mov eax, dword ptr [ebp-3CH] test eax, eax jl SHORT G_M000_IG39 G_M000_IG36: cmp eax, ecx jne SHORT G_M000_IG38 mov edi, dword ptr [ebp-40H] lea eax, [edi+2*edi] mov dword ptr [ebp-2FCH], eax mov eax, dword ptr [ebp-48H] sub eax, dword ptr [ebp-2FCH] mov dword ptr [ebp-48H], eax jmp SHORT G_M000_IG39 G_M000_IG37: mov ecx, eax jmp SHORT G_M000_IG29 G_M000_IG38: mov dword ptr [ebp-44H], 1 G_M000_IG39: mov edi, dword ptr [ebp-58H] cmp byte ptr [edi], 0 je G_M000_IG44 G_M000_IG40: mov edi, bword ptr [ebp-1E4H] add edi, 4 mov eax, dword ptr [ebp-48H] add dword ptr [edi], eax cmp dword ptr [ebp-38H], 0 jne SHORT G_M000_IG42 G_M000_IG41: mov eax, bword ptr [ebp-1E4H] mov edx, dword ptr [ebp-24H] mov edi, edx add edi, dword ptr [eax+04H] mov dword ptr [ebp-28H], ecx sub edi, ecx mov dword ptr [ebp-24H], edx mov eax, bword ptr [ebp-1E4H] jmp SHORT G_M000_IG43 G_M000_IG42: mov edx, dword ptr [ebp-24H] mov eax, edx mov dword ptr [ebp-28H], ecx mov edi, eax mov eax, bword ptr [ebp-1E4H] G_M000_IG43: push 0 mov bword ptr [ebp-1E4H], eax mov ecx, eax mov edx, edi call [System.Number:RoundNumber(byref,int,bool)] mov edi, dword ptr [ebp-58H] cmp byte ptr [edi], 0 jne SHORT G_M000_IG46 push dword ptr [ebp-1C4H] push bword ptr [ebp-1C8H] mov ecx, 2 call [System.Number:FindSection(System.ReadOnlySpan`1[ushort],int):int] mov ecx, dword ptr [ebp-50H] cmp eax, ecx mov dword ptr [ebp-50H], ecx je SHORT G_M000_IG46 mov ecx, eax mov dword ptr [ebp-50H], ecx jmp G_M000_IG06 G_M000_IG44: mov edi, bword ptr [ebp-1E4H] cmp byte ptr [edi+0AH], 3 je SHORT G_M000_IG48 mov bword ptr [ebp-1E4H], edi mov byte ptr [edi+08H], 0 G_M000_IG45: xor edi, edi mov eax, bword ptr [ebp-1E4H] mov dword ptr [eax+04H], edi mov dword ptr [ebp-28H], ecx G_M000_IG46: mov ecx, dword ptr [ebp-28H] mov edi, dword ptr [ebp-2CH] mov eax, ecx sub eax, edi mov dword ptr [ebp-2FCH], eax xor eax, eax cmp edi, ecx mov edi, eax cmovl edi, dword ptr [ebp-2FCH] mov dword ptr [ebp-2CH], edi mov eax, dword ptr [ebp-30H] mov edi, ecx sub edi, eax mov dword ptr [ebp-2FCH], edi xor edi, edi cmp eax, ecx mov eax, edi cmovg eax, dword ptr [ebp-2FCH] mov dword ptr [ebp-30H], eax cmp dword ptr [ebp-38H], 0 je SHORT G_M000_IG49 G_M000_IG47: mov edi, ecx xor eax, eax mov dword ptr [ebp-34H], edi mov dword ptr [ebp-4CH], eax jmp SHORT G_M000_IG50 G_M000_IG48: mov bword ptr [ebp-1E4H], edi jmp SHORT G_M000_IG45 G_M000_IG49: mov edi, bword ptr [ebp-1E4H] mov edi, dword ptr [edi+04H] mov dword ptr [ebp-1D4H], edi cmp edi, ecx cmovle edi, ecx mov dword ptr [ebp-34H], edi mov eax, dword ptr [ebp-1D4H] mov dword ptr [ebp-28H], ecx sub eax, ecx mov dword ptr [ebp-4CH], eax mov ecx, dword ptr [ebp-28H] G_M000_IG50: mov eax, dword ptr [ebp-50H] mov dword ptr [ebp-54H], eax lea edi, [ebp-20H] mov bword ptr [ebp-220H], edi mov dword ptr [ebp-140H], 4 mov dword ptr [ebp-60H], -1 cmp dword ptr [ebp-44H], 0 mov dword ptr [ebp-28H], ecx je G_M000_IG60 G_M000_IG51: mov ecx, gword ptr [ebp-2F8H] mov ecx, gword ptr [ecx+1CH] cmp dword ptr [ecx+04H], 0 jle G_M000_IG60 mov ecx, gword ptr [ebp-2F8H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-1E8H], ecx xor ecx, ecx mov dword ptr [ebp-70H], ecx xor ecx, ecx mov dword ptr [ebp-74H], ecx mov ecx, gword ptr [ebp-1E8H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-78H], ecx test ecx, ecx je SHORT G_M000_IG52 mov ecx, gword ptr [ebp-1E8H] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-74H], ecx G_M000_IG52: mov ecx, dword ptr [ebp-74H] mov dword ptr [ebp-7CH], ecx mov ecx, dword ptr [ebp-34H] mov dword ptr [ebp-A4H], ecx cmp dword ptr [ebp-4CH], 0 jl SHORT G_M000_IG53 mov ecx, dword ptr [ebp-A4H] mov dword ptr [ebp-A8H], ecx xor ecx, ecx mov dword ptr [ebp-ACH], ecx jmp SHORT G_M000_IG54 G_M000_IG53: mov ecx, dword ptr [ebp-A4H] mov dword ptr [ebp-A8H], ecx mov ecx, dword ptr [ebp-4CH] mov dword ptr [ebp-ACH], ecx G_M000_IG54: mov ecx, dword ptr [ebp-A8H] add ecx, dword ptr [ebp-ACH] mov dword ptr [ebp-80H], ecx mov ecx, dword ptr [ebp-2CH] cmp ecx, dword ptr [ebp-80H] mov dword ptr [ebp-2CH], ecx cmovle ecx, dword ptr [ebp-80H] mov dword ptr [ebp-84H], ecx mov edi, dword ptr [ebp-7CH] cmp ecx, edi jle G_M000_IG60 G_M000_IG55: mov dword ptr [ebp-7CH], edi test edi, edi je G_M000_IG60 mov ecx, dword ptr [ebp-60H] inc ecx mov dword ptr [ebp-60H], ecx mov edi, dword ptr [ebp-140H] cmp ecx, edi jl SHORT G_M000_IG57 G_M000_IG56: lea edx, [edi+edi] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-1ECH], eax lea ecx, bword ptr [eax+08H] mov edx, dword ptr [eax+04H] cmp edi, edx ja G_M000_IG164 shl edi, 2 push edi mov edx, bword ptr [ebp-220H] call [System.Buffer:Memmove(byref,byref,uint)] mov edi, gword ptr [ebp-1ECH] lea edx, bword ptr [edi+08H] mov edi, dword ptr [edi+04H] mov eax, edx mov bword ptr [ebp-220H], eax G_M000_IG57: mov ecx, dword ptr [ebp-60H] mov dword ptr [ebp-140H], edi cmp ecx, edi jae G_M000_IG165 mov edi, bword ptr [ebp-220H] mov dword ptr [ebp-60H], ecx mov edx, dword ptr [ebp-74H] mov dword ptr [edi+4*ecx], edx mov edx, dword ptr [ebp-78H] dec edx cmp dword ptr [ebp-70H], edx jge SHORT G_M000_IG59 G_M000_IG58: mov edx, dword ptr [ebp-70H] inc edx mov edi, gword ptr [ebp-1E8H] cmp edx, dword ptr [edi+04H] jae G_M000_IG165 mov dword ptr [ebp-70H], edx mov edi, dword ptr [edi+4*edx+08H] mov dword ptr [ebp-7CH], edi G_M000_IG59: mov edx, dword ptr [ebp-74H] add edx, dword ptr [ebp-7CH] cmp dword ptr [ebp-84H], edx mov dword ptr [ebp-74H], edx mov edi, dword ptr [ebp-7CH] jg G_M000_IG55 G_M000_IG60: mov edi, bword ptr [ebp-1E4H] cmp byte ptr [edi+08H], 0 je G_M000_IG72 G_M000_IG61: cmp dword ptr [ebp-54H], 0 jne G_M000_IG71 mov bword ptr [ebp-1E4H], edi cmp dword ptr [edi+04H], 0 je G_M000_IG63 mov edi, gword ptr [ebp-2F8H] mov edi, gword ptr [edi+14H] mov gword ptr [ebp-1F0H], edi test edi, edi jne G_M000_IG73 xor edi, edi mov bword ptr [ebp-22CH], edi xor edi, edi mov dword ptr [ebp-14CH], edi G_M000_IG62: mov edi, bword ptr [ebp-22CH] mov bword ptr [ebp-234H], edi mov edi, dword ptr [ebp-14CH] mov dword ptr [ebp-B4H], edi mov edi, bword ptr [ebp-234H] mov bword ptr [ebp-23CH], edi mov edi, dword ptr [ebp-B4H] mov dword ptr [ebp-158H], edi mov edi, dword ptr [ebx+04H] mov dword ptr [ebp-B8H], edi lea edi, bword ptr [ebx+08H] mov bword ptr [ebp-2C8H], edi mov edi, bword ptr [edi] mov bword ptr [ebp-238H], edi mov edi, bword ptr [ebp-2C8H] mov edi, dword ptr [edi+04H] mov dword ptr [ebp-154H], edi cmp dword ptr [ebp-158H], 1 jne G_M000_IG74 mov edi, dword ptr [ebp-B8H] cmp edi, dword ptr [ebp-154H] jae G_M000_IG74 mov edi, bword ptr [ebp-23CH] movzx edi, word ptr [edi] mov ecx, bword ptr [ebp-238H] mov edx, dword ptr [ebp-B8H] mov word ptr [ecx+2*edx], di inc edx mov dword ptr [ebx+04H], edx G_M000_IG63: xor edi, edi mov dword ptr [ebp-64H], edi mov edi, bword ptr [ebp-1C8H] mov bword ptr [ebp-8CH], edi mov dword ptr [ebp-88H], edi mov ecx, dword ptr [ebp-58H] mov dword ptr [ebp-90H], ecx G_M000_IG64: mov eax, dword ptr [ebp-54H] cmp eax, esi jge SHORT G_M000_IG66 G_M000_IG65: mov dword ptr [ebp-9CH], eax inc eax mov dword ptr [ebp-54H], eax mov ecx, dword ptr [ebp-9CH] movzx ecx, word ptr [edi+2*ecx] test ecx, ecx je SHORT G_M000_IG66 cmp ecx, 59 jne G_M000_IG75 G_M000_IG66: xor ecx, ecx mov bword ptr [ebp-8CH], ecx mov edi, bword ptr [ebp-1E4H] cmp byte ptr [edi+08H], 0 je SHORT G_M000_IG69 G_M000_IG67: cmp dword ptr [ebp-50H], 0 jne SHORT G_M000_IG69 cmp dword ptr [edi+04H], 0 jne SHORT G_M000_IG69 cmp dword ptr [ebx+04H], 0 jle SHORT G_M000_IG69 mov edi, gword ptr [ebp-2F8H] mov ecx, gword ptr [edi+14H] test ecx, ecx jne G_M000_IG162 xor edx, edx xor eax, eax G_M000_IG68: push eax push edx mov ecx, ebx xor edx, edx call [System.Collections.Generic.ValueListBuilder`1[ushort]:Insert(int,System.ReadOnlySpan`1[ushort]):this] G_M000_IG69: cmp dword ptr [ebp-10H], 0xD1FFAB1E je SHORT G_M000_IG70 call CORINFO_HELP_FAIL_FAST G_M000_IG70: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG71: mov bword ptr [ebp-1E4H], edi jmp G_M000_IG63 G_M000_IG72: mov bword ptr [ebp-1E4H], edi jmp G_M000_IG63 G_M000_IG73: add edi, 8 mov bword ptr [ebp-1F4H], edi mov edi, gword ptr [ebp-1F0H] mov edi, dword ptr [edi+04H] mov dword ptr [ebp-B0H], edi mov edi, bword ptr [ebp-1F4H] mov bword ptr [ebp-230H], edi mov edi, dword ptr [ebp-B0H] mov dword ptr [ebp-150H], edi mov edi, bword ptr [ebp-230H] mov bword ptr [ebp-22CH], edi mov edi, dword ptr [ebp-150H] mov dword ptr [ebp-14CH], edi jmp G_M000_IG62 G_M000_IG74: push dword ptr [ebp-158H] push bword ptr [ebp-23CH] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] jmp G_M000_IG63 G_M000_IG75: cmp dword ptr [ebp-4CH], 0 jle G_M000_IG91 cmp ecx, 35 je G_M000_IG90 cmp ecx, 46 je G_M000_IG90 mov dword ptr [ebp-5CH], ecx cmp ecx, 48 je SHORT G_M000_IG76 mov ecx, dword ptr [ebp-5CH] jmp G_M000_IG91 G_M000_IG76: mov ecx, dword ptr [ebp-5CH] jmp G_M000_IG90 G_M000_IG77: mov edi, dword ptr [ebp-90H] movzx edx, byte ptr [edi] test edx, edx jne SHORT G_M000_IG78 mov edx, 48 mov dword ptr [ebp-90H], edi jmp SHORT G_M000_IG79 G_M000_IG78: inc edi mov dword ptr [ebp-90H], edi G_M000_IG79: movzx edx, dx mov dword ptr [ebp-C0H], edx mov edi, dword ptr [ebx+04H] mov dword ptr [ebp-BCH], edi lea edi, bword ptr [ebx+08H] mov edx, bword ptr [edi] mov bword ptr [ebp-240H], edx mov edi, dword ptr [edi+04H] mov edx, dword ptr [ebp-BCH] cmp edx, edi jae SHORT G_M000_IG80 cmp edx, edi jae G_M000_IG165 mov edi, bword ptr [ebp-240H] mov esi, dword ptr [ebp-C0H] mov word ptr [edi+2*edx], si inc edx mov dword ptr [ebx+04H], edx jmp SHORT G_M000_IG81 G_M000_IG80: mov dword ptr [ebp-5CH], ecx mov ecx, ebx mov edx, dword ptr [ebp-C0H] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov ecx, dword ptr [ebp-5CH] G_M000_IG81: cmp dword ptr [ebp-44H], 0 je G_M000_IG89 cmp dword ptr [ebp-34H], 1 jle G_M000_IG89 mov edi, dword ptr [ebp-60H] test edi, edi jl SHORT G_M000_IG82 cmp edi, dword ptr [ebp-140H] jae G_M000_IG165 mov edx, bword ptr [ebp-220H] mov dword ptr [ebp-60H], edi mov edx, dword ptr [edx+4*edi] inc edx cmp edx, dword ptr [ebp-34H] jne G_M000_IG89 mov edx, gword ptr [ebp-2F8H] mov edx, gword ptr [edx+1CH] mov gword ptr [ebp-1F8H], edx test edx, edx jne SHORT G_M000_IG83 xor edx, edx mov bword ptr [ebp-244H], edx xor edx, edx mov dword ptr [ebp-15CH], edx jmp SHORT G_M000_IG84 G_M000_IG82: mov dword ptr [ebp-60H], edi jmp G_M000_IG89 G_M000_IG83: add edx, 8 mov bword ptr [ebp-1FCH], edx mov edx, gword ptr [ebp-1F8H] mov edx, dword ptr [edx+04H] mov dword ptr [ebp-C4H], edx mov edx, bword ptr [ebp-1FCH] mov bword ptr [ebp-248H], edx mov edx, dword ptr [ebp-C4H] mov dword ptr [ebp-160H], edx mov edx, bword ptr [ebp-248H] mov bword ptr [ebp-244H], edx mov edx, dword ptr [ebp-160H] mov dword ptr [ebp-15CH], edx G_M000_IG84: mov edx, bword ptr [ebp-244H] mov bword ptr [ebp-24CH], edx mov edx, dword ptr [ebp-15CH] mov dword ptr [ebp-C8H], edx mov edx, bword ptr [ebp-24CH] mov bword ptr [ebp-254H], edx mov edx, dword ptr [ebp-C8H] mov dword ptr [ebp-168H], edx mov edx, dword ptr [ebx+04H] mov dword ptr [ebp-CCH], edx lea edx, bword ptr [ebx+08H] mov bword ptr [ebp-2CCH], edx mov edx, bword ptr [edx] mov bword ptr [ebp-250H], edx mov edx, bword ptr [ebp-2CCH] mov edx, dword ptr [edx+04H] mov dword ptr [ebp-164H], edx cmp dword ptr [ebp-168H], 1 jne SHORT G_M000_IG86 mov edx, dword ptr [ebp-CCH] cmp edx, dword ptr [ebp-164H] jae SHORT G_M000_IG85 cmp edx, dword ptr [ebp-164H] jae G_M000_IG165 cmp dword ptr [ebp-168H], 0 jbe G_M000_IG165 mov edx, bword ptr [ebp-254H] movzx edx, word ptr [edx] mov edi, bword ptr [ebp-250H] mov esi, dword ptr [ebp-CCH] mov word ptr [edi+2*esi], dx inc esi mov dword ptr [ebx+04H], esi jmp SHORT G_M000_IG88 G_M000_IG85: mov dword ptr [ebp-5CH], ecx jmp SHORT G_M000_IG87 G_M000_IG86: mov dword ptr [ebp-5CH], ecx G_M000_IG87: push dword ptr [ebp-168H] push bword ptr [ebp-254H] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] mov ecx, dword ptr [ebp-5CH] G_M000_IG88: mov edi, dword ptr [ebp-60H] dec edi mov dword ptr [ebp-60H], edi G_M000_IG89: mov edx, dword ptr [ebp-34H] dec edx mov edi, dword ptr [ebp-4CH] dec edi mov dword ptr [ebp-34H], edx mov dword ptr [ebp-4CH], edi G_M000_IG90: cmp dword ptr [ebp-4CH], 0 jg G_M000_IG77 G_M000_IG91: cmp ecx, 69 ja SHORT G_M000_IG96 lea edi, [ecx-22H] mov dword ptr [ebp-1E0H], edi cmp edi, 5 ja SHORT G_M000_IG92 lea edi, [@RWD44] mov esi, dword ptr [ebp-1E0H] mov edi, dword ptr [edi+4*esi] lea edx, G_M000_IG02 add edi, edx jmp edi G_M000_IG92: lea edi, [ecx-2CH] cmp edi, 4 ja SHORT G_M000_IG95 mov dword ptr [ebp-5CH], ecx lea ecx, [@RWD68] mov ecx, dword ptr [ecx+4*edi] lea edx, G_M000_IG02 add ecx, edx jmp ecx G_M000_IG93: mov ecx, dword ptr [ebp-5CH] jmp G_M000_IG160 G_M000_IG94: mov esi, dword ptr [ebp-1D8H] mov edi, dword ptr [ebp-88H] jmp G_M000_IG64 G_M000_IG95: cmp ecx, 69 je G_M000_IG136 jmp G_M000_IG160 G_M000_IG96: cmp ecx, 92 je G_M000_IG134 cmp ecx, 101 je G_M000_IG136 cmp ecx, 0x2030 jne G_M000_IG160 mov ecx, gword ptr [ebp-2F8H] cmp byte ptr [ecx], cl jmp G_M000_IG120 G_M000_IG97: mov edi, dword ptr [ebp-4CH] test edi, edi jge SHORT G_M000_IG100 inc edi mov dword ptr [ebp-4CH], edi mov esi, dword ptr [ebp-34H] cmp esi, dword ptr [ebp-2CH] jle SHORT G_M000_IG98 xor ecx, ecx jmp SHORT G_M000_IG99 G_M000_IG98: mov ecx, 48 G_M000_IG99: movzx ecx, cx jmp SHORT G_M000_IG104 G_M000_IG100: mov ecx, dword ptr [ebp-90H] cmp byte ptr [ecx], 0 jne SHORT G_M000_IG102 mov esi, dword ptr [ebp-34H] cmp esi, dword ptr [ebp-30H] jg SHORT G_M000_IG101 xor edx, edx jmp SHORT G_M000_IG103 G_M000_IG101: mov edx, 48 jmp SHORT G_M000_IG103 G_M000_IG102: mov dword ptr [ebp-A0H], ecx inc ecx mov dword ptr [ebp-90H], ecx mov edx, dword ptr [ebp-A0H] movzx edx, byte ptr [edx] mov ecx, dword ptr [ebp-90H] mov esi, dword ptr [ebp-34H] G_M000_IG103: movzx edx, dx mov dword ptr [ebp-4CH], edi mov dword ptr [ebp-90H], ecx mov ecx, edx G_M000_IG104: test ecx, ecx je G_M000_IG113 mov dword ptr [ebp-D4H], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-D0H], ecx lea ecx, bword ptr [ebx+08H] mov bword ptr [ebp-2D0H], ecx mov ecx, bword ptr [ecx] mov bword ptr [ebp-258H], ecx mov ecx, bword ptr [ebp-2D0H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-16CH], ecx mov ecx, dword ptr [ebp-D0H] cmp ecx, dword ptr [ebp-16CH] jae SHORT G_M000_IG105 cmp ecx, dword ptr [ebp-16CH] jae G_M000_IG165 mov edx, bword ptr [ebp-258H] mov edi, dword ptr [ebp-D4H] mov word ptr [edx+2*ecx], di inc ecx mov dword ptr [ebx+04H], ecx jmp SHORT G_M000_IG106 G_M000_IG105: mov ecx, ebx mov edx, dword ptr [ebp-D4H] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] G_M000_IG106: cmp dword ptr [ebp-44H], 0 je G_M000_IG113 cmp esi, 1 jle G_M000_IG113 mov ecx, dword ptr [ebp-60H] test ecx, ecx jl SHORT G_M000_IG108 cmp ecx, dword ptr [ebp-140H] jae G_M000_IG165 mov edx, bword ptr [ebp-220H] mov dword ptr [ebp-60H], ecx mov edx, dword ptr [edx+4*ecx] inc edx mov dword ptr [ebp-34H], esi cmp edx, esi jne SHORT G_M000_IG107 mov edx, gword ptr [ebp-2F8H] mov edx, gword ptr [edx+1CH] mov gword ptr [ebp-200H], edx test edx, edx jne SHORT G_M000_IG109 xor edx, edx mov bword ptr [ebp-25CH], edx xor edx, edx mov dword ptr [ebp-170H], edx jmp SHORT G_M000_IG110 G_M000_IG107: mov esi, dword ptr [ebp-34H] jmp G_M000_IG113 G_M000_IG108: mov dword ptr [ebp-60H], ecx jmp G_M000_IG113 G_M000_IG109: add edx, 8 mov bword ptr [ebp-204H], edx mov edx, gword ptr [ebp-200H] mov edx, dword ptr [edx+04H] mov dword ptr [ebp-D8H], edx mov edx, bword ptr [ebp-204H] mov bword ptr [ebp-260H], edx mov edx, dword ptr [ebp-D8H] mov dword ptr [ebp-174H], edx mov edx, bword ptr [ebp-260H] mov bword ptr [ebp-25CH], edx mov edx, dword ptr [ebp-174H] mov dword ptr [ebp-170H], edx G_M000_IG110: mov edx, bword ptr [ebp-25CH] mov bword ptr [ebp-264H], edx mov edx, dword ptr [ebp-170H] mov dword ptr [ebp-DCH], edx mov edx, bword ptr [ebp-264H] mov bword ptr [ebp-26CH], edx mov edx, dword ptr [ebp-DCH] mov dword ptr [ebp-17CH], edx mov edx, dword ptr [ebx+04H] mov dword ptr [ebp-E0H], edx lea edx, bword ptr [ebx+08H] mov bword ptr [ebp-2D4H], edx mov edx, bword ptr [edx] mov bword ptr [ebp-268H], edx mov edx, bword ptr [ebp-2D4H] mov edx, dword ptr [edx+04H] mov dword ptr [ebp-178H], edx cmp dword ptr [ebp-17CH], 1 jne SHORT G_M000_IG111 mov edx, dword ptr [ebp-E0H] cmp edx, dword ptr [ebp-178H] jae SHORT G_M000_IG111 cmp edx, dword ptr [ebp-178H] jae G_M000_IG165 cmp dword ptr [ebp-17CH], 0 jbe G_M000_IG165 mov edx, bword ptr [ebp-26CH] movzx edx, word ptr [edx] mov edi, bword ptr [ebp-268H] mov esi, dword ptr [ebp-E0H] mov word ptr [edi+2*esi], dx inc esi mov dword ptr [ebx+04H], esi jmp SHORT G_M000_IG112 G_M000_IG111: push dword ptr [ebp-17CH] push bword ptr [ebp-26CH] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] G_M000_IG112: mov ecx, dword ptr [ebp-60H] dec ecx mov dword ptr [ebp-60H], ecx mov esi, dword ptr [ebp-34H] G_M000_IG113: dec esi mov dword ptr [ebp-34H], esi mov esi, dword ptr [ebp-1D8H] mov edi, dword ptr [ebp-88H] jmp G_M000_IG64 G_M000_IG114: mov edi, dword ptr [ebp-34H] xor ecx, ecx test edi, edi setne cl mov edx, dword ptr [ebp-64H] or ecx, edx mov dword ptr [ebp-34H], edi mov dword ptr [ebp-64H], edx mov esi, dword ptr [ebp-1D8H] mov edi, dword ptr [ebp-88H] jne G_M000_IG64 cmp dword ptr [ebp-30H], 0 jl SHORT G_M000_IG115 mov ecx, dword ptr [ebp-28H] mov edx, dword ptr [ebp-24H] cmp ecx, edx mov dword ptr [ebp-28H], ecx jge G_M000_IG64 mov ecx, dword ptr [ebp-90H] cmp byte ptr [ecx], 0 je G_M000_IG64 G_M000_IG115: mov ecx, gword ptr [ebp-2F8H] mov ecx, gword ptr [ecx+18H] mov gword ptr [ebp-208H], ecx test ecx, ecx jne SHORT G_M000_IG116 xor ecx, ecx mov bword ptr [ebp-270H], ecx xor ecx, ecx mov dword ptr [ebp-180H], ecx jmp SHORT G_M000_IG117 G_M000_IG116: add ecx, 8 mov bword ptr [ebp-20CH], ecx mov ecx, gword ptr [ebp-208H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-E4H], ecx mov ecx, bword ptr [ebp-20CH] mov bword ptr [ebp-274H], ecx mov ecx, dword ptr [ebp-E4H] mov dword ptr [ebp-184H], ecx mov ecx, bword ptr [ebp-274H] mov bword ptr [ebp-270H], ecx mov ecx, dword ptr [ebp-184H] mov dword ptr [ebp-180H], ecx G_M000_IG117: mov ecx, bword ptr [ebp-270H] mov bword ptr [ebp-278H], ecx mov ecx, dword ptr [ebp-180H] mov dword ptr [ebp-E8H], ecx mov ecx, bword ptr [ebp-278H] mov bword ptr [ebp-280H], ecx mov ecx, dword ptr [ebp-E8H] mov dword ptr [ebp-18CH], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-ECH], ecx lea ecx, bword ptr [ebx+08H] mov bword ptr [ebp-2D8H], ecx mov ecx, bword ptr [ecx] mov bword ptr [ebp-27CH], ecx mov ecx, bword ptr [ebp-2D8H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-188H], ecx cmp dword ptr [ebp-18CH], 1 jne SHORT G_M000_IG118 mov ecx, dword ptr [ebp-ECH] cmp ecx, dword ptr [ebp-188H] jae SHORT G_M000_IG118 cmp ecx, dword ptr [ebp-188H] jae G_M000_IG165 cmp dword ptr [ebp-18CH], 0 jbe G_M000_IG165 mov ecx, bword ptr [ebp-280H] movzx ecx, word ptr [ecx] mov edi, bword ptr [ebp-27CH] mov edx, dword ptr [ebp-ECH] mov word ptr [edi+2*edx], cx inc edx mov dword ptr [ebx+04H], edx jmp SHORT G_M000_IG119 G_M000_IG118: push dword ptr [ebp-18CH] push bword ptr [ebp-280H] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] G_M000_IG119: mov edx, 1 mov dword ptr [ebp-64H], edx mov edi, dword ptr [ebp-88H] jmp G_M000_IG64 G_M000_IG120: mov ecx, gword ptr [ecx+44H] mov gword ptr [ebp-210H], ecx test ecx, ecx jne SHORT G_M000_IG121 xor ecx, ecx mov bword ptr [ebp-284H], ecx xor ecx, ecx mov dword ptr [ebp-190H], ecx jmp SHORT G_M000_IG122 G_M000_IG121: add ecx, 8 mov bword ptr [ebp-214H], ecx mov ecx, gword ptr [ebp-210H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-F0H], ecx mov ecx, bword ptr [ebp-214H] mov bword ptr [ebp-288H], ecx mov ecx, dword ptr [ebp-F0H] mov dword ptr [ebp-194H], ecx mov ecx, bword ptr [ebp-288H] mov bword ptr [ebp-284H], ecx mov ecx, dword ptr [ebp-194H] mov dword ptr [ebp-190H], ecx G_M000_IG122: mov ecx, bword ptr [ebp-284H] mov bword ptr [ebp-28CH], ecx mov ecx, dword ptr [ebp-190H] mov dword ptr [ebp-F4H], ecx mov ecx, bword ptr [ebp-28CH] mov bword ptr [ebp-294H], ecx mov ecx, dword ptr [ebp-F4H] mov dword ptr [ebp-19CH], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-F8H], ecx lea ecx, bword ptr [ebx+08H] mov bword ptr [ebp-2DCH], ecx mov ecx, bword ptr [ecx] mov bword ptr [ebp-290H], ecx mov ecx, bword ptr [ebp-2DCH] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-198H], ecx cmp dword ptr [ebp-19CH], 1 jne SHORT G_M000_IG123 mov ecx, dword ptr [ebp-F8H] cmp ecx, dword ptr [ebp-198H] jae SHORT G_M000_IG123 cmp ecx, dword ptr [ebp-198H] jae G_M000_IG165 cmp dword ptr [ebp-19CH], 0 jbe G_M000_IG165 mov ecx, bword ptr [ebp-294H] movzx ecx, word ptr [ecx] mov edi, bword ptr [ebp-290H] mov edx, dword ptr [ebp-F8H] mov word ptr [edi+2*edx], cx inc edx mov dword ptr [ebx+04H], edx mov esi, dword ptr [ebp-1D8H] mov edi, dword ptr [ebp-88H] jmp G_M000_IG64 G_M000_IG123: push dword ptr [ebp-19CH] push bword ptr [ebp-294H] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] mov esi, dword ptr [ebp-1D8H] mov edi, dword ptr [ebp-88H] jmp G_M000_IG64 G_M000_IG124: mov edx, gword ptr [ebp-2F8H] mov edx, gword ptr [edx+40H] mov gword ptr [ebp-218H], edx test edx, edx jne SHORT G_M000_IG125 xor edx, edx mov bword ptr [ebp-298H], edx xor edx, edx mov dword ptr [ebp-1A0H], edx jmp SHORT G_M000_IG126 G_M000_IG125: add edx, 8 mov bword ptr [ebp-21CH], edx mov edx, gword ptr [ebp-218H] mov edx, dword ptr [edx+04H] mov dword ptr [ebp-FCH], edx mov edx, bword ptr [ebp-21CH] mov bword ptr [ebp-29CH], edx mov edx, dword ptr [ebp-FCH] mov dword ptr [ebp-1A4H], edx mov edx, bword ptr [ebp-29CH] mov bword ptr [ebp-298H], edx mov edx, dword ptr [ebp-1A4H] mov dword ptr [ebp-1A0H], edx G_M000_IG126: mov edx, bword ptr [ebp-298H] mov bword ptr [ebp-2A0H], edx mov edx, dword ptr [ebp-1A0H] mov dword ptr [ebp-100H], edx mov edx, bword ptr [ebp-2A0H] mov bword ptr [ebp-2A8H], edx mov edx, dword ptr [ebp-100H] mov dword ptr [ebp-1ACH], edx mov edx, dword ptr [ebx+04H] mov dword ptr [ebp-104H], edx lea edx, bword ptr [ebx+08H] mov bword ptr [ebp-2E0H], edx mov edx, bword ptr [edx] mov bword ptr [ebp-2A4H], edx mov edx, bword ptr [ebp-2E0H] mov edx, dword ptr [edx+04H] mov dword ptr [ebp-1A8H], edx cmp dword ptr [ebp-1ACH], 1 jne SHORT G_M000_IG127 mov edx, dword ptr [ebp-104H] cmp edx, dword ptr [ebp-1A8H] jae SHORT G_M000_IG127 cmp edx, dword ptr [ebp-1A8H] jae G_M000_IG165 cmp dword ptr [ebp-1ACH], 0 jbe G_M000_IG165 mov edx, bword ptr [ebp-2A8H] movzx edx, word ptr [edx] mov edi, bword ptr [ebp-2A4H] mov esi, dword ptr [ebp-104H] mov word ptr [edi+2*esi], dx inc esi mov dword ptr [ebx+04H], esi mov esi, dword ptr [ebp-1D8H] mov edi, dword ptr [ebp-88H] jmp G_M000_IG64 G_M000_IG127: push dword ptr [ebp-1ACH] push bword ptr [ebp-2A8H] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] mov esi, dword ptr [ebp-1D8H] mov edi, dword ptr [ebp-88H] jmp G_M000_IG64 G_M000_IG128: inc eax mov dword ptr [ebp-54H], eax mov dword ptr [ebp-10CH], edi mov esi, dword ptr [ebx+04H] mov dword ptr [ebp-108H], esi lea esi, bword ptr [ebx+08H] mov edi, bword ptr [esi] mov bword ptr [ebp-2ACH], edi mov esi, dword ptr [esi+04H] mov edi, dword ptr [ebp-108H] cmp edi, esi jae SHORT G_M000_IG129 cmp edi, esi jae G_M000_IG165 mov esi, bword ptr [ebp-2ACH] mov edx, dword ptr [ebp-10CH] mov word ptr [esi+2*edi], dx inc edi mov dword ptr [ebx+04H], edi mov ecx, dword ptr [ebp-5CH] jmp SHORT G_M000_IG130 G_M000_IG129: mov ecx, ebx mov edx, dword ptr [ebp-10CH] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov ecx, dword ptr [ebp-5CH] G_M000_IG130: mov eax, dword ptr [ebp-54H] mov edx, dword ptr [ebp-1D8H] cmp eax, edx jge SHORT G_M000_IG131 mov edi, dword ptr [ebp-88H] movzx edi, word ptr [edi+2*eax] test edi, edi je SHORT G_M000_IG132 mov dword ptr [ebp-5CH], ecx cmp edi, ecx jne SHORT G_M000_IG128 G_M000_IG131: mov edx, dword ptr [ebp-1D8H] cmp eax, edx jge SHORT G_M000_IG133 G_M000_IG132: mov ecx, dword ptr [ebp-88H] movzx ecx, word ptr [ecx+2*eax] test ecx, ecx mov dword ptr [ebp-54H], eax mov esi, dword ptr [ebp-1D8H] mov edi, dword ptr [ebp-88H] je G_M000_IG64 mov eax, dword ptr [ebp-54H] inc eax mov dword ptr [ebp-54H], eax jmp G_M000_IG64 G_M000_IG133: mov dword ptr [ebp-54H], eax mov esi, edx mov edi, dword ptr [ebp-88H] jmp G_M000_IG64 G_M000_IG134: mov eax, dword ptr [ebp-54H] mov esi, dword ptr [ebp-1D8H] cmp eax, esi mov dword ptr [ebp-54H], eax mov edi, dword ptr [ebp-88H] jge G_M000_IG64 mov eax, dword ptr [ebp-54H] movzx ecx, word ptr [edi+2*eax] test ecx, ecx mov dword ptr [ebp-54H], eax mov dword ptr [ebp-1D0H], ecx mov edi, dword ptr [ebp-88H] je G_M000_IG64 mov eax, dword ptr [ebp-54H] inc eax mov dword ptr [ebp-54H], eax mov ecx, dword ptr [ebp-1D0H] mov dword ptr [ebp-114H], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-110H], ecx lea ecx, bword ptr [ebx+08H] mov bword ptr [ebp-2E4H], ecx mov ecx, bword ptr [ecx] mov bword ptr [ebp-2B0H], ecx mov ecx, bword ptr [ebp-2E4H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-1B0H], ecx mov ecx, dword ptr [ebp-110H] cmp ecx, dword ptr [ebp-1B0H] jae SHORT G_M000_IG135 cmp ecx, dword ptr [ebp-1B0H] jae G_M000_IG165 mov edi, bword ptr [ebp-2B0H] mov edx, dword ptr [ebp-114H] mov word ptr [edi+2*ecx], dx inc ecx mov dword ptr [ebx+04H], ecx mov edi, dword ptr [ebp-88H] jmp G_M000_IG64 G_M000_IG135: mov ecx, ebx mov edx, dword ptr [ebp-114H] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] jmp G_M000_IG64 G_M000_IG136: xor edi, edi mov dword ptr [ebp-94H], edi G_M000_IG137: mov dword ptr [ebp-98H], edi cmp dword ptr [ebp-38H], 0 je G_M000_IG151 mov eax, dword ptr [ebp-54H] mov esi, dword ptr [ebp-1D8H] cmp eax, esi jge SHORT G_M000_IG138 mov edi, dword ptr [ebp-88H] movzx edx, word ptr [edi+2*eax] cmp edx, 48 je G_M000_IG144 G_M000_IG138: lea edi, [eax+01H] cmp edi, esi jge SHORT G_M000_IG140 mov edi, dword ptr [ebp-88H] movzx edx, word ptr [edi+2*eax] cmp edx, 43 jne SHORT G_M000_IG139 cmp word ptr [edi+2*eax+02H], 48 jne SHORT G_M000_IG139 mov edx, 1 mov dword ptr [ebp-94H], edx mov edx, dword ptr [ebp-98H] jmp G_M000_IG145 G_M000_IG139: cmp edx, 45 jne G_M000_IG142 mov dword ptr [ebp-54H], eax cmp word ptr [edi+2*eax+02H], 48 mov eax, dword ptr [ebp-54H] mov edx, dword ptr [ebp-98H] je SHORT G_M000_IG141 G_M000_IG140: mov dword ptr [ebp-11CH], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-118H], ecx lea ecx, bword ptr [ebx+08H] mov bword ptr [ebp-2E8H], ecx mov ecx, bword ptr [ecx] mov bword ptr [ebp-2B4H], ecx mov ecx, bword ptr [ebp-2E8H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-1B4H], ecx mov ecx, dword ptr [ebp-118H] cmp ecx, dword ptr [ebp-1B4H] jae SHORT G_M000_IG143 cmp ecx, dword ptr [ebp-1B4H] jae G_M000_IG165 mov edx, bword ptr [ebp-2B4H] mov edi, dword ptr [ebp-11CH] mov word ptr [edx+2*ecx], di inc ecx mov dword ptr [ebx+04H], ecx mov dword ptr [ebp-54H], eax mov edi, dword ptr [ebp-88H] jmp G_M000_IG64 G_M000_IG141: mov edi, dword ptr [ebp-88H] jmp SHORT G_M000_IG145 G_M000_IG142: jmp SHORT G_M000_IG140 G_M000_IG143: mov dword ptr [ebp-54H], eax mov ecx, ebx mov edx, dword ptr [ebp-11CH] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov edi, dword ptr [ebp-88H] jmp G_M000_IG64 G_M000_IG144: mov edx, dword ptr [ebp-98H] inc edx G_M000_IG145: inc eax cmp eax, esi jge SHORT G_M000_IG146 mov dword ptr [ebp-54H], eax cmp word ptr [edi+2*eax], 48 mov eax, dword ptr [ebp-54H] mov edi, dword ptr [ebp-88H] je SHORT G_M000_IG148 G_M000_IG146: cmp edx, 10 mov dword ptr [ebp-98H], edx jle SHORT G_M000_IG147 mov dword ptr [ebp-98H], 10 G_M000_IG147: mov edx, dword ptr [ebp-58H] cmp byte ptr [edx], 0 je SHORT G_M000_IG149 mov edx, bword ptr [ebp-1E4H] mov edx, dword ptr [edx+04H] sub edx, dword ptr [ebp-28H] mov dword ptr [ebp-54H], eax jmp SHORT G_M000_IG150 G_M000_IG148: mov dword ptr [ebp-98H], edx jmp SHORT G_M000_IG144 G_M000_IG149: xor edx, edx mov dword ptr [ebp-54H], eax G_M000_IG150: push edx push ecx push dword ptr [ebp-98H] push dword ptr [ebp-94H] mov ecx, ebx mov edx, gword ptr [ebp-2F8H] call [System.Number:FormatExponent[ushort](byref,System.Globalization.NumberFormatInfo,int,ushort,int,bool)] xor edx, edx mov dword ptr [ebp-38H], edx mov edi, dword ptr [ebp-88H] jmp G_M000_IG64 G_M000_IG151: mov dword ptr [ebp-124H], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-120H], ecx lea ecx, bword ptr [ebx+08H] mov bword ptr [ebp-2ECH], ecx mov ecx, bword ptr [ecx] mov bword ptr [ebp-2B8H], ecx mov ecx, bword ptr [ebp-2ECH] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-1B8H], ecx mov ecx, dword ptr [ebp-120H] cmp ecx, dword ptr [ebp-1B8H] jae SHORT G_M000_IG152 cmp ecx, dword ptr [ebp-1B8H] jae G_M000_IG165 mov edx, bword ptr [ebp-2B8H] mov edi, dword ptr [ebp-124H] mov word ptr [edx+2*ecx], di inc ecx mov dword ptr [ebx+04H], ecx jmp SHORT G_M000_IG153 G_M000_IG152: mov ecx, ebx mov edx, dword ptr [ebp-124H] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] G_M000_IG153: mov eax, dword ptr [ebp-54H] mov esi, dword ptr [ebp-1D8H] cmp eax, esi mov dword ptr [ebp-54H], eax mov edi, dword ptr [ebp-88H] jge G_M000_IG64 mov eax, dword ptr [ebp-54H] movzx ecx, word ptr [edi+2*eax] cmp ecx, 43 je SHORT G_M000_IG154 cmp ecx, 45 jne G_M000_IG158 G_M000_IG154: inc eax mov dword ptr [ebp-54H], eax mov dword ptr [ebp-12CH], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-128H], ecx lea ecx, bword ptr [ebx+08H] mov bword ptr [ebp-2F0H], ecx mov ecx, bword ptr [ecx] mov bword ptr [ebp-2BCH], ecx mov ecx, bword ptr [ebp-2F0H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-1BCH], ecx mov ecx, dword ptr [ebp-128H] cmp ecx, dword ptr [ebp-1BCH] jae SHORT G_M000_IG155 cmp ecx, dword ptr [ebp-1BCH] jae G_M000_IG165 mov edi, bword ptr [ebp-2BCH] mov edx, dword ptr [ebp-12CH] mov word ptr [edi+2*ecx], dx inc ecx mov dword ptr [ebx+04H], ecx mov eax, dword ptr [ebp-54H] jmp SHORT G_M000_IG158 G_M000_IG155: mov ecx, ebx mov edx, dword ptr [ebp-12CH] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov eax, dword ptr [ebp-54H] jmp SHORT G_M000_IG158 G_M000_IG156: inc eax mov dword ptr [ebp-54H], eax mov dword ptr [ebp-134H], ecx mov edi, dword ptr [ebx+04H] mov dword ptr [ebp-130H], edi lea edi, bword ptr [ebx+08H] mov ecx, bword ptr [edi] mov bword ptr [ebp-2C0H], ecx mov edi, dword ptr [edi+04H] mov ecx, dword ptr [ebp-130H] cmp ecx, edi jae SHORT G_M000_IG157 cmp ecx, edi jae G_M000_IG165 mov edi, bword ptr [ebp-2C0H] mov edx, dword ptr [ebp-134H] mov word ptr [edi+2*ecx], dx inc ecx mov dword ptr [ebx+04H], ecx mov eax, dword ptr [ebp-54H] jmp SHORT G_M000_IG158 G_M000_IG157: mov ecx, ebx mov edx, dword ptr [ebp-134H] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov eax, dword ptr [ebp-54H] G_M000_IG158: cmp eax, esi mov dword ptr [ebp-54H], eax mov edi, dword ptr [ebp-88H] jge G_M000_IG64 mov eax, dword ptr [ebp-54H] movzx ecx, word ptr [edi+2*eax] cmp ecx, 48 je SHORT G_M000_IG156 G_M000_IG159: mov dword ptr [ebp-54H], eax mov edi, dword ptr [ebp-88H] jmp G_M000_IG64 G_M000_IG160: mov dword ptr [ebp-13CH], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-138H], ecx lea ecx, bword ptr [ebx+08H] mov bword ptr [ebp-2F4H], ecx mov ecx, bword ptr [ecx] mov bword ptr [ebp-2C4H], ecx mov ecx, bword ptr [ebp-2F4H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-1C0H], ecx mov ecx, dword ptr [ebp-138H] cmp ecx, dword ptr [ebp-1C0H] jae SHORT G_M000_IG161 cmp ecx, dword ptr [ebp-1C0H] jae SHORT G_M000_IG165 mov edi, bword ptr [ebp-2C4H] mov edx, dword ptr [ebp-13CH] mov word ptr [edi+2*ecx], dx inc ecx mov dword ptr [ebx+04H], ecx mov esi, dword ptr [ebp-1D8H] mov edi, dword ptr [ebp-88H] jmp G_M000_IG64 G_M000_IG161: mov ecx, ebx mov edx, dword ptr [ebp-13CH] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov esi, dword ptr [ebp-1D8H] mov edi, dword ptr [ebp-88H] jmp G_M000_IG64 G_M000_IG162: lea edx, bword ptr [ecx+08H] mov eax, dword ptr [ecx+04H] jmp G_M000_IG68 G_M000_IG163: call CORINFO_HELP_OVERFLOW G_M000_IG164: call [System.ThrowHelper:ThrowArgumentException_DestinationTooShort()] int3 G_M000_IG165: call CORINFO_HELP_RNGCHKFAIL int3 RWD00 dd G_M000_IG22 - G_M000_IG02 dd G_M000_IG14 - G_M000_IG02 dd G_M000_IG09 - G_M000_IG02 dd G_M000_IG21 - G_M000_IG02 dd G_M000_IG09 - G_M000_IG02 dd G_M000_IG22 - G_M000_IG02 RWD24 dd G_M000_IG18 - G_M000_IG02 dd G_M000_IG11 - G_M000_IG02 dd G_M000_IG17 - G_M000_IG02 dd G_M000_IG11 - G_M000_IG02 dd G_M000_IG15 - G_M000_IG02 RWD44 dd G_M000_IG130 - G_M000_IG02 dd G_M000_IG97 - G_M000_IG02 dd G_M000_IG160 - G_M000_IG02 dd G_M000_IG124 - G_M000_IG02 dd G_M000_IG160 - G_M000_IG02 dd G_M000_IG130 - G_M000_IG02 RWD68 dd G_M000_IG94 - G_M000_IG02 dd G_M000_IG93 - G_M000_IG02 dd G_M000_IG114 - G_M000_IG02 dd G_M000_IG93 - G_M000_IG02 dd G_M000_IG97 - G_M000_IG02 ; Total bytes of code 5930 721: JIT compiled System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) [Tier-0 switched to FullOpts, IL size=2086, code size=5930] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:GetAverageTime():Perfolizer.Horology.TimeInterval:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 vzeroupper mov bword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov ecx, bword ptr [ebp-04H] call [BenchmarkDotNet.Reports.Measurement:get_Nanoseconds():double:this] fstp qword ptr [ebp-20H] vmovsd xmm0, qword ptr [ebp-20H] vmovsd qword ptr [ebp-10H], xmm0 mov ecx, bword ptr [ebp-04H] call [BenchmarkDotNet.Reports.Measurement:get_Operations():long:this] mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], edx push dword ptr [ebp-14H] push dword ptr [ebp-18H] call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-20H] vmovsd xmm1, qword ptr [ebp-10H] vmovsd xmm0, qword ptr [ebp-20H] vdivsd xmm0, xmm1, xmm0 sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, bword ptr [ebp-08H] call [Perfolizer.Horology.TimeInterval:FromNanoseconds(double):Perfolizer.Horology.TimeInterval] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 101 722: JIT compiled BenchmarkDotNet.Reports.Measurement:GetAverageTime() [Tier0, IL size=20, code size=101] ; Assembly listing for method Perfolizer.Horology.TimeInterval:FromNanoseconds(double):Perfolizer.Horology.TimeInterval ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E push dword ptr [ecx+04H] push dword ptr [ecx] vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, bword ptr [ebp-04H] call [Perfolizer.Horology.TimeInterval:op_Multiply(Perfolizer.Horology.TimeInterval,double):Perfolizer.Horology.TimeInterval] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 48 723: JIT compiled Perfolizer.Horology.TimeInterval:FromNanoseconds(double) [Tier0, IL size=12, code size=48] ; Assembly listing for method Perfolizer.Horology.TimeInterval:op_Multiply(Perfolizer.Horology.TimeInterval,double):Perfolizer.Horology.TimeInterval ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: xor ecx, ecx mov dword ptr [ebp-0CH], ecx mov dword ptr [ebp-08H], ecx lea ecx, [ebp+10H] call [Perfolizer.Horology.TimeInterval:get_Nanoseconds():double:this] fstp qword ptr [ebp-14H] vmovsd xmm0, qword ptr [ebp-14H] vmulsd xmm0, xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-0CH] call [Perfolizer.Horology.TimeInterval:.ctor(double):this] mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp-0CH] mov dword ptr [eax], edx mov edx, dword ptr [ebp-08H] mov dword ptr [eax+04H], edx G_M000_IG03: mov esp, ebp pop ebp ret 16 ; Total bytes of code 79 724: JIT compiled Perfolizer.Horology.TimeInterval:op_Multiply(Perfolizer.Horology.TimeInterval,double) [Tier0, IL size=15, code size=79] ; Assembly listing for method BenchmarkDotNet.Helpers.AsciiHelper:ToAscii(System.String):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: cmp gword ptr [ebp-04H], 0 jne SHORT G_M000_IG04 xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: push 0xD1FFAB1E mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call [System.String:Replace(System.String,System.String):System.String:this] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 42 725: JIT compiled BenchmarkDotNet.Helpers.AsciiHelper:ToAscii(System.String) [Tier0, IL size=22, code size=42] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:WriteLine(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.Engine:get_Host():BenchmarkDotNet.Engines.IHost:this] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.IHost:WriteLine(System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 45 726: JIT compiled BenchmarkDotNet.Engines.Engine:WriteLine(System.String) [Tier0, IL size=13, code size=45] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_Host():BenchmarkDotNet.Engines.IHost:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 727: JIT compiled BenchmarkDotNet.Engines.Engine:get_Host() [Tier0, IL size=7, code size=17] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:Add(BenchmarkDotNet.Reports.Measurement):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] inc dword ptr [ecx+0CH] mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-08H], ecx mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-0CH], ecx mov ecx, dword ptr [ebp-0CH] mov eax, gword ptr [ebp-08H] cmp ecx, dword ptr [eax+04H] jae SHORT G_M000_IG04 mov ecx, dword ptr [ebp-0CH] inc ecx mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], ecx mov ecx, gword ptr [ebp-08H] mov eax, dword ptr [ebp-0CH] cmp eax, dword ptr [ecx+04H] jae SHORT G_M000_IG06 imul edx, eax, 32 lea ecx, bword ptr [ecx+edx+08H] vmovdqu ymm0, ymmword ptr [ebp+08H] vmovdqu ymmword ptr [ecx], ymm0 G_M000_IG03: vzeroupper mov esp, ebp pop ebp ret 32 G_M000_IG04: sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp+08H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp+18H] vmovdqu xmmword ptr [esp+10H], xmm0 mov ecx, gword ptr [ebp-04H] call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddWithResize(BenchmarkDotNet.Reports.Measurement):this] G_M000_IG05: vzeroupper mov esp, ebp pop ebp ret 32 G_M000_IG06: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 146 728: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:Add(BenchmarkDotNet.Reports.Measurement) [Tier0, IL size=60, code size=146] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:Consume(byref):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov esp, ebp pop ebp ret ; Total bytes of code 16 729: JIT compiled BenchmarkDotNet.Engines.Engine:Consume(byref) [Tier0, IL size=1, code size=16] ; Assembly listing for method BenchmarkDotNet.Engines.DeadCodeEliminationHelper:KeepAliveWithoutBoxing[BenchmarkDotNet.Reports.Measurement](BenchmarkDotNet.Reports.Measurement) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: pop ebp ret 32 ; Total bytes of code 7 730: JIT compiled BenchmarkDotNet.Engines.DeadCodeEliminationHelper:KeepAliveWithoutBoxing[BenchmarkDotNet.Reports.Measurement](BenchmarkDotNet.Reports.Measurement) [Tier0, IL size=1, code size=7] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_Dummy2Action():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 731: JIT compiled BenchmarkDotNet.Engines.Engine:get_Dummy2Action() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:Dummy2():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] G_M000_IG03: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] G_M000_IG04: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 395 732: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:Dummy2() [Tier0, IL size=897, code size=395] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_MemoryRandomization():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+66H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 18 733: JIT compiled BenchmarkDotNet.Engines.Engine:get_MemoryRandomization() [Tier0, IL size=7, code size=18] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_WorkloadAction():System.Action`1[long]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+10H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 734: JIT compiled BenchmarkDotNet.Engines.Engine:get_WorkloadAction() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_IterationSetupAction():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+30H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 735: JIT compiled BenchmarkDotNet.Engines.Engine:get_IterationSetupAction() [Tier0, IL size=7, code size=17] ; Assembly listing for method System.Collections.Sort`1[System.__Canon]:SetupListIteration():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-10H], ecx mov ecx, dword ptr [ebp-10H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+14H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-10H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+14H] mov dword ptr [ebp-08H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-10H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-08H], eax G_M000_IG05: mov ecx, gword ptr [ebp-04H] cmp byte ptr [ecx], cl mov ecx, gword ptr [ebp-04H] add ecx, 12 mov bword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-04H] push gword ptr [ecx+04H] push dword ptr [ebp-08H] mov ecx, bword ptr [ebp-0CH] mov edx, 0x1388 call [System.Collections.Utils:ClearAndFillCollections[System.__Canon,System.__Canon](byref,int,System.__Canon[])] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 109 736: JIT compiled System.Collections.Sort`1[System.__Canon]:SetupListIteration() [Tier0, IL size=23, code size=109] ; Assembly listing for method System.Collections.Utils:ClearAndFillCollections[System.__Canon,System.__Canon](byref,int,System.__Canon[]) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 20 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-10H], eax mov esi, ecx mov edi, edx mov ebx, dword ptr [ebp+08H] G_M000_IG02: cmp gword ptr [esi], 0 je SHORT G_M000_IG06 G_M000_IG03: mov eax, gword ptr [esi] mov gword ptr [ebp-20H], eax xor edx, edx mov dword ptr [ebp-14H], edx mov ecx, dword ptr [eax+04H] mov dword ptr [ebp-1CH], ecx test ecx, ecx jle SHORT G_M000_IG05 mov dword ptr [ebp+08H], ebx mov ebx, dword ptr [ebx+0CH] mov ebx, dword ptr [ebx+10H] test ebx, ebx je SHORT G_M000_IG07 G_M000_IG04: jmp SHORT G_M000_IG08 G_M000_IG05: mov dword ptr [ebp+08H], ebx jmp SHORT G_M000_IG09 G_M000_IG06: mov dword ptr [ebp+08H], ebx jmp SHORT G_M000_IG09 G_M000_IG07: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov ebx, eax G_M000_IG08: mov eax, gword ptr [ebp-20H] mov edx, dword ptr [ebp-14H] mov eax, gword ptr [eax+4*edx+08H] mov dword ptr [ebp-18H], ebx mov ecx, eax mov eax, dword ptr [ebp-18H] nop call [eax] mov edx, dword ptr [ebp-14H] inc edx mov ecx, dword ptr [ebp-1CH] cmp ecx, edx mov dword ptr [ebp-14H], edx jg SHORT G_M000_IG08 G_M000_IG09: mov ebx, dword ptr [ebp+08H] mov ecx, dword ptr [ebx+0CH] mov eax, dword ptr [ecx+0CH] test eax, eax je SHORT G_M000_IG11 G_M000_IG10: jmp SHORT G_M000_IG12 G_M000_IG11: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD G_M000_IG12: push gword ptr [ebp+0CH] push eax mov edx, edi mov ecx, esi call [System.Collections.Utils:FillCollections[System.__Canon,System.__Canon](byref,int,System.__Canon[])] G_M000_IG13: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 175 737: JIT compiled System.Collections.Utils:ClearAndFillCollections[System.__Canon,System.__Canon](byref,int,System.__Canon[]) [Tier-0 switched to FullOpts, IL size=51, code size=175] ; Assembly listing for method System.Collections.Utils:FillCollections[System.__Canon,System.__Canon](byref,int,System.__Canon[]) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 3 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 112 xor eax, eax mov dword ptr [ebp-20H], eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-10H], eax mov edi, ecx mov ebx, edx mov esi, dword ptr [ebp+08H] G_M000_IG02: mov ecx, dword ptr [esi+0CH] mov ecx, dword ptr [ecx+0CH] test ecx, ecx je SHORT G_M000_IG04 G_M000_IG03: jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov ecx, eax G_M000_IG05: call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-50H], eax lea edx, bword ptr [eax+04H] mov ecx, gword ptr [ebp+0CH] call CORINFO_HELP_ASSIGN_REF_ECX cmp gword ptr [edi], 0 jne G_M000_IG27 G_M000_IG06: mov ecx, dword ptr [esi+0CH] cmp dword ptr [ecx+08H], 40 jle SHORT G_M000_IG09 G_M000_IG07: mov edx, dword ptr [ecx+28H] test edx, edx je SHORT G_M000_IG09 G_M000_IG08: jmp SHORT G_M000_IG10 G_M000_IG09: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov edx, eax G_M000_IG10: mov ecx, edx mov dword ptr [ebp-34H], ecx mov dword ptr [ebp-24H], ebx mov edx, ebx xor ecx, ecx call [System.Linq.Enumerable:Range(int,int):System.Collections.Generic.IEnumerable`1[int]] mov gword ptr [ebp-6CH], eax mov ecx, dword ptr [ebp-34H] call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov bword ptr [ebp-7CH], eax mov edx, gword ptr [eax+04H] mov ecx, gword ptr [ebp-6CH] mov gword ptr [ebp-70H], ecx test edx, edx jne SHORT G_M000_IG13 mov edx, dword ptr [esi+0CH] cmp dword ptr [edx+08H], 52 jle SHORT G_M000_IG18 G_M000_IG11: mov edx, dword ptr [edx+34H] test edx, edx je SHORT G_M000_IG18 G_M000_IG12: mov ecx, edx call CORINFO_HELP_NEWSFAST mov ecx, bword ptr [ebp-7CH] mov edx, gword ptr [ecx] mov gword ptr [ebp-78H], edx test edx, edx je G_M000_IG65 lea edx, bword ptr [eax+04H] mov ecx, gword ptr [ebp-78H] call CORINFO_HELP_ASSIGN_REF_ECX mov dword ptr [eax+0CH], 0xD1FFAB1E mov edx, bword ptr [ebp-7CH] lea edx, bword ptr [edx+04H] call CORINFO_HELP_ASSIGN_REF_EAX mov gword ptr [ebp-74H], eax mov edx, gword ptr [ebp-74H] G_M000_IG13: mov eax, dword ptr [esi+0CH] cmp dword ptr [eax+08H], 44 jle SHORT G_M000_IG17 G_M000_IG14: mov eax, dword ptr [eax+2CH] test eax, eax je SHORT G_M000_IG16 G_M000_IG15: jmp SHORT G_M000_IG20 G_M000_IG16: mov gword ptr [ebp-74H], edx jmp SHORT G_M000_IG19 G_M000_IG17: mov gword ptr [ebp-74H], edx jmp SHORT G_M000_IG19 G_M000_IG18: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov edx, eax jmp SHORT G_M000_IG12 G_M000_IG19: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-38H], eax mov edx, gword ptr [ebp-74H] G_M000_IG20: mov ecx, dword ptr [esi+0CH] cmp dword ptr [ecx+08H], 48 jle SHORT G_M000_IG24 G_M000_IG21: mov ecx, dword ptr [ecx+30H] test ecx, ecx je SHORT G_M000_IG23 G_M000_IG22: mov dword ptr [ebp-3CH], ecx jmp SHORT G_M000_IG26 G_M000_IG23: mov gword ptr [ebp-74H], edx mov dword ptr [ebp-38H], eax jmp SHORT G_M000_IG25 G_M000_IG24: mov gword ptr [ebp-74H], edx mov dword ptr [ebp-38H], eax G_M000_IG25: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-3CH], eax mov eax, dword ptr [ebp-38H] mov edx, gword ptr [ebp-74H] G_M000_IG26: push eax mov ecx, gword ptr [ebp-70H] call [System.Linq.Enumerable:Select[int,System.__Canon](System.Collections.Generic.IEnumerable`1[int],System.Func`2[int,System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]] mov ecx, eax mov edx, dword ptr [ebp-3CH] call [System.Linq.Enumerable:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon[]] mov edx, edi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov ebx, dword ptr [ebp-24H] G_M000_IG27: mov bword ptr [ebp-4CH], edi mov edx, gword ptr [edi] mov eax, gword ptr [ebp-50H] mov ecx, gword ptr [eax+08H] mov gword ptr [ebp-60H], edx test ecx, ecx jne SHORT G_M000_IG31 G_M000_IG28: mov ecx, dword ptr [esi+0CH] cmp dword ptr [ecx+08H], 32 jle SHORT G_M000_IG33 G_M000_IG29: mov ecx, dword ptr [ecx+20H] test ecx, ecx je SHORT G_M000_IG33 G_M000_IG30: call CORINFO_HELP_NEWSFAST mov ecx, eax lea edx, bword ptr [ecx+04H] mov eax, gword ptr [ebp-50H] call CORINFO_HELP_ASSIGN_REF_EAX mov dword ptr [ecx+0CH], 0xD1FFAB1E lea edx, bword ptr [eax+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov gword ptr [ebp-64H], ecx mov ecx, gword ptr [ebp-64H] G_M000_IG31: mov edx, dword ptr [esi+0CH] mov edx, dword ptr [edx+10H] test edx, edx je SHORT G_M000_IG34 G_M000_IG32: mov gword ptr [ebp-64H], ecx jmp SHORT G_M000_IG35 G_M000_IG33: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov ecx, eax jmp SHORT G_M000_IG30 G_M000_IG34: mov gword ptr [ebp-64H], ecx mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-28H], eax mov edx, dword ptr [ebp-28H] G_M000_IG35: mov ecx, dword ptr [esi+0CH] mov ecx, dword ptr [ecx+14H] test ecx, ecx je SHORT G_M000_IG37 G_M000_IG36: mov dword ptr [ebp-2CH], ecx jmp SHORT G_M000_IG38 G_M000_IG37: mov dword ptr [ebp-28H], edx mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-2CH], eax mov edx, dword ptr [ebp-28H] G_M000_IG38: push edx mov ecx, gword ptr [ebp-60H] mov edx, gword ptr [ebp-64H] call [System.Linq.Enumerable:Where[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.Collections.Generic.IEnumerable`1[System.__Canon]] mov ecx, eax mov eax, dword ptr [ebp-2CH] nop call [eax] mov gword ptr [ebp-54H], eax G_M000_IG39: mov ecx, eax call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG41 mov ecx, dword ptr [esi+0CH] mov eax, dword ptr [ecx+18H] test eax, eax je SHORT G_M000_IG42 G_M000_IG40: jmp SHORT G_M000_IG43 G_M000_IG41: mov dword ptr [ebp+08H], esi mov dword ptr [ebp-24H], ebx jmp G_M000_IG52 G_M000_IG42: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD G_M000_IG43: mov dword ptr [ebp-44H], eax mov ecx, dword ptr [esi+0CH] cmp dword ptr [ecx+08H], 28 jle SHORT G_M000_IG47 G_M000_IG44: mov edx, dword ptr [ecx+1CH] test edx, edx je SHORT G_M000_IG47 G_M000_IG45: jmp SHORT G_M000_IG48 G_M000_IG46: mov esi, dword ptr [ebp+08H] jmp SHORT G_M000_IG49 G_M000_IG47: mov dword ptr [ebp+08H], esi mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov edx, eax mov esi, dword ptr [ebp+08H] G_M000_IG48: mov dword ptr [ebp-40H], edx mov dword ptr [ebp-24H], ebx G_M000_IG49: mov eax, dword ptr [ebp-44H] mov dword ptr [ebp-30H], eax mov ecx, gword ptr [ebp-54H] mov eax, dword ptr [ebp-30H] nop call [eax] mov gword ptr [ebp-58H], eax mov edx, gword ptr [ebp-50H] mov ecx, gword ptr [edx+04H] mov gword ptr [ebp-5CH], ecx xor ebx, ebx mov edx, dword ptr [ecx+04H] mov dword ptr [ebp-48H], edx test edx, edx mov dword ptr [ebp+08H], esi jle SHORT G_M000_IG51 G_M000_IG50: mov edi, gword ptr [ecx+4*ebx+08H] mov esi, dword ptr [ebp-40H] mov ecx, eax mov edx, edi mov eax, esi nop call [eax] inc ebx mov esi, dword ptr [ebp-48H] cmp esi, ebx mov eax, gword ptr [ebp-58H] mov ecx, gword ptr [ebp-5CH] jg SHORT G_M000_IG50 G_M000_IG51: mov ecx, gword ptr [ebp-54H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG46 G_M000_IG52: mov ecx, gword ptr [ebp-54H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG55 G_M000_IG53: cmp gword ptr [ebp-54H], 0 je SHORT G_M000_IG54 mov ecx, gword ptr [ebp-54H] call [System.IDisposable:Dispose():this] G_M000_IG54: pop eax jmp eax G_M000_IG55: mov esi, dword ptr [ebp+08H] mov ecx, dword ptr [esi+0CH] cmp dword ptr [ecx+08H], 32 jle SHORT G_M000_IG62 G_M000_IG56: mov ecx, dword ptr [ecx+20H] test ecx, ecx je SHORT G_M000_IG62 G_M000_IG57: call CORINFO_HELP_NEWSFAST mov edi, eax mov ebx, bword ptr [ebp-4CH] mov eax, gword ptr [ebx] mov gword ptr [ebp-68H], eax lea edx, bword ptr [edi+04H] mov ecx, gword ptr [ebp-50H] call CORINFO_HELP_ASSIGN_REF_ECX mov dword ptr [edi+0CH], 0xD1FFAB1E mov ecx, dword ptr [esi+0CH] cmp dword ptr [ecx+08H], 36 jle SHORT G_M000_IG63 G_M000_IG58: mov eax, gword ptr [ebp-68H] mov edx, dword ptr [ecx+24H] test edx, edx je SHORT G_M000_IG61 G_M000_IG59: push edx mov edx, edi mov ecx, eax call [System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):bool] test eax, eax jne SHORT G_M000_IG64 mov eax, gword ptr [ebx] mov ebx, dword ptr [ebp-24H] cmp dword ptr [eax+04H], ebx jne SHORT G_M000_IG64 G_M000_IG60: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG61: jmp SHORT G_M000_IG63 G_M000_IG62: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov ecx, eax jmp SHORT G_M000_IG57 G_M000_IG63: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov edx, eax mov eax, gword ptr [ebp-68H] jmp SHORT G_M000_IG59 G_M000_IG64: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.InvalidOperationException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG65: call [System.MulticastDelegate:ThrowNullThisInDelegateToInstance()] int3 ; Total bytes of code 971 738: JIT compiled System.Collections.Utils:FillCollections[System.__Canon,System.__Canon](byref,int,System.__Canon[]) [Tier-0 switched to FullOpts, IL size=228, code size=971] ; Assembly listing for method System.Linq.Enumerable:Range(int,int):System.Collections.Generic.IEnumerable`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, dword ptr [ebp-04H] mov dword ptr [ebp-18H], ecx mov ecx, dword ptr [ebp-18H] mov eax, dword ptr [ebp-18H] sar eax, 31 mov edx, dword ptr [ebp-08H] mov dword ptr [ebp-1CH], edx mov edx, dword ptr [ebp-1CH] sar edx, 31 add ecx, dword ptr [ebp-1CH] adc eax, edx sub ecx, 1 sbb eax, 0 mov dword ptr [ebp-10H], ecx mov dword ptr [ebp-0CH], eax cmp dword ptr [ebp-08H], 0 jl SHORT G_M000_IG03 cmp dword ptr [ebp-10H], 0xD1FFAB1E mov ecx, dword ptr [ebp-0CH] sbb ecx, 0 jl SHORT G_M000_IG04 G_M000_IG03: mov ecx, 1 call [System.Linq.ThrowHelper:ThrowArgumentOutOfRangeException(int)] G_M000_IG04: cmp dword ptr [ebp-08H], 0 jne SHORT G_M000_IG06 call [System.Linq.Enumerable:Empty[int]():System.Collections.Generic.IEnumerable`1[int]] G_M000_IG05: mov esp, ebp pop ebp ret G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax push dword ptr [ebp-08H] mov ecx, gword ptr [ebp-14H] mov edx, dword ptr [ebp-04H] call [System.Linq.Enumerable+RangeIterator:.ctor(int,int):this] mov eax, gword ptr [ebp-14H] G_M000_IG07: mov esp, ebp pop ebp ret ; Total bytes of code 144 739: JIT compiled System.Linq.Enumerable:Range(int,int) [Tier0, IL size=45, code size=144] ; Assembly listing for method System.Linq.Enumerable+RangeIterator:.ctor(int,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable+Iterator`1[int]:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov dword ptr [eax+10H], edx mov eax, dword ptr [ebp-08H] add eax, dword ptr [ebp+08H] mov edx, gword ptr [ebp-04H] mov dword ptr [edx+14H], eax G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 48 740: JIT compiled System.Linq.Enumerable+RangeIterator:.ctor(int,int) [Tier0, IL size=23, code size=48] ; Assembly listing for method System.Linq.Enumerable+Iterator`1[int]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] call System.Environment:get_CurrentManagedThreadId():int mov edx, gword ptr [ebp-04H] mov dword ptr [edx+04H], eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 741: JIT compiled System.Linq.Enumerable+Iterator`1[int]:.ctor() [Tier0, IL size=18, code size=31] ; Assembly listing for method System.Collections.Utils+<>c__4`2[System.__Canon,System.__Canon]:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], ecx G_M000_IG02: mov ecx, dword ptr [ebp-08H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] call [System.Collections.Utils+<>c__4`2[System.__Canon,System.__Canon]:.ctor():this] mov ecx, dword ptr [ebp-08H] call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov ecx, gword ptr [ebp-0CH] mov edx, eax call CORINFO_HELP_ASSIGN_REF_ECX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 59 742: JIT compiled System.Collections.Utils+<>c__4`2[System.__Canon,System.__Canon]:.cctor() [Tier0, IL size=11, code size=59] ; Assembly listing for method System.Collections.Utils+<>c__4`2[System.__Canon,System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 743: JIT compiled System.Collections.Utils+<>c__4`2[System.__Canon,System.__Canon]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:Select[int,System.__Canon](System.Collections.Generic.IEnumerable`1[int],System.Func`2[int,System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 104 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-5CH], xmm4 vmovdqu xmmword ptr [ebp-4CH], xmm4 vmovdqu xmmword ptr [ebp-3CH], xmm4 vmovdqu xmmword ptr [ebp-2CH], xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: cmp gword ptr [ebp-0CH], 0 jne SHORT G_M000_IG04 mov ecx, 15 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG04: mov edx, gword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-10H], 0 je SHORT G_M000_IG09 mov edx, dword ptr [ebp+08H] mov edx, dword ptr [edx+0CH] mov dword ptr [ebp-60H], edx mov ecx, dword ptr [ebp-60H] cmp dword ptr [ecx+08H], 36 jle SHORT G_M000_IG07 G_M000_IG05: mov ecx, dword ptr [ebp-60H] cmp dword ptr [ecx+24H], 0 je SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp-60H] mov ecx, dword ptr [ecx+24H] mov dword ptr [ebp-54H], ecx jmp SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-54H], eax G_M000_IG08: push dword ptr [ebp-54H] mov ecx, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-58H], eax mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-0CH] mov eax, dword ptr [ebp-58H] call eax mov gword ptr [ebp-5CH], eax jmp G_M000_IG35 G_M000_IG09: mov edx, gword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-14H], eax cmp gword ptr [ebp-14H], 0 je G_M000_IG27 mov edx, gword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFARRAY] mov gword ptr [ebp-1CH], eax cmp gword ptr [ebp-1CH], 0 je G_M000_IG19 mov edx, gword ptr [ebp-1CH] cmp dword ptr [edx+04H], 0 je SHORT G_M000_IG14 mov edx, dword ptr [ebp+08H] mov edx, dword ptr [edx+0CH] mov dword ptr [ebp-64H], edx mov ecx, dword ptr [ebp-64H] cmp dword ptr [ecx+08H], 32 jle SHORT G_M000_IG12 G_M000_IG10: mov ecx, dword ptr [ebp-64H] cmp dword ptr [ecx+20H], 0 je SHORT G_M000_IG12 G_M000_IG11: mov ecx, dword ptr [ebp-64H] mov ecx, dword ptr [ecx+20H] mov dword ptr [ebp-50H], ecx jmp SHORT G_M000_IG13 G_M000_IG12: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-50H], eax G_M000_IG13: mov ecx, dword ptr [ebp-50H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-4CH], eax push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-4CH] mov edx, gword ptr [ebp-1CH] call [System.Linq.Enumerable+SelectArrayIterator`2[int,System.__Canon]:.ctor(int[],System.Func`2[int,System.__Canon]):this] mov ecx, gword ptr [ebp-4CH] mov gword ptr [ebp-24H], ecx mov ecx, gword ptr [ebp-24H] mov gword ptr [ebp-5CH], ecx jmp G_M000_IG35 G_M000_IG14: mov edx, dword ptr [ebp+08H] mov edx, dword ptr [edx+0CH] mov dword ptr [ebp-68H], edx mov ecx, dword ptr [ebp-68H] cmp dword ptr [ecx+08H], 28 jle SHORT G_M000_IG17 G_M000_IG15: mov ecx, dword ptr [ebp-68H] cmp dword ptr [ecx+1CH], 0 je SHORT G_M000_IG17 G_M000_IG16: mov ecx, dword ptr [ebp-68H] mov ecx, dword ptr [ecx+1CH] mov dword ptr [ebp-48H], ecx jmp SHORT G_M000_IG18 G_M000_IG17: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-48H], eax G_M000_IG18: mov ecx, dword ptr [ebp-48H] call [System.Linq.Enumerable:Empty[System.__Canon]():System.Collections.Generic.IEnumerable`1[System.__Canon]] mov gword ptr [ebp-5CH], eax jmp G_M000_IG35 G_M000_IG19: mov edx, gword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] mov gword ptr [ebp-20H], eax cmp gword ptr [ebp-20H], 0 je SHORT G_M000_IG23 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+18H], 0 je SHORT G_M000_IG21 G_M000_IG20: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+18H] mov dword ptr [ebp-44H], ecx jmp SHORT G_M000_IG22 G_M000_IG21: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-44H], eax G_M000_IG22: mov ecx, dword ptr [ebp-44H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-40H], eax push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-40H] mov edx, gword ptr [ebp-20H] call [System.Linq.Enumerable+SelectListIterator`2[int,System.__Canon]:.ctor(System.Collections.Generic.List`1[int],System.Func`2[int,System.__Canon]):this] mov ecx, gword ptr [ebp-40H] mov gword ptr [ebp-5CH], ecx jmp G_M000_IG35 G_M000_IG23: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+14H], 0 je SHORT G_M000_IG25 G_M000_IG24: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+14H] mov dword ptr [ebp-3CH], ecx jmp SHORT G_M000_IG26 G_M000_IG25: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-3CH], eax G_M000_IG26: mov ecx, dword ptr [ebp-3CH] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-38H], eax push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-38H] mov edx, gword ptr [ebp-14H] call [System.Linq.Enumerable+SelectIListIterator`2[int,System.__Canon]:.ctor(System.Collections.Generic.IList`1[int],System.Func`2[int,System.__Canon]):this] mov ecx, gword ptr [ebp-38H] mov gword ptr [ebp-5CH], ecx jmp G_M000_IG35 G_M000_IG27: mov edx, gword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-18H], eax cmp gword ptr [ebp-18H], 0 je SHORT G_M000_IG31 xor ecx, ecx mov gword ptr [ebp-28H], ecx mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG29 G_M000_IG28: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-34H], ecx jmp SHORT G_M000_IG30 G_M000_IG29: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-34H], eax G_M000_IG30: lea ecx, [ebp-28H] push ecx push dword ptr [ebp-34H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-18H] call [System.Linq.Enumerable:CreateSelectIPartitionIterator[System.__Canon,int](System.Func`2[int,System.__Canon],System.Linq.IPartition`1[int],byref)] cmp gword ptr [ebp-28H], 0 je SHORT G_M000_IG31 mov ecx, gword ptr [ebp-28H] mov gword ptr [ebp-5CH], ecx jmp SHORT G_M000_IG35 G_M000_IG31: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG33 G_M000_IG32: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-30H], ecx jmp SHORT G_M000_IG34 G_M000_IG33: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-30H], eax G_M000_IG34: mov ecx, dword ptr [ebp-30H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-2CH], eax push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-2CH] mov edx, gword ptr [ebp-08H] call [System.Linq.Enumerable+SelectEnumerableIterator`2[int,System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[int],System.Func`2[int,System.__Canon]):this] mov eax, gword ptr [ebp-2CH] mov gword ptr [ebp-5CH], eax G_M000_IG35: mov eax, gword ptr [ebp-5CH] G_M000_IG36: mov esp, ebp pop ebp ret 4 ; Total bytes of code 794 744: JIT compiled System.Linq.Enumerable:Select[int,System.__Canon](System.Collections.Generic.IEnumerable`1[int],System.Func`2[int,System.__Canon]) [Tier0, IL size=146, code size=794] ; Assembly listing for method System.Linq.Enumerable+RangeIterator:Select[System.__Canon](System.Func`2[int,System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, dword ptr [ebp-14H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-08H] mov edx, dword ptr [edx+10H] mov dword ptr [ebp-18H], edx mov edx, gword ptr [ebp-08H] push dword ptr [edx+14H] push gword ptr [ebp-0CH] mov edx, dword ptr [ebp-18H] mov ecx, gword ptr [ebp-10H] call [System.Linq.Enumerable+SelectRangeIterator`1[System.__Canon]:.ctor(int,int,System.Func`2[int,System.__Canon]):this] mov eax, gword ptr [ebp-10H] G_M000_IG06: mov esp, ebp pop ebp ret 4 ; Total bytes of code 115 745: JIT compiled System.Linq.Enumerable+RangeIterator:Select[System.__Canon](System.Func`2[int,System.__Canon]) [Tier0, IL size=19, code size=115] ; Assembly listing for method System.Linq.Enumerable+SelectRangeIterator`1[System.__Canon]:.ctor(int,int,System.Func`2[int,System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable+Iterator`1[System.__Canon]:.ctor():this] mov edx, gword ptr [ebp-04H] mov eax, dword ptr [ebp-08H] mov dword ptr [edx+14H], eax mov edx, gword ptr [ebp-04H] mov eax, dword ptr [ebp+0CH] mov dword ptr [edx+18H], eax mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+10H] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 59 746: JIT compiled System.Linq.Enumerable+SelectRangeIterator`1[System.__Canon]:.ctor(int,int,System.Func`2[int,System.__Canon]) [Tier0, IL size=28, code size=59] ; Assembly listing for method System.Linq.Enumerable+SelectRangeIterator`1[System.__Canon]:ToArray():System.__Canon[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 40 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-20H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-24H], ecx mov ecx, dword ptr [ebp-24H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov edx, dword ptr [ebp-24H] mov edx, dword ptr [edx+20H] mov edx, dword ptr [edx+04H] mov edx, dword ptr [edx+08H] mov dword ptr [ebp-0CH], edx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-24H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-0CH], eax G_M000_IG05: mov edx, gword ptr [ebp-04H] mov edx, dword ptr [edx+18H] mov ecx, gword ptr [ebp-04H] sub edx, dword ptr [ecx+14H] mov ecx, dword ptr [ebp-0CH] call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-28H], ecx mov ecx, dword ptr [ebp-28H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp-28H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp-28H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-10H], eax G_M000_IG08: push dword ptr [ebp-10H] lea ecx, [ebp-18H] mov edx, gword ptr [ebp-08H] call [System.Span`1[System.__Canon]:op_Implicit(System.__Canon[]):System.Span`1[System.__Canon]] push dword ptr [ebp-14H] push bword ptr [ebp-18H] mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx+14H] mov dword ptr [ebp-1CH], ecx mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+10H] mov gword ptr [ebp-20H], ecx mov ecx, gword ptr [ebp-04H] push dword ptr [ecx] mov ecx, dword ptr [ebp-1CH] mov edx, gword ptr [ebp-20H] call [System.Linq.Enumerable+SelectRangeIterator`1[System.__Canon]:Fill(System.Span`1[System.__Canon],int,System.Func`2[int,System.__Canon])] mov eax, gword ptr [ebp-08H] G_M000_IG09: mov esp, ebp pop ebp ret ; Total bytes of code 218 747: JIT compiled System.Linq.Enumerable+SelectRangeIterator`1[System.__Canon]:ToArray() [Tier0, IL size=44, code size=218] ; Assembly listing for method System.Linq.Enumerable+SelectRangeIterator`1[System.__Canon]:Fill(System.Span`1[System.__Canon],int,System.Func`2[int,System.__Canon]) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 8 xor eax, eax mov dword ptr [ebp-14H], eax mov esi, ecx mov edi, edx G_M000_IG02: xor ebx, ebx mov eax, dword ptr [ebp+10H] mov dword ptr [ebp-10H], eax test eax, eax jle SHORT G_M000_IG04 G_M000_IG03: mov ecx, bword ptr [ebp+0CH] lea edx, bword ptr [ecx+4*ebx] mov bword ptr [ebp-14H], edx mov ecx, gword ptr [edi+04H] mov edx, esi call [edi+0CH]System.Func`2[int,System.__Canon]:Invoke(int):System.__Canon:this mov edx, bword ptr [ebp-14H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX inc ebx inc esi mov eax, dword ptr [ebp-10H] cmp ebx, eax jl SHORT G_M000_IG03 G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 ; Total bytes of code 74 748: JIT compiled System.Linq.Enumerable+SelectRangeIterator`1[System.__Canon]:Fill(System.Span`1[System.__Canon],int,System.Func`2[int,System.__Canon]) [Tier-0 switched to FullOpts, IL size=44, code size=74] ; Assembly listing for method System.Collections.Utils+<>c__4`2[System.__Canon,System.__Canon]:b__4_0(int):System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-10H], ecx mov ecx, dword ptr [ebp-10H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-10H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-10H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-0CH], eax G_M000_IG05: mov ecx, dword ptr [ebp-0CH] call [System.Activator:CreateInstance[System.__Canon]():System.__Canon] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 79 749: JIT compiled System.Collections.Utils+<>c__4`2[System.__Canon,System.__Canon]:b__4_0(int) [Tier0, IL size=6, code size=79] ; Assembly listing for method System.Collections.Utils+<>c__DisplayClass4_0`2[System.__Canon,System.__Canon]:b__2(System.__Canon):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-14H], ecx mov ecx, dword ptr [ebp-14H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-14H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-14H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-0CH], eax G_M000_IG05: mov ecx, dword ptr [ebp-0CH] mov dword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-08H] mov eax, dword ptr [ebp-10H] nop call [eax] mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+04H] cmp eax, dword ptr [edx+04H] setl al movzx eax, al G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 102 750: JIT compiled System.Collections.Utils+<>c__DisplayClass4_0`2[System.__Canon,System.__Canon]:b__2(System.__Canon) [Tier0, IL size=24, code size=102] ; Assembly listing for method System.Collections.Utils+<>c__DisplayClass4_0`2[System.__Canon,System.__Canon]:b__1(System.__Canon):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-14H], ecx mov ecx, dword ptr [ebp-14H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-14H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-14H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-0CH], eax G_M000_IG05: mov ecx, dword ptr [ebp-0CH] mov dword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-08H] mov eax, dword ptr [ebp-10H] nop call [eax] mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+04H] cmp eax, dword ptr [edx+04H] setne al movzx eax, al G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 102 751: JIT compiled System.Collections.Utils+<>c__DisplayClass4_0`2[System.__Canon,System.__Canon]:b__1(System.__Canon) [Tier0, IL size=27, code size=102] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:WorkloadJittingStart(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 5 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 752: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:WorkloadJittingStart(long) [Tier0, IL size=9, code size=33] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:WorkloadActionUnroll(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx G_M000_IG02: xor edi, edi xor ebx, ebx cmp dword ptr [ebp+08H], 1 mov ecx, dword ptr [ebp+0CH] sbb ecx, 0 jl SHORT G_M000_IG04 G_M000_IG03: mov eax, gword ptr [esi+2CH] mov ecx, gword ptr [eax+04H] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke():this add edi, 1 adc ebx, 0 cmp edi, dword ptr [ebp+08H] mov eax, ebx sbb eax, dword ptr [ebp+0CH] jl SHORT G_M000_IG03 G_M000_IG04: pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 56 753: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:WorkloadActionUnroll(long) [Tier1, IL size=26, code size=56] ; Assembly listing for method System.Collections.Sort`1[System.__Canon]:List():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+0CH] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx+14H] mov dword ptr [ebp-08H], ecx mov ecx, dword ptr [ebp-08H] inc ecx mov eax, gword ptr [ebp-04H] mov dword ptr [eax+14H], ecx mov ecx, gword ptr [ebp-0CH] mov eax, dword ptr [ebp-08H] cmp eax, dword ptr [ecx+04H] jae SHORT G_M000_IG04 lea ecx, bword ptr [ecx+4*eax+08H] mov ecx, gword ptr [ecx] cmp dword ptr [ecx], ecx call [System.Collections.Generic.List`1[System.__Canon]:Sort():this] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 80 754: JIT compiled System.Collections.Sort`1[System.__Canon]:List() [Tier0, IL size=30, code size=80] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:WorkloadJittingStop(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 6 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 755: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:WorkloadJittingStop(long) [Tier0, IL size=9, code size=33] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_IterationCleanupAction():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+34H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 756: JIT compiled BenchmarkDotNet.Engines.Engine:get_IterationCleanupAction() [Tier0, IL size=7, code size=17] ; Assembly listing for method System.Collections.Sort`1[System.__Canon]:CleanupIteration():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] xor edx, edx mov dword ptr [eax+14H], edx G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 19 757: JIT compiled System.Collections.Sort`1[System.__Canon]:CleanupIteration() [Tier0, IL size=8, code size=19] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_Dummy3Action():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+1CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 758: JIT compiled BenchmarkDotNet.Engines.Engine:get_Dummy3Action() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:Dummy3():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] G_M000_IG03: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] G_M000_IG04: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+34H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 395 759: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:Dummy3() [Tier0, IL size=897, code size=395] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:WriteLine():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.Engine:get_Host():BenchmarkDotNet.Engines.IHost:this] mov ecx, eax call [BenchmarkDotNet.Engines.IHost:WriteLine():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 760: JIT compiled BenchmarkDotNet.Engines.Engine:WriteLine() [Tier0, IL size=12, code size=28] ; Assembly listing for method BenchmarkDotNet.Engines.DeadCodeEliminationHelper:KeepAliveWithoutBoxing[Perfolizer.Horology.TimeInterval](Perfolizer.Horology.TimeInterval) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: pop ebp ret 8 ; Total bytes of code 7 761: JIT compiled BenchmarkDotNet.Engines.DeadCodeEliminationHelper:KeepAliveWithoutBoxing[Perfolizer.Horology.TimeInterval](Perfolizer.Horology.TimeInterval) [Tier0, IL size=1, code size=7] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:Run():BenchmarkDotNet.Engines.RunResults:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 412 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-1A4H], xmm4 mov eax, -384 vmovdqu xmmword ptr [ebp+eax-14H], xmm4 vmovdqu xmmword ptr [ebp+eax-04H], xmm4 vmovdqu xmmword ptr [ebp+eax+0CH], xmm4 add eax, 48 jne SHORT -5 instr mov dword ptr [ebp-14H], eax mov gword ptr [ebp-0CH], ecx mov bword ptr [ebp-10H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-C8H], eax mov ecx, gword ptr [ebp-C8H] call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:.ctor():this] mov edx, gword ptr [ebp-C8H] mov gword ptr [ebp-14H], edx mov edx, gword ptr [ebp-0CH] mov edx, gword ptr [edx+48H] mov ecx, gword ptr [ebp-14H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddRange(System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]):this] mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.Engine:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-CCH], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-D0H], ecx mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.Engine:get_Resolver():BenchmarkDotNet.Characteristics.IResolver:this] push eax push 0 push 1 mov edx, gword ptr [ebp-D0H] mov ecx, gword ptr [ebp-CCH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[long](BenchmarkDotNet.Characteristics.Characteristic`1[long],BenchmarkDotNet.Characteristics.IResolver,long):long:this] mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-18H], edx mov ecx, gword ptr [D1FFAB1EH] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventSource:IsEnabled():bool:this] test eax, eax je SHORT G_M000_IG03 mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-180H], ecx mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.Engine:get_BenchmarkName():System.String:this] mov gword ptr [ebp-184H], eax mov edx, gword ptr [ebp-184H] mov ecx, gword ptr [ebp-180H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineEventSource:BenchmarkStart(System.String):this] G_M000_IG03: mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.Engine:get_Strategy():int:this] cmp eax, 1 je G_M000_IG06 mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.Engine:get_Strategy():int:this] cmp eax, 2 je G_M000_IG05 mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+4CH] lea edx, [ebp-6CH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EnginePilotStage:Run():BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:this] lea ecx, [ebp-6CH] call [BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:get_PerfectInvocationCount():long:this] mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-18H], edx lea ecx, [ebp-6CH] call [BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:get_Measurements():System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this] mov gword ptr [ebp-188H], eax mov edx, gword ptr [ebp-188H] mov ecx, gword ptr [ebp-14H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddRange(System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]):this] mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.Engine:get_EvaluateOverhead():bool:this] test eax, eax je G_M000_IG05 mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+50H] mov gword ptr [ebp-178H], ecx push dword ptr [ebp-18H] push dword ptr [ebp-1CH] mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.Engine:get_UnrollFactor():int:this] mov dword ptr [ebp-18CH], eax mov edx, dword ptr [ebp-18CH] mov ecx, gword ptr [ebp-178H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineWarmupStage:RunOverhead(long,int):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this] mov gword ptr [ebp-190H], eax mov edx, gword ptr [ebp-190H] mov ecx, gword ptr [ebp-14H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddRange(System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]):this] mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+54H] mov gword ptr [ebp-17CH], ecx push dword ptr [ebp-18H] push dword ptr [ebp-1CH] mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.Engine:get_UnrollFactor():int:this] mov dword ptr [ebp-194H], eax mov edx, dword ptr [ebp-194H] mov ecx, gword ptr [ebp-17CH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineActualStage:RunOverhead(long,int):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this] mov gword ptr [ebp-198H], eax G_M000_IG04: mov edx, gword ptr [ebp-198H] mov ecx, gword ptr [ebp-14H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddRange(System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]):this] G_M000_IG05: mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+50H] mov gword ptr [ebp-170H], ecx mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.Engine:get_UnrollFactor():int:this] mov dword ptr [ebp-174H], eax push dword ptr [ebp-18H] push dword ptr [ebp-1CH] mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.Engine:get_Strategy():int:this] push eax mov edx, dword ptr [ebp-174H] mov ecx, gword ptr [ebp-170H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineWarmupStage:RunWorkload(long,int,int):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this] mov gword ptr [ebp-19CH], eax mov edx, gword ptr [ebp-19CH] mov ecx, gword ptr [ebp-14H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddRange(System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]):this] G_M000_IG06: mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.Engine:get_Host():BenchmarkDotNet.Engines.IHost:this] mov ecx, eax call [BenchmarkDotNet.Engines.HostExtensions:BeforeMainRun(BenchmarkDotNet.Engines.IHost)] mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+54H] mov gword ptr [ebp-D4H], ecx mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.Engine:get_UnrollFactor():int:this] mov dword ptr [ebp-D8H], eax push dword ptr [ebp-18H] push dword ptr [ebp-1CH] mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.Engine:get_Strategy():int:this] xor edx, edx cmp eax, 2 sete dl push edx mov edx, dword ptr [ebp-D8H] mov ecx, gword ptr [ebp-D4H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineActualStage:RunWorkload(long,int,bool):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this] mov gword ptr [ebp-1A0H], eax mov edx, gword ptr [ebp-1A0H] mov ecx, gword ptr [ebp-14H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddRange(System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]):this] mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.Engine:get_Host():BenchmarkDotNet.Engines.IHost:this] mov ecx, eax call [BenchmarkDotNet.Engines.HostExtensions:AfterMainRun(BenchmarkDotNet.Engines.IHost)] mov ecx, gword ptr [ebp-0CH] movzx ecx, byte ptr [ecx+67H] test ecx, ecx jne SHORT G_M000_IG07 mov ecx, 0xD1FFAB1E vmovdqu ymm0, ymmword ptr [ecx] vmovdqu ymmword ptr [ebp-16CH], ymm0 lea ecx, [ebp-84H] call [BenchmarkDotNet.Engines.ThreadingStats:get_Empty():BenchmarkDotNet.Engines.ThreadingStats] vmovdqu ymm0, ymmword ptr [ebp-16CH] vmovdqu ymmword ptr [ebp-3CH], ymm0 vmovdqu xmm0, xmmword ptr [ebp-84H] vmovdqu xmmword ptr [ebp-54H], xmm0 vmovdqu xmm0, xmmword ptr [ebp-7CH] vmovdqu xmmword ptr [ebp-4CH], xmm0 vxorps xmm0, xmm0, xmm0 vmovsd qword ptr [ebp-5CH], xmm0 jmp G_M000_IG08 G_M000_IG07: vxorps ymm0, ymm0, ymm0 vmovdqu ymmword ptr [ebp-F8H], ymm0 push 3 push 0 push dword ptr [ebp-18H] push dword ptr [ebp-1CH] mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.Engine:get_UnrollFactor():int:this] push eax lea ecx, [ebp-F8H] mov edx, 1 call [BenchmarkDotNet.Engines.IterationData:.ctor(int,int,int,long,int):this] sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp-F8H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-E8H] vmovdqu xmmword ptr [esp+10H], xmm0 lea edx, [ebp-C4H] mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.Engine:GetExtraStats(BenchmarkDotNet.Engines.IterationData):System.ValueTuple`3[BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.ThreadingStats,double]:this] vmovdqu ymm0, ymmword ptr [ebp-BCH] vmovdqu ymmword ptr [ebp-3CH], ymm0 vmovdqu xmm0, xmmword ptr [ebp-9CH] vmovdqu xmmword ptr [ebp-54H], xmm0 vmovdqu xmm0, xmmword ptr [ebp-94H] vmovdqu xmmword ptr [ebp-4CH], xmm0 vmovsd xmm0, qword ptr [ebp-C4H] vmovsd qword ptr [ebp-5CH], xmm0 G_M000_IG08: mov ecx, gword ptr [D1FFAB1EH] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventSource:IsEnabled():bool:this] test eax, eax je SHORT G_M000_IG09 mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-14CH], ecx mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.Engine:get_BenchmarkName():System.String:this] mov gword ptr [ebp-1A4H], eax mov edx, gword ptr [ebp-1A4H] mov ecx, gword ptr [ebp-14CH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineEventSource:BenchmarkStop(System.String):this] G_M000_IG09: mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.Engine:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-FCH], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-100H], ecx mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.Engine:get_Resolver():BenchmarkDotNet.Characteristics.IResolver:this] push eax mov edx, gword ptr [ebp-100H] mov ecx, gword ptr [ebp-FCH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver):int:this] mov dword ptr [ebp-60H], eax push dword ptr [ebp-60H] sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp-3CH] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-2CH] vmovdqu xmmword ptr [esp+10H], xmm0 sub esp, 24 vmovdqu xmm0, xmmword ptr [ebp-54H] vmovdqu xmmword ptr [esp], xmm0 vmovq xmm0, qword ptr [ebp-44H] vmovq qword ptr [esp+10H], xmm0 vmovsd xmm0, qword ptr [ebp-5CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-148H] mov edx, gword ptr [ebp-14H] call [BenchmarkDotNet.Engines.RunResults:.ctor(System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement],int,BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.ThreadingStats,double):this] mov edi, bword ptr [ebp-10H] lea esi, bword ptr [ebp-148H] movsd movsd call CORINFO_HELP_ASSIGN_BYREF mov ecx, 15 rep movsd G_M000_IG10: vzeroupper lea esp, [ebp-08H] pop esi pop edi pop ebp ret ; Total bytes of code 1205 762: JIT compiled BenchmarkDotNet.Engines.Engine:Run() [Tier0, IL size=419, code size=1205] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov ecx, 0xD1FFAB1E mov edx, 46 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov eax, gword ptr [D1FFAB1EH] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 51 763: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:.ctor() [Tier0, IL size=18, code size=51] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E xor edx, edx call CORINFO_HELP_NEWARR_1_MAYBEFROZEN mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: pop ebp ret ; Total bytes of code 27 764: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:.cctor() [Tier0, IL size=12, code size=27] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddRange(System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 56 vzeroupper xor eax, eax mov dword ptr [ebp-18H], eax mov esi, ecx mov edi, edx G_M000_IG02: test edi, edi je G_M000_IG19 mov edx, edi mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov ebx, eax test ebx, ebx je SHORT G_M000_IG08 G_M000_IG03: mov ecx, ebx call [System.Collections.Generic.ICollection`1[BenchmarkDotNet.Reports.Measurement]:get_Count():int:this] mov edi, eax test edi, edi jle G_M000_IG17 mov ecx, gword ptr [esi+04H] mov edx, dword ptr [ecx+04H] mov eax, dword ptr [esi+08H] sub edx, eax cmp edx, edi jge SHORT G_M000_IG06 add eax, edi jo G_M000_IG18 cmp dword ptr [ecx+04H], 0 je SHORT G_M000_IG04 mov edx, dword ptr [ecx+04H] add edx, edx jmp SHORT G_M000_IG05 G_M000_IG04: mov edx, 4 G_M000_IG05: mov ecx, 0xD1FFAB1E cmp edx, 0xD1FFAB1E cmova edx, ecx cmp edx, eax cmovl edx, eax mov ecx, esi call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:set_Capacity(int):this] G_M000_IG06: mov edx, gword ptr [esi+04H] push dword ptr [esi+08H] mov ecx, ebx call [System.Collections.Generic.ICollection`1[BenchmarkDotNet.Reports.Measurement]:CopyTo(BenchmarkDotNet.Reports.Measurement[],int):this] add dword ptr [esi+08H], edi inc dword ptr [esi+0CH] G_M000_IG07: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG08: mov ecx, edi call [System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]:GetEnumerator():System.Collections.Generic.IEnumerator`1[BenchmarkDotNet.Reports.Measurement]:this] mov gword ptr [ebp-44H], eax G_M000_IG09: mov ecx, eax call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG14 G_M000_IG10: lea edx, [ebp-40H] mov ecx, gword ptr [ebp-44H] call [System.Collections.Generic.IEnumerator`1[BenchmarkDotNet.Reports.Measurement]:get_Current():BenchmarkDotNet.Reports.Measurement:this] inc dword ptr [esi+0CH] mov ecx, gword ptr [esi+04H] mov eax, dword ptr [esi+08H] mov edx, dword ptr [ecx+04H] cmp edx, eax jbe SHORT G_M000_IG12 G_M000_IG11: lea edx, [eax+01H] mov dword ptr [esi+08H], edx shl eax, 5 vmovdqu ymm0, ymmword ptr [ebp-40H] vmovdqu ymmword ptr [ecx+eax+08H], ymm0 jmp SHORT G_M000_IG13 G_M000_IG12: sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp-40H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-30H] vmovdqu xmmword ptr [esp+10H], xmm0 mov ecx, esi call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddWithResize(BenchmarkDotNet.Reports.Measurement):this] G_M000_IG13: mov ecx, gword ptr [ebp-44H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG10 G_M000_IG14: mov ecx, gword ptr [ebp-44H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG17 G_M000_IG15: cmp gword ptr [ebp-44H], 0 je SHORT G_M000_IG16 mov ecx, gword ptr [ebp-44H] call [System.IDisposable:Dispose():this] G_M000_IG16: pop eax jmp eax G_M000_IG17: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG18: call CORINFO_HELP_OVERFLOW G_M000_IG19: mov ecx, 23 call [System.ThrowHelper:ThrowArgumentNullException(int)] int3 ; Total bytes of code 340 765: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddRange(System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]) [Tier-0 switched to FullOpts, IL size=152, code size=340] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Count():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 766: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Count() [Tier0, IL size=7, code size=17] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:set_Capacity(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, dword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] cmp ecx, dword ptr [edx+08H] jge SHORT G_M000_IG03 mov ecx, 7 mov edx, 15 call [System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)] G_M000_IG03: mov edx, dword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] cmp edx, dword ptr [ecx+04H] je SHORT G_M000_IG07 cmp dword ptr [ebp-08H], 0 jle SHORT G_M000_IG06 mov edx, dword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx+08H], 0 jle SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-04H] push dword ptr [ecx+08H] mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-0CH] call [System.Array:Copy(System.Array,System.Array,int)] G_M000_IG04: mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-0CH] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG05: mov esp, ebp pop ebp ret G_M000_IG06: mov eax, gword ptr [D1FFAB1EH] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG07: mov esp, ebp pop ebp ret ; Total bytes of code 157 767: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:set_Capacity(int) [Tier0, IL size=86, code size=157] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:CopyTo(BenchmarkDotNet.Reports.Measurement[],int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-0CH], ecx push gword ptr [ebp-08H] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] push dword ptr [ecx+08H] mov ecx, gword ptr [ebp-0CH] xor edx, edx call [System.Array:Copy(System.Array,int,System.Array,int,int)] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 55 768: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:CopyTo(BenchmarkDotNet.Reports.Measurement[],int) [Tier0, IL size=21, code size=55] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[long](BenchmarkDotNet.Characteristics.Characteristic`1[long],BenchmarkDotNet.Characteristics.IResolver,long):long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push 0xD1FFAB1E mov ecx, gword ptr [ebp+10H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-0CH], eax push gword ptr [ebp-08H] push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp+10H] mov edx, gword ptr [ebp-04H] mov eax, dword ptr [ebp-0CH] call eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], edx mov eax, dword ptr [ebp-14H] mov edx, dword ptr [ebp-10H] G_M000_IG03: mov esp, ebp pop ebp ret 12 ; Total bytes of code 71 769: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[long](BenchmarkDotNet.Characteristics.Characteristic`1[long],BenchmarkDotNet.Characteristics.IResolver,long) [Tier0, IL size=10, code size=71] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[long](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[long],long):long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-14H] call [BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass6_0`1[long]:.ctor():this] mov edx, gword ptr [ebp-14H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+10H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-0CH] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax je SHORT G_M000_IG04 mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[long]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):long:this] mov dword ptr [ebp-28H], eax mov dword ptr [ebp-24H], edx mov eax, dword ptr [ebp-28H] mov edx, dword ptr [ebp-24H] G_M000_IG03: mov esp, ebp pop ebp ret 12 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-1CH], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push 0xD1FFAB1E mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-18H] call [System.Linq.Enumerable:FirstOrDefault[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.__Canon] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-10H], 0 je SHORT G_M000_IG06 push 0xD1FFAB1E mov ecx, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-20H], eax mov ecx, gword ptr [ebp-0CH] push gword ptr [ecx+04H] push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-08H] mov eax, dword ptr [ebp-20H] call eax mov dword ptr [ebp-30H], eax mov dword ptr [ebp-2CH], edx mov eax, dword ptr [ebp-30H] mov edx, dword ptr [ebp-2CH] G_M000_IG05: mov esp, ebp pop ebp ret 12 G_M000_IG06: mov eax, dword ptr [ebp+08H] mov edx, dword ptr [ebp+0CH] G_M000_IG07: mov esp, ebp pop ebp ret 12 ; Total bytes of code 263 770: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[long](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[long],long) [Tier0, IL size=84, code size=263] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass6_0`1[long]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 771: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass6_0`1[long]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[long]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[long](BenchmarkDotNet.Characteristics.Characteristic`1[long]):long:this] mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], edx mov eax, dword ptr [ebp-10H] mov edx, dword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 42 772: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[long]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=8, code size=42] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[long](BenchmarkDotNet.Characteristics.Characteristic`1[long]):long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue(BenchmarkDotNet.Characteristics.Characteristic):System.Object:this] mov gword ptr [ebp-0CH], eax mov edx, gword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] mov bword ptr [ebp-10H], eax mov eax, bword ptr [ebp-10H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-10H] mov edx, dword ptr [edx+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 67 773: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[long](BenchmarkDotNet.Characteristics.Characteristic`1[long]) [Tier0, IL size=13, code size=67] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_BenchmarkName():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+40H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 774: JIT compiled BenchmarkDotNet.Engines.Engine:get_BenchmarkName() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:BenchmarkStart(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] mov edx, 1 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 33 775: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:BenchmarkStart(System.String) [Tier0, IL size=9, code size=33] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_Strategy():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+60H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 776: JIT compiled BenchmarkDotNet.Engines.Engine:get_Strategy() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EnginePilotStage:Run():BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 36 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-24H], xmm4 xor eax, eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-0CH], ecx mov bword ptr [ebp-10H], edx G_M000_IG02: mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.EngineStage:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-20H], eax mov ecx, gword ptr [ebp-20H] mov edx, gword ptr [D1FFAB1EH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax je SHORT G_M000_IG04 mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.EngineStage:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov ecx, eax cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.Job:get_Run():BenchmarkDotNet.Jobs.RunMode:this] mov ecx, eax cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.RunMode:get_InvocationCount():long:this] mov dword ptr [ebp-2CH], eax mov dword ptr [ebp-28H], edx push dword ptr [ebp-28H] push dword ptr [ebp-2CH] lea ecx, [ebp-1CH] call [BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:.ctor(long):this] mov edi, bword ptr [ebp-10H] lea esi, bword ptr [ebp-1CH] movsd movsd call CORINFO_HELP_ASSIGN_BYREF G_M000_IG03: lea esp, [ebp-08H] pop esi pop edi pop ebp ret G_M000_IG04: mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.EngineStage:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-24H], eax mov ecx, gword ptr [ebp-24H] mov edx, gword ptr [D1FFAB1EH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax jne SHORT G_M000_IG06 mov ecx, gword ptr [ebp-0CH] mov edx, bword ptr [ebp-10H] call [BenchmarkDotNet.Engines.EnginePilotStage:RunAuto():BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:this] G_M000_IG05: lea esp, [ebp-08H] pop esi pop edi pop ebp ret G_M000_IG06: mov ecx, gword ptr [ebp-0CH] mov edx, bword ptr [ebp-10H] call [BenchmarkDotNet.Engines.EnginePilotStage:RunSpecific():BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:this] G_M000_IG07: lea esp, [ebp-08H] pop esi pop edi pop ebp ret ; Total bytes of code 202 777: JIT compiled BenchmarkDotNet.Engines.EnginePilotStage:Run() [Tier0, IL size=72, code size=202] ; Assembly listing for method BenchmarkDotNet.Engines.EngineStage:get_TargetJob():BenchmarkDotNet.Jobs.Job:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] call [BenchmarkDotNet.Engines.IEngine:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 23 778: JIT compiled BenchmarkDotNet.Engines.EngineStage:get_TargetJob() [Tier0, IL size=12, code size=23] ; Assembly listing for method BenchmarkDotNet.Jobs.Job:get_Run():BenchmarkDotNet.Jobs.RunMode:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [D1FFAB1EH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):System.__Canon:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 779: JIT compiled BenchmarkDotNet.Jobs.Job:get_Run() [Tier0, IL size=12, code size=28] ; Assembly listing for method BenchmarkDotNet.Jobs.RunMode:get_InvocationCount():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [D1FFAB1EH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[long]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):long:this] mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], edx mov eax, dword ptr [ebp-0CH] mov edx, dword ptr [ebp-08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 42 780: JIT compiled BenchmarkDotNet.Jobs.RunMode:get_InvocationCount() [Tier0, IL size=12, code size=42] ; Assembly listing for method BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:.ctor(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov edx, dword ptr [ebp+08H] mov dword ptr [eax], edx mov eax, dword ptr [ebp+0CH] mov edx, bword ptr [ebp-08H] mov dword ptr [edx+04H], eax call [System.Array:Empty[BenchmarkDotNet.Reports.Measurement]():BenchmarkDotNet.Reports.Measurement[]] mov edx, bword ptr [ebp-04H] lea edx, bword ptr [edx+08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 60 781: JIT compiled BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:.ctor(long) [Tier0, IL size=19, code size=60] ; Assembly listing for method System.Array:Empty[BenchmarkDotNet.Reports.Measurement]():BenchmarkDotNet.Reports.Measurement[] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 50 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov eax, gword ptr [D1FFAB1EH] G_M000_IG03: pop ebp ret ; Total bytes of code 25 782: JIT compiled System.Array:Empty[BenchmarkDotNet.Reports.Measurement]() [Tier0, IL size=6, code size=25] ; Assembly listing for method System.Array+EmptyArray`1[BenchmarkDotNet.Reports.Measurement]:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E xor edx, edx call CORINFO_HELP_NEWARR_1_MAYBEFROZEN mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: pop ebp ret ; Total bytes of code 27 783: JIT compiled System.Array+EmptyArray`1[BenchmarkDotNet.Reports.Measurement]:.cctor() [Tier0, IL size=12, code size=27] ; Assembly listing for method BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:get_PerfectInvocationCount():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 35 784: JIT compiled BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:get_PerfectInvocationCount() [Tier0, IL size=7, code size=35] ; Assembly listing for method BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:get_Measurements():System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, gword ptr [eax+08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 785: JIT compiled BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:get_Measurements() [Tier0, IL size=7, code size=17] ; Assembly listing for method System.SZArrayHelper:get_Count[BenchmarkDotNet.Reports.Measurement]():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov gword ptr [ebp-08H], eax mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 786: JIT compiled System.SZArrayHelper:get_Count[BenchmarkDotNet.Reports.Measurement]() [Tier0, IL size=11, code size=30] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_EvaluateOverhead():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+65H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 18 787: JIT compiled BenchmarkDotNet.Engines.Engine:get_EvaluateOverhead() [Tier0, IL size=7, code size=18] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_UnrollFactor():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+5CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 788: JIT compiled BenchmarkDotNet.Engines.Engine:get_UnrollFactor() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineWarmupStage:RunOverhead(long,int):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] push dword ptr [ebp-08H] push 0 mov ecx, gword ptr [ebp-04H] xor edx, edx call [BenchmarkDotNet.Engines.EngineWarmupStage:Run(long,int,int,int):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 40 789: JIT compiled BenchmarkDotNet.Engines.EngineWarmupStage:RunOverhead(long,int) [Tier0, IL size=11, code size=40] ; Assembly listing for method BenchmarkDotNet.Engines.EngineWarmupStage:Run(long,int,int,int):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 427 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] call [BenchmarkDotNet.Engines.IEngine:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] call [BenchmarkDotNet.Engines.IEngine:get_Resolver():BenchmarkDotNet.Characteristics.IResolver:this] push eax push dword ptr [ebp-08H] push dword ptr [ebp+08H] mov edx, gword ptr [ebp-14H] mov ecx, gword ptr [ebp-10H] mov eax, gword ptr [ebp-10H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+18H]BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:CreateWarmup(BenchmarkDotNet.Jobs.Job,BenchmarkDotNet.Characteristics.IResolver,int,int):BenchmarkDotNet.Engines.IStoppingCriteria:this mov gword ptr [ebp-0CH], eax push dword ptr [ebp+14H] push dword ptr [ebp+10H] push dword ptr [ebp-08H] push 2 push dword ptr [ebp+0CH] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.EngineStage:Run(BenchmarkDotNet.Engines.IStoppingCriteria,long,int,int,int):System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:this] G_M000_IG03: mov esp, ebp pop ebp ret 16 ; Total bytes of code 133 790: JIT compiled BenchmarkDotNet.Engines.EngineWarmupStage:Run(long,int,int,int) [Tier0, IL size=48, code size=133] ; Assembly listing for method BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 791: JIT compiled BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 792: JIT compiled BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:CreateWarmup(BenchmarkDotNet.Jobs.Job,BenchmarkDotNet.Characteristics.IResolver,int,int):BenchmarkDotNet.Engines.IStoppingCriteria:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: cmp dword ptr [ebp+0CH], 0 je SHORT G_M000_IG04 cmp dword ptr [ebp+0CH], 1 je SHORT G_M000_IG06 G_M000_IG03: jmp SHORT G_M000_IG08 G_M000_IG04: mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+14H]BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:CreateWarmupOverhead():BenchmarkDotNet.Engines.IStoppingCriteria:this G_M000_IG05: mov esp, ebp pop ebp ret 12 G_M000_IG06: push gword ptr [ebp+10H] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+10H]BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:CreateWarmupWorkload(BenchmarkDotNet.Jobs.Job,BenchmarkDotNet.Characteristics.IResolver,int):BenchmarkDotNet.Engines.IStoppingCriteria:this G_M000_IG07: mov esp, ebp pop ebp ret 12 G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov eax, dword ptr [ebp+0CH] mov dword ptr [ecx+04H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, 0xFD0A mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-14H], eax push gword ptr [ebp-0CH] push 0 mov edx, gword ptr [ebp-14H] mov ecx, gword ptr [ebp-10H] call [System.ArgumentOutOfRangeException:.ctor(System.String,System.Object,System.String):this] mov ecx, gword ptr [ebp-10H] call CORINFO_HELP_THROW int3 ; Total bytes of code 165 793: JIT compiled BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:CreateWarmup(BenchmarkDotNet.Jobs.Job,BenchmarkDotNet.Characteristics.IResolver,int,int) [Tier0, IL size=45, code size=165] ; Assembly listing for method BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:CreateWarmupOverhead():BenchmarkDotNet.Engines.IStoppingCriteria:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax push 10 push 4 mov ecx, gword ptr [ebp-08H] mov edx, 4 call [BenchmarkDotNet.Engines.AutoWarmupStoppingCriteria:.ctor(int,int,int):this] mov eax, gword ptr [ebp-08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 52 794: JIT compiled BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:CreateWarmupOverhead() [Tier0, IL size=10, code size=52] ; Assembly listing for method BenchmarkDotNet.Engines.AutoWarmupStoppingCriteria:.ctor(int,int,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-20H], xmm4 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.StoppingCriteriaBase:.ctor():this] mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov dword ptr [ecx+18H], edx mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp+0CH] mov dword ptr [ecx+1CH], edx mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp+08H] mov dword ptr [ecx+20H], edx push 1 lea ecx, [ebp-20H] mov edx, 46 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] lea ecx, [ebp-20H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-20H] mov edx, dword ptr [ebp+0CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this] lea ecx, [ebp-20H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-20H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+10H] call CORINFO_HELP_ASSIGN_REF_EAX push 2 lea ecx, [ebp-20H] mov edx, 89 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] lea ecx, [ebp-20H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-20H] mov edx, dword ptr [ebp+08H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this] lea ecx, [ebp-20H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-20H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-20H] mov edx, dword ptr [ebp-08H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this] lea ecx, [ebp-20H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-20H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+14H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 263 795: JIT compiled BenchmarkDotNet.Engines.AutoWarmupStoppingCriteria:.ctor(int,int,int) [Tier0, IL size=170, code size=263] ; Assembly listing for method BenchmarkDotNet.Engines.StoppingCriteriaBase:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR push eax mov edx, gword ptr [ebp-04H] mov ecx, gword ptr [ebp-08H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-08H] call [System.Lazy`1[System.__Canon]:.ctor(System.Func`1[System.__Canon]):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp-0CH] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR push eax mov edx, gword ptr [ebp-04H] mov ecx, gword ptr [ebp-10H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-10H] call [System.Lazy`1[int]:.ctor(System.Func`1[int]):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov ecx, gword ptr [ebp-14H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-04H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-1CH], eax mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-18H] call [System.Lazy`1[System.__Canon]:.ctor(System.Func`1[System.__Canon]):this] mov edx, gword ptr [ebp-04H] G_M000_IG03: lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp-1CH] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 274 796: JIT compiled BenchmarkDotNet.Engines.StoppingCriteriaBase:.ctor() [Tier0, IL size=78, code size=274] ; Assembly listing for method BenchmarkDotNet.Engines.EngineStage:Run(BenchmarkDotNet.Engines.IStoppingCriteria,long,int,int,int):System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 60 vzeroupper xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-40H], eax mov dword ptr [ebp-3CH], eax mov edi, ecx mov esi, edx mov ebx, dword ptr [ebp+10H] G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-48H], eax mov ecx, esi call [BenchmarkDotNet.Engines.IStoppingCriteria:get_MaxIterationCount():int:this] mov edx, eax mov ecx, gword ptr [ebp-48H] call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:.ctor(int):this] mov eax, gword ptr [ebp-48H] mov gword ptr [ebp-44H], eax push eax lea edx, [ebp-18H] mov ecx, esi call [BenchmarkDotNet.Engines.IStoppingCriteria:Evaluate(System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]):BenchmarkDotNet.Engines.StoppingResult:this] cmp byte ptr [ebp-14H], 0 je SHORT G_M000_IG05 G_M000_IG03: mov ecx, gword ptr [edi+04H] call [BenchmarkDotNet.Engines.IEngine:WriteLine():this] mov eax, gword ptr [ebp-44H] G_M000_IG04: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 20 G_M000_IG05: xor edx, edx G_M000_IG06: inc edx mov dword ptr [ebp+10H], ebx push ebx push dword ptr [ebp+0CH] mov dword ptr [ebp-10H], edx push edx push dword ptr [ebp+18H] push dword ptr [ebp+14H] push dword ptr [ebp+08H] lea edx, [ebp-38H] mov ecx, edi call [BenchmarkDotNet.Engines.EngineStage:RunIteration(int,int,int,long,int):BenchmarkDotNet.Reports.Measurement:this] mov eax, gword ptr [ebp-44H] inc dword ptr [eax+0CH] mov ecx, gword ptr [eax+04H] mov edx, dword ptr [eax+08H] mov ebx, dword ptr [ecx+04H] cmp ebx, edx jbe SHORT G_M000_IG08 G_M000_IG07: lea ebx, [edx+01H] mov dword ptr [eax+08H], ebx shl edx, 5 vmovdqu ymm0, ymmword ptr [ebp-38H] vmovdqu ymmword ptr [ecx+edx+08H], ymm0 jmp SHORT G_M000_IG09 G_M000_IG08: sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp-38H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-28H] vmovdqu xmmword ptr [esp+10H], xmm0 mov ecx, eax call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddWithResize(BenchmarkDotNet.Reports.Measurement):this] mov eax, gword ptr [ebp-44H] G_M000_IG09: push eax lea edx, [ebp-40H] mov ecx, esi call [BenchmarkDotNet.Engines.IStoppingCriteria:Evaluate(System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]):BenchmarkDotNet.Engines.StoppingResult:this] cmp byte ptr [ebp-3CH], 0 mov edx, dword ptr [ebp-10H] mov ebx, dword ptr [ebp+10H] je G_M000_IG06 G_M000_IG10: mov ecx, gword ptr [edi+04H] call [BenchmarkDotNet.Engines.IEngine:WriteLine():this] mov eax, gword ptr [ebp-44H] G_M000_IG11: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 20 ; Total bytes of code 277 797: JIT compiled BenchmarkDotNet.Engines.EngineStage:Run(BenchmarkDotNet.Engines.IStoppingCriteria,long,int,int,int) [Tier-0 switched to FullOpts, IL size=81, code size=277] ; Assembly listing for method BenchmarkDotNet.Engines.StoppingCriteriaBase:get_MaxIterationCount():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] cmp dword ptr [ecx], ecx call [System.Lazy`1[int]:get_Value():int:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 25 798: JIT compiled BenchmarkDotNet.Engines.StoppingCriteriaBase:get_MaxIterationCount() [Tier0, IL size=12, code size=25] ; Assembly listing for method System.Lazy`1[int]:get_Value():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] cmp gword ptr [ecx+04H], 0 je SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] call [System.Lazy`1[int]:CreateValue():int:this] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+0CH] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 39 799: JIT compiled System.Lazy`1[int]:get_Value() [Tier0, IL size=24, code size=39] ; Assembly listing for method System.Lazy`1[int]:CreateValue():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-08H], ecx cmp gword ptr [ebp-08H], 0 je G_M000_IG12 mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.LazyHelper:get_State():int:this] mov dword ptr [ebp-0CH], eax cmp dword ptr [ebp-0CH], 8 ja SHORT G_M000_IG03 mov ecx, dword ptr [ebp-0CH] lea eax, [@RWD00] mov eax, dword ptr [eax+4*ecx] lea edx, G_M000_IG02 add eax, edx jmp eax G_M000_IG03: jmp SHORT G_M000_IG11 G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [System.Lazy`1[int]:ViaConstructor():this] jmp SHORT G_M000_IG12 G_M000_IG05: mov ecx, gword ptr [ebp-04H] xor edx, edx call [System.Lazy`1[int]:ViaFactory(int):this] jmp SHORT G_M000_IG12 G_M000_IG06: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Lazy`1[int]:PublicationOnlyViaConstructor(System.LazyHelper):this] jmp SHORT G_M000_IG12 G_M000_IG07: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Lazy`1[int]:PublicationOnlyViaFactory(System.LazyHelper):this] jmp SHORT G_M000_IG12 G_M000_IG08: mov ecx, gword ptr [ebp-04H] call [System.Lazy`1[int]:PublicationOnlyWaitForOtherThreadToPublish():this] jmp SHORT G_M000_IG12 G_M000_IG09: push 1 mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Lazy`1[int]:ExecutionAndPublication(System.LazyHelper,bool):this] jmp SHORT G_M000_IG12 G_M000_IG10: push 0 mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Lazy`1[int]:ExecutionAndPublication(System.LazyHelper,bool):this] jmp SHORT G_M000_IG12 G_M000_IG11: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.LazyHelper:ThrowException():this] G_M000_IG12: mov ecx, gword ptr [ebp-04H] call [System.Lazy`1[int]:get_Value():int:this] G_M000_IG13: mov esp, ebp pop ebp ret RWD00 dd G_M000_IG04 - G_M000_IG02 dd G_M000_IG05 - G_M000_IG02 dd G_M000_IG11 - G_M000_IG02 dd G_M000_IG06 - G_M000_IG02 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG08 - G_M000_IG02 dd G_M000_IG11 - G_M000_IG02 dd G_M000_IG09 - G_M000_IG02 dd G_M000_IG10 - G_M000_IG02 ; Total bytes of code 196 800: JIT compiled System.Lazy`1[int]:CreateValue() [Tier0, IL size=139, code size=196] ; Assembly listing for method System.Lazy`1[int]:ExecutionAndPublication(System.LazyHelper,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; fully interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 xor eax, eax mov dword ptr [ebp-20H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-18H], ecx mov gword ptr [ebp-1CH], edx G_M000_IG02: mov edx, gword ptr [ebp-1CH] mov gword ptr [ebp-20H], edx xor edx, edx mov dword ptr [ebp-24H], edx G_M000_IG03: lea edx, [ebp-24H] mov ecx, gword ptr [ebp-20H] call [System.Threading.Monitor:Enter(System.Object,byref)] mov ecx, gword ptr [ebp-18H] mov ecx, gword ptr [ecx+04H] cmp ecx, gword ptr [ebp-1CH] jne SHORT G_M000_IG05 mov ecx, dword ptr [ebp+08H] movzx ecx, cl test ecx, ecx je SHORT G_M000_IG04 mov ecx, gword ptr [ebp-18H] call [System.Lazy`1[int]:ViaConstructor():this] mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG06 jmp SHORT G_M000_IG08 G_M000_IG04: mov ecx, gword ptr [ebp-18H] mov edx, 2 call [System.Lazy`1[int]:ViaFactory(int):this] G_M000_IG05: mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG07 jmp SHORT G_M000_IG08 G_M000_IG06: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG10 G_M000_IG07: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG10 G_M000_IG08: mov ecx, dword ptr [ebp-24H] movzx ecx, cl test ecx, ecx je SHORT G_M000_IG09 mov ecx, gword ptr [ebp-20H] call System.Threading.Monitor:Exit(System.Object) G_M000_IG09: pop eax jmp eax G_M000_IG10: mov esp, ebp pop ebp ret 4 ; Total bytes of code 174 801: JIT compiled System.Lazy`1[int]:ExecutionAndPublication(System.LazyHelper,bool) [Tier0, IL size=54, code size=174] ; Assembly listing for method System.Lazy`1[int]:ViaFactory(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 52 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-34H], xmm4 xor eax, eax mov dword ptr [ebp-24H], eax mov dword ptr [ebp-20H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-18H], ecx mov dword ptr [ebp-1CH], edx G_M000_IG02: mov ecx, gword ptr [ebp-18H] mov ecx, gword ptr [ecx+08H] mov gword ptr [ebp-20H], ecx cmp gword ptr [ebp-20H], 0 jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-28H], eax call [System.SR:get_Lazy_Value_RecursiveCallsToValue():System.String] mov gword ptr [ebp-34H], eax mov edx, gword ptr [ebp-34H] mov ecx, gword ptr [ebp-28H] call [System.InvalidOperationException:.ctor(System.String):this] mov ecx, gword ptr [ebp-28H] call CORINFO_HELP_THROW G_M000_IG04: mov ecx, gword ptr [ebp-18H] xor eax, eax mov gword ptr [ecx+08H], eax mov ecx, gword ptr [ebp-20H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-20H] call [eax+0CH]System.Func`1[int]:Invoke():int:this mov ecx, gword ptr [ebp-18H] mov dword ptr [ecx+0CH], eax mov ecx, gword ptr [ebp-18H] xor eax, eax mov gword ptr [ecx+04H], eax jmp SHORT G_M000_IG06 G_M000_IG05: mov gword ptr [ebp-2CH], eax mov ecx, gword ptr [ebp-2CH] mov gword ptr [ebp-24H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-30H], eax push gword ptr [ebp-24H] mov ecx, gword ptr [ebp-30H] mov edx, dword ptr [ebp-1CH] call [System.LazyHelper:.ctor(int,System.Exception):this] mov edx, gword ptr [ebp-18H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-30H] call CORINFO_HELP_ASSIGN_REF_EAX call CORINFO_HELP_RETHROW int3 G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 186 802: JIT compiled System.Lazy`1[int]:ViaFactory(int) [Tier0, IL size=70, code size=186] ; Assembly listing for method BenchmarkDotNet.Engines.AutoWarmupStoppingCriteria:GetMaxIterationCount():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+1CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 803: JIT compiled BenchmarkDotNet.Engines.AutoWarmupStoppingCriteria:GetMaxIterationCount() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.AutoWarmupStoppingCriteria:Evaluate(System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]):BenchmarkDotNet.Engines.StoppingResult:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 6 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 56 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-38H], xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 mov esi, ecx mov edi, edx mov ebx, gword ptr [ebp+08H] G_M000_IG02: mov ecx, ebx call [System.Collections.Generic.IReadOnlyCollection`1[BenchmarkDotNet.Reports.Measurement]:get_Count():int:this] mov dword ptr [ebp-10H], eax cmp eax, dword ptr [esi+1CH] jl SHORT G_M000_IG05 G_M000_IG03: mov eax, gword ptr [esi+10H] mov edx, edi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov byte ptr [edi+04H], 1 G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG05: cmp eax, dword ptr [esi+18H] jge SHORT G_M000_IG08 test byte ptr [D1FFAB1EH], 1 je G_M000_IG18 G_M000_IG06: mov esi, gword ptr [D1FFAB1EH] add esi, 4 call CORINFO_HELP_ASSIGN_BYREF movsd G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG08: mov bword ptr [ebp-44H], edi mov dword ptr [ebp-14H], -1 xor edx, edx mov dword ptr [ebp-18H], edx mov edi, 1 cmp eax, 1 jle SHORT G_M000_IG13 G_M000_IG09: push edi lea edx, [ebp-38H] mov ecx, ebx call [System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:get_Item(int):BenchmarkDotNet.Reports.Measurement:this] vmovsd xmm0, qword ptr [ebp-20H] vmovsd qword ptr [ebp-40H], xmm0 lea edx, [edi-01H] push edx lea edx, [ebp-38H] mov ecx, ebx call [System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:get_Item(int):BenchmarkDotNet.Reports.Measurement:this] vmovsd xmm0, qword ptr [ebp-40H] vsubsd xmm0, xmm0, qword ptr [ebp-20H] sub esp, 8 vmovsd qword ptr [esp], xmm0 call [System.Math:Sign(double):int] mov ecx, eax mov edx, dword ptr [ebp-14H] cmp ecx, edx jne SHORT G_M000_IG11 G_M000_IG10: test ecx, ecx jne SHORT G_M000_IG12 G_M000_IG11: mov edx, ecx mov ecx, dword ptr [ebp-18H] inc ecx mov dword ptr [ebp-18H], ecx G_M000_IG12: inc edi mov eax, dword ptr [ebp-10H] cmp edi, eax mov dword ptr [ebp-14H], edx jl SHORT G_M000_IG09 G_M000_IG13: mov ecx, dword ptr [ebp-18H] cmp ecx, dword ptr [esi+20H] jge SHORT G_M000_IG16 test byte ptr [D1FFAB1EH], 1 je SHORT G_M000_IG19 G_M000_IG14: mov esi, gword ptr [D1FFAB1EH] add esi, 4 mov edi, bword ptr [ebp-44H] call CORINFO_HELP_ASSIGN_BYREF movsd G_M000_IG15: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG16: mov ecx, gword ptr [esi+14H] mov edx, bword ptr [ebp-44H] call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX mov edi, bword ptr [ebp-44H] mov byte ptr [edi+04H], 1 G_M000_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG18: mov ecx, 0xD1FFAB1E mov edx, 431 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M000_IG06 G_M000_IG19: mov ecx, 0xD1FFAB1E mov edx, 431 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp SHORT G_M000_IG14 ; Total bytes of code 345 804: JIT compiled BenchmarkDotNet.Engines.AutoWarmupStoppingCriteria:Evaluate(System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]) [Tier-0 switched to FullOpts, IL size=144, code size=345] ; Assembly listing for method BenchmarkDotNet.Engines.StoppingResult:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 8 xor eax, eax mov dword ptr [ebp-10H], eax G_M000_IG02: xor ecx, ecx mov dword ptr [ebp-10H], ecx mov dword ptr [ebp-0CH], ecx push 0 lea ecx, [ebp-10H] xor edx, edx call [BenchmarkDotNet.Engines.StoppingResult:.ctor(bool,System.String):this] mov edi, gword ptr [D1FFAB1EH] add edi, 4 lea esi, bword ptr [ebp-10H] call CORINFO_HELP_ASSIGN_BYREF movsd G_M000_IG03: lea esp, [ebp-08H] pop esi pop edi pop ebp ret ; Total bytes of code 59 805: JIT compiled BenchmarkDotNet.Engines.StoppingResult:.cctor() [Tier0, IL size=13, code size=59] ; Assembly listing for method BenchmarkDotNet.Engines.StoppingResult:.ctor(bool,System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov edx, bword ptr [ebp-04H] mov eax, dword ptr [ebp-08H] mov byte ptr [edx+04H], al mov edx, bword ptr [ebp-04H] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 38 806: JIT compiled BenchmarkDotNet.Engines.StoppingResult:.ctor(bool,System.String) [Tier0, IL size=15, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.EngineStage:RunIteration(int,int,int,long,int):BenchmarkDotNet.Reports.Measurement:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 100 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-58H], xmm4 vmovdqu xmmword ptr [ebp-48H], xmm4 vmovdqu xmmword ptr [ebp-38H], xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 vmovdqu xmmword ptr [ebp-18H], xmm4 mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: push dword ptr [ebp+10H] push dword ptr [ebp+0CH] mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-5CH], eax mov eax, dword ptr [ebp-5CH] sar eax, 31 push eax push dword ptr [ebp-5CH] call CORINFO_HELP_LMOD mov dword ptr [ebp-64H], eax mov dword ptr [ebp-60H], edx mov ecx, dword ptr [ebp-64H] or ecx, dword ptr [ebp-60H] je G_M000_IG04 G_M000_IG03: push 2 lea ecx, [ebp-20H] mov edx, 53 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] mov ecx, 0xF9CC mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-4CH], eax mov edx, gword ptr [ebp-4CH] lea ecx, [ebp-20H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] push dword ptr [ebp+10H] push dword ptr [ebp+0CH] lea ecx, [ebp-20H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[long](long):this] mov ecx, 0xF9E6 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-50H], eax mov edx, gword ptr [ebp-50H] lea ecx, [ebp-20H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] lea ecx, [ebp-20H] mov edx, dword ptr [ebp+08H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this] mov ecx, 0x696 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-54H], eax mov edx, gword ptr [ebp-54H] lea ecx, [ebp-20H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-48H], eax lea ecx, [ebp-20H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] mov gword ptr [ebp-58H], eax mov edx, gword ptr [ebp-58H] mov ecx, gword ptr [ebp-48H] call [System.ArgumentOutOfRangeException:.ctor(System.String):this] mov ecx, gword ptr [ebp-48H] call CORINFO_HELP_THROW G_M000_IG04: vxorps ymm0, ymm0, ymm0 vmovdqu ymmword ptr [ebp-40H], ymm0 mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-44H], ecx push dword ptr [ebp+18H] push dword ptr [ebp+14H] push dword ptr [ebp+10H] push dword ptr [ebp+0CH] push dword ptr [ebp+08H] lea ecx, [ebp-40H] mov edx, dword ptr [ebp+1CH] call [BenchmarkDotNet.Engines.IterationData:.ctor(int,int,int,long,int):this] sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp-40H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-30H] vmovdqu xmmword ptr [esp+10H], xmm0 mov ecx, gword ptr [ebp-44H] mov edx, bword ptr [ebp-08H] call [BenchmarkDotNet.Engines.IEngine:RunIteration(BenchmarkDotNet.Engines.IterationData):BenchmarkDotNet.Reports.Measurement:this] G_M000_IG05: mov esp, ebp pop ebp ret 24 ; Total bytes of code 354 807: JIT compiled BenchmarkDotNet.Engines.EngineStage:RunIteration(int,int,int,long,int) [Tier0, IL size=109, code size=354] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:OverheadWarmupStart(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 9 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 808: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:OverheadWarmupStart(long) [Tier0, IL size=10, code size=33] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:OverheadWarmupStop(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 10 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 809: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:OverheadWarmupStop(long) [Tier0, IL size=10, code size=33] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Item(int):BenchmarkDotNet.Reports.Measurement:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 vzeroupper mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov eax, dword ptr [ebp+08H] mov edx, gword ptr [ebp-04H] cmp eax, dword ptr [edx+08H] jb SHORT G_M000_IG03 call [System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException()] G_M000_IG03: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+04H] mov edx, dword ptr [ebp+08H] cmp edx, dword ptr [eax+04H] jae SHORT G_M000_IG05 imul ecx, edx, 32 lea eax, bword ptr [eax+ecx+08H] mov edx, bword ptr [ebp-08H] vmovdqu ymm0, ymmword ptr [eax] vmovdqu ymmword ptr [edx], ymm0 G_M000_IG04: vzeroupper mov esp, ebp pop ebp ret 4 G_M000_IG05: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 79 810: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Item(int) [Tier0, IL size=27, code size=79] ; Assembly listing for method BenchmarkDotNet.Engines.EngineActualStage:RunOverhead(long,int):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] push dword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] xor edx, edx call [BenchmarkDotNet.Engines.EngineActualStage:RunAuto(long,int,int):System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 38 811: JIT compiled BenchmarkDotNet.Engines.EngineActualStage:RunOverhead(long,int) [Tier0, IL size=10, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.EngineActualStage:RunAuto(long,int,int):System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 10 single block inlinees; 4 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 204 vzeroupper vxorps xmm4, xmm4, xmm4 mov eax, -96 vmovdqu xmmword ptr [ebp+eax-28H], xmm4 vmovdqu xmmword ptr [ebp+eax-18H], xmm4 vmovdqu xmmword ptr [ebp+eax-08H], xmm4 add eax, 48 jne SHORT -5 instr mov dword ptr [ebp-28H], eax mov dword ptr [ebp-24H], eax mov esi, ecx mov edi, edx mov ebx, dword ptr [ebp+08H] G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-D4H], eax mov edx, dword ptr [esi+1CH] mov ecx, eax call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:.ctor(int):this] mov eax, gword ptr [ebp-D4H] mov gword ptr [ebp-CCH], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-D8H], eax mov edx, dword ptr [esi+1CH] mov ecx, eax call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:.ctor(int):this] mov eax, gword ptr [ebp-D8H] mov gword ptr [ebp-D0H], eax xor edx, edx xor ecx, ecx test edi, edi sete cl mov dword ptr [ebp-18H], ecx test ecx, ecx jne SHORT G_M000_IG04 G_M000_IG03: vmovsd xmm0, qword ptr [esi+0CH] jmp SHORT G_M000_IG05 G_M000_IG04: vmovsd xmm0, qword ptr [@RWD00] G_M000_IG05: vmovsd qword ptr [ebp-20H], xmm0 G_M000_IG06: inc edx mov dword ptr [ebp-10H], edi push edi push 3 mov dword ptr [ebp-14H], edx push edx push dword ptr [ebp+10H] push dword ptr [ebp+0CH] mov dword ptr [ebp+08H], ebx push ebx lea edx, [ebp-40H] mov ecx, esi call [BenchmarkDotNet.Engines.EngineStage:RunIteration(int,int,int,long,int):BenchmarkDotNet.Reports.Measurement:this] mov eax, gword ptr [ebp-CCH] inc dword ptr [eax+0CH] mov ecx, gword ptr [eax+04H] mov edx, dword ptr [eax+08H] cmp dword ptr [ecx+04H], edx jbe SHORT G_M000_IG08 G_M000_IG07: lea ebx, [edx+01H] mov dword ptr [eax+08H], ebx shl edx, 5 vmovdqu ymm0, ymmword ptr [ebp-40H] vmovdqu ymmword ptr [ecx+edx+08H], ymm0 jmp SHORT G_M000_IG09 G_M000_IG08: sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp-40H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-30H] vmovdqu xmmword ptr [esp+10H], xmm0 mov ecx, eax call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddWithResize(BenchmarkDotNet.Reports.Measurement):this] mov eax, gword ptr [ebp-CCH] G_M000_IG09: mov edx, gword ptr [ebp-D0H] inc dword ptr [edx+0CH] mov ecx, gword ptr [edx+04H] mov ebx, dword ptr [edx+08H] cmp dword ptr [ecx+04H], ebx jbe SHORT G_M000_IG11 G_M000_IG10: lea edi, [ebx+01H] mov dword ptr [edx+08H], edi shl ebx, 5 vmovdqu ymm0, ymmword ptr [ebp-40H] vmovdqu ymmword ptr [ecx+ebx+08H], ymm0 jmp SHORT G_M000_IG12 G_M000_IG11: sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp-40H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-30H] vmovdqu xmmword ptr [esp+10H], xmm0 mov ecx, edx call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddWithResize(BenchmarkDotNet.Reports.Measurement):this] mov edx, gword ptr [ebp-D0H] G_M000_IG12: push dword ptr [esi+14H] lea ecx, [ebp-88H] call [BenchmarkDotNet.Mathematics.MeasurementsStatistics:Calculate(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int):BenchmarkDotNet.Mathematics.MeasurementsStatistics] vmovdqu ymm0, ymmword ptr [ebp-78H] vmovdqu ymmword ptr [ebp-C0H], ymm0 vmovdqu ymm0, ymmword ptr [ebp-60H] vmovdqu ymmword ptr [ebp-A8H], ymm0 vmovsd xmm0, qword ptr [ebp-A0H] vmovsd xmm1, qword ptr [ebp-20H] vmulsd xmm2, xmm1, qword ptr [ebp-80H] lea ecx, bword ptr [esi+2CH] cmp byte ptr [ecx], 0 jne SHORT G_M000_IG14 G_M000_IG13: vmovsd xmm3, qword ptr [@RWD08] jmp SHORT G_M000_IG15 G_M000_IG14: vmovsd xmm3, qword ptr [ecx+08H] G_M000_IG15: vucomisd xmm2, xmm3 jp SHORT G_M000_IG16 je SHORT G_M000_IG18 G_M000_IG16: vucomisd xmm2, xmm2 jp SHORT G_M000_IG19 vucomisd xmm3, xmm2 ja SHORT G_M000_IG19 G_M000_IG17: jmp SHORT G_M000_IG20 G_M000_IG18: vmovsd qword ptr [ebp-C8H], xmm2 cmp dword ptr [ebp-C4H], 0 jge SHORT G_M000_IG17 G_M000_IG19: vmovaps xmm3, xmm2 G_M000_IG20: mov ebx, dword ptr [ebp-14H] cmp ebx, dword ptr [esi+18H] jl SHORT G_M000_IG22 G_M000_IG21: vucomisd xmm3, xmm0 ja SHORT G_M000_IG24 G_M000_IG22: cmp ebx, dword ptr [esi+1CH] jge SHORT G_M000_IG24 mov ecx, dword ptr [ebp-18H] test ecx, ecx mov edx, ebx mov ebx, dword ptr [ebp+08H] mov edi, dword ptr [ebp-10H] je G_M000_IG06 G_M000_IG23: cmp edx, 20 jl G_M000_IG06 G_M000_IG24: mov ecx, gword ptr [esi+04H] call [BenchmarkDotNet.Engines.IEngine:WriteLine():this] mov eax, gword ptr [ebp-CCH] G_M000_IG25: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 RWD00 dq 3FA999999999999Ah ; 0.05 RWD08 dq 7FEFFFFFFFFFFFFFh ; 1.79769313e+308 ; Total bytes of code 566 812: JIT compiled BenchmarkDotNet.Engines.EngineActualStage:RunAuto(long,int,int) [Tier-0 switched to FullOpts, IL size=225, code size=566] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:OverheadActualStart(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 11 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 813: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:OverheadActualStart(long) [Tier0, IL size=10, code size=33] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:OverheadActualStop(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 12 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 814: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:OverheadActualStop(long) [Tier0, IL size=10, code size=33] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:Calculate(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int):BenchmarkDotNet.Mathematics.MeasurementsStatistics ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 364 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-154H], xmm4 vmovdqu xmmword ptr [ebp-144H], xmm4 mov eax, -288 vmovdqu xmmword ptr [ebp+eax-14H], xmm4 vmovdqu xmmword ptr [ebp+eax-04H], xmm4 vmovdqu xmmword ptr [ebp+eax+0CH], xmm4 add eax, 48 jne SHORT -5 instr mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov bword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Count():int:this] mov dword ptr [ebp-0CH], eax cmp dword ptr [ebp-0CH], 0 jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-150H], eax mov ecx, 0x9B8E mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-154H], eax mov edx, gword ptr [ebp-154H] mov ecx, gword ptr [ebp-150H] call [System.InvalidOperationException:.ctor(System.String):this] mov ecx, gword ptr [ebp-150H] call CORINFO_HELP_THROW G_M000_IG04: mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Mathematics.MeasurementsStatistics:Sum(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]):double] fstp qword ptr [ebp-16CH] vmovsd xmm0, qword ptr [ebp-16CH] vmovsd qword ptr [ebp-14H], xmm0 vmovsd xmm0, qword ptr [ebp-14H] vxorps xmm1, xmm1, xmm1 vcvtsi2sd xmm1, xmm1, dword ptr [ebp-0CH] vdivsd xmm0, xmm0, xmm1 vmovsd qword ptr [ebp-1CH], xmm0 vmovsd xmm0, qword ptr [ebp-1CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-0CH] call [BenchmarkDotNet.Mathematics.MeasurementsStatistics:Variance(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int,double):double] fstp qword ptr [ebp-16CH] vmovsd xmm0, qword ptr [ebp-16CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 call System.Math:Sqrt(double):double fstp qword ptr [ebp-16CH] vmovsd xmm0, qword ptr [ebp-16CH] vmovsd qword ptr [ebp-ACH], xmm0 vxorps xmm0, xmm0, xmm0 vcvtsi2sd xmm0, xmm0, dword ptr [ebp-0CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 call System.Math:Sqrt(double):double fstp qword ptr [ebp-16CH] vmovsd xmm1, qword ptr [ebp-ACH] vmovsd xmm0, qword ptr [ebp-16CH] vdivsd xmm0, xmm1, xmm0 vmovsd qword ptr [ebp-24H], xmm0 vmovsd xmm0, qword ptr [ebp-1CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 vmovsd xmm0, qword ptr [ebp-24H] sub esp, 8 vmovsd qword ptr [esp], xmm0 push 12 lea ecx, [ebp-5CH] mov edx, dword ptr [ebp-0CH] call [Perfolizer.Mathematics.Common.ConfidenceInterval:.ctor(double,double,int,int):this] cmp dword ptr [ebp+08H], 0 jne G_M000_IG07 vxorps ymm0, ymm0, ymm0 vmovdqu ymmword ptr [ebp-14CH], ymm0 vmovdqu ymmword ptr [ebp-12CH], ymm0 vmovdqu xmmword ptr [ebp-114H], xmm0 vmovsd xmm0, qword ptr [ebp-24H] sub esp, 8 vmovsd qword ptr [esp], xmm0 vmovsd xmm0, qword ptr [ebp-1CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 sub esp, 56 vmovdqu xmm0, xmmword ptr [ebp-5CH] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-4CH] vmovdqu xmmword ptr [esp+10H], xmm0 G_M000_IG05: vmovdqu xmm0, xmmword ptr [ebp-3CH] vmovdqu xmmword ptr [esp+20H], xmm0 vmovq xmm0, qword ptr [ebp-2CH] vmovq qword ptr [esp+30H], xmm0 lea ecx, [ebp-14CH] call [BenchmarkDotNet.Mathematics.MeasurementsStatistics:.ctor(double,double,Perfolizer.Mathematics.Common.ConfidenceInterval):this] mov ecx, bword ptr [ebp-04H] vmovdqu ymm0, ymmword ptr [ebp-14CH] vmovdqu ymmword ptr [ecx], ymm0 vmovdqu ymm0, ymmword ptr [ebp-12CH] vmovdqu ymmword ptr [ecx+20H], ymm0 vmovdqu xmm0, xmmword ptr [ebp-114H] vmovdqu xmmword ptr [ecx+38H], xmm0 G_M000_IG06: mov esp, ebp pop ebp ret 4 G_M000_IG07: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:Sort():this] cmp dword ptr [ebp-0CH], 1 jne SHORT G_M000_IG08 push 0 lea edx, [ebp-A4H] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Item(int):BenchmarkDotNet.Reports.Measurement:this] lea ecx, [ebp-A4H] call [BenchmarkDotNet.Reports.Measurement:get_Nanoseconds():double:this] fstp qword ptr [ebp-16CH] vmovsd xmm0, qword ptr [ebp-16CH] vmovsd qword ptr [ebp-104H], xmm0 vmovsd xmm0, qword ptr [ebp-104H] vmovsd qword ptr [ebp-6CH], xmm0 vmovsd xmm0, qword ptr [ebp-104H] vmovsd qword ptr [ebp-64H], xmm0 jmp G_M000_IG09 G_M000_IG08: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Count():int:this] mov dword ptr [ebp-160H], eax mov edx, dword ptr [ebp-160H] shr edx, 31 add edx, dword ptr [ebp-160H] sar edx, 1 mov dword ptr [ebp-158H], edx mov edx, dword ptr [ebp-158H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Mathematics.MeasurementsStatistics:GetQuartile(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int):double] fstp qword ptr [ebp-16CH] vmovsd xmm0, qword ptr [ebp-16CH] vmovsd qword ptr [ebp-64H], xmm0 mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Count():int:this] lea edx, [eax+2*eax] mov dword ptr [ebp-164H], edx mov edx, dword ptr [ebp-164H] shr edx, 31 add edx, dword ptr [ebp-164H] sar edx, 1 mov dword ptr [ebp-15CH], edx mov edx, dword ptr [ebp-15CH] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Mathematics.MeasurementsStatistics:GetQuartile(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int):double] fstp qword ptr [ebp-16CH] vmovsd xmm0, qword ptr [ebp-16CH] vmovsd qword ptr [ebp-6CH], xmm0 G_M000_IG09: vmovsd xmm0, qword ptr [ebp-6CH] vsubsd xmm0, xmm0, qword ptr [ebp-64H] vmovsd qword ptr [ebp-74H], xmm0 vmovsd xmm0, qword ptr [ebp-64H] vmovsd xmm1, qword ptr [ebp-74H] vmulsd xmm1, xmm1, qword ptr [@RWD00] vsubsd xmm0, xmm0, xmm1 vmovsd qword ptr [ebp-7CH], xmm0 vmovsd xmm0, qword ptr [ebp-74H] vmulsd xmm0, xmm0, qword ptr [@RWD00] vaddsd xmm0, xmm0, qword ptr [ebp-6CH] vmovsd qword ptr [ebp-84H], xmm0 vmovsd xmm0, qword ptr [ebp-7CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 vmovsd xmm0, qword ptr [ebp-84H] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-14H] push ecx lea ecx, [ebp-0CH] push ecx mov ecx, dword ptr [ebp+08H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Mathematics.MeasurementsStatistics:SumWithoutOutliers(int,System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],double,double,byref,byref)] vmovsd xmm0, qword ptr [ebp-14H] vxorps xmm1, xmm1, xmm1 vcvtsi2sd xmm1, xmm1, dword ptr [ebp-0CH] vdivsd xmm0, xmm0, xmm1 vmovsd qword ptr [ebp-1CH], xmm0 push dword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-1CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 vmovsd xmm0, qword ptr [ebp-7CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 vmovsd xmm0, qword ptr [ebp-84H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, dword ptr [ebp+08H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Mathematics.MeasurementsStatistics:VarianceWithoutOutliers(int,System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int,double,double,double):double] fstp qword ptr [ebp-16CH] vmovsd xmm0, qword ptr [ebp-16CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 call System.Math:Sqrt(double):double fstp qword ptr [ebp-16CH] vmovsd xmm0, qword ptr [ebp-16CH] vmovsd qword ptr [ebp-B4H], xmm0 vxorps xmm0, xmm0, xmm0 vcvtsi2sd xmm0, xmm0, dword ptr [ebp-0CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 call System.Math:Sqrt(double):double fstp qword ptr [ebp-16CH] vmovsd xmm1, qword ptr [ebp-B4H] vmovsd xmm0, qword ptr [ebp-16CH] vdivsd xmm0, xmm1, xmm0 vmovsd qword ptr [ebp-24H], xmm0 vmovsd xmm0, qword ptr [ebp-1CH] G_M000_IG10: sub esp, 8 vmovsd qword ptr [esp], xmm0 vmovsd xmm0, qword ptr [ebp-24H] sub esp, 8 vmovsd qword ptr [esp], xmm0 push 12 lea ecx, [ebp-5CH] mov edx, dword ptr [ebp-0CH] call [Perfolizer.Mathematics.Common.ConfidenceInterval:.ctor(double,double,int,int):this] vxorps ymm0, ymm0, ymm0 vmovdqu ymmword ptr [ebp-FCH], ymm0 vmovdqu ymmword ptr [ebp-DCH], ymm0 vmovdqu xmmword ptr [ebp-C4H], xmm0 vmovsd xmm0, qword ptr [ebp-24H] sub esp, 8 vmovsd qword ptr [esp], xmm0 vmovsd xmm0, qword ptr [ebp-1CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 sub esp, 56 vmovdqu xmm0, xmmword ptr [ebp-5CH] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-4CH] vmovdqu xmmword ptr [esp+10H], xmm0 vmovdqu xmm0, xmmword ptr [ebp-3CH] vmovdqu xmmword ptr [esp+20H], xmm0 vmovq xmm0, qword ptr [ebp-2CH] vmovq qword ptr [esp+30H], xmm0 lea ecx, [ebp-FCH] call [BenchmarkDotNet.Mathematics.MeasurementsStatistics:.ctor(double,double,Perfolizer.Mathematics.Common.ConfidenceInterval):this] mov ecx, bword ptr [ebp-04H] vmovdqu ymm0, ymmword ptr [ebp-FCH] vmovdqu ymmword ptr [ecx], ymm0 vmovdqu ymm0, ymmword ptr [ebp-DCH] vmovdqu ymmword ptr [ecx+20H], ymm0 vmovdqu xmm0, xmmword ptr [ebp-C4H] vmovdqu xmmword ptr [ecx+38H], xmm0 G_M000_IG11: mov esp, ebp pop ebp ret 4 RWD00 dq 3FF8000000000000h ; 1.5 ; Total bytes of code 1298 815: JIT compiled BenchmarkDotNet.Mathematics.MeasurementsStatistics:Calculate(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int) [Tier0, IL size=257, code size=1298] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:Sum(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 5 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 156 vzeroupper vxorps xmm4, xmm4, xmm4 mov eax, -144 vmovdqu xmmword ptr [ebp+eax-0CH], xmm4 vmovdqu xmmword ptr [ebp+eax+04H], xmm4 vmovdqu xmmword ptr [ebp+eax+14H], xmm4 add eax, 48 jne SHORT -5 instr G_M000_IG02: vxorps xmm0, xmm0, xmm0 mov gword ptr [ebp-9CH], ecx mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-94H], ecx vxorps ymm1, ymm1, ymm1 vmovdqu ymmword ptr [ebp-8CH], ymm1 lea edi, bword ptr [ebp-4CH] lea esi, bword ptr [ebp-9CH] mov ecx, 12 rep movsd jmp SHORT G_M000_IG04 G_M000_IG03: vmovdqu ymm1, ymmword ptr [ebp-3CH] vmovdqu ymmword ptr [ebp-6CH], ymm1 vaddsd xmm0, xmm0, qword ptr [ebp-54H] G_M000_IG04: mov eax, gword ptr [ebp-4CH] mov edx, dword ptr [ebp-44H] cmp edx, dword ptr [eax+0CH] jne SHORT G_M000_IG08 G_M000_IG05: mov edx, dword ptr [ebp-48H] mov ecx, dword ptr [eax+08H] cmp edx, ecx jae SHORT G_M000_IG06 mov eax, gword ptr [eax+04H] mov ecx, edx cmp ecx, dword ptr [eax+04H] jae SHORT G_M000_IG09 shl ecx, 5 vmovdqu ymm1, ymmword ptr [eax+ecx+08H] vmovdqu ymmword ptr [ebp-3CH], ymm1 inc edx mov dword ptr [ebp-48H], edx jmp SHORT G_M000_IG03 G_M000_IG06: vmovsd qword ptr [ebp-A4H], xmm0 fld qword ptr [ebp-A4H] G_M000_IG07: vzeroupper lea esp, [ebp-08H] pop esi pop edi pop ebp ret G_M000_IG08: call [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()] int3 G_M000_IG09: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 198 816: JIT compiled BenchmarkDotNet.Mathematics.MeasurementsStatistics:Sum(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]) [Tier-0 switched to FullOpts, IL size=64, code size=198] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:Variance(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int,double):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 6 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 156 vzeroupper vxorps xmm4, xmm4, xmm4 mov eax, -144 vmovdqu xmmword ptr [ebp+eax-0CH], xmm4 vmovdqu xmmword ptr [ebp+eax+04H], xmm4 vmovdqu xmmword ptr [ebp+eax+14H], xmm4 add eax, 48 jne SHORT -5 instr vmovsd xmm0, qword ptr [ebp+08H] G_M000_IG02: cmp edx, 1 jne SHORT G_M000_IG05 G_M000_IG03: vxorps xmm0, xmm0, xmm0 vmovsd qword ptr [ebp-A4H], xmm0 fld qword ptr [ebp-A4H] G_M000_IG04: vzeroupper lea esp, [ebp-08H] pop esi pop edi pop ebp ret 8 G_M000_IG05: vxorps xmm1, xmm1, xmm1 mov gword ptr [ebp-9CH], ecx mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-94H], ecx vxorps ymm2, ymm2, ymm2 vmovdqu ymmword ptr [ebp-8CH], ymm2 lea edi, bword ptr [ebp-4CH] lea esi, bword ptr [ebp-9CH] mov ecx, 12 rep movsd jmp SHORT G_M000_IG07 G_M000_IG06: vmovdqu ymm2, ymmword ptr [ebp-3CH] vmovdqu ymmword ptr [ebp-6CH], ymm2 vmovsd xmm2, qword ptr [ebp-54H] vsubsd xmm2, xmm2, xmm0 vmulsd xmm2, xmm2, xmm2 lea eax, [edx-01H] vxorps xmm3, xmm3, xmm3 vcvtsi2sd xmm3, xmm3, eax vdivsd xmm2, xmm2, xmm3 vaddsd xmm1, xmm2, xmm1 G_M000_IG07: mov eax, gword ptr [ebp-4CH] mov ecx, dword ptr [ebp-44H] cmp ecx, dword ptr [eax+0CH] jne SHORT G_M000_IG10 mov ecx, dword ptr [ebp-48H] mov esi, dword ptr [eax+08H] cmp ecx, esi jae SHORT G_M000_IG08 mov eax, gword ptr [eax+04H] mov esi, ecx cmp esi, dword ptr [eax+04H] jae SHORT G_M000_IG11 shl esi, 5 vmovdqu ymm2, ymmword ptr [eax+esi+08H] vmovdqu ymmword ptr [ebp-3CH], ymm2 inc ecx mov dword ptr [ebp-48H], ecx jmp SHORT G_M000_IG06 G_M000_IG08: vmovsd qword ptr [ebp-A4H], xmm1 fld qword ptr [ebp-A4H] G_M000_IG09: vzeroupper lea esp, [ebp-08H] pop esi pop edi pop ebp ret 8 G_M000_IG10: call [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()] int3 G_M000_IG11: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 267 817: JIT compiled BenchmarkDotNet.Mathematics.MeasurementsStatistics:Variance(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int,double) [Tier-0 switched to FullOpts, IL size=95, code size=267] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceInterval:.ctor(double,double,int,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, bword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov dword ptr [ecx], edx mov ecx, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+14H] vmovsd qword ptr [ecx+08H], xmm0 mov ecx, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+0CH] vmovsd qword ptr [ecx+10H], xmm0 mov ecx, bword ptr [ebp-04H] mov edx, dword ptr [ebp+08H] mov dword ptr [ecx+18H], edx mov ecx, bword ptr [ebp-04H] mov bword ptr [ebp-0CH], ecx cmp dword ptr [ebp-08H], 2 jle SHORT G_M000_IG03 mov ecx, bword ptr [ebp-0CH] mov bword ptr [ebp-10H], ecx mov ecx, dword ptr [ebp+08H] mov edx, dword ptr [ebp-08H] call [Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:GetZValue(int,int):double] fstp qword ptr [ebp-20H] vmovsd xmm0, qword ptr [ebp-20H] vmulsd xmm0, xmm0, qword ptr [ebp+0CH] vmovsd qword ptr [ebp-18H], xmm0 jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, bword ptr [ebp-0CH] mov bword ptr [ebp-10H], ecx vmovsd xmm0, qword ptr [@RWD00] vmovsd qword ptr [ebp-18H], xmm0 G_M000_IG04: mov ecx, bword ptr [ebp-10H] vmovsd xmm0, qword ptr [ebp-18H] vmovsd qword ptr [ecx+20H], xmm0 mov ecx, bword ptr [ebp-04H] call [Perfolizer.Mathematics.Common.ConfidenceInterval:get_Margin():double:this] fstp qword ptr [ebp-20H] vmovsd xmm1, qword ptr [ebp+14H] vmovsd xmm0, qword ptr [ebp-20H] vsubsd xmm0, xmm1, xmm0 mov ecx, bword ptr [ebp-04H] vmovsd qword ptr [ecx+28H], xmm0 mov ecx, bword ptr [ebp-04H] call [Perfolizer.Mathematics.Common.ConfidenceInterval:get_Margin():double:this] fstp qword ptr [ebp-20H] vmovsd xmm0, qword ptr [ebp-20H] vaddsd xmm0, xmm0, qword ptr [ebp+14H] mov eax, bword ptr [ebp-04H] vmovsd qword ptr [eax+30H], xmm0 G_M000_IG05: mov esp, ebp pop ebp ret 20 RWD00 dq FFF8000000000000h ; -nan(ind) ; Total bytes of code 224 818: JIT compiled Perfolizer.Mathematics.Common.ConfidenceInterval:.ctor(double,double,int,int) [Tier0, IL size=89, code size=224] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceInterval:get_Margin():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+20H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 819: JIT compiled Perfolizer.Mathematics.Common.ConfidenceInterval:get_Margin() [Tier0, IL size=7, code size=32] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:Sort():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Count():int:this] push eax push 0 mov ecx, gword ptr [ebp-04H] xor edx, edx call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:Sort(int,int,System.Collections.Generic.IComparer`1[BenchmarkDotNet.Reports.Measurement]):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 34 820: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:Sort() [Tier0, IL size=15, code size=34] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:Sort(int,int,System.Collections.Generic.IComparer`1[BenchmarkDotNet.Reports.Measurement]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: cmp dword ptr [ebp-08H], 0 jge SHORT G_M000_IG03 call [System.ThrowHelper:ThrowIndexArgumentOutOfRange_NeedNonNegNumException()] G_M000_IG03: cmp dword ptr [ebp+0CH], 0 jge SHORT G_M000_IG04 mov ecx, 27 mov edx, 13 call [System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)] G_M000_IG04: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx+08H] sub ecx, dword ptr [ebp-08H] cmp ecx, dword ptr [ebp+0CH] jge SHORT G_M000_IG05 mov ecx, 16 call [System.ThrowHelper:ThrowArgumentException(int)] G_M000_IG05: cmp dword ptr [ebp+0CH], 1 jle SHORT G_M000_IG06 mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-0CH], ecx push dword ptr [ebp+0CH] push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp-08H] call [System.Array:Sort[BenchmarkDotNet.Reports.Measurement](BenchmarkDotNet.Reports.Measurement[],int,int,System.Collections.Generic.IComparer`1[BenchmarkDotNet.Reports.Measurement])] G_M000_IG06: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+0CH] G_M000_IG07: mov esp, ebp pop ebp ret 8 ; Total bytes of code 121 821: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:Sort(int,int,System.Collections.Generic.IComparer`1[BenchmarkDotNet.Reports.Measurement]) [Tier0, IL size=73, code size=121] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:SumWithoutOutliers(int,System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],double,double,byref,byref) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 6 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 148 vzeroupper vxorps xmm4, xmm4, xmm4 mov eax, -144 vmovdqu xmmword ptr [ebp+eax-10H], xmm4 vmovdqu xmmword ptr [eax+ebp], xmm4 vmovdqu xmmword ptr [ebp+eax+10H], xmm4 add eax, 48 jne SHORT -5 instr mov ebx, ecx vmovsd xmm0, qword ptr [ebp+18H] vmovsd xmm1, qword ptr [ebp+10H] mov esi, bword ptr [ebp+0CH] mov edi, bword ptr [ebp+08H] G_M000_IG02: vxorps xmm2, xmm2, xmm2 mov bword ptr [ebp+0CH], esi vmovsd qword ptr [esi], xmm2 xor ecx, ecx mov bword ptr [ebp+08H], edi mov dword ptr [edi], ecx mov gword ptr [ebp-A0H], edx mov ecx, dword ptr [edx+0CH] mov dword ptr [ebp-98H], ecx vxorps ymm2, ymm2, ymm2 vmovdqu ymmword ptr [ebp-90H], ymm2 lea edi, bword ptr [ebp-50H] lea esi, bword ptr [ebp-A0H] mov ecx, 12 rep movsd jmp SHORT G_M000_IG04 G_M000_IG03: vmovdqu ymm2, ymmword ptr [ebp-40H] vmovdqu ymmword ptr [ebp-70H], ymm2 vmovsd xmm2, qword ptr [ebp-58H] sub esp, 8 vmovsd qword ptr [esp], xmm2 vmovsd qword ptr [ebp+18H], xmm0 sub esp, 8 vmovsd qword ptr [esp], xmm0 vmovsd qword ptr [ebp+10H], xmm1 sub esp, 8 vmovsd qword ptr [esp], xmm1 mov ecx, ebx call [BenchmarkDotNet.Mathematics.MeasurementsStatistics:IsOutlier(int,double,double,double):bool] test eax, eax vmovsd xmm0, qword ptr [ebp+18H] vmovsd xmm1, qword ptr [ebp+10H] jne SHORT G_M000_IG04 mov esi, bword ptr [ebp+0CH] vmovsd xmm2, qword ptr [esi] vaddsd xmm2, xmm2, qword ptr [ebp-58H] vmovsd qword ptr [esi], xmm2 mov edi, bword ptr [ebp+08H] inc dword ptr [edi] mov bword ptr [ebp+0CH], esi mov bword ptr [ebp+08H], edi G_M000_IG04: mov ecx, gword ptr [ebp-50H] mov eax, dword ptr [ebp-48H] cmp eax, dword ptr [ecx+0CH] jne SHORT G_M000_IG07 G_M000_IG05: mov eax, dword ptr [ebp-4CH] mov edx, dword ptr [ecx+08H] cmp eax, edx jae SHORT G_M000_IG06 mov ecx, gword ptr [ecx+04H] mov edx, eax cmp edx, dword ptr [ecx+04H] jae SHORT G_M000_IG08 shl edx, 5 vmovdqu ymm2, ymmword ptr [ecx+edx+08H] vmovdqu ymmword ptr [ebp-40H], ymm2 inc eax mov dword ptr [ebp-4CH], eax jmp G_M000_IG03 G_M000_IG06: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 24 G_M000_IG07: call [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()] int3 G_M000_IG08: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 305 822: JIT compiled BenchmarkDotNet.Mathematics.MeasurementsStatistics:SumWithoutOutliers(int,System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],double,double,byref,byref) [Tier-0 switched to FullOpts, IL size=98, code size=305] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:IsOutlier(int,double,double,double):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vzeroupper xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-04H], ecx G_M000_IG02: cmp dword ptr [ebp-04H], 3 ja SHORT G_M000_IG03 mov eax, dword ptr [ebp-04H] lea ecx, [@RWD00] mov ecx, dword ptr [ecx+4*eax] lea edx, G_M000_IG02 add ecx, edx jmp ecx G_M000_IG03: jmp SHORT G_M000_IG13 G_M000_IG04: G_M000_IG05: xor eax, eax G_M000_IG06: mov esp, ebp pop ebp ret 24 G_M000_IG07: vmovsd xmm0, qword ptr [ebp+18H] xor eax, eax vucomisd xmm0, qword ptr [ebp+08H] seta al mov dword ptr [ebp-10H], eax jmp G_M000_IG14 G_M000_IG08: vmovsd xmm0, qword ptr [ebp+10H] xor eax, eax vucomisd xmm0, qword ptr [ebp+18H] seta al mov dword ptr [ebp-10H], eax jmp SHORT G_M000_IG14 G_M000_IG09: vmovsd xmm0, qword ptr [ebp+10H] vucomisd xmm0, qword ptr [ebp+18H] ja SHORT G_M000_IG10 vmovsd xmm0, qword ptr [ebp+18H] xor eax, eax vucomisd xmm0, qword ptr [ebp+08H] seta al mov dword ptr [ebp-10H], eax jmp SHORT G_M000_IG14 G_M000_IG10: G_M000_IG11: mov eax, 1 G_M000_IG12: mov esp, ebp pop ebp ret 24 G_M000_IG13: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov eax, dword ptr [ebp-04H] mov dword ptr [ecx+04H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, 0x9BE4 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-14H], eax push gword ptr [ebp-08H] push 0 mov edx, gword ptr [ebp-14H] mov ecx, gword ptr [ebp-0CH] call [System.ArgumentOutOfRangeException:.ctor(System.String,System.Object,System.String):this] mov ecx, gword ptr [ebp-0CH] call CORINFO_HELP_THROW G_M000_IG14: mov eax, dword ptr [ebp-10H] movzx eax, al G_M000_IG15: mov esp, ebp pop ebp ret 24 RWD00 dd G_M000_IG04 - G_M000_IG02 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG08 - G_M000_IG02 dd G_M000_IG09 - G_M000_IG02 ; Total bytes of code 237 823: JIT compiled BenchmarkDotNet.Mathematics.MeasurementsStatistics:IsOutlier(int,double,double,double) [Tier0, IL size=65, code size=237] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:VarianceWithoutOutliers(int,System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int,double,double,double):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 7 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 164 vzeroupper vxorps xmm4, xmm4, xmm4 mov eax, -144 vmovdqu xmmword ptr [ebp+eax-18H], xmm4 vmovdqu xmmword ptr [ebp+eax-08H], xmm4 vmovdqu xmmword ptr [ebp+eax+08H], xmm4 add eax, 48 jne SHORT -5 instr mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov ebx, ecx mov esi, dword ptr [ebp+20H] vmovsd xmm1, qword ptr [ebp+10H] vmovsd xmm2, qword ptr [ebp+08H] G_M000_IG02: mov dword ptr [ebp+20H], esi cmp esi, 1 jne SHORT G_M000_IG05 G_M000_IG03: vxorps xmm1, xmm1, xmm1 vmovsd qword ptr [ebp-B0H], xmm1 fld qword ptr [ebp-B0H] G_M000_IG04: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 28 G_M000_IG05: vxorps xmm3, xmm3, xmm3 vmovsd qword ptr [ebp-28H], xmm3 mov gword ptr [ebp-A8H], edx mov ecx, dword ptr [edx+0CH] mov dword ptr [ebp-A0H], ecx vxorps ymm4, ymm4, ymm4 vmovdqu ymmword ptr [ebp-98H], ymm4 lea edi, bword ptr [ebp-58H] lea esi, bword ptr [ebp-A8H] mov ecx, 12 rep movsd jmp G_M000_IG07 G_M000_IG06: vmovdqu ymm4, ymmword ptr [ebp-48H] vmovdqu ymmword ptr [ebp-78H], ymm4 vmovsd xmm4, qword ptr [ebp-60H] sub esp, 8 vmovsd qword ptr [esp], xmm4 vmovsd qword ptr [ebp+10H], xmm1 sub esp, 8 vmovsd qword ptr [esp], xmm1 vmovsd qword ptr [ebp+08H], xmm2 sub esp, 8 vmovsd qword ptr [esp], xmm2 mov ecx, ebx call [BenchmarkDotNet.Mathematics.MeasurementsStatistics:IsOutlier(int,double,double,double):bool] test eax, eax vmovsd xmm1, qword ptr [ebp+10H] vmovsd xmm2, qword ptr [ebp+08H] jne SHORT G_M000_IG07 vmovsd xmm4, qword ptr [ebp-60H] vmovsd xmm0, qword ptr [ebp+18H] vsubsd xmm4, xmm4, xmm0 vmulsd xmm4, xmm4, xmm4 mov esi, dword ptr [ebp+20H] lea eax, [esi-01H] vxorps xmm5, xmm5, xmm5 vcvtsi2sd xmm5, xmm5, eax vdivsd xmm4, xmm4, xmm5 vaddsd xmm3, xmm4, qword ptr [ebp-28H] mov dword ptr [ebp+20H], esi vmovsd qword ptr [ebp-28H], xmm3 vmovsd qword ptr [ebp+18H], xmm0 G_M000_IG07: mov ecx, gword ptr [ebp-58H] mov eax, dword ptr [ebp-50H] cmp eax, dword ptr [ecx+0CH] jne SHORT G_M000_IG10 mov eax, dword ptr [ebp-54H] mov edx, dword ptr [ecx+08H] cmp eax, edx jae SHORT G_M000_IG08 mov ecx, gword ptr [ecx+04H] mov edx, eax cmp edx, dword ptr [ecx+04H] jae SHORT G_M000_IG11 shl edx, 5 vmovdqu ymm4, ymmword ptr [ecx+edx+08H] vmovdqu ymmword ptr [ebp-48H], ymm4 inc eax mov dword ptr [ebp-54H], eax jmp G_M000_IG06 G_M000_IG08: vmovsd xmm3, qword ptr [ebp-28H] vmovsd qword ptr [ebp-28H], xmm3 fld qword ptr [ebp-28H] G_M000_IG09: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 28 G_M000_IG10: call [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()] int3 G_M000_IG11: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 382 824: JIT compiled BenchmarkDotNet.Mathematics.MeasurementsStatistics:VarianceWithoutOutliers(int,System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int,double,double,double) [Tier-0 switched to FullOpts, IL size=114, code size=382] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:.ctor(double,double,Perfolizer.Mathematics.Common.ConfidenceInterval):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+48H] vmovsd qword ptr [eax], xmm0 mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+40H] vmovsd qword ptr [eax+08H], xmm0 mov eax, bword ptr [ebp-04H] vmovdqu ymm0, ymmword ptr [ebp+08H] vmovdqu ymmword ptr [eax+10H], ymm0 vmovdqu ymm0, ymmword ptr [ebp+20H] vmovdqu ymmword ptr [eax+28H], ymm0 G_M000_IG03: mov esp, ebp pop ebp ret 72 ; Total bytes of code 64 825: JIT compiled BenchmarkDotNet.Mathematics.MeasurementsStatistics:.ctor(double,double,Perfolizer.Mathematics.Common.ConfidenceInterval) [Tier0, IL size=22, code size=64] ; Assembly listing for method System.Array:Sort[BenchmarkDotNet.Reports.Measurement](BenchmarkDotNet.Reports.Measurement[],int,int,System.Collections.Generic.IComparer`1[BenchmarkDotNet.Reports.Measurement]) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 32 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-0CH], ecx mov dword ptr [ebp-10H], edx G_M000_IG02: cmp gword ptr [ebp-0CH], 0 jne SHORT G_M000_IG03 mov ecx, 2 call [System.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: cmp dword ptr [ebp-10H], 0 jge SHORT G_M000_IG04 call [System.ThrowHelper:ThrowIndexArgumentOutOfRange_NeedNonNegNumException()] G_M000_IG04: cmp dword ptr [ebp+0CH], 0 jge SHORT G_M000_IG05 call [System.ThrowHelper:ThrowLengthArgumentOutOfRange_ArgumentOutOfRange_NeedNonNegNum()] G_M000_IG05: mov ecx, gword ptr [ebp-0CH] mov ecx, dword ptr [ecx+04H] sub ecx, dword ptr [ebp-10H] cmp ecx, dword ptr [ebp+0CH] jge SHORT G_M000_IG06 mov ecx, 16 call [System.ThrowHelper:ThrowArgumentException(int)] G_M000_IG06: cmp dword ptr [ebp+0CH], 1 jle SHORT G_M000_IG07 xor ecx, ecx mov dword ptr [ebp-20H], ecx mov dword ptr [ebp-1CH], ecx mov ecx, gword ptr [ebp-0CH] call [System.Runtime.InteropServices.MemoryMarshal:GetArrayDataReference[BenchmarkDotNet.Reports.Measurement](BenchmarkDotNet.Reports.Measurement[]):byref] mov edx, dword ptr [ebp-10H] shl edx, 5 add edx, eax mov bword ptr [ebp-24H], edx push dword ptr [ebp+0CH] mov edx, bword ptr [ebp-24H] lea ecx, [ebp-20H] call [System.Span`1[BenchmarkDotNet.Reports.Measurement]:.ctor(byref,int):this] lea edi, bword ptr [ebp-18H] lea esi, bword ptr [ebp-20H] movsd movsd call [System.Collections.Generic.ArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:get_Default():System.Collections.Generic.IArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]] mov gword ptr [ebp-28H], eax push dword ptr [ebp-14H] push bword ptr [ebp-18H] mov ecx, gword ptr [ebp-28H] mov edx, gword ptr [ebp+08H] call [System.Collections.Generic.IArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:Sort(System.Span`1[BenchmarkDotNet.Reports.Measurement],System.Collections.Generic.IComparer`1[BenchmarkDotNet.Reports.Measurement]):this] G_M000_IG07: lea esp, [ebp-08H] pop esi pop edi pop ebp ret 8 ; Total bytes of code 190 826: JIT compiled System.Array:Sort[BenchmarkDotNet.Reports.Measurement](BenchmarkDotNet.Reports.Measurement[],int,int,System.Collections.Generic.IComparer`1[BenchmarkDotNet.Reports.Measurement]) [Tier0, IL size=78, code size=190] ; Assembly listing for method System.Runtime.InteropServices.MemoryMarshal:GetArrayDataReference[BenchmarkDotNet.Reports.Measurement](BenchmarkDotNet.Reports.Measurement[]):byref ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] cmp byte ptr [eax], al mov eax, gword ptr [ebp-04H] xor edx, edx imul ecx, edx, 32 lea eax, bword ptr [eax+ecx+08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 827: JIT compiled System.Runtime.InteropServices.MemoryMarshal:GetArrayDataReference[BenchmarkDotNet.Reports.Measurement](BenchmarkDotNet.Reports.Measurement[]) [Tier0, IL size=7, code size=28] ; Assembly listing for method System.Span`1[BenchmarkDotNet.Reports.Measurement]:.ctor(byref,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov bword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov edx, bword ptr [ebp-08H] mov bword ptr [eax], edx mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp+08H] mov dword ptr [eax+04H], edx G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 35 828: JIT compiled System.Span`1[BenchmarkDotNet.Reports.Measurement]:.ctor(byref,int) [Tier0, IL size=15, code size=35] ; Assembly listing for method System.Collections.Generic.ArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:get_Default():System.Collections.Generic.IArraySortHelper`1[BenchmarkDotNet.Reports.Measurement] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 51 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov eax, gword ptr [D1FFAB1EH] G_M000_IG03: pop ebp ret ; Total bytes of code 25 829: JIT compiled System.Collections.Generic.ArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:get_Default() [Tier0, IL size=6, code size=25] ; Assembly listing for method System.Collections.Generic.ArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: call [System.Collections.Generic.ArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:CreateArraySortHelper():System.Collections.Generic.IArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: pop ebp ret ; Total bytes of code 21 830: JIT compiled System.Collections.Generic.ArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:.cctor() [Tier0, IL size=11, code size=21] ; Assembly listing for method System.Collections.Generic.ArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:CreateArraySortHelper():System.Collections.Generic.IArraySortHelper`1[BenchmarkDotNet.Reports.Measurement] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [CORINFO_HELP_CHKCASTCLASS] mov gword ptr [ebp-08H], eax mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [CORINFO_HELP_CHKCASTCLASS] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [System.RuntimeTypeHandle:CreateInstanceForAnotherGenericParameter(System.RuntimeType,System.RuntimeType):System.Object] mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-10H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_CHKCASTINTERFACE] mov gword ptr [ebp-04H], eax G_M000_IG03: mov eax, gword ptr [ebp-04H] G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 97 831: JIT compiled System.Collections.Generic.ArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:CreateArraySortHelper() [Tier0, IL size=78, code size=97] ; Assembly listing for method System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 832: JIT compiled System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:Sort(System.Span`1[BenchmarkDotNet.Reports.Measurement],System.Collections.Generic.IComparer`1[BenchmarkDotNet.Reports.Measurement]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 76 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-50H], xmm4 vmovdqu xmmword ptr [ebp-40H], xmm4 xor eax, eax mov dword ptr [ebp-30H], eax mov dword ptr [ebp-2CH], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-20H], ecx mov gword ptr [ebp-24H], edx G_M000_IG02: cmp gword ptr [ebp-24H], 0 je SHORT G_M000_IG03 call [System.Collections.Generic.Comparer`1[BenchmarkDotNet.Reports.Measurement]:get_Default():System.Collections.Generic.Comparer`1[BenchmarkDotNet.Reports.Measurement]] cmp eax, gword ptr [ebp-24H] jne SHORT G_M000_IG05 G_M000_IG03: cmp dword ptr [ebp+0CH], 1 jle SHORT G_M000_IG06 G_M000_IG04: lea edi, bword ptr [ebp-3CH] lea esi, bword ptr [ebp+08H] movsd movsd push dword ptr [ebp-38H] push bword ptr [ebp-3CH] mov ecx, dword ptr [ebp+0CH] call [System.Numerics.BitOperations:Log2(uint):int] lea ecx, [2*eax+02H] mov dword ptr [ebp-54H], ecx mov ecx, dword ptr [ebp-54H] call [System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:IntroSort(System.Span`1[BenchmarkDotNet.Reports.Measurement],int)] jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-40H], eax lea edi, bword ptr [ebp-48H] lea esi, bword ptr [ebp+08H] movsd movsd push 0xD1FFAB1E mov ecx, gword ptr [ebp-24H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR push eax mov edx, gword ptr [ebp-24H] mov ecx, gword ptr [ebp-40H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push dword ptr [ebp-44H] push bword ptr [ebp-48H] mov ecx, gword ptr [ebp-40H] call [System.Collections.Generic.ArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:IntrospectiveSort(System.Span`1[BenchmarkDotNet.Reports.Measurement],System.Comparison`1[BenchmarkDotNet.Reports.Measurement])] G_M000_IG06: jmp SHORT G_M000_IG09 G_M000_IG07: mov gword ptr [ebp-50H], eax mov ecx, gword ptr [ebp-24H] call [System.ThrowHelper:ThrowArgumentException_BadComparer(System.Object)] call CORINFO_HELP_ENDCATCH jmp SHORT G_M000_IG09 G_M000_IG08: mov gword ptr [ebp-4CH], eax mov edx, gword ptr [ebp-4CH] mov gword ptr [ebp-34H], edx mov edx, gword ptr [ebp-34H] mov ecx, 64 call [System.ThrowHelper:ThrowInvalidOperationException(int,System.Exception)] call CORINFO_HELP_ENDCATCH G_M000_IG09: lea esp, [ebp-08H] pop esi pop edi pop ebp ret 8 ; Total bytes of code 231 833: JIT compiled System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:Sort(System.Span`1[BenchmarkDotNet.Reports.Measurement],System.Collections.Generic.IComparer`1[BenchmarkDotNet.Reports.Measurement]) [Tier0, IL size=212, code size=231] ; Assembly listing for method System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:IntroSort(System.Span`1[BenchmarkDotNet.Reports.Measurement],int) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 28 single block inlinees; 16 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 264 vzeroupper mov esi, ecx G_M000_IG02: mov edi, dword ptr [ebp+0CH] mov ebx, edi cmp ebx, 1 jle G_M000_IG23 G_M000_IG03: cmp ebx, 16 jle SHORT G_M000_IG05 test esi, esi je G_M000_IG22 dec esi cmp ebx, edi ja G_M000_IG24 mov eax, bword ptr [ebp+08H] mov bword ptr [ebp-114H], eax mov edx, eax mov ecx, ebx push ecx push edx call [System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:PickPivotAndPartition(System.Span`1[BenchmarkDotNet.Reports.Measurement]):int] mov dword ptr [ebp-10H], eax lea ecx, [eax+01H] sub ebx, ecx cmp ecx, edi ja G_M000_IG24 mov edx, edi sub edx, ecx cmp edx, ebx jb G_M000_IG24 shl ecx, 5 add ecx, bword ptr [ebp-114H] push ebx push ecx mov ecx, esi call [System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:IntroSort(System.Span`1[BenchmarkDotNet.Reports.Measurement],int)] mov ebx, dword ptr [ebp-10H] cmp ebx, 1 jg SHORT G_M000_IG03 G_M000_IG04: jmp G_M000_IG23 G_M000_IG05: cmp ebx, 2 jne SHORT G_M000_IG09 mov eax, bword ptr [ebp+08H] mov esi, eax mov eax, esi lea edx, bword ptr [esi+20H] cmp byte ptr [eax], al vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ebp-30H], ymm0 vmovsd xmm0, qword ptr [eax+18H] vmovsd xmm1, qword ptr [ebp-18H] vucomisd xmm1, xmm0 ja G_M000_IG23 vucomisd xmm0, xmm1 ja SHORT G_M000_IG08 vucomisd xmm0, xmm1 jp SHORT G_M000_IG06 je G_M000_IG23 G_M000_IG06: vucomisd xmm0, xmm0 jp SHORT G_M000_IG07 je SHORT G_M000_IG08 G_M000_IG07: vucomisd xmm1, xmm1 jp G_M000_IG23 jmp G_M000_IG23 G_M000_IG08: vmovdqu ymm0, ymmword ptr [eax] vmovdqu ymmword ptr [ebp-50H], ymm0 vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [eax], ymm0 vmovdqu ymm0, ymmword ptr [ebp-50H] vmovdqu ymmword ptr [edx], ymm0 jmp G_M000_IG23 G_M000_IG09: cmp ebx, 3 jne G_M000_IG21 cmp edi, 2 jbe G_M000_IG25 mov esi, bword ptr [ebp+08H] lea eax, bword ptr [esi+40H] lea edx, bword ptr [esi+20H] mov ecx, esi cmp byte ptr [ecx], cl vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ebp-70H], ymm0 vmovsd xmm0, qword ptr [ecx+18H] vmovsd xmm1, qword ptr [ebp-58H] vucomisd xmm1, xmm0 ja SHORT G_M000_IG13 vucomisd xmm0, xmm1 ja SHORT G_M000_IG12 vucomisd xmm0, xmm1 jp SHORT G_M000_IG10 je SHORT G_M000_IG13 G_M000_IG10: vucomisd xmm0, xmm0 jp SHORT G_M000_IG11 je SHORT G_M000_IG12 G_M000_IG11: vucomisd xmm1, xmm1 jp SHORT G_M000_IG13 jmp SHORT G_M000_IG13 G_M000_IG12: vmovdqu ymm0, ymmword ptr [ecx] vmovdqu ymmword ptr [ebp-90H], ymm0 vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ecx], ymm0 vmovdqu ymm0, ymmword ptr [ebp-90H] vmovdqu ymmword ptr [edx], ymm0 G_M000_IG13: vmovdqu ymm0, ymmword ptr [eax] vmovdqu ymmword ptr [ebp-B0H], ymm0 vmovsd xmm0, qword ptr [ecx+18H] vmovsd xmm1, qword ptr [ebp-98H] vucomisd xmm1, xmm0 ja SHORT G_M000_IG17 vucomisd xmm0, xmm1 ja SHORT G_M000_IG16 vucomisd xmm0, xmm1 jp SHORT G_M000_IG14 je SHORT G_M000_IG17 G_M000_IG14: vucomisd xmm0, xmm0 jp SHORT G_M000_IG15 je SHORT G_M000_IG16 G_M000_IG15: vucomisd xmm1, xmm1 jp SHORT G_M000_IG17 jmp SHORT G_M000_IG17 G_M000_IG16: vmovdqu ymm0, ymmword ptr [ecx] vmovdqu ymmword ptr [ebp-D0H], ymm0 vmovdqu ymm0, ymmword ptr [eax] vmovdqu ymmword ptr [ecx], ymm0 vmovdqu ymm0, ymmword ptr [ebp-D0H] vmovdqu ymmword ptr [eax], ymm0 G_M000_IG17: vmovdqu ymm0, ymmword ptr [eax] vmovdqu ymmword ptr [ebp-F0H], ymm0 vmovsd xmm0, qword ptr [edx+18H] vmovsd xmm1, qword ptr [ebp-D8H] vucomisd xmm1, xmm0 ja SHORT G_M000_IG23 vucomisd xmm0, xmm1 ja SHORT G_M000_IG20 vucomisd xmm0, xmm1 jp SHORT G_M000_IG18 je SHORT G_M000_IG23 G_M000_IG18: vucomisd xmm0, xmm0 jp SHORT G_M000_IG19 je SHORT G_M000_IG20 G_M000_IG19: vucomisd xmm1, xmm1 jp SHORT G_M000_IG23 jmp SHORT G_M000_IG23 G_M000_IG20: vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ebp-110H], ymm0 vmovdqu ymm0, ymmword ptr [eax] vmovdqu ymmword ptr [edx], ymm0 vmovdqu ymm0, ymmword ptr [ebp-110H] vmovdqu ymmword ptr [eax], ymm0 jmp SHORT G_M000_IG23 G_M000_IG21: cmp ebx, edi ja SHORT G_M000_IG24 mov esi, bword ptr [ebp+08H] mov eax, esi mov edx, ebx push edx push eax call [System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:InsertionSort(System.Span`1[BenchmarkDotNet.Reports.Measurement])] jmp SHORT G_M000_IG23 G_M000_IG22: cmp ebx, edi ja SHORT G_M000_IG24 mov esi, bword ptr [ebp+08H] mov eax, esi mov edx, ebx push edx push eax call [System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:HeapSort(System.Span`1[BenchmarkDotNet.Reports.Measurement])] G_M000_IG23: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG24: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG25: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 624 834: JIT compiled System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:IntroSort(System.Span`1[BenchmarkDotNet.Reports.Measurement],int) [Tier-0 switched to FullOpts, IL size=187, code size=624] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:GetQuartile(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 56 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 vmovdqu xmmword ptr [ebp-18H], xmm4 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov edx, dword ptr [ebp-08H] mov ecx, dword ptr [ebp-08H] shr ecx, 31 add ecx, dword ptr [ebp-08H] and ecx, -2 sub edx, ecx test edx, edx jne SHORT G_M000_IG04 mov edx, dword ptr [ebp-08H] shr edx, 31 add edx, dword ptr [ebp-08H] sar edx, 1 dec edx push edx lea edx, [ebp-28H] mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Item(int):BenchmarkDotNet.Reports.Measurement:this] lea ecx, [ebp-28H] call [BenchmarkDotNet.Reports.Measurement:get_Nanoseconds():double:this] fstp qword ptr [ebp-38H] vmovsd xmm0, qword ptr [ebp-38H] vmovsd qword ptr [ebp-30H], xmm0 mov edx, dword ptr [ebp-08H] shr edx, 31 add edx, dword ptr [ebp-08H] sar edx, 1 push edx lea edx, [ebp-28H] mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Item(int):BenchmarkDotNet.Reports.Measurement:this] lea ecx, [ebp-28H] call [BenchmarkDotNet.Reports.Measurement:get_Nanoseconds():double:this] fstp qword ptr [ebp-38H] vmovsd xmm0, qword ptr [ebp-38H] vaddsd xmm0, xmm0, qword ptr [ebp-30H] vmulsd xmm0, xmm0, qword ptr [@RWD00] vmovsd qword ptr [ebp-38H], xmm0 fld qword ptr [ebp-38H] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov edx, dword ptr [ebp-08H] shr edx, 31 add edx, dword ptr [ebp-08H] sar edx, 1 push edx lea edx, [ebp-28H] mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Item(int):BenchmarkDotNet.Reports.Measurement:this] lea ecx, [ebp-28H] call [BenchmarkDotNet.Reports.Measurement:get_Nanoseconds():double:this] fstp qword ptr [ebp-38H] vmovsd xmm0, qword ptr [ebp-38H] vmovsd qword ptr [ebp-38H], xmm0 fld qword ptr [ebp-38H] G_M000_IG05: mov esp, ebp pop ebp ret RWD00 dq 3FE0000000000000h ; 0.5 ; Total bytes of code 222 835: JIT compiled BenchmarkDotNet.Mathematics.MeasurementsStatistics:GetQuartile(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int) [Tier0, IL size=71, code size=222] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:GetZValue(int,int):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: cmp dword ptr [ebp-08H], 1 jg SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, 0x9AB mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-10H], eax mov ecx, 0xB8B mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS push eax mov edx, gword ptr [ebp-10H] mov ecx, gword ptr [ebp-0CH] call [System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this] mov ecx, gword ptr [ebp-0CH] call CORINFO_HELP_THROW G_M000_IG04: mov ecx, dword ptr [ebp-04H] call [Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:ToPercent(int):double] fstp qword ptr [ebp-18H] vmovsd xmm1, qword ptr [@RWD00] vmovsd xmm0, qword ptr [ebp-18H] vsubsd xmm0, xmm1, xmm0 sub esp, 8 vmovsd qword ptr [esp], xmm0 mov eax, dword ptr [ebp-08H] dec eax vxorps xmm0, xmm0, xmm0 vcvtsi2sd xmm0, xmm0, eax sub esp, 8 vmovsd qword ptr [esp], xmm0 call [Perfolizer.Mathematics.Distributions.StudentDistribution:InverseTwoTailStudent(double,double):double] fstp qword ptr [ebp-18H] vmovsd xmm0, qword ptr [ebp-18H] vmovsd qword ptr [ebp-18H], xmm0 fld qword ptr [ebp-18H] G_M000_IG05: mov esp, ebp pop ebp ret RWD00 dq 3FF0000000000000h ; 1 ; Total bytes of code 179 836: JIT compiled Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:GetZValue(int,int) [Tier0, IL size=46, code size=179] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:ToPercent(int):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 vzeroupper xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 66 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-18H], ecx push dword ptr [ebp-04H] mov ecx, gword ptr [ebp-18H] lea edx, [ebp-14H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:get_Item(int):System.ValueTuple`2[int,int]:this] mov eax, dword ptr [ebp-14H] mov dword ptr [ebp-08H], eax mov eax, dword ptr [ebp-10H] mov dword ptr [ebp-0CH], eax vmovsd xmm0, qword ptr [@RWD00] sub esp, 8 vmovsd qword ptr [esp], xmm0 vxorps xmm0, xmm0, xmm0 vcvtsi2sd xmm0, xmm0, dword ptr [ebp-0CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 call System.Math:Pow(double,double):double fstp qword ptr [ebp-20H] vxorps xmm1, xmm1, xmm1 vcvtsi2sd xmm1, xmm1, dword ptr [ebp-08H] vmovsd xmm0, qword ptr [ebp-20H] vdivsd xmm0, xmm1, xmm0 vmovsd qword ptr [ebp-20H], xmm0 fld qword ptr [ebp-20H] G_M000_IG03: mov esp, ebp pop ebp ret RWD00 dq 4024000000000000h ; 10 ; Total bytes of code 147 837: JIT compiled Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:ToPercent(int) [Tier0, IL size=44, code size=147] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: call [Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:CreateConfidenceLevelMapping():System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: pop ebp ret ; Total bytes of code 21 838: JIT compiled Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:.cctor() [Tier0, IL size=11, code size=21] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:CreateConfidenceLevelMapping():System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-30H], xmm4 vmovdqu xmmword ptr [ebp-20H], xmm4 vmovdqu xmmword ptr [ebp-10H], xmm4 G_M000_IG02: mov ecx, 0xD1FFAB1E call [System.Enum:GetValues(System.Type):System.Array] mov ecx, eax call [System.Linq.Enumerable:Cast[int](System.Collections.IEnumerable):System.Collections.Generic.IEnumerable`1[int]] mov gword ptr [ebp-08H], eax mov ecx, 0xD1FFAB1E mov edx, 114 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-04H], ecx mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-10H], ecx cmp gword ptr [ebp-04H], 0 jne SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-28H], eax mov ecx, 0xD1FFAB1E mov edx, 114 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-2CH], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-2CH] mov ecx, gword ptr [ebp-28H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 114 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-28H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-28H] mov gword ptr [ebp-10H], ecx G_M000_IG03: mov ecx, 0xD1FFAB1E mov edx, 114 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-14H], ecx mov ecx, gword ptr [ebp-0CH] mov gword ptr [ebp-18H], ecx mov ecx, gword ptr [ebp-10H] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ebp-14H] mov gword ptr [ebp-20H], ecx cmp gword ptr [ebp-14H], 0 jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-24H], eax mov ecx, 0xD1FFAB1E mov edx, 114 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-30H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-30H] mov ecx, gword ptr [ebp-24H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 114 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-24H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-24H] mov gword ptr [ebp-20H], ecx G_M000_IG04: push gword ptr [ebp-20H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-1CH] call [System.Linq.Enumerable:ToDictionary[int,int,System.ValueTuple`2[int,int]](System.Collections.Generic.IEnumerable`1[int],System.Func`2[int,int],System.Func`2[int,System.ValueTuple`2[int,int]]):System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 332 839: JIT compiled Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:CreateConfidenceLevelMapping() [Tier0, IL size=88, code size=332] ; Assembly listing for method System.Linq.Enumerable:Cast[int](System.Collections.IEnumerable):System.Collections.Generic.IEnumerable`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov edx, gword ptr [ebp-04H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFANY] mov gword ptr [ebp-08H], eax cmp gword ptr [ebp-08H], 0 je SHORT G_M000_IG04 mov eax, gword ptr [ebp-08H] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: cmp gword ptr [ebp-04H], 0 jne SHORT G_M000_IG05 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG05: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable:CastIterator[int](System.Collections.IEnumerable):System.Collections.Generic.IEnumerable`1[int]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 74 840: JIT compiled System.Linq.Enumerable:Cast[int](System.Collections.IEnumerable) [Tier0, IL size=29, code size=74] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceLevelExtensions+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [Perfolizer.Mathematics.Common.ConfidenceLevelExtensions+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 841: JIT compiled Perfolizer.Mathematics.Common.ConfidenceLevelExtensions+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceLevelExtensions+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 842: JIT compiled Perfolizer.Mathematics.Common.ConfidenceLevelExtensions+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:ToDictionary[int,int,System.ValueTuple`2[int,int]](System.Collections.Generic.IEnumerable`1[int],System.Func`2[int,int],System.Func`2[int,System.ValueTuple`2[int,int]]):System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push gword ptr [ebp+08H] push 0 mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Linq.Enumerable:ToDictionary[int,int,System.ValueTuple`2[int,int]](System.Collections.Generic.IEnumerable`1[int],System.Func`2[int,int],System.Func`2[int,System.ValueTuple`2[int,int]],System.Collections.Generic.IEqualityComparer`1[int]):System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 35 843: JIT compiled System.Linq.Enumerable:ToDictionary[int,int,System.ValueTuple`2[int,int]](System.Collections.Generic.IEnumerable`1[int],System.Func`2[int,int],System.Func`2[int,System.ValueTuple`2[int,int]]) [Tier0, IL size=10, code size=35] ; Assembly listing for method System.Linq.Enumerable:ToDictionary[int,int,System.ValueTuple`2[int,int]](System.Collections.Generic.IEnumerable`1[int],System.Func`2[int,int],System.Func`2[int,System.ValueTuple`2[int,int]],System.Collections.Generic.IEqualityComparer`1[int]):System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 52 xor eax, eax mov dword ptr [ebp-18H], eax mov ebx, ecx mov esi, edx mov edi, gword ptr [ebp+0CH] G_M000_IG02: test ebx, ebx je G_M000_IG17 test esi, esi je G_M000_IG18 test edi, edi je G_M000_IG19 xor ecx, ecx mov dword ptr [ebp-24H], ecx mov edx, ebx mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-34H], eax test eax, eax je G_M000_IG09 G_M000_IG03: mov ecx, eax call [System.Collections.Generic.ICollection`1[int]:get_Count():int:this] mov dword ptr [ebp-24H], eax test eax, eax jne SHORT G_M000_IG05 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax push gword ptr [ebp+08H] mov ecx, edi xor edx, edx call [System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[int]):this] mov eax, edi G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG05: mov edx, gword ptr [ebp-34H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFARRAY] test eax, eax je SHORT G_M000_IG07 push edi push gword ptr [ebp+08H] mov ecx, eax mov edx, esi call [System.Linq.Enumerable:ToDictionary[int,int,System.ValueTuple`2[int,int]](int[],System.Func`2[int,int],System.Func`2[int,System.ValueTuple`2[int,int]],System.Collections.Generic.IEqualityComparer`1[int]):System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]] G_M000_IG06: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG07: mov edx, gword ptr [ebp-34H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax je SHORT G_M000_IG09 push edi push gword ptr [ebp+08H] mov ecx, eax mov edx, esi call [System.Linq.Enumerable:ToDictionary[int,int,System.ValueTuple`2[int,int]](System.Collections.Generic.List`1[int],System.Func`2[int,int],System.Func`2[int,System.ValueTuple`2[int,int]],System.Collections.Generic.IEqualityComparer`1[int]):System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]] G_M000_IG08: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-40H], eax push gword ptr [ebp+08H] mov ecx, eax mov edx, dword ptr [ebp-24H] call [System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[int]):this] mov eax, gword ptr [ebp-40H] mov gword ptr [ebp-38H], eax mov ecx, ebx call [System.Collections.Generic.IEnumerable`1[int]:GetEnumerator():System.Collections.Generic.IEnumerator`1[int]:this] mov gword ptr [ebp-3CH], eax G_M000_IG10: mov ecx, eax call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG12 G_M000_IG11: mov ecx, gword ptr [ebp-3CH] call [System.Collections.Generic.IEnumerator`1[int]:get_Current():int:this] mov ebx, eax mov ecx, gword ptr [esi+04H] mov edx, ebx call [esi+0CH]System.Func`2[int,int]:Invoke(int):int:this mov dword ptr [ebp-28H], eax push ebx lea edx, [ebp-30H] mov ecx, gword ptr [edi+04H] call [edi+0CH]System.Func`2[int,System.ValueTuple`2[int,int]]:Invoke(int):System.ValueTuple`2[int,int]:this push dword ptr [ebp-2CH] push dword ptr [ebp-30H] push 2 mov ecx, gword ptr [ebp-38H] mov edx, dword ptr [ebp-28H] call [System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:TryInsert(int,System.ValueTuple`2[int,int],ubyte):bool:this] mov ecx, gword ptr [ebp-3CH] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG11 G_M000_IG12: mov ecx, gword ptr [ebp-3CH] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG15 G_M000_IG13: cmp gword ptr [ebp-3CH], 0 je SHORT G_M000_IG14 mov ecx, gword ptr [ebp-3CH] call [System.IDisposable:Dispose():this] G_M000_IG14: pop eax jmp eax G_M000_IG15: mov eax, gword ptr [ebp-38H] G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG17: mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG18: mov ecx, 9 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG19: mov ecx, 2 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 ; Total bytes of code 409 844: JIT compiled System.Linq.Enumerable:ToDictionary[int,int,System.ValueTuple`2[int,int]](System.Collections.Generic.IEnumerable`1[int],System.Func`2[int,int],System.Func`2[int,System.ValueTuple`2[int,int]],System.Collections.Generic.IEqualityComparer`1[int]) [Tier-0 switched to FullOpts, IL size=175, code size=409] ; Assembly listing for method System.SZArrayHelper:get_Count[int]():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov gword ptr [ebp-08H], eax mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 845: JIT compiled System.SZArrayHelper:get_Count[int]() [Tier0, IL size=11, code size=30] ; Assembly listing for method System.Linq.Enumerable:ToDictionary[int,int,System.ValueTuple`2[int,int]](int[],System.Func`2[int,int],System.Func`2[int,System.ValueTuple`2[int,int]],System.Collections.Generic.IEqualityComparer`1[int]):System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 28 mov esi, ecx mov edi, edx mov ebx, gword ptr [ebp+0CH] G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-28H], eax mov ecx, dword ptr [esi+04H] mov dword ptr [ebp-20H], ecx mov edx, ecx push gword ptr [ebp+08H] mov ecx, eax call [System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[int]):this] mov eax, gword ptr [ebp-28H] mov gword ptr [ebp-24H], eax xor ecx, ecx cmp dword ptr [ebp-20H], 0 jle SHORT G_M000_IG04 G_M000_IG03: mov dword ptr [ebp-10H], ecx mov edx, dword ptr [esi+4*ecx+08H] mov ecx, gword ptr [edi+04H] call [edi+0CH]System.Func`2[int,int]:Invoke(int):int:this mov dword ptr [ebp-14H], eax mov ecx, dword ptr [ebp-10H] push dword ptr [esi+4*ecx+08H] lea edx, [ebp-1CH] mov ecx, gword ptr [ebx+04H] call [ebx+0CH]System.Func`2[int,System.ValueTuple`2[int,int]]:Invoke(int):System.ValueTuple`2[int,int]:this push dword ptr [ebp-18H] push dword ptr [ebp-1CH] push 2 mov ecx, gword ptr [ebp-24H] mov edx, dword ptr [ebp-14H] call [System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:TryInsert(int,System.ValueTuple`2[int,int],ubyte):bool:this] mov ecx, dword ptr [ebp-10H] inc ecx mov eax, dword ptr [ebp-20H] cmp eax, ecx jg SHORT G_M000_IG03 G_M000_IG04: mov eax, gword ptr [ebp-24H] G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 138 846: JIT compiled System.Linq.Enumerable:ToDictionary[int,int,System.ValueTuple`2[int,int]](int[],System.Func`2[int,int],System.Func`2[int,System.ValueTuple`2[int,int]],System.Collections.Generic.IEqualityComparer`1[int]) [Tier-0 switched to FullOpts, IL size=58, code size=138] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[int]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] cmp dword ptr [ebp-08H], 0 jge SHORT G_M000_IG03 mov ecx, 22 call [System.ThrowHelper:ThrowArgumentOutOfRangeException(int)] G_M000_IG03: cmp dword ptr [ebp-08H], 0 jle SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] call [System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:Initialize(int):int:this] G_M000_IG04: G_M000_IG05: cmp gword ptr [ebp+08H], 0 je SHORT G_M000_IG06 call [System.Collections.Generic.EqualityComparer`1[int]:get_Default():System.Collections.Generic.EqualityComparer`1[int]] cmp eax, gword ptr [ebp+08H] je SHORT G_M000_IG06 mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG06: mov esp, ebp pop ebp ret 4 ; Total bytes of code 98 847: JIT compiled System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[int]) [Tier0, IL size=136, code size=98] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:Initialize(int):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, dword ptr [ebp-08H] call [System.Collections.HashHelpers:GetPrime(int):int] mov dword ptr [ebp-0CH], eax mov edx, dword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-10H], eax mov edx, dword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-04H] mov dword ptr [edx+1CH], -1 mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-10H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp-14H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, dword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 109 848: JIT compiled System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:Initialize(int) [Tier0, IL size=44, code size=109] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceLevelExtensions+<>c:b__4_0(int):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, dword ptr [ebp-08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 19 849: JIT compiled Perfolizer.Mathematics.Common.ConfidenceLevelExtensions+<>c:b__4_0(int) [Tier0, IL size=2, code size=19] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceLevelExtensions+<>c:b__4_1(int):System.ValueTuple`2[int,int]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-20H], eax mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] mov eax, dword ptr [ebp+08H] mov dword ptr [ecx+04H], eax mov ecx, gword ptr [ebp-10H] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ebp-1CH] mov eax, gword ptr [ebp-1CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+04H]System.Object:ToString():System.String:this mov gword ptr [ebp-20H], eax mov ecx, gword ptr [ebp-20H] mov edx, 1 cmp dword ptr [ecx], ecx call [System.String:Substring(int):System.String:this] mov gword ptr [ebp-0CH], eax xor ecx, ecx mov dword ptr [ebp-18H], ecx mov dword ptr [ebp-14H], ecx mov ecx, gword ptr [ebp-0CH] call [System.Int32:Parse(System.String):int] mov dword ptr [ebp-24H], eax mov edx, gword ptr [ebp-0CH] push dword ptr [edx+04H] mov edx, dword ptr [ebp-24H] lea ecx, [ebp-18H] call [System.ValueTuple`2[int,int]:.ctor(int,int):this] mov eax, bword ptr [ebp-08H] mov edx, dword ptr [ebp-18H] mov dword ptr [eax], edx mov edx, dword ptr [ebp-14H] mov dword ptr [eax+04H], edx G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 148 850: JIT compiled Perfolizer.Mathematics.Common.ConfidenceLevelExtensions+<>c:b__4_1(int) [Tier0, IL size=38, code size=148] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:TryInsert(int,System.ValueTuple`2[int,int],ubyte):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 7 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 68 mov esi, ecx mov edi, edx G_M000_IG02: cmp gword ptr [esi+04H], 0 jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, esi xor edx, edx call [System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:Initialize(int):int:this] G_M000_IG04: mov ebx, gword ptr [esi+08H] mov eax, gword ptr [esi+0CH] mov gword ptr [ebp-44H], eax test eax, eax je SHORT G_M000_IG06 G_M000_IG05: mov ecx, eax mov edx, edi call [System.Collections.Generic.IEqualityComparer`1[int]:GetHashCode(int):int:this] jmp SHORT G_M000_IG07 align [0 bytes for IG10] G_M000_IG06: mov dword ptr [ebp-10H], edi mov edx, edi mov eax, edx mov edi, dword ptr [ebp-10H] G_M000_IG07: mov dword ptr [ebp-14H], eax xor edx, edx mov dword ptr [ebp-18H], edx mov ecx, gword ptr [esi+04H] mov gword ptr [ebp-4CH], ecx push 0 push eax push 0 push dword ptr [ecx+04H] call CORINFO_HELP_ULMOD test eax, eax js SHORT G_M000_IG08 test edx, edx jne G_M000_IG31 jmp SHORT G_M000_IG09 G_M000_IG08: cmp edx, -1 jne G_M000_IG31 G_M000_IG09: mov edx, eax mov ecx, gword ptr [ebp-4CH] cmp edx, dword ptr [ecx+04H] jae G_M000_IG34 lea eax, bword ptr [ecx+4*edx+08H] mov bword ptr [ebp-48H], eax mov ecx, dword ptr [eax] dec ecx cmp gword ptr [ebp-44H], 0 jne SHORT G_M000_IG18 G_M000_IG10: mov edx, dword ptr [ebx+04H] cmp edx, ecx jbe G_M000_IG23 mov dword ptr [ebp-10H], edi lea eax, [ecx+4*ecx] mov edi, dword ptr [ebp-14H] cmp dword ptr [ebx+4*eax+08H], edi jne SHORT G_M000_IG12 G_M000_IG11: mov edi, dword ptr [ebp-10H] cmp dword ptr [ebx+4*eax+10H], edi je SHORT G_M000_IG13 G_M000_IG12: mov ecx, dword ptr [ebx+4*eax+0CH] mov eax, dword ptr [ebp-18H] inc eax cmp edx, eax jb G_M000_IG33 mov dword ptr [ebp-18H], eax mov edi, dword ptr [ebp-10H] jmp SHORT G_M000_IG10 G_M000_IG13: movzx eax, byte ptr [ebp+08H] cmp eax, 1 jne SHORT G_M000_IG15 G_M000_IG14: cmp ecx, edx jae G_M000_IG34 lea eax, [ecx+4*ecx] mov edx, dword ptr [ebp+0CH] mov dword ptr [ebx+4*eax+14H], edx mov edx, dword ptr [ebp+10H] mov dword ptr [ebx+4*eax+18H], edx jmp G_M000_IG29 G_M000_IG15: cmp eax, 2 je G_M000_IG32 G_M000_IG16: xor eax, eax G_M000_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG18: mov eax, dword ptr [ebx+04H] mov dword ptr [ebp-30H], eax cmp eax, ecx jbe SHORT G_M000_IG21 mov dword ptr [ebp-10H], edi mov dword ptr [ebp-1CH], ecx lea edx, [ecx+4*ecx] mov dword ptr [ebp-20H], edx mov edi, dword ptr [ebp-14H] cmp dword ptr [ebx+4*edx+08H], edi jne SHORT G_M000_IG22 G_M000_IG19: mov edi, dword ptr [ebx+4*edx+10H] push dword ptr [ebp-10H] mov edx, edi mov ecx, gword ptr [ebp-44H] call [System.Collections.Generic.IEqualityComparer`1[int]:Equals(int,int):bool:this] test eax, eax mov edx, dword ptr [ebp-20H] je SHORT G_M000_IG22 G_M000_IG20: movzx eax, byte ptr [ebp+08H] cmp eax, 1 mov ecx, dword ptr [ebp-1CH] mov edx, dword ptr [ebp-30H] je SHORT G_M000_IG14 cmp eax, 2 je G_M000_IG32 jmp SHORT G_M000_IG16 G_M000_IG21: mov edx, dword ptr [ebp-30H] jmp SHORT G_M000_IG23 G_M000_IG22: mov ecx, dword ptr [ebx+4*edx+0CH] mov edx, ecx mov ecx, dword ptr [ebp-18H] inc ecx cmp dword ptr [ebp-30H], ecx jb G_M000_IG33 mov dword ptr [ebp-18H], ecx mov ecx, edx mov edi, dword ptr [ebp-10H] jmp SHORT G_M000_IG18 G_M000_IG23: mov ecx, dword ptr [esi+20H] mov dword ptr [ebp-2CH], ecx test ecx, ecx jle SHORT G_M000_IG24 mov ecx, dword ptr [esi+1CH] mov dword ptr [ebp-28H], ecx mov eax, dword ptr [ebp-28H] cmp eax, edx jae G_M000_IG34 lea edx, [eax+4*eax] mov eax, dword ptr [ebx+4*edx+0CH] neg eax add eax, -3 mov dword ptr [esi+1CH], eax mov eax, dword ptr [ebp-2CH] dec eax mov dword ptr [esi+20H], eax jmp SHORT G_M000_IG28 G_M000_IG24: mov ecx, dword ptr [esi+18H] mov ebx, ecx cmp edx, ebx jne SHORT G_M000_IG27 call [System.Collections.HashHelpers:ExpandPrime(int):int] mov edx, eax push 0 mov ecx, esi call [System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:Resize(int,bool):this] mov eax, gword ptr [esi+04H] mov gword ptr [ebp-50H], eax push 0 push dword ptr [ebp-14H] mov ecx, dword ptr [eax+04H] mov dword ptr [ebp-24H], ecx push 0 push ecx call CORINFO_HELP_ULMOD test eax, eax js SHORT G_M000_IG25 test edx, edx jne SHORT G_M000_IG31 jmp SHORT G_M000_IG26 G_M000_IG25: cmp edx, -1 jne SHORT G_M000_IG31 G_M000_IG26: cmp eax, dword ptr [ebp-24H] jae SHORT G_M000_IG34 mov ecx, gword ptr [ebp-50H] lea eax, bword ptr [ecx+4*eax+08H] mov ecx, eax mov bword ptr [ebp-48H], ecx G_M000_IG27: mov ecx, ebx lea edx, [ecx+01H] mov dword ptr [esi+18H], edx mov ebx, gword ptr [esi+08H] G_M000_IG28: cmp ecx, dword ptr [ebx+04H] jae SHORT G_M000_IG34 lea edx, [ecx+4*ecx] lea edx, bword ptr [ebx+4*edx+08H] mov ebx, dword ptr [ebp-14H] mov dword ptr [edx], ebx mov eax, bword ptr [ebp-48H] mov ebx, dword ptr [eax] dec ebx mov dword ptr [edx+04H], ebx mov dword ptr [edx+08H], edi mov edi, dword ptr [ebp+0CH] mov dword ptr [edx+0CH], edi mov edi, dword ptr [ebp+10H] mov dword ptr [edx+10H], edi inc ecx mov dword ptr [eax], ecx inc dword ptr [esi+24H] G_M000_IG29: mov eax, 1 G_M000_IG30: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG31: call CORINFO_HELP_OVERFLOW G_M000_IG32: mov ecx, dword ptr [ebp-10H] call [System.ThrowHelper:ThrowAddingDuplicateWithKeyArgumentException[int](int)] int3 G_M000_IG33: call [System.ThrowHelper:ThrowInvalidOperationException_ConcurrentOperationsNotSupported()] int3 G_M000_IG34: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 615 851: JIT compiled System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:TryInsert(int,System.ValueTuple`2[int,int],ubyte) [Tier-0 switched to FullOpts, IL size=569, code size=615] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:get_Item(int):System.ValueTuple`2[int,int]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp+08H] call [System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:FindValue(int):byref:this] mov bword ptr [ebp-0CH], eax cmp bword ptr [ebp-0CH], 0 je SHORT G_M000_IG04 mov ecx, bword ptr [ebp-0CH] mov eax, bword ptr [ebp-08H] mov edx, dword ptr [ecx] mov dword ptr [eax], edx mov edx, dword ptr [ecx+04H] mov dword ptr [eax+04H], edx G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, dword ptr [ebp+08H] call [System.ThrowHelper:ThrowKeyNotFoundException[int](int)] xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov eax, bword ptr [ebp-08H] mov edx, dword ptr [ebp-14H] mov dword ptr [eax], edx mov edx, dword ptr [ebp-10H] mov dword ptr [eax+04H], edx G_M000_IG05: mov esp, ebp pop ebp ret 4 ; Total bytes of code 97 852: JIT compiled System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:get_Item(int) [Tier0, IL size=39, code size=97] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:FindValue(int):byref:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 6 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 52 mov edi, ecx mov esi, edx G_M000_IG02: cmp gword ptr [edi+04H], 0 je G_M000_IG19 G_M000_IG03: mov ebx, gword ptr [edi+0CH] mov gword ptr [ebp-38H], ebx test ebx, ebx jne SHORT G_M000_IG09 mov ebx, esi mov eax, gword ptr [edi+04H] mov gword ptr [ebp-3CH], eax push 0 push ebx mov edx, dword ptr [eax+04H] mov dword ptr [ebp-18H], edx push 0 push edx call CORINFO_HELP_ULMOD test eax, eax js SHORT G_M000_IG04 test edx, edx jne G_M000_IG20 jmp SHORT G_M000_IG05 G_M000_IG04: cmp edx, -1 jne G_M000_IG20 G_M000_IG05: mov ecx, eax cmp ecx, dword ptr [ebp-18H] jae G_M000_IG22 mov edx, gword ptr [ebp-3CH] mov ecx, dword ptr [edx+4*ecx+08H] mov eax, gword ptr [edi+08H] xor edx, edx dec ecx align [0 bytes for IG06] G_M000_IG06: mov edi, dword ptr [eax+04H] cmp edi, ecx jbe G_M000_IG19 lea ecx, [ecx+4*ecx] lea ecx, bword ptr [eax+4*ecx+08H] cmp dword ptr [ecx], esi jne SHORT G_M000_IG08 G_M000_IG07: cmp dword ptr [ecx+08H], ebx je G_M000_IG17 G_M000_IG08: mov ecx, dword ptr [ecx+04H] inc edx cmp edi, edx jb G_M000_IG21 jmp SHORT G_M000_IG06 G_M000_IG09: mov ecx, ebx mov edx, esi call [System.Collections.Generic.IEqualityComparer`1[int]:GetHashCode(int):int:this] mov dword ptr [ebp-10H], eax mov edx, gword ptr [edi+04H] mov gword ptr [ebp-40H], edx push 0 push eax mov ecx, dword ptr [edx+04H] mov dword ptr [ebp-1CH], ecx push 0 push ecx call CORINFO_HELP_ULMOD test eax, eax js SHORT G_M000_IG10 test edx, edx jne SHORT G_M000_IG20 jmp SHORT G_M000_IG11 G_M000_IG10: cmp edx, -1 jne SHORT G_M000_IG20 G_M000_IG11: mov edx, eax cmp edx, dword ptr [ebp-1CH] jae SHORT G_M000_IG22 mov ecx, gword ptr [ebp-40H] mov edx, dword ptr [ecx+4*edx+08H] mov edi, gword ptr [edi+08H] xor eax, eax mov dword ptr [ebp-14H], eax dec edx G_M000_IG12: mov ecx, dword ptr [edi+04H] mov dword ptr [ebp-20H], ecx cmp ecx, edx jbe SHORT G_M000_IG19 lea edx, [edx+4*edx] lea edx, bword ptr [edi+4*edx+08H] mov ebx, dword ptr [ebp-10H] cmp dword ptr [edx], ebx jne SHORT G_M000_IG15 G_M000_IG13: mov bword ptr [ebp-34H], edx mov ebx, dword ptr [edx+08H] push esi mov edx, ebx mov ecx, gword ptr [ebp-38H] call [System.Collections.Generic.IEqualityComparer`1[int]:Equals(int,int):bool:this] test eax, eax jne SHORT G_M000_IG16 G_M000_IG14: mov edx, bword ptr [ebp-34H] G_M000_IG15: mov edx, dword ptr [edx+04H] mov eax, dword ptr [ebp-14H] inc eax cmp dword ptr [ebp-20H], eax jb SHORT G_M000_IG21 mov dword ptr [ebp-14H], eax jmp SHORT G_M000_IG12 G_M000_IG16: mov ecx, bword ptr [ebp-34H] G_M000_IG17: cmp byte ptr [ecx], cl lea eax, bword ptr [ecx+0CH] G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG19: xor eax, eax jmp SHORT G_M000_IG18 G_M000_IG20: call CORINFO_HELP_OVERFLOW G_M000_IG21: call [System.ThrowHelper:ThrowInvalidOperationException_ConcurrentOperationsNotSupported()] int3 G_M000_IG22: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 328 853: JIT compiled System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:FindValue(int) [Tier-0 switched to FullOpts, IL size=299, code size=328] ; Assembly listing for method Perfolizer.Mathematics.Distributions.StudentDistribution:InverseTwoTailStudent(double,double):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp sub esp, 40 vzeroupper vmovsd xmm1, qword ptr [ebp+08H] G_M000_IG02: vxorps xmm2, xmm2, xmm2 vmovsd xmm3, qword ptr [@RWD00] vmovsd xmm4, qword ptr [@RWD08] vmovsd qword ptr [ebp-20H], xmm4 G_M000_IG03: vmovsd qword ptr [ebp-08H], xmm2 vmovsd qword ptr [ebp-10H], xmm3 vaddsd xmm5, xmm2, xmm3 vmulsd xmm5, xmm5, qword ptr [@RWD16] vmovsd qword ptr [ebp-18H], xmm5 sub esp, 8 vmovsd qword ptr [esp], xmm5 vmovsd qword ptr [ebp+08H], xmm1 sub esp, 8 vmovsd qword ptr [esp], xmm1 call [Perfolizer.Mathematics.Distributions.StudentDistribution:StudentTwoTail(double,double):double] fstp qword ptr [ebp-28H] vmovsd xmm1, qword ptr [ebp+10H] vmovsd xmm0, qword ptr [ebp-28H] vucomisd xmm1, xmm0 jbe SHORT G_M000_IG05 G_M000_IG04: vmovsd xmm5, qword ptr [ebp-18H] vmovaps xmm3, xmm5 jmp SHORT G_M000_IG06 G_M000_IG05: vmovsd xmm5, qword ptr [ebp-18H] vmovaps xmm2, xmm5 vmovsd qword ptr [ebp-08H], xmm2 vmovsd xmm3, qword ptr [ebp-10H] G_M000_IG06: vmovsd xmm2, qword ptr [ebp-08H] vsubsd xmm0, xmm3, xmm2 vmovsd xmm4, qword ptr [ebp-20H] vucomisd xmm0, xmm4 vmovsd qword ptr [ebp+10H], xmm1 ja SHORT G_M000_IG09 G_M000_IG07: vaddsd xmm0, xmm2, xmm3 vmulsd xmm0, xmm0, qword ptr [@RWD16] vmovsd qword ptr [ebp-28H], xmm0 fld qword ptr [ebp-28H] G_M000_IG08: mov esp, ebp pop ebp ret 16 G_M000_IG09: vmovsd xmm1, qword ptr [ebp+08H] jmp G_M000_IG03 RWD00 dq 408F400000000000h ; 1000 RWD08 dq 3E112E0BE826D695h ; 1e-09 RWD16 dq 3FE0000000000000h ; 0.5 ; Total bytes of code 203 854: JIT compiled Perfolizer.Mathematics.Distributions.StudentDistribution:InverseTwoTailStudent(double,double) [Tier-0 switched to FullOpts, IL size=80, code size=203] ; Assembly listing for method Perfolizer.Mathematics.Distributions.StudentDistribution:StudentTwoTail(double,double):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 32 vzeroupper vmovsd xmm1, qword ptr [ebp+10H] vmovsd xmm0, qword ptr [ebp+08H] G_M000_IG02: vxorps xmm2, xmm2, xmm2 vucomisd xmm2, xmm1 ja G_M000_IG16 vmovsd xmm2, qword ptr [@RWD00] vucomisd xmm2, xmm0 ja G_M000_IG17 vmulsd xmm1, xmm1, xmm1 vdivsd xmm2, xmm1, xmm0 vaddsd xmm3, xmm2, qword ptr [@RWD00] vroundsd xmm4, xmm4, xmm0, 4 vcvttsd2si esi, xmm4 vxorps xmm4, xmm4, xmm4 vcvtsi2sd xmm4, xmm4, esi vsubsd xmm5, xmm0, xmm4 vandps xmm5, xmm5, xmmword ptr [@RWD16] vucomisd xmm5, qword ptr [@RWD32] ja SHORT G_M000_IG04 G_M000_IG03: vmovsd xmm5, qword ptr [@RWD40] vucomisd xmm0, xmm5 jae SHORT G_M000_IG04 vucomisd xmm0, xmm1 jbe G_M000_IG07 vmovsd qword ptr [ebp+08H], xmm0 vucomisd xmm0, qword ptr [@RWD48] vmovsd xmm0, qword ptr [ebp+08H] jbe G_M000_IG07 G_M000_IG04: vucomisd xmm2, qword ptr [@RWD56] jbe SHORT G_M000_IG05 vmovsd qword ptr [ebp+08H], xmm0 sub esp, 8 vmovsd qword ptr [esp], xmm3 call System.Math:Log(double):double fstp qword ptr [ebp-28H] vmovsd xmm2, qword ptr [ebp-28H] vmovsd xmm0, qword ptr [ebp+08H] G_M000_IG05: vsubsd xmm0, xmm0, qword ptr [@RWD64] vmulsd xmm1, xmm0, xmm0 vmulsd xmm3, xmm1, qword ptr [@RWD72] vmulsd xmm2, xmm0, xmm2 vmulsd xmm0, xmm2, qword ptr [@RWD80] vsubsd xmm0, xmm0, qword ptr [@RWD88] vmulsd xmm0, xmm0, xmm2 vsubsd xmm0, xmm0, qword ptr [@RWD96] vmulsd xmm0, xmm0, xmm2 vsubsd xmm0, xmm0, qword ptr [@RWD104] vmulsd xmm1, xmm2, xmm2 vmulsd xmm1, xmm1, qword ptr [@RWD112] vaddsd xmm1, xmm1, qword ptr [@RWD120] vaddsd xmm1, xmm1, xmm3 vdivsd xmm0, xmm0, xmm1 vaddsd xmm0, xmm0, xmm2 vaddsd xmm0, xmm0, qword ptr [@RWD128] vdivsd xmm0, xmm0, xmm3 vaddsd xmm0, xmm0, qword ptr [@RWD00] vsqrtsd xmm2, xmm2, xmm2 vmulsd xmm2, xmm0, xmm2 vxorps xmm0, xmm2, xmmword ptr [@RWD144] sub esp, 8 vmovsd qword ptr [esp], xmm0 call [Perfolizer.Mathematics.Distributions.NormalDistribution:Gauss(double):double] fstp qword ptr [ebp-28H] vmovsd xmm0, qword ptr [ebp-28H] vmulsd xmm0, xmm0, qword ptr [@RWD160] vmovsd qword ptr [ebp-28H], xmm0 fld qword ptr [ebp-28H] G_M000_IG06: lea esp, [ebp-08H] pop esi pop edi pop ebp ret 16 G_M000_IG07: vmovsd xmm6, qword ptr [@RWD00] vucomisd xmm5, xmm0 jbe SHORT G_M000_IG08 vmovsd xmm0, qword ptr [@RWD168] vucomisd xmm0, xmm1 jbe SHORT G_M000_IG08 vsqrtsd xmm2, xmm2, xmm2 vmovaps xmm0, xmm2 cmp esi, 1 jne G_M000_IG11 vxorps xmm0, xmm0, xmm0 jmp G_M000_IG11 align [0 bytes for IG09] G_M000_IG08: vsqrtsd xmm0, xmm0, xmm3 vmulsd xmm2, xmm0, xmm4 xor eax, eax vsubsd xmm6, xmm0, qword ptr [@RWD00] vandps xmm6, xmm6, xmmword ptr [@RWD16] vxorps xmm1, xmm1, xmm1 vucomisd xmm6, xmm1 jbe SHORT G_M000_IG10 G_M000_IG09: add eax, 2 vmovaps xmm6, xmm0 vxorps xmm0, xmm0, xmm0 vcvtsi2sd xmm0, xmm0, eax vmulsd xmm0, xmm3, xmm0 lea edx, [eax-01H] vxorps xmm1, xmm1, xmm1 vcvtsi2sd xmm1, xmm1, edx vdivsd xmm0, xmm1, xmm0 vmulsd xmm2, xmm0, xmm2 lea edx, [esi+eax] vxorps xmm0, xmm0, xmm0 vcvtsi2sd xmm0, xmm0, edx vdivsd xmm0, xmm2, xmm0 vaddsd xmm0, xmm0, xmm6 vsubsd xmm6, xmm0, xmm6 vandps xmm6, xmm6, xmmword ptr [@RWD16] vxorps xmm1, xmm1, xmm1 vucomisd xmm6, xmm1 ja SHORT G_M000_IG09 G_M000_IG10: add esi, 2 vxorps xmm6, xmm6, xmm6 vmovsd qword ptr [ebp-18H], xmm6 vxorps xmm2, xmm2, xmm2 vxorps xmm0, xmm0, xmmword ptr [@RWD144] vmovsd xmm6, qword ptr [ebp-18H] G_M000_IG11: add esi, -2 cmp esi, 1 jle SHORT G_M000_IG12 vxorps xmm1, xmm1, xmm1 vcvtsi2sd xmm1, xmm1, esi vmovsd qword ptr [ebp-10H], xmm3 vmulsd xmm1, xmm3, xmm1 lea eax, [esi-01H] vxorps xmm4, xmm4, xmm4 vcvtsi2sd xmm4, xmm4, eax vdivsd xmm1, xmm4, xmm1 vmulsd xmm0, xmm1, xmm0 vaddsd xmm0, xmm0, xmm2 vmovsd qword ptr [ebp-20H], xmm0 vmovsd xmm0, qword ptr [ebp-20H] vmovsd xmm3, qword ptr [ebp-10H] jmp SHORT G_M000_IG11 G_M000_IG12: test esi, esi je SHORT G_M000_IG13 vmovsd qword ptr [ebp-20H], xmm0 vmovsd qword ptr [ebp-18H], xmm6 vmovsd qword ptr [ebp-10H], xmm3 sub esp, 8 vmovsd qword ptr [esp], xmm2 call System.Math:Atan(double):double fstp qword ptr [ebp-28H] vmovsd xmm1, qword ptr [ebp-20H] vdivsd xmm1, xmm1, qword ptr [ebp-10H] vmovsd xmm0, qword ptr [ebp-28H] vaddsd xmm0, xmm0, xmm1 vmulsd xmm0, xmm0, qword ptr [@RWD160] vdivsd xmm0, xmm0, qword ptr [@RWD176] jmp SHORT G_M000_IG14 G_M000_IG13: vsqrtsd xmm3, xmm3, xmm3 vdivsd xmm0, xmm0, xmm3 vmovsd qword ptr [ebp-18H], xmm6 G_M000_IG14: vmovsd xmm6, qword ptr [ebp-18H] vsubsd xmm0, xmm6, xmm0 vmovsd qword ptr [ebp-28H], xmm0 fld qword ptr [ebp-28H] G_M000_IG15: lea esp, [ebp-08H] pop esi pop edi pop ebp ret 16 G_M000_IG16: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0x985 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov edi, eax mov ecx, 0x989 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS push eax mov edx, edi mov ecx, esi call [System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG17: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0x9AB mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov edi, eax mov ecx, 0x9AF mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS push eax mov edx, edi mov ecx, esi call [System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this] mov ecx, esi call CORINFO_HELP_THROW int3 RWD00 dq 3FF0000000000000h ; 1 RWD08 dd 00000000h, 00000000h RWD16 dq 7FFFFFFFFFFFFFFFh, 7FFFFFFFFFFFFFFFh RWD32 dq 3E112E0BE826D695h ; 1e-09 RWD40 dq 4034000000000000h ; 20 RWD48 dq 4069000000000000h ; 200 RWD56 dq 3EB0C6F7A0B5ED8Dh ; 1e-06 RWD64 dq 3FE0000000000000h ; 0.5 RWD72 dq 4048000000000000h ; 48 RWD80 dq BFD999999999999Ah ; -0.4 RWD88 dq 400A666666666666h ; 3.3 RWD96 dq 4038000000000000h ; 24 RWD104 dq 4055600000000000h ; 85.5 RWD112 dq 3FE999999999999Ah ; 0.8 RWD120 dq 4059000000000000h ; 100 RWD128 dq 4008000000000000h ; 3 RWD136 dd 00000000h, 00000000h RWD144 dq 8000000000000000h, 8000000000000000h RWD160 dq 4000000000000000h ; 2 RWD168 dq 4010000000000000h ; 4 RWD176 dq 400921FB54442D18h ; 3.14159265 ; Total bytes of code 876 855: JIT compiled Perfolizer.Mathematics.Distributions.StudentDistribution:StudentTwoTail(double,double) [Tier-0 switched to FullOpts, IL size=565, code size=876] ; Assembly listing for method System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:InsertionSort(System.Span`1[BenchmarkDotNet.Reports.Measurement]) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 10 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 68 vzeroupper G_M000_IG02: xor eax, eax mov edx, dword ptr [ebp+0CH] dec edx mov dword ptr [ebp-50H], edx test edx, edx jle G_M000_IG11 mov ecx, bword ptr [ebp+08H] G_M000_IG03: mov esi, ecx lea edi, [eax+01H] mov ebx, edi shl ebx, 5 vmovdqu ymm0, ymmword ptr [esi+ebx] vmovdqu ymmword ptr [ebp-2CH], ymm0 jmp SHORT G_M000_IG05 align [0 bytes for IG04] G_M000_IG04: mov ebx, ecx lea edx, [eax+01H] shl edx, 5 add edx, ebx vmovdqu ymm0, ymmword ptr [esi] vmovdqu ymmword ptr [edx], ymm0 dec eax G_M000_IG05: test eax, eax jl SHORT G_M000_IG10 G_M000_IG06: mov esi, ecx mov ebx, eax shl ebx, 5 add esi, ebx vmovdqu ymm0, ymmword ptr [esi] vmovdqu ymmword ptr [ebp-4CH], ymm0 vmovsd xmm0, qword ptr [ebp-14H] vmovsd xmm1, qword ptr [ebp-34H] vucomisd xmm1, xmm0 ja SHORT G_M000_IG04 G_M000_IG07: vucomisd xmm0, xmm1 ja SHORT G_M000_IG10 vucomisd xmm0, xmm1 jp SHORT G_M000_IG08 je SHORT G_M000_IG10 G_M000_IG08: vucomisd xmm0, xmm0 jp SHORT G_M000_IG09 je SHORT G_M000_IG10 G_M000_IG09: vucomisd xmm1, xmm1 jnp SHORT G_M000_IG04 G_M000_IG10: mov esi, ecx inc eax shl eax, 5 vmovdqu ymm0, ymmword ptr [ebp-2CH] vmovdqu ymmword ptr [esi+eax], ymm0 mov eax, edi mov edx, dword ptr [ebp-50H] cmp eax, edx jl G_M000_IG03 G_M000_IG11: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 181 856: JIT compiled System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:InsertionSort(System.Span`1[BenchmarkDotNet.Reports.Measurement]) [Tier-0 switched to FullOpts, IL size=141, code size=181] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:__Overhead():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: ret ; Total bytes of code 1 857: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:__Overhead() [Tier1, IL size=1, code size=1] ; Assembly listing for method System.Buffer:Memmove(byref,byref,uint) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 148133 G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx vzeroupper mov esi, dword ptr [ebp+08H] G_M000_IG02: mov eax, ecx sub eax, edx cmp eax, esi jb G_M000_IG23 mov eax, edx sub eax, ecx cmp eax, esi jb G_M000_IG23 lea edi, bword ptr [edx+esi] lea ebx, bword ptr [ecx+esi] cmp esi, 16 jbe SHORT G_M000_IG11 G_M000_IG03: cmp esi, 64 ja SHORT G_M000_IG14 G_M000_IG04: vmovups xmm0, xmmword ptr [edx] vmovups xmmword ptr [ecx], xmm0 cmp esi, 32 ja SHORT G_M000_IG16 G_M000_IG05: vmovups xmm0, xmmword ptr [edi-10H] vmovups xmmword ptr [ebx-10H], xmm0 jmp SHORT G_M000_IG10 G_M000_IG06: vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ecx], ymm0 vmovdqu ymm0, ymmword ptr [edx+20H] vmovdqu ymmword ptr [ecx+20H], ymm0 add ecx, 64 add edx, 64 dec eax jne SHORT G_M000_IG06 G_M000_IG07: and esi, 63 cmp esi, 16 ja SHORT G_M000_IG04 G_M000_IG08: jmp SHORT G_M000_IG05 G_M000_IG09: push esi call [System.Buffer:_Memmove(byref,byref,uint)] G_M000_IG10: pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG11: test esi, 24 je SHORT G_M000_IG18 G_M000_IG12: mov eax, dword ptr [edx] mov dword ptr [ecx], eax mov edx, dword ptr [edx+04H] mov dword ptr [ecx+04H], edx mov ecx, dword ptr [edi-08H] mov dword ptr [ebx-08H], ecx G_M000_IG13: mov ecx, dword ptr [edi-04H] mov dword ptr [ebx-04H], ecx jmp SHORT G_M000_IG10 G_M000_IG14: cmp esi, 0x800 ja SHORT G_M000_IG09 G_M000_IG15: mov eax, esi shr eax, 6 jmp SHORT G_M000_IG06 G_M000_IG16: vmovups xmm0, xmmword ptr [edx+10H] vmovups xmmword ptr [ecx+10H], xmm0 cmp esi, 48 jbe SHORT G_M000_IG05 G_M000_IG17: vmovups xmm0, xmmword ptr [edx+20H] vmovups xmmword ptr [ecx+20H], xmm0 jmp G_M000_IG05 G_M000_IG18: test esi, 4 je SHORT G_M000_IG20 G_M000_IG19: mov edx, dword ptr [edx] mov dword ptr [ecx], edx jmp SHORT G_M000_IG13 G_M000_IG20: test esi, esi je SHORT G_M000_IG10 G_M000_IG21: movzx edx, byte ptr [edx] mov byte ptr [ecx], dl test esi, 2 je SHORT G_M000_IG10 G_M000_IG22: movsx ecx, word ptr [edi-02H] mov word ptr [ebx-02H], cx jmp SHORT G_M000_IG10 G_M000_IG23: cmp ecx, edx je G_M000_IG10 jmp G_M000_IG09 ; Total bytes of code 259 858: JIT compiled System.Buffer:Memmove(byref,byref,uint) [Tier1 with Static PGO, IL size=534, code size=259] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:IsOutlier(int,double,double,double):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi vzeroupper mov esi, ecx vmovsd xmm0, qword ptr [ebp+18H] G_M000_IG02: cmp esi, 3 ja SHORT G_M000_IG11 lea eax, [@RWD00] mov eax, dword ptr [eax+4*esi] lea ecx, G_M000_IG02 add eax, ecx jmp eax G_M000_IG03: xor eax, eax G_M000_IG04: pop esi pop edi pop ebp ret 24 G_M000_IG05: xor ecx, ecx vucomisd xmm0, qword ptr [ebp+08H] seta cl jmp SHORT G_M000_IG09 G_M000_IG06: vmovsd xmm1, qword ptr [ebp+10H] xor ecx, ecx vucomisd xmm1, xmm0 seta cl jmp SHORT G_M000_IG09 G_M000_IG07: vmovsd xmm1, qword ptr [ebp+10H] vucomisd xmm1, xmm0 jbe SHORT G_M000_IG05 mov eax, 1 G_M000_IG08: pop esi pop edi pop ebp ret 24 G_M000_IG09: movzx eax, cl G_M000_IG10: pop esi pop edi pop ebp ret 24 G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax mov dword ptr [edi+04H], esi mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0x9BE4 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov edx, eax push edi push 0 mov ecx, esi call [System.ArgumentOutOfRangeException:.ctor(System.String,System.Object,System.String):this] mov ecx, esi call CORINFO_HELP_THROW int3 RWD00 dd G_M000_IG03 - G_M000_IG02 dd G_M000_IG05 - G_M000_IG02 dd G_M000_IG06 - G_M000_IG02 dd G_M000_IG07 - G_M000_IG02 ; Total bytes of code 169 859: JIT compiled BenchmarkDotNet.Mathematics.MeasurementsStatistics:IsOutlier(int,double,double,double) [Tier1, IL size=65, code size=169] ; Assembly listing for method System.Text.StringBuilder:Append(System.String):System.Text.StringBuilder:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 132016 ; 2 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx G_M000_IG02: test edx, edx je SHORT G_M000_IG11 G_M000_IG03: mov edi, dword ptr [edx+04H] add edx, 8 test edi, edi je SHORT G_M000_IG11 G_M000_IG04: mov ecx, gword ptr [esi+04H] mov ebx, dword ptr [esi+0CH] lea eax, [ebx+edi] cmp eax, dword ptr [ecx+04H] ja SHORT G_M000_IG10 G_M000_IG05: lea ecx, bword ptr [ecx+2*ebx+08H] cmp edi, 2 jle SHORT G_M000_IG08 G_M000_IG06: lea eax, [edi+edi] push eax call [System.Buffer:Memmove(byref,byref,uint)] G_M000_IG07: add edi, ebx mov dword ptr [esi+0CH], edi jmp SHORT G_M000_IG11 G_M000_IG08: movzx eax, word ptr [edx] mov word ptr [ecx], ax cmp edi, 2 jne SHORT G_M000_IG07 G_M000_IG09: movzx edx, word ptr [edx+02H] mov word ptr [ecx+02H], dx jmp SHORT G_M000_IG07 G_M000_IG10: push edi mov ecx, esi call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] G_M000_IG11: mov eax, esi G_M000_IG12: pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 99 860: JIT compiled System.Text.StringBuilder:Append(System.String) [Tier1 with Static PGO, IL size=25, code size=99] ; Assembly listing for method System.Text.StringBuilder:Append(byref,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 133392 ; 1 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx mov edi, dword ptr [ebp+08H] G_M000_IG02: test edi, edi je SHORT G_M000_IG11 G_M000_IG03: mov ecx, gword ptr [esi+04H] mov ebx, dword ptr [esi+0CH] lea eax, [ebx+edi] cmp eax, dword ptr [ecx+04H] ja SHORT G_M000_IG10 G_M000_IG04: lea ecx, bword ptr [ecx+2*ebx+08H] cmp edi, 2 jle SHORT G_M000_IG08 G_M000_IG05: lea eax, [edi+edi] push eax call [System.Buffer:Memmove(byref,byref,uint)] G_M000_IG06: add edi, ebx mov dword ptr [esi+0CH], edi G_M000_IG07: pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG08: movzx eax, word ptr [edx] mov word ptr [ecx], ax cmp edi, 2 jne SHORT G_M000_IG06 G_M000_IG09: movzx edx, word ptr [edx+02H] mov word ptr [ecx+02H], dx jmp SHORT G_M000_IG06 G_M000_IG10: push edi mov ecx, esi call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] G_M000_IG11: pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 97 861: JIT compiled System.Text.StringBuilder:Append(byref,int) [Tier1 with Static PGO, IL size=96, code size=97] ; Assembly listing for method System.Number+BigInteger:Compare(byref,byref):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx G_M000_IG02: mov eax, dword ptr [ecx] mov esi, eax sub esi, dword ptr [edx] je SHORT G_M000_IG04 G_M000_IG03: jmp SHORT G_M000_IG10 align [9 bytes for IG05] G_M000_IG04: test eax, eax je SHORT G_M000_IG06 dec eax js SHORT G_M000_IG06 G_M000_IG05: mov esi, dword ptr [ecx+4*eax+04H] xor edi, edi sub esi, dword ptr [edx+4*eax+04H] sbb edi, 0 mov ebx, esi or ebx, edi jne SHORT G_M000_IG08 dec eax jns SHORT G_M000_IG05 G_M000_IG06: xor eax, eax G_M000_IG07: pop ebx pop esi pop edi pop ebp ret G_M000_IG08: cmp esi, 1 sbb edi, 0 setge al movzx eax, al mov edx, 1 mov ecx, -1 test eax, eax mov eax, ecx cmovne eax, edx G_M000_IG09: pop ebx pop esi pop edi pop ebp ret G_M000_IG10: mov eax, esi G_M000_IG11: pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 102 862: JIT compiled System.Number+BigInteger:Compare(byref,byref) [Tier1, IL size=97, code size=102] ; Assembly listing for method System.UInt64:CreateTruncating[uint](uint):ulong ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 2 inlinees without PGO data G_M000_IG01: G_M000_IG02: xor edx, edx mov eax, ecx G_M000_IG03: ret ; Total bytes of code 5 863: JIT compiled System.UInt64:CreateTruncating[uint](uint) [Tier1, IL size=74, code size=5] ; Assembly listing for method System.UInt64:TryConvertFromTruncating[uint](uint,byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov dword ptr [edx], ecx xor eax, eax mov dword ptr [edx+04H], eax mov eax, 1 G_M000_IG03: pop ebp ret ; Total bytes of code 17 864: JIT compiled System.UInt64:TryConvertFromTruncating[uint](uint,byref) [Tier1, IL size=371, code size=17] ; Assembly listing for method System.Number+BigInteger:HeuristicDivide(byref,byref):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 64 mov esi, ecx mov edi, edx G_M000_IG02: mov ebx, dword ptr [edi] cmp dword ptr [esi], ebx jge SHORT G_M000_IG05 G_M000_IG03: xor eax, eax G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG05: lea eax, [ebx-01H] mov dword ptr [ebp-10H], eax mov eax, dword ptr [esi+4*eax+04H] mov edx, dword ptr [ebp-10H] mov ecx, dword ptr [edi+4*edx+04H] inc ecx xor edx, edx div edx:eax, ecx mov ecx, eax mov dword ptr [ebp-14H], ecx test ecx, ecx je G_M000_IG11 xor eax, eax xor edx, edx mov dword ptr [ebp-48H], edx xor edx, edx mov dword ptr [ebp-4CH], edx mov edx, dword ptr [ebp-48H] mov dword ptr [ebp-1CH], edx mov ecx, dword ptr [ebp-4CH] mov dword ptr [ebp-20H], ecx xor ecx, ecx mov dword ptr [ebp-4CH], ecx xor ecx, ecx mov dword ptr [ebp-48H], ecx mov ecx, dword ptr [ebp-4CH] mov dword ptr [ebp-24H], ecx mov ecx, dword ptr [ebp-48H] mov dword ptr [ebp-28H], ecx align [2 bytes for IG06] G_M000_IG06: mov dword ptr [ebp-18H], eax mov ecx, dword ptr [edi+4*eax+04H] mov edx, dword ptr [ebp-14H] mov eax, ecx mul edx:eax, edx mov ecx, dword ptr [ebp-24H] add eax, ecx mov ecx, dword ptr [ebp-28H] adc ecx, edx mov dword ptr [ebp-2CH], eax xor edx, edx mov dword ptr [ebp-24H], ecx mov dword ptr [ebp-28H], edx mov ecx, dword ptr [ebp-18H] mov edx, dword ptr [esi+4*ecx+04H] xor eax, eax sub edx, dword ptr [ebp-2CH] sbb eax, 0 sub edx, dword ptr [ebp-1CH] sbb eax, dword ptr [ebp-20H] mov dword ptr [ebp-30H], edx xor edx, edx and eax, 1 and edx, 0 mov dword ptr [ebp-1CH], eax mov eax, dword ptr [ebp-30H] mov dword ptr [esi+4*ecx+04H], eax inc ecx cmp ecx, ebx mov dword ptr [ebp-20H], edx mov eax, ecx jl SHORT G_M000_IG06 G_M000_IG07: jmp SHORT G_M000_IG09 align [0 bytes for IG12] G_M000_IG08: dec ebx G_M000_IG09: test ebx, ebx jle SHORT G_M000_IG10 cmp dword ptr [esi+4*ebx], 0 je SHORT G_M000_IG08 G_M000_IG10: mov dword ptr [esi], ebx G_M000_IG11: mov ecx, esi mov edx, edi call [System.Number+BigInteger:Compare(byref,byref):int] test eax, eax jl SHORT G_M000_IG17 mov ecx, dword ptr [ebp-14H] inc ecx mov dword ptr [ebp-14H], ecx xor eax, eax xor edx, edx mov dword ptr [ebp-48H], edx xor edx, edx mov dword ptr [ebp-4CH], edx mov edx, dword ptr [ebp-48H] mov dword ptr [ebp-34H], edx mov ecx, dword ptr [ebp-4CH] mov dword ptr [ebp-38H], ecx G_M000_IG12: mov ecx, dword ptr [esi+4*eax+04H] xor edx, edx sub ecx, dword ptr [edi+4*eax+04H] sbb edx, 0 sub ecx, dword ptr [ebp-34H] sbb edx, dword ptr [ebp-38H] mov dword ptr [ebp-3CH], ecx xor ecx, ecx and edx, 1 and ecx, 0 mov dword ptr [ebp-38H], ecx mov ecx, dword ptr [ebp-3CH] mov dword ptr [esi+4*eax+04H], ecx inc eax cmp eax, ebx mov dword ptr [ebp-34H], edx jl SHORT G_M000_IG12 G_M000_IG13: jmp SHORT G_M000_IG15 G_M000_IG14: dec ebx G_M000_IG15: test ebx, ebx jle SHORT G_M000_IG16 cmp dword ptr [esi+4*ebx], 0 je SHORT G_M000_IG14 G_M000_IG16: mov dword ptr [esi], ebx G_M000_IG17: mov eax, dword ptr [ebp-14H] G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 333 865: JIT compiled System.Number+BigInteger:HeuristicDivide(byref,byref) [Tier1, IL size=363, code size=333] ; Assembly listing for method System.Runtime.CompilerServices.CastHelpers:ChkCastClass(uint,System.Object):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 144232 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: test edx, edx je SHORT G_M000_IG04 G_M000_IG03: cmp dword ptr [edx], ecx jne SHORT G_M000_IG06 G_M000_IG04: mov eax, edx G_M000_IG05: pop ebp ret G_M000_IG06: call [System.Runtime.CompilerServices.CastHelpers:ChkCastClassSpecial(uint,System.Object):System.Object] G_M000_IG07: pop ebp ret ; Total bytes of code 23 866: JIT compiled System.Runtime.CompilerServices.CastHelpers:ChkCastClass(uint,System.Object) [Tier1 with Static PGO, IL size=22, code size=23] ; Assembly listing for method System.Runtime.CompilerServices.CastHelpers:IsInstanceOfClass(uint,System.Object):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 166225 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp mov eax, edx G_M000_IG02: test eax, eax je SHORT G_M000_IG04 G_M000_IG03: cmp dword ptr [eax], ecx jne SHORT G_M000_IG05 G_M000_IG04: pop ebp ret G_M000_IG05: mov edx, dword ptr [eax] mov edx, dword ptr [edx+10H] G_M000_IG06: cmp edx, ecx je SHORT G_M000_IG13 G_M000_IG07: test edx, edx je SHORT G_M000_IG12 G_M000_IG08: mov edx, dword ptr [edx+10H] cmp edx, ecx je SHORT G_M000_IG13 G_M000_IG09: test edx, edx je SHORT G_M000_IG12 G_M000_IG10: mov edx, dword ptr [edx+10H] cmp edx, ecx je SHORT G_M000_IG13 G_M000_IG11: test edx, edx jne SHORT G_M000_IG14 G_M000_IG12: xor eax, eax G_M000_IG13: pop ebp ret G_M000_IG14: mov edx, dword ptr [edx+10H] cmp edx, ecx je SHORT G_M000_IG13 test edx, edx je SHORT G_M000_IG12 G_M000_IG15: mov edx, dword ptr [edx+10H] jmp SHORT G_M000_IG06 ; Total bytes of code 70 867: JIT compiled System.Runtime.CompilerServices.CastHelpers:IsInstanceOfClass(uint,System.Object) [Tier1 with Static PGO, IL size=97, code size=70] ; Assembly listing for method System.Number+BigInteger:Multiply10():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 20 G_M000_IG02: cmp dword ptr [ecx], 0 jne SHORT G_M000_IG04 G_M000_IG03: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG04: xor eax, eax mov edx, dword ptr [ecx] mov dword ptr [ebp-10H], edx xor esi, esi xor edi, edi mov dword ptr [ebp-14H], esi mov dword ptr [ebp-18H], edi align [0 bytes for IG05] G_M000_IG05: mov bword ptr [ebp-20H], ecx mov ebx, dword ptr [ecx+4*eax+04H] xor edx, edx mov dword ptr [ebp-1CH], edx lea edi, [8*ebx] mov esi, edx shld esi, ebx, 3 lea edx, [ebx+ebx] mov ecx, dword ptr [ebp-1CH] shld ecx, ebx, 1 add edx, edi adc ecx, esi add edx, dword ptr [ebp-14H] adc ecx, dword ptr [ebp-18H] mov esi, ecx xor edi, edi mov ecx, bword ptr [ebp-20H] mov dword ptr [ecx+4*eax+04H], edx inc eax mov edx, dword ptr [ebp-10H] cmp eax, edx mov dword ptr [ebp-14H], esi mov dword ptr [ebp-18H], edi jl SHORT G_M000_IG05 G_M000_IG06: mov esi, dword ptr [ebp-14H] mov edi, dword ptr [ebp-18H] mov edx, esi or edx, edi je SHORT G_M000_IG07 mov dword ptr [ecx+4*eax+04H], esi inc dword ptr [ecx] G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 135 868: JIT compiled System.Number+BigInteger:Multiply10() [Tier1, IL size=122, code size=135] ; Assembly listing for method System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:PickPivotAndPartition(System.Span`1[BenchmarkDotNet.Reports.Measurement]):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 32 single block inlinees; 13 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 384 vzeroupper G_M000_IG02: mov eax, bword ptr [ebp+08H] mov edx, dword ptr [ebp+0CH] dec edx mov ecx, edx shl ecx, 5 add ecx, eax sar edx, 1 shl edx, 5 add edx, eax cmp byte ptr [eax], al vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ebp-44H], ymm0 vmovsd xmm0, qword ptr [eax+18H] vmovsd xmm1, qword ptr [ebp-2CH] vucomisd xmm1, xmm0 ja SHORT G_M000_IG07 G_M000_IG03: vucomisd xmm0, xmm1 ja SHORT G_M000_IG06 vucomisd xmm0, xmm1 jp SHORT G_M000_IG04 je SHORT G_M000_IG07 G_M000_IG04: vucomisd xmm0, xmm0 jp SHORT G_M000_IG05 je SHORT G_M000_IG06 G_M000_IG05: vucomisd xmm1, xmm1 jp SHORT G_M000_IG07 jmp SHORT G_M000_IG07 align [0 bytes for IG18] G_M000_IG06: vmovdqu ymm0, ymmword ptr [eax] vmovdqu ymmword ptr [ebp-64H], ymm0 vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [eax], ymm0 vmovdqu ymm0, ymmword ptr [ebp-64H] vmovdqu ymmword ptr [edx], ymm0 G_M000_IG07: vmovdqu ymm0, ymmword ptr [ecx] vmovdqu ymmword ptr [ebp-84H], ymm0 vmovsd xmm0, qword ptr [eax+18H] vmovsd xmm1, qword ptr [ebp-6CH] vucomisd xmm1, xmm0 ja SHORT G_M000_IG12 G_M000_IG08: vucomisd xmm0, xmm1 ja SHORT G_M000_IG11 vucomisd xmm0, xmm1 jp SHORT G_M000_IG09 je ; Assembly listing for method System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 66489 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data SHORT G_M000_IG12 G_M000_IG09: vucomisd xmm0, xmm0 jp SHORT G_M000_IG10 je SHORT G_M000_IG11 G_M000_IG10: vucomisd xmm1, xmm1 jp SHORT G_M000_IG12 jmp SHORT G_M000_IG12 G_M000_IG01: G_M000_IG11: mov vmovdqu ymm0, ymmword ptr [eax] eax, ecx G_M000_IG02: vmovdqu ymmword ptr [ebp-A4H] test , ymm0 eax, eax jl SHORT G_M000_IG04 vmovdqu G_M000_IG03: ymm0, ymmword ptr [ecx] ret G_M000_IG04: vmovdqu ymmword ptr [eax], ymm0 mov ecx, edx vmovdqu ymm0, ymmword ptr [ebp-A4H] mov edx, eax call vmovdqu ymmword ptr [ecx], ymm0 [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] int3 G_M000_IG12: ; Total bytes of code 18 vmovdqu ymm0, ymmword ptr [ecx] vmovdqu ymmword ptr [ebp-C4H], ymm0 869: JIT compiled System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String) [Tier1 with Static PGO, IL size=22, code size=18] vmovsd xmm0, qword ptr [edx+18H] vmovsd xmm1, qword ptr [ebp-ACH] vucomisd xmm1, xmm0 ja SHORT G_M000_IG17 G_M000_IG13: vucomisd xmm0, xmm1 ja SHORT G_M000_IG16 vucomisd xmm0, xmm1 jp SHORT G_M000_IG14 je SHORT G_M000_IG17 G_M000_IG14: vucomisd xmm0, xmm0 jp SHORT G_M000_IG15 je SHORT G_M000_IG16 G_M000_IG15: vucomisd xmm1, xmm1 jp SHORT G_M000_IG17 jmp SHORT G_M000_IG17 G_M000_IG16: vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ebp-E4H], ymm0 vmovdqu ymm0, ymmword ptr [ecx] vmovdqu ymmword ptr [edx], ymm0 vmovdqu ymm0, ymmword ptr [ebp-E4H] vmovdqu ymmword ptr [ecx], ymm0 G_M000_IG17: mov ecx, dword ptr [ebp+0CH] add ecx, -2 shl ecx, 5 add ecx, eax vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ebp-24H], ymm0 ; Assembly listing for method System.Int32:IsNegative(int):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ebp-104H], ymm0 vmovdqu ymm0, ymmword ptr [ecx] vmovdqu ymmword ptr [edx], ymm0 G_M000_IG01: vmovdqu G_M000_IG02: ymm0, ymmword ptr [ebp-104H] vmovdqu ymmword ptr [ecx], ymm0 mov edx, eax mov esi, ecx cmp eax, ecx mov jae eax, ecx G_M000_IG29 shr eax, 31 G_M000_IG18: G_M000_IG03: ret cmp edx, ecx ; Total bytes of code 6 jae SHORT G_M000_IG23 add edx, 32 vmovdqu ymm0, ymmword ptr [edx] 870: JIT compiled System.Int32:IsNegative(int) [Tier1, IL size=5, code size=6] vmovdqu ymmword ptr [ebp-124H], ymm0 vmovsd xmm0, qword ptr [ebp-0CH] vmovsd xmm1, qword ptr [ebp-10CH] vucomisd xmm1, xmm0 ja SHORT G_M000_IG23 G_M000_IG19: vucomisd xmm0, xmm1 ja SHORT G_M000_IG18 G_M000_IG20: vucomisd xmm0, xmm1 jp SHORT G_M000_IG21 je SHORT G_M000_IG23 G_M000_IG21: vucomisd xmm0, xmm0 jp SHORT G_M000_IG22 je SHORT G_M000_IG18 G_M000_IG22: vucomisd xmm1, xmm1 G_M000_IG23: cmp esi, eax jbe SHORT G_M000_IG27 add esi, -32 vmovdqu ymm0, ymmword ptr [esi] vmovdqu ymmword ptr [ebp-144H], ymm0 vmovsd xmm0, qword ptr [ebp-0CH] vmovsd xmm1, qword ptr [ebp-12CH] vucomisd xmm1, xmm0 ja SHORT G_M000_IG23 G_M000_IG24: vucomisd xmm0, xmm1 ja SHORT G_M000_IG27 vucomisd xmm0, xmm1 jp SHORT G_M000_IG25 je SHORT G_M000_IG27 G_M000_IG25: vucomisd xmm0, xmm0 jp SHORT G_M000_IG26 je SHORT G_M000_IG27 G_M000_IG26: vucomisd xmm1, xmm1 jnp SHORT G_M000_IG23 G_M000_IG27: cmp edx, esi jae SHORT G_M000_IG29 G_M000_IG28: vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ebp-164H], ymm0 vmovdqu ymm0, ymmword ptr [esi] vmovdqu ymmword ptr [edx], ymm0 vmovdqu ymm0, ymmword ptr [ebp-164H] vmovdqu ymmword ptr [esi], ymm0 jmp G_M000_IG18 G_M000_IG29: cmp edx, ecx je SHORT G_M000_IG31 G_M000_IG30: vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ebp-184H], ymm0 vmovdqu ymm0, ymmword ptr [ecx] vmovdqu ymmword ptr [edx], ymm0 vmovdqu ymm0, ymmword ptr [ebp-184H] vmovdqu ymmword ptr [ecx], ymm0 G_M000_IG31: sub edx, eax mov eax, edx sar eax, 31 and eax, 31 add eax, edx sar eax, 5 G_M000_IG32: vzeroupper lea esp, [ebp-04H] pop esi pop ebp ret 8 ; Total bytes of code 597 871: JIT compiled System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:PickPivotAndPartition(System.Span`1[BenchmarkDotNet.Reports.Measurement]) [Tier-0 switched to FullOpts, IL size=311, code size=597] ; Assembly listing for method BenchmarkDotNet.Engines.EngineWarmupStage:RunWorkload(long,int,int):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: push dword ptr [ebp+10H] push dword ptr [ebp+0CH] push dword ptr [ebp-08H] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 1 call [BenchmarkDotNet.Engines.EngineWarmupStage:Run(long,int,int,int):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this] G_M000_IG03: mov esp, ebp pop ebp ret 12 ; Total bytes of code 44 872: JIT compiled BenchmarkDotNet.Engines.EngineWarmupStage:RunWorkload(long,int,int) [Tier0, IL size=11, code size=44] ; Assembly listing for method BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:CreateWarmupWorkload(BenchmarkDotNet.Jobs.Job,BenchmarkDotNet.Characteristics.IResolver,int):BenchmarkDotNet.Engines.IStoppingCriteria:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-20H], xmm4 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push gword ptr [D1FFAB1EH] lea edx, [ebp-10H] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValueAsNullable[int](BenchmarkDotNet.Characteristics.Characteristic`1[int]):System.Nullable`1[int]:this] lea ecx, [ebp-10H] call [System.Nullable`1[int]:get_HasValue():bool:this] test eax, eax je SHORT G_M000_IG03 lea ecx, [ebp-10H] call [System.Nullable`1[int]:get_Value():int:this] cmp eax, -1 jne SHORT G_M000_IG04 G_M000_IG03: cmp dword ptr [ebp+08H], 2 jne SHORT G_M000_IG06 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-20H], eax lea ecx, [ebp-10H] call [System.Nullable`1[int]:GetValueOrDefault():int:this] mov dword ptr [ebp-24H], eax mov edx, dword ptr [ebp-24H] mov ecx, gword ptr [ebp-20H] call [BenchmarkDotNet.Engines.FixedStoppingCriteria:.ctor(int):this] mov eax, gword ptr [ebp-20H] G_M000_IG05: mov esp, ebp pop ebp ret 8 G_M000_IG06: push gword ptr [ebp+0CH] mov edx, gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver):int:this] mov dword ptr [ebp-18H], eax push gword ptr [ebp+0CH] mov edx, gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver):int:this] mov dword ptr [ebp-14H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-1CH], eax push dword ptr [ebp-14H] push 4 mov ecx, gword ptr [ebp-1CH] mov edx, dword ptr [ebp-18H] call [BenchmarkDotNet.Engines.AutoWarmupStoppingCriteria:.ctor(int,int,int):this] mov eax, gword ptr [ebp-1CH] G_M000_IG07: mov esp, ebp pop ebp ret 8 ; Total bytes of code 213 873: JIT compiled BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:CreateWarmupWorkload(BenchmarkDotNet.Jobs.Job,BenchmarkDotNet.Characteristics.IResolver,int) [Tier0, IL size=81, code size=213] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_5():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, 50 G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 16 874: JIT compiled BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_5() [Tier0, IL size=3, code size=16] ; Assembly listing for method System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 1 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 40 xor eax, eax mov dword ptr [ebp-30H], eax mov dword ptr [ebp-28H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-2CH], ecx G_M000_IG02: mov edx, gword ptr [ebp-2CH] mov esi, gword ptr [edx+04H] test esi, esi je G_M000_IG16 mov ecx, gword ptr [esi+04H] mov gword ptr [ebp-30H], ecx xor edx, edx mov dword ptr [ebp-20H], edx G_M000_IG03: cmp byte ptr [ebp-20H], 0 jne G_M000_IG11 lea edx, [ebp-20H] call System.Threading.Monitor:ReliableEnter(System.Object,byref) mov esi, gword ptr [esi+08H] test esi, esi je G_M000_IG12 mov ecx, gword ptr [ebp-2CH] mov ecx, dword ptr [ecx+0CH] mov edx, gword ptr [ebp-2CH] cmp ecx, dword ptr [edx+08H] jge G_M000_IG12 G_M000_IG04: mov ecx, gword ptr [ebp-2CH] mov ecx, dword ptr [ecx+0CH] inc ecx mov edx, gword ptr [ebp-2CH] mov dword ptr [edx+0CH], ecx mov edx, gword ptr [esi+0CH] cmp dword ptr [edx+04H], ecx jle SHORT G_M000_IG09 G_M000_IG05: cmp ecx, dword ptr [edx+04H] jae SHORT G_M000_IG08 lea ecx, [ecx+2*ecx] mov ecx, dword ptr [edx+4*ecx+08H] lea edx, [ebp-28H] call System.Runtime.DependentHandle:InternalGetTargetAndDependent(int,byref):System.Object test eax, eax je SHORT G_M000_IG09 mov ecx, gword ptr [ebp-28H] mov edx, 1 G_M000_IG06: xor edi, edi mov gword ptr [ebp-28H], edi test edx, edx jne SHORT G_M000_IG10 mov eax, gword ptr [ebp-2CH] mov ecx, dword ptr [eax+0CH] mov edx, gword ptr [ebp-2CH] cmp ecx, dword ptr [edx+08H] jl SHORT G_M000_IG04 G_M000_IG07: jmp SHORT G_M000_IG12 G_M000_IG08: call CORINFO_HELP_RNGCHKFAIL G_M000_IG09: xor eax, eax xor ecx, ecx xor edx, edx jmp SHORT G_M000_IG06 G_M000_IG10: mov esi, gword ptr [ebp-2CH] add esi, 16 mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX lea edx, bword ptr [esi+04H] call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX mov dword ptr [ebp-24H], 1 mov dword ptr [ebp-18H], 0 mov dword ptr [ebp-14H], 252 push G_M000_IG13 jmp SHORT G_M000_IG14 G_M000_IG11: call [System.Threading.Monitor:ThrowLockTakenException()] int3 G_M000_IG12: cmp byte ptr [ebp-20H], 0 je SHORT G_M000_IG16 mov ecx, gword ptr [ebp-30H] call System.Threading.Monitor:Exit(System.Object) jmp SHORT G_M000_IG16 G_M000_IG13: mov dword ptr [ebp-14H], 0 jmp SHORT G_M000_IG18 G_M000_IG14: cmp byte ptr [ebp-20H], 0 je SHORT G_M000_IG15 mov ecx, gword ptr [ebp-30H] call System.Threading.Monitor:Exit(System.Object) G_M000_IG15: pop eax jmp eax G_M000_IG16: xor eax, eax G_M000_IG17: lea esp, [ebp-08H] pop esi pop edi pop ebp ret G_M000_IG18: mov eax, dword ptr [ebp-24H] G_M000_IG19: lea esp, [ebp-08H] pop esi pop edi pop ebp ret ; Total bytes of code 302 875: JIT compiled System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:MoveNext() [Tier1, IL size=124, code size=302] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:WorkloadWarmupStart(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 13 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 876: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:WorkloadWarmupStart(long) [Tier0, IL size=10, code size=33] ; Assembly listing for method System.String:FillStringChecked(System.String,int,System.String) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi mov eax, gword ptr [ebp+08H] G_M000_IG02: mov esi, dword ptr [eax+04H] mov edi, dword ptr [ecx+04H] sub edi, edx cmp esi, edi jg SHORT G_M000_IG04 lea ecx, bword ptr [ecx+2*edx+08H] lea edx, bword ptr [eax+08H] add esi, esi push esi call [System.Buffer:Memmove(byref,byref,uint)] G_M000_IG03: pop esi pop edi pop ebp ret 4 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW int3 ; Total bytes of code 70 877: JIT compiled System.String:FillStringChecked(System.String,int,System.String) [Tier1, IL size=53, code size=70] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_Nanoseconds():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: sub esp, 8 vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [ecx+18H] vmovsd qword ptr [esp], xmm0 fld qword ptr [esp] G_M000_IG03: add esp, 8 ret ; Total bytes of code 23 878: JIT compiled BenchmarkDotNet.Reports.Measurement:get_Nanoseconds() [Tier1, IL size=7, code size=23] ; Assembly listing for method System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,uint,int,uint):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 20 single block inlinees; 6 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 176 vzeroupper xor eax, eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-A8H], ecx mov dword ptr [ebp-24H], edx mov edi, edx mov esi, dword ptr [ebp+10H] G_M000_IG02: cmp byte ptr [ecx+59H], 0 je G_M000_IG22 G_M000_IG03: mov edx, gword ptr [ecx+10H] cmp edi, dword ptr [edx+04H] jae SHORT G_M000_IG04 shl edi, 6 lea edi, bword ptr [edx+edi+08H] movzx edx, byte ptr [edi+35H] xor eax, eax mov dword ptr [ebp-28H], eax vxorps xmm0, xmm0, xmm0 vmovups xmmword ptr [ebp-38H], xmm0 vmovups xmmword ptr [ebp-48H], xmm0 test edx, edx je G_M000_IG07 test esi, esi jne G_M000_IG07 mov ebx, dword ptr [edi+24H] mov dword ptr [ebp-A4H], ebx test bl, 2 jne G_M000_IG07 cmp edx, 1 jne SHORT G_M000_IG05 mov edx, gword ptr [ecx+3CH] mov ebx, gword ptr [ecx+0CH] mov gword ptr [ebp-B0H], ebx push gword ptr [edi] movzx ebx, word ptr [edi+36H] push ebx lea ebx, [ebp-38H] push ebx lea ebx, [ebp-48H] push ebx push dword ptr [ebp-A4H] push 1 mov ecx, edx mov edx, gword ptr [ebp-B0H] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.ActivityTracker:OnStart(System.String,System.String,int,byref,byref,int,bool):this] jmp SHORT G_M000_IG06 G_M000_IG04: call CORINFO_HELP_RNGCHKFAIL G_M000_IG05: cmp edx, 2 jne SHORT G_M000_IG06 mov edx, gword ptr [ecx+3CH] mov ebx, gword ptr [ecx+0CH] mov gword ptr [ebp-B4H], ebx push gword ptr [edi] movzx ebx, word ptr [edi+36H] push ebx lea ebx, [ebp-38H] push ebx push 1 mov ecx, edx mov edx, gword ptr [ebp-B4H] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.ActivityTracker:OnStop(System.String,System.String,int,byref,bool):this] G_M000_IG06: vmovups xmm0, xmmword ptr [ebp-38H] vmovups xmmword ptr [ebp-88H], xmm0 vmovups xmm0, xmmword ptr [ebp-88H] lea ecx, [ebp-38H] vptest xmm0, xmm0 mov eax, ecx cmove eax, dword ptr [ebp-28H] mov ebx, eax vmovups xmm0, xmmword ptr [ebp-48H] vmovups xmmword ptr [ebp-98H], xmm0 vmovups xmm0, xmmword ptr [ebp-98H] lea ecx, [ebp-48H] vptest xmm0, xmm0 cmovne esi, ecx mov dword ptr [ebp-28H], ebx mov ecx, gword ptr [ebp-A8H] G_M000_IG07: test byte ptr [ecx+4CH], 8 jne G_M000_IG16 cmp byte ptr [edi+29H], 0 je SHORT G_M000_IG09 mov edx, gword ptr [ecx+20H] mov edx, gword ptr [edx+04H] mov gword ptr [ebp-B8H], edx lea ebx, bword ptr [edi+30H] push dword ptr [edi+18H] push dword ptr [ebp-28H] push esi push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, edx mov edx, ebx mov ebx, gword ptr [ebp-B8H] mov ebx, dword ptr [ebx] mov ebx, dword ptr [ebx+2CH] call [ebx]System.Diagnostics.Tracing.EventProviderImpl:EventWriteTransfer(byref,int,uint,uint,int,uint):int:this mov ebx, eax test ebx, ebx je SHORT G_M000_IG09 mov edx, dword ptr FS:[0x002C] mov edx, dword ptr [edx+10H] cmp dword ptr [edx+F4H], 2 jl G_M000_IG15 mov edx, dword ptr [edx+F0H] mov eax, dword ptr [edx+08H] test eax, eax je G_M000_IG15 G_M000_IG08: mov dword ptr [eax+0A1CH], ebx mov edx, gword ptr [edi] push 0 mov ecx, gword ptr [ebp-A8H] call [System.Diagnostics.Tracing.EventSource:ThrowEventSourceException(System.String,System.Exception):this] G_M000_IG09: mov ecx, gword ptr [ebp-A8H] cmp byte ptr [edi+2AH], 0 je SHORT G_M000_IG11 mov edx, gword ptr [ecx+28H] mov edx, gword ptr [edx+04H] mov gword ptr [ebp-BCH], edx lea ebx, bword ptr [edi+30H] push dword ptr [edi+18H] push dword ptr [ebp-28H] push esi push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, edx mov edx, ebx mov ebx, gword ptr [ebp-BCH] mov ebx, dword ptr [ebx] mov ebx, dword ptr [ebx+2CH] call [ebx]System.Diagnostics.Tracing.EventProviderImpl:EventWriteTransfer(byref,int,uint,uint,int,uint):int:this mov ebx, eax test ebx, ebx je SHORT G_M000_IG11 mov edx, dword ptr FS:[0x002C] mov edx, dword ptr [edx+10H] cmp dword ptr [edx+F4H], 2 jl G_M000_IG14 mov edx, dword ptr [edx+F0H] mov eax, dword ptr [edx+08H] test eax, eax je G_M000_IG14 G_M000_IG10: mov dword ptr [eax+0A1CH], ebx mov edx, gword ptr [edi] push 0 mov ecx, gword ptr [ebp-A8H] call [System.Diagnostics.Tracing.EventSource:ThrowEventSourceException(System.String,System.Exception):this] G_M000_IG11: mov ecx, gword ptr [ebp-A8H] cmp gword ptr [ecx+1CH], 0 je G_M000_IG22 cmp byte ptr [edi+28H], 0 je G_M000_IG22 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax lea edx, bword ptr [edi+08H] mov ecx, gword ptr [ebp-A8H] call CORINFO_HELP_ASSIGN_REF_ECX mov eax, dword ptr [ebp-24H] mov dword ptr [edi+10H], eax lea ecx, [ebp-A0H] call [System.DateTime:get_UtcNow():System.DateTime] lea ecx, bword ptr [edi+24H] mov eax, dword ptr [ebp-A0H] mov dword ptr [ecx], eax mov eax, dword ptr [ebp-9CH] mov dword ptr [ecx+04H], eax mov eax, dword ptr [ebp-28H] test eax, eax je SHORT G_M000_IG12 vmovups xmm0, xmmword ptr [eax] vmovups xmmword ptr [edi+14H], xmm0 G_M000_IG12: test esi, esi je SHORT G_M000_IG13 mov ecx, edi call [System.Diagnostics.Tracing.EventWrittenEventArgs:get_MoreInfo():System.Diagnostics.Tracing.EventWrittenEventArgs+MoreEventInfo:this] vmovups xmm0, xmmword ptr [esi] vmovups xmmword ptr [eax+24H], xmm0 G_M000_IG13: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-A8H] mov edx, edi call [System.Diagnostics.Tracing.EventSource:WriteToAllListeners(System.Diagnostics.Tracing.EventWrittenEventArgs,int,uint):this] jmp G_M000_IG22 G_M000_IG14: mov ecx, 2 call CORINFO_HELP_GETSHARED_NONGCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED jmp G_M000_IG10 G_M000_IG15: mov ecx, 2 call CORINFO_HELP_GETSHARED_NONGCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED jmp G_M000_IG08 G_M000_IG16: cmp byte ptr [edi+29H], 0 jne SHORT G_M000_IG17 cmp byte ptr [edi+2AH], 0 je G_M000_IG11 G_M000_IG17: vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [ebp-78H], xmm0 vmovdqu xmmword ptr [ebp-70H], xmm0 lea edx, bword ptr [edi+38H] mov ebx, dword ptr [edx] mov edx, dword ptr [edx+04H] mov dword ptr [ebp-78H], ebx mov dword ptr [ebp-74H], edx mov byte ptr [ebp-66H], 1 movzx edx, byte ptr [edi+34H] mov byte ptr [ebp-68H], dl mov byte ptr [ebp-66H], 5 movzx edx, byte ptr [edi+35H] mov byte ptr [ebp-67H], dl mov byte ptr [ebp-66H], 13 vmovdqu xmm0, xmmword ptr [ebp-78H] vmovdqu xmmword ptr [ebp-60H], xmm0 vmovdqu xmm0, xmmword ptr [ebp-70H] vmovdqu xmmword ptr [ebp-58H], xmm0 mov ebx, gword ptr [edi] cmp gword ptr [edi+0CH], 0 jne SHORT G_M000_IG18 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-ACH], eax mov edx, gword ptr [edi] push dword ptr [edi+1CH] push gword ptr [edi+08H] mov ecx, eax call [System.Diagnostics.Tracing.TraceLoggingEventTypes:.ctor(System.String,int,System.Reflection.ParameterInfo[]):this] lea ecx, bword ptr [edi+0CH] push 0 mov edx, gword ptr [ebp-ACH] call System.Threading.Interlocked:CompareExchange(byref,System.Object,System.Object):System.Object mov ecx, gword ptr [ebp-A8H] G_M000_IG18: lea edx, [ebp-60H] push edx push gword ptr [edi+0CH] push dword ptr [ebp-28H] push esi push dword ptr [ebp+08H] mov edx, ebx call [System.Diagnostics.Tracing.EventSource:WriteMultiMerge(System.String,byref,System.Diagnostics.Tracing.TraceLoggingEventTypes,uint,uint,uint):this] jmp G_M000_IG11 G_M000_IG19: mov esi, eax mov edx, esi mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax je SHORT G_M000_IG21 call CORINFO_HELP_RETHROW G_M000_IG20: call CORINFO_HELP_RNGCHKFAIL G_M000_IG21: mov ecx, gword ptr [ebp-A8H] mov edx, ecx mov edx, gword ptr [edx+10H] mov eax, dword ptr [ebp-24H] cmp eax, dword ptr [edx+04H] jae SHORT G_M000_IG20 shl eax, 6 mov edx, gword ptr [edx+eax+08H] push esi call [System.Diagnostics.Tracing.EventSource:ThrowEventSourceException(System.String,System.Exception):this] call CORINFO_HELP_ENDCATCH G_M000_IG22: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 ; Total bytes of code 995 879: JIT compiled System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,uint,int,uint) [Tier1, IL size=519, code size=995] ; Assembly listing for method System.Collections.Generic.List`1[System.__Canon]:Add(System.__Canon):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 81251 G_M000_IG01: push edi push esi G_M000_IG02: inc dword ptr [ecx+0CH] mov eax, gword ptr [ecx+04H] mov esi, dword ptr [ecx+08H] cmp dword ptr [eax+04H], esi ja SHORT G_M000_IG05 G_M000_IG03: call [System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this] G_M000_IG04: pop esi pop edi ret G_M000_IG05: lea edi, [esi+01H] mov dword ptr [ecx+08H], edi push edx mov ecx, eax mov edx, esi call CORINFO_HELP_ARRADDR_ST G_M000_IG06: pop esi pop edi ret ; Total bytes of code 44 880: JIT compiled System.Collections.Generic.List`1[System.__Canon]:Add(System.__Canon) [Tier1 with Static PGO, IL size=60, code size=44] ; Assembly listing for method System.Collections.Utils+<>c__DisplayClass4_0`2[System.__Canon,System.__Canon]:b__2(System.__Canon):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi mov esi, ecx mov edi, edx G_M000_IG02: mov ecx, dword ptr [esi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov eax, dword ptr [edx+0CH] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: jmp SHORT G_M000_IG05 G_M000_IG04: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG05: mov ecx, edi nop call [eax] mov edx, gword ptr [esi+04H] cmp eax, dword ptr [edx+04H] setl al movzx eax, al G_M000_IG06: pop esi pop edi pop ebp ret ; Total bytes of code 58 881: JIT compiled System.Collections.Utils+<>c__DisplayClass4_0`2[System.__Canon,System.__Canon]:b__2(System.__Canon) [Tier1, IL size=24, code size=58] ; Assembly listing for method System.Collections.Generic.List`1[System.__Canon]:get_Count():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, dword ptr [ecx+08H] G_M000_IG03: ret ; Total bytes of code 4 882: JIT compiled System.Collections.Generic.List`1[System.__Canon]:get_Count() [Tier1, IL size=7, code size=4] ; Assembly listing for method System.Linq.Enumerable+Iterator`1[System.__Canon]:get_Current():System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, gword ptr [ecx+04H] G_M000_IG03: ret ; Total bytes of code 4 883: JIT compiled System.Linq.Enumerable+Iterator`1[System.__Canon]:get_Current() [Tier1, IL size=7, code size=4] ; Assembly listing for method System.SZGenericArrayEnumeratorBase:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 65704 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: G_M000_IG02: mov edx, dword ptr [ecx+08H] inc edx mov eax, gword ptr [ecx+04H] mov eax, dword ptr [eax+04H] cmp edx, eax jb SHORT G_M000_IG05 G_M000_IG03: mov dword ptr [ecx+08H], eax xor eax, eax G_M000_IG04: ret G_M000_IG05: mov dword ptr [ecx+08H], edx mov eax, 1 G_M000_IG06: ret ; Total bytes of code 29 884: JIT compiled System.SZGenericArrayEnumeratorBase:MoveNext() [Tier1 with Static PGO, IL size=44, code size=29] ; Assembly listing for method System.SZGenericArrayEnumerator`1[System.__Canon]:get_Current():System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 71504 G_M000_IG01: G_M000_IG02: mov edx, dword ptr [ecx+08H] mov eax, gword ptr [ecx+04H] mov ecx, dword ptr [eax+04H] cmp ecx, edx jbe SHORT G_M000_IG04 mov eax, gword ptr [eax+4*edx+08H] G_M000_IG03: ret G_M000_IG04: mov ecx, edx call [System.ThrowHelper:ThrowInvalidOperationException_EnumCurrent(int)] int3 ; Total bytes of code 27 885: JIT compiled System.SZGenericArrayEnumerator`1[System.__Canon]:get_Current() [Tier1 with Static PGO, IL size=39, code size=27] ; Assembly listing for method System.Collections.Utils+<>c__DisplayClass4_0`2[System.__Canon,System.__Canon]:b__1(System.__Canon):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi mov esi, ecx mov edi, edx G_M000_IG02: mov ecx, dword ptr [esi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov eax, dword ptr [edx+0CH] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: jmp SHORT G_M000_IG05 G_M000_IG04: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG05: mov ecx, edi nop call [eax] mov edx, gword ptr [esi+04H] cmp eax, dword ptr [edx+04H] setne al movzx eax, al G_M000_IG06: pop esi pop edi pop ebp ret ; Total bytes of code 58 886: JIT compiled System.Collections.Utils+<>c__DisplayClass4_0`2[System.__Canon,System.__Canon]:b__1(System.__Canon) [Tier1, IL size=27, code size=58] ; Assembly listing for method System.Diagnostics.Tracing.EtwEventProvider:EventWriteTransfer(byref,int,uint,uint,int,uint):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: add ecx, 28 mov eax, dword ptr [ecx] push dword ptr [ecx+04H] push eax push dword ptr [ebp+10H] push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, edx mov edx, dword ptr [ebp+14H] call [Interop+Advapi32:EventWriteTransfer(long,byref,uint,uint,int,uint):int] cmp eax, 8 je SHORT G_M000_IG06 G_M000_IG03: cmp eax, 234 je SHORT G_M000_IG04 cmp eax, 534 jne SHORT G_M000_IG08 G_M000_IG04: mov eax, 2 G_M000_IG05: pop ebp ret 20 G_M000_IG06: mov eax, 1 G_M000_IG07: pop ebp ret 20 G_M000_IG08: xor eax, eax G_M000_IG09: pop ebp ret 20 ; Total bytes of code 75 887: JIT compiled System.Diagnostics.Tracing.EtwEventProvider:EventWriteTransfer(byref,int,uint,uint,int,uint) [Tier1, IL size=46, code size=75] ; Assembly listing for method Interop+Advapi32:EventWriteTransfer(long,byref,uint,uint,int,uint):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 64 vzeroupper xor ebx, ebx mov dword ptr [ebp-24H], ebx mov dword ptr [ebp-28H], ebx mov dword ptr [ebp-10H], edx mov ebx, ecx mov edx, dword ptr [ebp+0CH] mov ecx, dword ptr [ebp+08H] G_M000_IG02: lea edi, [ebp-48H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-34H], eax mov bword ptr [ebp-24H], ebx mov dword ptr [ebp+08H], ecx push ecx mov dword ptr [ebp+0CH], edx push edx push dword ptr [ebp+10H] push dword ptr [ebp-10H] mov bword ptr [ebp-2CH], ebx mov edi, ebx push edi push dword ptr [ebp+18H] push dword ptr [ebp+14H] mov dword ptr [ebp-40H], 0xD1FFAB1E mov edi, esp mov dword ptr [ebp-3CH], edi lea edi, G_M000_IG05 mov dword ptr [ebp-38H], edi mov byte ptr [esi+08H], 0 G_M000_IG03: mov edi, 0xD1FFAB1E G_M000_IG04: call edi ; Interop+Advapi32:g____PInvoke|21_0(long,uint,uint,uint,int,uint):int G_M000_IG05: mov edi, eax mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG06 call CORINFO_HELP_STOP_FOR_GC G_M000_IG06: xor eax, eax mov dword ptr [ebp-38H], eax G_M000_IG07: mov bword ptr [ebp-24H], eax mov eax, edi cmp eax, 87 jne SHORT G_M000_IG13 G_M000_IG08: cmp dword ptr [ebp+10H], 0 jne SHORT G_M000_IG13 vxorps xmm0, xmm0, xmm0 vmovups xmmword ptr [ebp-20H], xmm0 mov ebx, bword ptr [ebp-2CH] mov bword ptr [ebp-28H], ebx push dword ptr [ebp+08H] push dword ptr [ebp+0CH] lea eax, [ebp-20H] push eax push dword ptr [ebp-10H] push ebx push dword ptr [ebp+18H] push dword ptr [ebp+14H] mov dword ptr [ebp-40H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-3CH], eax lea eax, G_M000_IG11 mov dword ptr [ebp-38H], eax mov byte ptr [esi+08H], 0 G_M000_IG09: mov eax, 0xD1FFAB1E G_M000_IG10: call eax ; Interop+Advapi32:g____PInvoke|21_0(long,uint,uint,uint,int,uint):int G_M000_IG11: mov edi, eax mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG12 call CORINFO_HELP_STOP_FOR_GC G_M000_IG12: xor eax, eax mov dword ptr [ebp-38H], eax mov eax, edi xor edx, edx mov bword ptr [ebp-28H], edx G_M000_IG13: mov edx, bword ptr [ebp-44H] mov dword ptr [esi+0CH], edx G_M000_IG14: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 20 ; Total bytes of code 261 888: JIT compiled Interop+Advapi32:EventWriteTransfer(long,byref,uint,uint,int,uint) [Tier1, IL size=48, code size=261] ; Assembly listing for method System.String:CompareTo(System.String):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: push 0 call [System.String:Compare(System.String,System.String,int):int] G_M000_IG03: ret ; Total bytes of code 9 889: JIT compiled System.String:CompareTo(System.String) [Tier1, IL size=9, code size=9] ; Assembly listing for method System.String:Compare(System.String,System.String,int):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 3 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx mov edi, edx mov ebx, dword ptr [ebp+08H] G_M000_IG02: cmp esi, edi jne SHORT G_M000_IG05 G_M000_IG03: cmp ebx, 5 ja G_M000_IG17 xor eax, eax G_M000_IG04: pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG05: test esi, esi jne SHORT G_M000_IG07 cmp ebx, 5 ja G_M000_IG17 mov eax, -1 G_M000_IG06: pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG07: test edi, edi jne SHORT G_M000_IG09 cmp ebx, 5 ja G_M000_IG17 mov eax, 1 G_M000_IG08: pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG09: cmp ebx, 5 ja G_M000_IG19 lea eax, [@RWD00] mov eax, dword ptr [eax+4*ebx] lea edx, G_M000_IG02 add eax, edx jmp eax G_M000_IG10: call [System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo] mov ecx, eax mov eax, dword ptr [eax] mov eax, dword ptr [eax+2CH] call [eax+18H]System.Globalization.CultureInfo:get_CompareInfo():System.Globalization.CompareInfo:this mov ecx, eax push edi and ebx, 1 push ebx mov edx, esi cmp dword ptr [ecx], ecx call [System.Globalization.CompareInfo:Compare(System.String,System.String,int):int:this] jmp SHORT G_M000_IG16 G_M000_IG11: test byte ptr [D1FFAB1EH], 1 je SHORT G_M000_IG18 G_M000_IG12: mov ecx, gword ptr [D1FFAB1EH] push edi mov edx, ebx and edx, 1 push edx mov edx, esi cmp dword ptr [ecx], ecx call [System.Globalization.CompareInfo:Compare(System.String,System.String,int):int:this] jmp SHORT G_M000_IG16 G_M000_IG13: movzx eax, word ptr [esi+08H] movzx ecx, word ptr [edi+08H] cmp eax, ecx je SHORT G_M000_IG14 sub eax, ecx jmp SHORT G_M000_IG16 G_M000_IG14: mov ecx, esi mov edx, edi call [System.String:CompareOrdinalHelper(System.String,System.String):int] jmp SHORT G_M000_IG16 G_M000_IG15: lea ecx, bword ptr [esi+08H] mov edx, dword ptr [esi+04H] lea eax, bword ptr [edi+08H] push eax push dword ptr [edi+04H] call [System.Globalization.Ordinal:CompareStringIgnoreCase(byref,int,byref,int):int] G_M000_IG16: pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG17: mov ecx, 27 mov edx, 41 call [System.ThrowHelper:ThrowArgumentException(int,int)] int3 G_M000_IG18: mov ecx, 0xD1FFAB1E mov edx, 594 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp SHORT G_M000_IG12 G_M000_IG19: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax call [System.SR:get_NotSupported_StringComparison():System.String] mov edi, eax mov ecx, 0x16E1 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS push eax mov edx, edi mov ecx, esi call [System.ArgumentException:.ctor(System.String,System.String):this] mov ecx, esi call CORINFO_HELP_THROW int3 RWD00 dd G_M000_IG10 - G_M000_IG02 dd G_M000_IG10 - G_M000_IG02 dd G_M000_IG11 - G_M000_IG02 dd G_M000_IG11 - G_M000_IG02 dd G_M000_IG13 - G_M000_IG02 dd G_M000_IG15 - G_M000_IG02 ; Total bytes of code 324 890: JIT compiled System.String:Compare(System.String,System.String,int) [Tier1, IL size=191, code size=324] ; Assembly listing for method System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 603 call CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR mov eax, gword ptr [eax+04H] test eax, eax jne SHORT G_M000_IG04 G_M000_IG03: mov eax, gword ptr [D1FFAB1EH] test eax, eax jne SHORT G_M000_IG04 mov eax, gword ptr [D1FFAB1EH] test eax, eax jne SHORT G_M000_IG04 call [System.Globalization.CultureInfo:InitializeUserDefaultCulture():System.Globalization.CultureInfo] G_M000_IG04: pop ebp ret ; Total bytes of code 51 891: JIT compiled System.Globalization.CultureInfo:get_CurrentCulture() [Tier1, IL size=37, code size=51] ; Assembly listing for method System.Globalization.CultureInfo:get_CompareInfo():System.Globalization.CompareInfo:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx G_M000_IG02: mov eax, gword ptr [esi+04H] test eax, eax jne SHORT G_M000_IG06 G_M000_IG03: mov ecx, gword ptr [esi+18H] mov edi, esi cmp byte ptr [ecx+101H], 0 jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ebx, eax mov ecx, gword ptr [edi+20H] lea edx, bword ptr [ebx+04H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, ebx mov edx, edi call [System.Globalization.CompareInfo:InitSort(System.Globalization.CultureInfo):this] jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, esi mov ecx, gword ptr [ecx+20H] call [System.Globalization.CultureInfo:GetCultureInfo(System.String):System.Globalization.CultureInfo] mov ecx, eax mov eax, dword ptr [eax] mov eax, dword ptr [eax+2CH] call [eax+18H]System.Globalization.CultureInfo:get_CompareInfo():System.Globalization.CompareInfo:this mov ebx, eax G_M000_IG05: lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EBX mov eax, ebx G_M000_IG06: pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 102 892: JIT compiled System.Globalization.CultureInfo:get_CompareInfo() [Tier1, IL size=52, code size=102] ; Assembly listing for method System.Globalization.CompareInfo:Compare(System.String,System.String,int):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 4 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, gword ptr [ebp+0CH] mov eax, dword ptr [ebp+08H] G_M000_IG02: test edx, edx jne SHORT G_M000_IG04 G_M000_IG03: xor edx, edx mov ecx, -1 test esi, esi cmovne edx, ecx jmp SHORT G_M000_IG05 G_M000_IG04: test esi, esi jne SHORT G_M000_IG08 mov edx, 1 G_M000_IG05: test eax, 0xD1FFAB1E je SHORT G_M000_IG06 cmp eax, 0xD1FFAB1E je SHORT G_M000_IG06 cmp eax, 0xD1FFAB1E jne SHORT G_M000_IG10 G_M000_IG06: mov eax, edx G_M000_IG07: pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG08: lea edi, bword ptr [edx+08H] mov edx, dword ptr [edx+04H] lea ebx, bword ptr [esi+08H] mov esi, dword ptr [esi+04H] push edx push edi push esi push ebx mov edx, eax call [System.Globalization.CompareInfo:Compare(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int):int:this] G_M000_IG09: pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG10: mov ecx, eax call [System.Globalization.CompareInfo:ThrowCompareOptionsCheckFailed(int)] int3 ; Total bytes of code 109 893: JIT compiled System.Globalization.CompareInfo:Compare(System.String,System.String,int) [Tier1, IL size=48, code size=109] ; Assembly listing for method System.Globalization.CompareInfo:Compare(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 14 single block inlinees; 5 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 64 xor ebx, ebx mov dword ptr [ebp-10H], ebx mov dword ptr [ebp-14H], ebx mov gword ptr [ebp-20H], ecx G_M000_IG02: lea edi, [ebp-48H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-34H], eax mov edi, bword ptr [ebp+10H] mov bword ptr [ebp-24H], edi mov ebx, dword ptr [ebp+14H] mov dword ptr [ebp-18H], ebx mov eax, bword ptr [ebp+08H] mov bword ptr [ebp-2CH], eax mov bword ptr [ebp-28H], eax mov ecx, dword ptr [ebp+0CH] mov dword ptr [ebp-1CH], ecx mov eax, dword ptr [ebp-18H] cmp eax, dword ptr [ebp-1CH] jne SHORT G_M000_IG05 G_M000_IG03: mov eax, bword ptr [ebp-24H] cmp eax, bword ptr [ebp-28H] jne SHORT G_M000_IG05 test edx, 0xD1FFAB1E je SHORT G_M000_IG04 cmp edx, 0xD1FFAB1E je SHORT G_M000_IG04 cmp edx, 0xD1FFAB1E jne G_M000_IG16 G_M000_IG04: xor eax, eax jmp G_M000_IG14 G_M000_IG05: test edx, 0xD1FFAB1E jne SHORT G_M000_IG12 mov bword ptr [ebp-10H], edi mov eax, bword ptr [ebp-2CH] mov bword ptr [ebp-14H], eax push edx push ecx push eax push ebx push edi mov ecx, gword ptr [ebp-20H] push dword ptr [ecx+10H] mov dword ptr [ebp-40H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-3CH], eax lea eax, G_M000_IG08 mov dword ptr [ebp-38H], eax mov byte ptr [esi+08H], 0 G_M000_IG06: mov eax, 0xD1FFAB1E G_M000_IG07: call eax ; Interop+Globalization:CompareString(int,uint,int,uint,int,int):int G_M000_IG08: mov edi, eax mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG09 call CORINFO_HELP_STOP_FOR_GC G_M000_IG09: xor ecx, ecx mov dword ptr [ebp-38H], ecx mov eax, edi G_M000_IG10: mov bword ptr [ebp-10H], ecx G_M000_IG11: mov bword ptr [ebp-14H], ecx jmp SHORT G_M000_IG14 G_M000_IG12: cmp edx, 0xD1FFAB1E jne SHORT G_M000_IG13 mov edx, ebx mov eax, edi mov ebx, bword ptr [ebp-2CH] mov edi, ebx push edi push ecx mov ecx, eax call [System.SpanHelpers:SequenceCompareTo(byref,int,byref,int):int] jmp SHORT G_M000_IG14 G_M000_IG13: cmp edx, 0xD1FFAB1E jne SHORT G_M000_IG16 mov edx, edi mov eax, ebx mov ebx, bword ptr [ebp-2CH] mov edi, ebx push edi push ecx mov ecx, edx mov edx, eax call [System.Globalization.Ordinal:CompareStringIgnoreCase(byref,int,byref,int):int] G_M000_IG14: mov ecx, bword ptr [ebp-44H] mov dword ptr [esi+0CH], ecx G_M000_IG15: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG16: mov ecx, edx call [System.Globalization.CompareInfo:ThrowCompareOptionsCheckFailed(int)] int3 ; Total bytes of code 289 894: JIT compiled System.Globalization.CompareInfo:Compare(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int) [Tier1, IL size=152, code size=289] ; Assembly listing for method System.Globalization.CompareInfo:IcuCompareString(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 40 xor ebx, ebx mov dword ptr [ebp-10H], ebx mov dword ptr [ebp-14H], ebx G_M000_IG02: lea edi, [ebp-30H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-1CH], eax mov eax, bword ptr [ebp+10H] mov bword ptr [ebp-10H], eax mov edi, bword ptr [ebp+08H] mov bword ptr [ebp-14H], edi push edx push dword ptr [ebp+0CH] push edi push dword ptr [ebp+14H] push eax push dword ptr [ecx+10H] mov dword ptr [ebp-28H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-24H], eax lea eax, G_M000_IG05 mov dword ptr [ebp-20H], eax mov byte ptr [esi+08H], 0 G_M000_IG03: mov eax, 0xD1FFAB1E G_M000_IG04: call eax ; Interop+Globalization:CompareString(int,uint,int,uint,int,int):int G_M000_IG05: mov edi, eax mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG06 call CORINFO_HELP_STOP_FOR_GC G_M000_IG06: xor eax, eax mov dword ptr [ebp-20H], eax mov eax, edi mov edx, bword ptr [ebp-2CH] mov dword ptr [esi+0CH], edx G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 ; Total bytes of code 129 895: JIT compiled System.Globalization.CompareInfo:IcuCompareString(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int) [Tier1, IL size=49, code size=129] ; Assembly listing for method System.Span`1[System.__Canon]:Slice(int,int):System.Span`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi mov eax, dword ptr [ebp+10H] mov esi, dword ptr [ebp+0CH] G_M000_IG02: mov edi, dword ptr [ecx+04H] cmp eax, edi ja SHORT G_M000_IG04 sub edi, eax cmp edi, esi jb SHORT G_M000_IG04 mov ecx, bword ptr [ecx] lea eax, bword ptr [ecx+4*eax] mov bword ptr [edx], eax mov dword ptr [edx+04H], esi G_M000_IG03: pop esi pop edi pop ebp ret 12 G_M000_IG04: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 ; Total bytes of code 47 896: JIT compiled System.Span`1[System.__Canon]:Slice(int,int) [Tier1, IL size=45, code size=47] ; Assembly listing for method System.Collections.Generic.GenericArraySortHelper`1[System.__Canon]:IntroSort(System.Span`1[System.__Canon],int) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 4 single block inlinees; 8 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 72 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-34H], xmm4 vmovdqu xmmword ptr [ebp-24H], xmm4 mov dword ptr [ebp-10H], edx mov edi, ecx mov esi, edx G_M000_IG02: mov ebx, dword ptr [ebp+0CH] cmp ebx, 1 jle G_M000_IG39 G_M000_IG03: cmp ebx, 16 jle G_M000_IG09 test edi, edi je G_M000_IG34 dec edi mov ecx, dword ptr [esi+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+04H], 44 jle SHORT G_M000_IG06 G_M000_IG04: mov eax, dword ptr [ecx+2CH] test eax, eax je SHORT G_M000_IG06 G_M000_IG05: jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG07: push 0 push ebx mov dword ptr [ebp-48H], eax push eax lea edx, [ebp-1CH] lea ecx, [ebp+08H] call [System.Span`1[System.__Canon]:Slice(int,int):System.Span`1[System.__Canon]:this] push dword ptr [ebp-18H] push bword ptr [ebp-1CH] mov ecx, esi call [System.Collections.Generic.GenericArraySortHelper`1[System.__Canon]:PickPivotAndPartition(System.Span`1[System.__Canon]):int] mov dword ptr [ebp-14H], eax lea ecx, [eax+01H] push ecx sub ebx, ecx push ebx push dword ptr [ebp-48H] lea ecx, [ebp+08H] lea edx, [ebp-24H] call [System.Span`1[System.__Canon]:Slice(int,int):System.Span`1[System.__Canon]:this] push dword ptr [ebp-20H] push bword ptr [ebp-24H] mov ecx, edi mov edx, esi call [System.Collections.Generic.GenericArraySortHelper`1[System.__Canon]:IntroSort(System.Span`1[System.__Canon],int)] mov ebx, dword ptr [ebp-14H] cmp ebx, 1 jg G_M000_IG03 G_M000_IG08: jmp G_M000_IG39 G_M000_IG09: cmp ebx, 2 jne G_M000_IG14 mov edi, dword ptr [ebp+0CH] test edi, edi je G_M000_IG40 mov ebx, bword ptr [ebp+08H] mov eax, ebx mov bword ptr [ebp-54H], eax cmp edi, 1 jbe G_M000_IG40 add ebx, 4 cmp gword ptr [eax], 0 je G_M000_IG39 mov ecx, dword ptr [esi+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+04H], 48 jle SHORT G_M000_IG12 G_M000_IG10: mov ecx, dword ptr [ecx+30H] test ecx, ecx je SHORT G_M000_IG12 G_M000_IG11: mov dword ptr [ebp-38H], ecx jmp SHORT G_M000_IG13 G_M000_IG12: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-38H], eax G_M000_IG13: mov eax, bword ptr [ebp-54H] mov ecx, gword ptr [eax] mov edx, gword ptr [ebx] mov eax, dword ptr [ebp-38H] nop call [eax] test eax, eax jle G_M000_IG39 mov edi, bword ptr [ebp-54H] mov ecx, gword ptr [edi] mov eax, gword ptr [ebx] mov edx, edi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov edx, ebx call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX jmp G_M000_IG39 G_M000_IG14: cmp ebx, 3 jne G_M000_IG29 mov edi, dword ptr [ebp+0CH] cmp edi, 2 jbe G_M000_IG40 mov ebx, bword ptr [ebp+08H] lea eax, bword ptr [ebx+08H] mov bword ptr [ebp-4CH], eax cmp edi, 1 jbe G_M000_IG40 lea edx, bword ptr [ebx+04H] mov bword ptr [ebp-50H], edx test edi, edi je G_M000_IG40 mov edi, ebx cmp gword ptr [edi], 0 je SHORT G_M000_IG19 mov ecx, dword ptr [esi+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+04H], 48 jle SHORT G_M000_IG17 G_M000_IG15: mov ecx, dword ptr [ecx+30H] test ecx, ecx je SHORT G_M000_IG17 G_M000_IG16: mov dword ptr [ebp-3CH], ecx jmp SHORT G_M000_IG18 G_M000_IG17: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-3CH], eax G_M000_IG18: mov ecx, gword ptr [edi] mov edx, bword ptr [ebp-50H] mov edx, gword ptr [edx] mov eax, dword ptr [ebp-3CH] nop call [eax] test eax, eax jle SHORT G_M000_IG19 mov ecx, gword ptr [edi] mov ebx, bword ptr [ebp-50H] mov eax, gword ptr [ebx] mov edx, edi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov edx, ebx call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX G_M000_IG19: cmp gword ptr [edi], 0 je SHORT G_M000_IG24 mov ecx, dword ptr [esi+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+04H], 48 jle SHORT G_M000_IG22 G_M000_IG20: mov ecx, dword ptr [ecx+30H] test ecx, ecx je SHORT G_M000_IG22 G_M000_IG21: mov dword ptr [ebp-40H], ecx jmp SHORT G_M000_IG23 G_M000_IG22: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-40H], eax G_M000_IG23: mov ecx, gword ptr [edi] mov eax, bword ptr [ebp-4CH] mov edx, gword ptr [eax] mov eax, dword ptr [ebp-40H] nop call [eax] test eax, eax jle SHORT G_M000_IG24 mov ecx, gword ptr [edi] mov ebx, bword ptr [ebp-4CH] mov eax, gword ptr [ebx] mov edx, edi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov edx, ebx call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX G_M000_IG24: mov edx, bword ptr [ebp-50H] cmp gword ptr [edx], 0 je G_M000_IG39 mov ecx, dword ptr [esi+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+04H], 48 jle SHORT G_M000_IG27 G_M000_IG25: mov ecx, dword ptr [ecx+30H] test ecx, ecx je SHORT G_M000_IG27 G_M000_IG26: mov dword ptr [ebp-44H], ecx jmp SHORT G_M000_IG28 G_M000_IG27: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-44H], eax G_M000_IG28: mov edx, bword ptr [ebp-50H] mov ecx, gword ptr [edx] mov eax, bword ptr [ebp-4CH] mov edx, gword ptr [eax] mov eax, dword ptr [ebp-44H] nop call [eax] test eax, eax jle G_M000_IG39 mov ebx, bword ptr [ebp-50H] mov ecx, gword ptr [ebx] mov esi, bword ptr [ebp-4CH] mov eax, gword ptr [esi] mov edx, ebx call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX jmp G_M000_IG39 G_M000_IG29: mov ecx, dword ptr [esi+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+04H], 44 jle SHORT G_M000_IG32 G_M000_IG30: mov eax, dword ptr [ecx+2CH] test eax, eax je SHORT G_M000_IG32 G_M000_IG31: jmp SHORT G_M000_IG33 G_M000_IG32: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG33: push 0 push ebx mov edi, eax push edi lea edx, [ebp-34H] lea ecx, [ebp+08H] call [System.Span`1[System.__Canon]:Slice(int,int):System.Span`1[System.__Canon]:this] push dword ptr [ebp-30H] push bword ptr [ebp-34H] mov ecx, esi call [System.Collections.Generic.GenericArraySortHelper`1[System.__Canon]:InsertionSort(System.Span`1[System.__Canon])] jmp SHORT G_M000_IG39 G_M000_IG34: mov ecx, dword ptr [esi+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+04H], 44 jle SHORT G_M000_IG37 G_M000_IG35: mov edi, dword ptr [ecx+2CH] test edi, edi je SHORT G_M000_IG37 G_M000_IG36: jmp SHORT G_M000_IG38 G_M000_IG37: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edi, eax G_M000_IG38: push 0 push ebx push edi lea edx, [ebp-2CH] lea ecx, [ebp+08H] call [System.Span`1[System.__Canon]:Slice(int,int):System.Span`1[System.__Canon]:this] push dword ptr [ebp-28H] push bword ptr [ebp-2CH] mov ecx, esi call [System.Collections.Generic.GenericArraySortHelper`1[System.__Canon]:HeapSort(System.Span`1[System.__Canon])] G_M000_IG39: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG40: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 791 897: JIT compiled System.Collections.Generic.GenericArraySortHelper`1[System.__Canon]:IntroSort(System.Span`1[System.__Canon],int) [Tier1, IL size=187, code size=791] ; Assembly listing for method System.Collections.Generic.GenericArraySortHelper`1[System.__Canon]:PickPivotAndPartition(System.Span`1[System.__Canon]):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 7 single block inlinees; 8 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 56 mov dword ptr [ebp-10H], ecx mov esi, ecx G_M000_IG02: mov edi, bword ptr [ebp+08H] mov ebx, dword ptr [ebp+0CH] shl ebx, 2 lea eax, bword ptr [edi+ebx-04H] mov bword ptr [ebp-20H], eax mov ecx, dword ptr [ebp+0CH] dec ecx sar ecx, 1 lea edx, bword ptr [edi+4*ecx] mov bword ptr [ebp-24H], edx cmp gword ptr [edi], 0 je SHORT G_M000_IG08 G_M000_IG03: mov ecx, dword ptr [esi+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+04H], 48 jle SHORT G_M000_IG06 G_M000_IG04: mov ecx, dword ptr [ecx+30H] test ecx, ecx je SHORT G_M000_IG06 G_M000_IG05: mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG07 align [0 bytes for IG22] G_M000_IG06: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-14H], eax G_M000_IG07: mov ecx, gword ptr [edi] mov edx, bword ptr [ebp-24H] mov edx, gword ptr [edx] mov eax, dword ptr [ebp-14H] nop call [eax] test eax, eax jle SHORT G_M000_IG08 mov ecx, gword ptr [edi] mov gword ptr [ebp-34H], ecx mov eax, bword ptr [ebp-24H] mov ecx, gword ptr [eax] mov edx, edi call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-34H] mov edx, eax call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX G_M000_IG08: cmp gword ptr [edi], 0 je SHORT G_M000_IG14 G_M000_IG09: mov ecx, dword ptr [esi+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+04H], 48 jle SHORT G_M000_IG12 G_M000_IG10: mov ecx, dword ptr [ecx+30H] test ecx, ecx je SHORT G_M000_IG12 G_M000_IG11: mov dword ptr [ebp-18H], ecx jmp SHORT G_M000_IG13 G_M000_IG12: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-18H], eax G_M000_IG13: mov ecx, gword ptr [edi] mov eax, bword ptr [ebp-20H] mov edx, gword ptr [eax] mov eax, dword ptr [ebp-18H] nop call [eax] test eax, eax jle SHORT G_M000_IG14 mov ecx, gword ptr [edi] mov gword ptr [ebp-38H], ecx mov eax, bword ptr [ebp-20H] mov ecx, gword ptr [eax] mov edx, edi call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-38H] mov edx, eax call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX G_M000_IG14: mov edx, bword ptr [ebp-24H] cmp gword ptr [edx], 0 je SHORT G_M000_IG20 G_M000_IG15: mov ecx, dword ptr [esi+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+04H], 48 jle SHORT G_M000_IG18 G_M000_IG16: mov ecx, dword ptr [ecx+30H] test ecx, ecx je SHORT G_M000_IG18 G_M000_IG17: mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG19 G_M000_IG18: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-1CH], eax G_M000_IG19: mov edx, bword ptr [ebp-24H] mov ecx, gword ptr [edx] mov eax, bword ptr [ebp-20H] mov edx, gword ptr [eax] mov eax, dword ptr [ebp-1CH] nop call [eax] test eax, eax jle SHORT G_M000_IG20 mov ecx, bword ptr [ebp-24H] mov eax, gword ptr [ecx] mov gword ptr [ebp-3CH], eax mov edx, bword ptr [ebp-20H] mov eax, gword ptr [edx] mov edx, ecx call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov edx, bword ptr [ebp-20H] mov eax, gword ptr [ebp-3CH] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX G_M000_IG20: lea ebx, bword ptr [edi+ebx-08H] mov edx, bword ptr [ebp-24H] mov eax, gword ptr [edx] mov gword ptr [ebp-28H], eax mov ecx, gword ptr [edx] mov gword ptr [ebp-40H], ecx mov ecx, gword ptr [ebx] call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-40H] mov edx, ebx call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX mov ecx, edi mov edx, ebx cmp edi, ebx jae G_M000_IG40 G_M000_IG21: test eax, eax jne SHORT G_M000_IG25 G_M000_IG22: cmp ecx, ebx jae SHORT G_M000_IG23 add ecx, 4 cmp gword ptr [ecx], 0 je SHORT G_M000_IG22 G_M000_IG23: cmp edx, edi jbe G_M000_IG39 add edx, -4 mov bword ptr [ebp-30H], edx cmp gword ptr [edx], 0 mov edx, bword ptr [ebp-30H] jne SHORT G_M000_IG23 G_M000_IG24: jmp G_M000_IG39 G_M000_IG25: cmp ecx, ebx jae SHORT G_M000_IG32 add ecx, 4 mov bword ptr [ebp-2CH], ecx mov eax, dword ptr [esi+20H] mov eax, dword ptr [eax] cmp dword ptr [eax+04H], 48 jle SHORT G_M000_IG29 G_M000_IG26: mov eax, dword ptr [eax+30H] test eax, eax je SHORT G_M000_IG28 G_M000_IG27: mov bword ptr [ebp-30H], edx jmp SHORT G_M000_IG31 G_M000_IG28: mov bword ptr [ebp-30H], edx jmp SHORT G_M000_IG30 G_M000_IG29: mov bword ptr [ebp-30H], edx G_M000_IG30: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG31: mov ecx, bword ptr [ebp-2CH] mov edx, gword ptr [ecx] mov ecx, gword ptr [ebp-28H] nop call [eax] test eax, eax mov ecx, bword ptr [ebp-2CH] mov edx, bword ptr [ebp-30H] jg SHORT G_M000_IG25 G_M000_IG32: cmp edx, edi jbe SHORT G_M000_IG39 add edx, -4 mov bword ptr [ebp-30H], edx mov eax, dword ptr [esi+20H] mov eax, dword ptr [eax] cmp dword ptr [eax+04H], 48 jle SHORT G_M000_IG36 G_M000_IG33: mov eax, dword ptr [eax+30H] test eax, eax je SHORT G_M000_IG35 G_M000_IG34: mov bword ptr [ebp-2CH], ecx jmp SHORT G_M000_IG38 G_M000_IG35: mov bword ptr [ebp-2CH], ecx jmp SHORT G_M000_IG37 G_M000_IG36: mov bword ptr [ebp-2CH], ecx G_M000_IG37: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG38: mov edx, bword ptr [ebp-30H] mov edx, gword ptr [edx] mov ecx, gword ptr [ebp-28H] nop call [eax] test eax, eax mov ecx, bword ptr [ebp-2CH] mov edx, bword ptr [ebp-30H] jl SHORT G_M000_IG32 G_M000_IG39: cmp ecx, edx jae SHORT G_M000_IG40 mov eax, gword ptr [ecx] mov gword ptr [ebp-44H], eax mov bword ptr [ebp-30H], edx mov eax, gword ptr [edx] mov edx, ecx call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov edx, bword ptr [ebp-30H] mov eax, gword ptr [ebp-44H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov eax, gword ptr [ebp-28H] mov edx, bword ptr [ebp-30H] jmp G_M000_IG21 G_M000_IG40: cmp ecx, ebx je SHORT G_M000_IG42 G_M000_IG41: mov eax, gword ptr [ecx] mov esi, gword ptr [ebx] mov edx, ecx call CORINFO_HELP_CHECKED_ASSIGN_REF_ESI mov edx, ebx call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX G_M000_IG42: mov eax, ecx sub eax, edi mov edx, eax sar edx, 31 and edx, 3 add eax, edx sar eax, 2 G_M000_IG43: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 652 898: JIT compiled System.Collections.Generic.GenericArraySortHelper`1[System.__Canon]:PickPivotAndPartition(System.Span`1[System.__Canon]) [Tier1, IL size=311, code size=652] ; Assembly listing for method System.Collections.Generic.GenericArraySortHelper`1[System.__Canon]:InsertionSort(System.Span`1[System.__Canon]) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 5 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 24 mov dword ptr [ebp-10H], ecx mov esi, ecx G_M000_IG02: xor edi, edi mov ebx, dword ptr [ebp+0CH] dec ebx mov dword ptr [ebp-1CH], ebx test ebx, ebx jle G_M000_IG13 G_M000_IG03: mov eax, bword ptr [ebp+08H] mov bword ptr [ebp-24H], eax mov edx, eax mov ecx, gword ptr [edx+4*edi+04H] mov gword ptr [ebp-20H], ecx mov dword ptr [ebp-14H], edi mov edx, edi jmp SHORT G_M000_IG05 G_M000_IG04: mov ebx, eax lea ebx, bword ptr [ebx+4*edx+04H] mov edi, eax mov dword ptr [ebp-18H], edx mov edi, gword ptr [edi+4*edx] mov edx, ebx call CORINFO_HELP_CHECKED_ASSIGN_REF_EDI mov edi, dword ptr [ebp-18H] dec edi mov edx, edi mov ecx, gword ptr [ebp-20H] G_M000_IG05: test edx, edx jl SHORT G_M000_IG12 G_M000_IG06: test ecx, ecx je SHORT G_M000_IG04 mov ebx, eax mov dword ptr [ebp-18H], edx lea ebx, bword ptr [ebx+4*edx] mov edi, dword ptr [esi+20H] mov edi, dword ptr [edi] cmp dword ptr [edi+04H], 48 jle SHORT G_M000_IG09 G_M000_IG07: mov edi, dword ptr [edi+30H] test edi, edi je SHORT G_M000_IG09 G_M000_IG08: jmp SHORT G_M000_IG10 G_M000_IG09: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edi, eax G_M000_IG10: mov edx, gword ptr [ebx] mov ecx, gword ptr [ebp-20H] mov eax, edi nop call [eax] test eax, eax mov eax, bword ptr [ebp-24H] mov edx, dword ptr [ebp-18H] jl SHORT G_M000_IG04 G_M000_IG11: mov ecx, gword ptr [ebp-20H] G_M000_IG12: lea edx, bword ptr [eax+4*edx+04H] call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX mov edi, dword ptr [ebp-14H] inc edi mov ebx, dword ptr [ebp-1CH] cmp edi, ebx jl G_M000_IG03 G_M000_IG13: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 192 899: JIT compiled System.Collections.Generic.GenericArraySortHelper`1[System.__Canon]:InsertionSort(System.Span`1[System.__Canon]) [Tier1, IL size=141, code size=192] ; Assembly listing for method System.Collections.Sort`1[System.__Canon]:List():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push esi G_M000_IG02: mov edx, gword ptr [ecx+0CH] mov eax, dword ptr [ecx+14H] lea esi, [eax+01H] mov dword ptr [ecx+14H], esi cmp eax, dword ptr [edx+04H] jae SHORT G_M000_IG04 mov ecx, gword ptr [edx+4*eax+08H] push dword ptr [ecx+08H] push 0 xor edx, edx call [System.Collections.Generic.List`1[System.__Canon]:Sort(int,int,System.Collections.Generic.IComparer`1[System.__Canon]):this] G_M000_IG03: pop esi ret G_M000_IG04: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 43 900: JIT compiled System.Collections.Sort`1[System.__Canon]:List() [Tier1, IL size=30, code size=43] ; Assembly listing for method System.Collections.Generic.List`1[System.__Canon]:Sort():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: G_M000_IG02: push dword ptr [ecx+08H] push 0 xor edx, edx call [System.Collections.Generic.List`1[System.__Canon]:Sort(int,int,System.Collections.Generic.IComparer`1[System.__Canon]):this] G_M000_IG03: ret ; Total bytes of code 14 901: JIT compiled System.Collections.Generic.List`1[System.__Canon]:Sort() [Tier1, IL size=15, code size=14] ; Assembly listing for method System.Collections.Generic.List`1[System.__Canon]:Sort(int,int,System.Collections.Generic.IComparer`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx mov edi, edx mov ebx, dword ptr [ebp+0CH] G_M000_IG02: test edi, edi jl SHORT G_M000_IG09 test ebx, ebx jl SHORT G_M000_IG10 mov ecx, dword ptr [esi+08H] sub ecx, edi cmp ecx, ebx jl SHORT G_M000_IG11 cmp ebx, 1 jle SHORT G_M000_IG07 G_M000_IG03: mov ecx, dword ptr [esi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov eax, dword ptr [edx+1CH] test eax, eax je SHORT G_M000_IG05 G_M000_IG04: jmp SHORT G_M000_IG06 G_M000_IG05: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG06: mov ecx, gword ptr [esi+04H] push ebx push gword ptr [ebp+08H] push eax mov edx, edi call [System.Array:Sort[System.__Canon](System.__Canon[],int,int,System.Collections.Generic.IComparer`1[System.__Canon])] G_M000_IG07: inc dword ptr [esi+0CH] G_M000_IG08: pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG09: call [System.ThrowHelper:ThrowIndexArgumentOutOfRange_NeedNonNegNumException()] int3 G_M000_IG10: mov ecx, 27 mov edx, 13 call [System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)] int3 G_M000_IG11: mov ecx, 16 call [System.ThrowHelper:ThrowArgumentException(int)] int3 ; Total bytes of code 123 902: JIT compiled System.Collections.Generic.List`1[System.__Canon]:Sort(int,int,System.Collections.Generic.IComparer`1[System.__Canon]) [Tier1, IL size=73, code size=123] ; Assembly listing for method System.Array:Sort[System.__Canon](System.__Canon[],int,int,System.Collections.Generic.IComparer`1[System.__Canon]) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 8 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-10H], eax mov esi, dword ptr [ebp+10H] mov edi, dword ptr [ebp+08H] G_M000_IG02: test ecx, ecx je G_M000_IG14 test edx, edx jl G_M000_IG15 test esi, esi jl G_M000_IG16 mov eax, dword ptr [ecx+04H] sub eax, edx cmp eax, esi jl G_M000_IG17 cmp esi, 1 jle SHORT G_M000_IG13 G_M000_IG03: lea ebx, bword ptr [ecx+4*edx+08H] mov ecx, dword ptr [edi+0CH] mov eax, dword ptr [ecx+14H] test eax, eax je SHORT G_M000_IG05 G_M000_IG04: jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, edi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG06: mov ecx, dword ptr [edi+0CH] cmp dword ptr [ecx+04H], 24 jle SHORT G_M000_IG10 G_M000_IG07: mov edx, dword ptr [ecx+18H] test edx, edx je SHORT G_M000_IG09 G_M000_IG08: mov edi, edx jmp SHORT G_M000_IG12 G_M000_IG09: mov dword ptr [ebp-14H], eax jmp SHORT G_M000_IG11 G_M000_IG10: mov dword ptr [ebp-14H], eax G_M000_IG11: mov ecx, edi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov edi, eax mov eax, dword ptr [ebp-14H] G_M000_IG12: mov ecx, eax call [System.Collections.Generic.ArraySortHelper`1[System.__Canon]:get_Default():System.Collections.Generic.IArraySortHelper`1[System.__Canon]] mov ecx, eax push esi push ebx mov edx, gword ptr [ebp+0CH] mov eax, edi nop call [eax] G_M000_IG13: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG14: mov ecx, 2 call [System.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG15: call [System.ThrowHelper:ThrowIndexArgumentOutOfRange_NeedNonNegNumException()] int3 G_M000_IG16: call [System.ThrowHelper:ThrowLengthArgumentOutOfRange_ArgumentOutOfRange_NeedNonNegNum()] int3 G_M000_IG17: mov ecx, 16 call [System.ThrowHelper:ThrowArgumentException(int)] int3 ; Total bytes of code 209 903: JIT compiled System.Array:Sort[System.__Canon](System.__Canon[],int,int,System.Collections.Generic.IComparer`1[System.__Canon]) [Tier1, IL size=78, code size=209] ; Assembly listing for method System.Collections.Generic.ArraySortHelper`1[System.__Canon]:get_Default():System.Collections.Generic.IArraySortHelper`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push eax mov dword ptr [ebp-04H], ecx G_M000_IG02: call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov eax, gword ptr [eax] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 18 904: JIT compiled System.Collections.Generic.ArraySortHelper`1[System.__Canon]:get_Default() [Tier1, IL size=6, code size=18] ; Assembly listing for method System.Collections.Generic.GenericArraySortHelper`1[System.__Canon]:Sort(System.Span`1[System.__Canon],System.Collections.Generic.IComparer`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 36 xor eax, eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-28H], ecx mov gword ptr [ebp-2CH], edx mov ecx, edx G_M000_IG02: test ecx, ecx je SHORT G_M000_IG07 mov edx, gword ptr [ebp-28H] mov esi, dword ptr [edx] mov edx, esi mov eax, dword ptr [edx+20H] mov eax, dword ptr [eax] cmp dword ptr [eax+04H], 56 jle SHORT G_M000_IG05 G_M000_IG03: mov eax, dword ptr [eax+38H] test eax, eax je SHORT G_M000_IG05 G_M000_IG04: jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, edx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG06: mov ecx, eax call [System.Collections.Generic.Comparer`1[System.__Canon]:get_Default():System.Collections.Generic.Comparer`1[System.__Canon]] cmp eax, gword ptr [ebp-2CH] jne SHORT G_M000_IG08 G_M000_IG07: cmp dword ptr [ebp+0CH], 1 jle G_M000_IG20 push dword ptr [ebp+0CH] push bword ptr [ebp+08H] mov edx, gword ptr [ebp-28H] mov esi, dword ptr [edx] mov edx, esi mov eax, dword ptr [ebp+0CH] or eax, 1 lzcnt eax, eax xor eax, 31 lea ecx, [2*eax+02H] call [System.Collections.Generic.GenericArraySortHelper`1[System.__Canon]:IntroSort(System.Span`1[System.__Canon],int)] jmp G_M000_IG20 G_M000_IG08: mov edx, dword ptr [esi+20H] mov edx, dword ptr [edx] cmp dword ptr [edx+04H], 60 jle SHORT G_M000_IG15 G_M000_IG09: mov edi, dword ptr [edx+3CH] test edi, edi je SHORT G_M000_IG15 G_M000_IG10: mov edx, dword ptr [esi+20H] mov edx, dword ptr [edx] cmp dword ptr [edx+04H], 64 jle SHORT G_M000_IG16 G_M000_IG11: mov edx, dword ptr [edx+40H] test edx, edx je SHORT G_M000_IG16 G_M000_IG12: mov ecx, edx call CORINFO_HELP_NEWSFAST mov ebx, eax mov eax, bword ptr [ebp+08H] mov bword ptr [ebp-30H], eax mov edx, dword ptr [ebp+0CH] mov dword ptr [ebp-24H], edx push 0xD1FFAB1E mov ecx, gword ptr [ebp-2CH] mov edx, edi call CORINFO_HELP_VIRTUAL_FUNC_PTR lea edx, bword ptr [ebx+04H] mov ecx, gword ptr [ebp-2CH] call CORINFO_HELP_ASSIGN_REF_ECX mov dword ptr [ebx+0CH], eax mov edx, dword ptr [esi+20H] mov edx, dword ptr [edx] cmp dword ptr [edx+04H], 68 jle SHORT G_M000_IG17 G_M000_IG13: mov edx, dword ptr [edx+44H] test edx, edx je SHORT G_M000_IG17 G_M000_IG14: push dword ptr [ebp-24H] push bword ptr [ebp-30H] mov ecx, ebx call [System.Collections.Generic.ArraySortHelper`1[System.__Canon]:IntrospectiveSort(System.Span`1[System.__Canon],System.Comparison`1[System.__Canon])] jmp SHORT G_M000_IG20 G_M000_IG15: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edi, eax jmp SHORT G_M000_IG10 G_M000_IG16: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax jmp SHORT G_M000_IG12 G_M000_IG17: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax jmp SHORT G_M000_IG14 G_M000_IG18: mov ecx, gword ptr [ebp-2CH] call [System.ThrowHelper:ThrowArgumentException_BadComparer(System.Object)] call CORINFO_HELP_ENDCATCH jmp SHORT G_M000_IG20 G_M000_IG19: mov edx, eax mov ecx, 64 call [System.ThrowHelper:ThrowInvalidOperationException(int,System.Exception)] call CORINFO_HELP_ENDCATCH G_M000_IG20: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 344 905: JIT compiled System.Collections.Generic.GenericArraySortHelper`1[System.__Canon]:Sort(System.Span`1[System.__Canon],System.Collections.Generic.IComparer`1[System.__Canon]) [Tier1, IL size=212, code size=344] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:WorkloadWarmupStop(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 14 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 906: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:WorkloadWarmupStop(long) [Tier0, IL size=10, code size=33] ; Assembly listing for method System.Collections.Generic.List`1[System.__Canon]:Clear():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi mov esi, ecx G_M000_IG02: inc dword ptr [esi+0CH] mov ecx, dword ptr [esi+08H] xor edx, edx mov dword ptr [esi+08H], edx test ecx, ecx jle SHORT G_M000_IG05 G_M000_IG03: mov edx, gword ptr [esi+04H] push ecx mov ecx, edx xor edx, edx call [System.Array:Clear(System.Array,int,int)] G_M000_IG04: pop esi pop ebp ret G_M000_IG05: pop esi pop ebp ret ; Total bytes of code 41 907: JIT compiled System.Collections.Generic.List`1[System.__Canon]:Clear() [Tier1, IL size=61, code size=41] ; Assembly listing for method System.Array:Clear(System.Array,int,int) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 36824 ; 0 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 8 mov eax, dword ptr [ebp+08H] G_M000_IG02: test ecx, ecx je SHORT G_M000_IG08 lea esi, bword ptr [ecx+08H] mov bword ptr [ebp-14H], esi xor edi, edi mov ebx, dword ptr [ecx] cmp dword ptr [ebx+04H], 12 ja SHORT G_M000_IG09 mov esi, edx sub esi, edi cmp edx, edi jl SHORT G_M000_IG10 G_M000_IG03: mov edx, esi or edx, eax jl SHORT G_M000_IG10 lea edx, [esi+eax] cmp edx, dword ptr [ecx+04H] ja SHORT G_M000_IG10 G_M000_IG04: movzx edx, word ptr [ebx] imul esi, edx mov ecx, esi add ecx, bword ptr [ebp-14H] imul edx, eax test dword ptr [ebx], 0xD1FFAB1E je SHORT G_M000_IG06 shr edx, 2 call [System.SpanHelpers:ClearWithReferences(byref,uint)] G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG06: call [System.SpanHelpers:ClearWithoutReferences(byref,uint)] G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG08: mov ecx, 2 call [System.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG09: mov dword ptr [ebp+08H], eax mov edi, dword ptr [ebx+04H] add edi, -12 shr edi, 3 mov dword ptr [ebp-10H], edi mov esi, bword ptr [ebp-14H] mov edi, dword ptr [esi+4*edi] mov eax, dword ptr [ebp-10H] lea esi, bword ptr [esi+8*eax] mov eax, edx sub eax, edi cmp edx, edi mov bword ptr [ebp-14H], esi jge SHORT G_M000_IG11 G_M000_IG10: call [System.ThrowHelper:ThrowIndexOutOfRangeException()] int3 G_M000_IG11: mov esi, eax mov eax, dword ptr [ebp+08H] jmp G_M000_IG03 ; Total bytes of code 178 908: JIT compiled System.Array:Clear(System.Array,int,int) [Tier1 with Static PGO, IL size=174, code size=178] ; Assembly listing for method System.SpanHelpers:ClearWithReferences(byref,uint) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 62256 G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: cmp edx, 8 jb SHORT G_M000_IG11 align [0 bytes for IG03] G_M000_IG03: xor eax, eax mov dword ptr [ecx+4*edx-04H], eax G_M000_IG04: mov dword ptr [ecx+4*edx-08H], eax G_M000_IG05: mov dword ptr [ecx+4*edx-0CH], eax G_M000_IG06: mov dword ptr [ecx+4*edx-10H], eax G_M000_IG07: mov dword ptr [ecx+4*edx-14H], eax G_M000_IG08: mov dword ptr [ecx+4*edx-18H], eax G_M000_IG09: mov dword ptr [ecx+4*edx-1CH], eax G_M000_IG10: mov dword ptr [ecx+4*edx-20H], eax add edx, -8 cmp edx, 8 jae SHORT G_M000_IG03 G_M000_IG11: cmp edx, 4 jae SHORT G_M000_IG15 G_M000_IG12: cmp edx, 2 jae SHORT G_M000_IG19 G_M000_IG13: test edx, edx jne SHORT G_M000_IG21 G_M000_IG14: pop ebp ret G_M000_IG15: xor eax, eax mov dword ptr [ecx+08H], eax G_M000_IG16: mov dword ptr [ecx+0CH], eax G_M000_IG17: mov dword ptr [ecx+4*edx-0CH], eax G_M000_IG18: mov dword ptr [ecx+4*edx-08H], eax G_M000_IG19: xor eax, eax mov dword ptr [ecx+04H], eax G_M000_IG20: mov dword ptr [ecx+4*edx-04H], eax G_M000_IG21: xor eax, eax mov dword ptr [ecx], eax G_M000_IG22: pop ebp ret ; Total bytes of code 97 909: JIT compiled System.SpanHelpers:ClearWithReferences(byref,uint) [Tier1 with Static PGO, IL size=255, code size=97] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_IterationMode():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, dword ptr [ecx] G_M000_IG03: ret ; Total bytes of code 3 910: JIT compiled BenchmarkDotNet.Engines.IterationData:get_IterationMode() [Tier1, IL size=7, code size=3] ; Assembly listing for method System.GC:Collect() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 32 G_M000_IG02: lea edi, [ebp-28H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-14H], eax push 2 push -1 mov dword ptr [ebp-20H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-1CH], eax lea eax, G_M000_IG05 mov dword ptr [ebp-18H], eax mov byte ptr [esi+08H], 0 G_M000_IG03: mov eax, 0xD1FFAB1E G_M000_IG04: call eax ; System.GC:_Collect(int,int) G_M000_IG05: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG06 call CORINFO_HELP_STOP_FOR_GC G_M000_IG06: xor eax, eax mov dword ptr [ebp-18H], eax mov eax, bword ptr [ebp-24H] mov dword ptr [esi+0CH], eax G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 95 911: JIT compiled System.GC:Collect() [Tier1, IL size=8, code size=95] ; Assembly listing for method System.Gen2GcCallback:Finalize():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-18H], ecx G_M000_IG02: mov eax, dword ptr [ecx+0CH] test eax, eax je SHORT G_M000_IG05 and eax, -2 mov edx, gword ptr [eax] test edx, edx jne SHORT G_M000_IG03 add ecx, 12 call [System.Runtime.InteropServices.GCHandle:Free():this] mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG09 jmp G_M000_IG12 G_M000_IG03: mov eax, gword ptr [ecx+08H] mov ecx, gword ptr [eax+04H] call [eax+0CH]System.Func`2[System.__Canon,bool]:Invoke(System.__Canon):bool:this test eax, eax jne SHORT G_M000_IG07 mov ecx, gword ptr [ebp-18H] add ecx, 12 call [System.Runtime.InteropServices.GCHandle:Free():this] mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG10 jmp SHORT G_M000_IG12 G_M000_IG04: call CORINFO_HELP_ENDCATCH jmp SHORT G_M000_IG07 G_M000_IG05: mov eax, gword ptr [ecx+04H] mov ecx, gword ptr [eax+04H] call [eax+0CH]System.Func`1[bool]:Invoke():bool:this test eax, eax jne SHORT G_M000_IG07 mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG11 jmp SHORT G_M000_IG12 G_M000_IG06: call CORINFO_HELP_ENDCATCH G_M000_IG07: mov ecx, gword ptr [ebp-18H] call [System.GC:ReRegisterForFinalize(System.Object)] G_M000_IG08: mov ecx, gword ptr [ebp-18H] call [System.Runtime.ConstrainedExecution.CriticalFinalizerObject:Finalize():this] jmp SHORT G_M000_IG13 G_M000_IG09: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG13 G_M000_IG10: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG13 G_M000_IG11: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG13 G_M000_IG12: mov ecx, gword ptr [ebp-18H] call [System.Runtime.ConstrainedExecution.CriticalFinalizerObject:Finalize():this] pop eax jmp eax G_M000_IG13: mov esp, ebp pop ebp ret ; Total bytes of code 218 912: JIT compiled System.Gen2GcCallback:Finalize() [Tier1, IL size=111, code size=218] ; Assembly listing for method System.Buffers.TlsOverPerCoreLockedStacksArrayPool`1+<>c[ushort]:b__13_0(System.Object):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, edx test ecx, ecx je SHORT G_M000_IG04 G_M000_IG03: mov eax, 0xD1FFAB1E cmp dword ptr [ecx], eax jne SHORT G_M000_IG06 G_M000_IG04: cmp dword ptr [ecx], ecx call [System.Buffers.TlsOverPerCoreLockedStacksArrayPool`1[ushort]:Trim():bool:this] G_M000_IG05: pop ebp ret G_M000_IG06: mov ecx, eax call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 ; Total bytes of code 37 913: JIT compiled System.Buffers.TlsOverPerCoreLockedStacksArrayPool`1+<>c[ushort]:b__13_0(System.Object) [Tier1, IL size=12, code size=37] ; Assembly listing for method System.Buffers.TlsOverPerCoreLockedStacksArrayPool`1[ushort]:Trim():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 20 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 128 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-48H], xmm4 vmovdqu xmmword ptr [ebp-38H], xmm4 xor eax, eax mov dword ptr [ebp-18H], eax mov esi, ecx G_M000_IG02: call System.Environment:get_TickCount():int mov edi, eax call [System.Buffers.Utilities:GetMemoryPressure():int] mov ebx, eax mov dword ptr [ebp-24H], ebx mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-6CH], eax cmp byte ptr [eax+59H], 0 je SHORT G_M000_IG04 G_M000_IG03: push edi push ebx mov ecx, eax mov edx, 5 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this] mov eax, gword ptr [ebp-6CH] mov ebx, dword ptr [ebp-24H] G_M000_IG04: mov edx, gword ptr [esi+08H] mov gword ptr [ebp-70H], edx xor ecx, ecx cmp dword ptr [edx+04H], 0 jle G_M000_IG16 G_M000_IG05: mov dword ptr [ebp-28H], ecx mov edx, gword ptr [edx+4*ecx+08H] mov gword ptr [ebp-88H], edx test edx, edx je G_M000_IG15 G_M000_IG06: mov ecx, esi call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int mov dword ptr [ebp-50H], eax mov edx, 16 mov ecx, dword ptr [ebp-28H] shl edx, cl mov dword ptr [ebp-60H], edx mov ecx, gword ptr [ebp-88H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-8CH], ecx xor edx, edx cmp dword ptr [ecx+04H], 0 jle SHORT G_M000_IG08 G_M000_IG07: mov dword ptr [ebp-64H], edx mov ebx, gword ptr [ecx+4*edx+08H] push eax push dword ptr [ebp-24H] push dword ptr [ebp-60H] mov ecx, ebx mov edx, edi cmp dword ptr [ecx], ecx call [System.Buffers.TlsOverPerCoreLockedStacksArrayPool`1+LockedStack[ushort]:Trim(int,int,int,int):this] mov ebx, dword ptr [ebp-64H] inc ebx mov ecx, gword ptr [ebp-8CH] cmp dword ptr [ecx+04H], ebx mov edx, ebx mov eax, dword ptr [ebp-50H] jg SHORT G_M000_IG07 G_M000_IG08: mov ebx, dword ptr [ebp-28H] inc ebx mov ecx, gword ptr [ebp-70H] cmp dword ptr [ecx+04H], ebx mov edx, ecx jg SHORT G_M000_IG14 G_M000_IG09: mov ebx, dword ptr [ebp-24H] cmp ebx, 2 jne G_M000_IG29 G_M000_IG10: mov edi, gword ptr [ebp-6CH] cmp byte ptr [edi+59H], 0 jne SHORT G_M000_IG19 mov ecx, gword ptr [esi+04H] cmp dword ptr [ecx], ecx call [System.Runtime.CompilerServices.ConditionalWeakTable`2[System.__Canon,System.__Canon]:System.Collections.Generic.IEnumerable>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:this] mov gword ptr [ebp-74H], eax G_M000_IG11: mov ecx, eax call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG13 G_M000_IG12: lea edx, [ebp-30H] mov ecx, gword ptr [ebp-74H] call [System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:get_Current():System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]:this] mov ecx, gword ptr [ebp-30H] call [System.Array:Clear(System.Array)] mov ecx, gword ptr [ebp-74H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG12 G_M000_IG13: mov ecx, gword ptr [ebp-74H] call [System.IDisposable:Dispose():this] jmp G_M000_IG43 G_M000_IG14: mov ecx, ebx mov eax, gword ptr [ebp-6CH] mov ebx, dword ptr [ebp-24H] jmp G_M000_IG05 G_M000_IG15: jmp SHORT G_M000_IG08 G_M000_IG16: jmp SHORT G_M000_IG09 G_M000_IG17: cmp gword ptr [ebp-74H], 0 je SHORT G_M000_IG18 mov ecx, gword ptr [ebp-74H] call [System.IDisposable:Dispose():this] G_M000_IG18: pop eax jmp eax G_M000_IG19: mov ecx, gword ptr [esi+04H] cmp dword ptr [ecx], ecx call [System.Runtime.CompilerServices.ConditionalWeakTable`2[System.__Canon,System.__Canon]:System.Collections.Generic.IEnumerable>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:this] mov gword ptr [ebp-78H], eax G_M000_IG20: mov ecx, eax call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG26 G_M000_IG21: lea edx, [ebp-38H] mov ecx, gword ptr [ebp-78H] call [System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:get_Current():System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]:this] mov ebx, gword ptr [ebp-38H] xor eax, eax cmp dword ptr [ebx+04H], 0 jle SHORT G_M000_IG25 G_M000_IG22: mov dword ptr [ebp-3CH], eax lea ecx, bword ptr [ebx+8*eax+08H] xor edx, edx xchg gword ptr [ecx], edx mov gword ptr [ebp-7CH], edx test edx, edx je SHORT G_M000_IG24 G_M000_IG23: mov ecx, edx call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int mov dword ptr [ebp-58H], eax mov ecx, gword ptr [ebp-7CH] mov edx, dword ptr [ecx+04H] mov dword ptr [ebp-5CH], edx mov ecx, esi call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int push dword ptr [ebp-58H] push dword ptr [ebp-5CH] push eax mov ecx, edi mov edx, 4 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int,int):this] G_M000_IG24: mov eax, dword ptr [ebp-3CH] inc eax cmp dword ptr [ebx+04H], eax jg SHORT G_M000_IG22 G_M000_IG25: mov ecx, gword ptr [ebp-78H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG21 G_M000_IG26: mov ecx, gword ptr [ebp-78H] call [System.IDisposable:Dispose():this] jmp G_M000_IG43 G_M000_IG27: cmp gword ptr [ebp-78H], 0 je SHORT G_M000_IG28 mov ecx, gword ptr [ebp-78H] call [System.IDisposable:Dispose():this] G_M000_IG28: pop eax jmp eax G_M000_IG29: mov eax, 0x7530 mov ecx, 0x3A98 cmp ebx, 1 cmove eax, ecx mov ebx, eax mov dword ptr [ebp-40H], ebx mov gword ptr [ebp-68H], esi mov ecx, gword ptr [esi+04H] cmp dword ptr [ecx], ecx call [System.Runtime.CompilerServices.ConditionalWeakTable`2[System.__Canon,System.__Canon]:System.Collections.Generic.IEnumerable>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:this] mov gword ptr [ebp-80H], eax G_M000_IG30: mov ecx, eax call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je G_M000_IG40 G_M000_IG31: lea edx, [ebp-48H] mov ecx, gword ptr [ebp-80H] call [System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:get_Current():System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]:this] mov eax, gword ptr [ebp-48H] mov gword ptr [ebp-84H], eax xor edx, edx cmp dword ptr [eax+04H], 0 jle G_M000_IG39 G_M000_IG32: cmp gword ptr [eax+8*edx+08H], 0 je G_M000_IG38 G_M000_IG33: mov ecx, dword ptr [eax+8*edx+0CH] test ecx, ecx jne SHORT G_M000_IG37 mov dword ptr [eax+8*edx+0CH], edi jmp SHORT G_M000_IG38 G_M000_IG34: jmp SHORT G_M000_IG38 G_M000_IG35: mov eax, gword ptr [ebp-84H] mov edx, dword ptr [ebp-4CH] jmp SHORT G_M000_IG38 G_M000_IG36: mov eax, gword ptr [ebp-84H] mov edx, dword ptr [ebp-4CH] jmp SHORT G_M000_IG38 G_M000_IG37: mov ebx, edi sub ebx, ecx mov ecx, ebx sar ecx, 31 mov esi, dword ptr [ebp-40H] cmp ebx, esi sbb ecx, 0 jl SHORT G_M000_IG34 mov dword ptr [ebp-4CH], edx lea ecx, bword ptr [eax+8*edx+08H] xor ebx, ebx xchg gword ptr [ecx], ebx test ebx, ebx je SHORT G_M000_IG35 mov ecx, gword ptr [ebp-6CH] cmp byte ptr [ecx+59H], 0 je SHORT G_M000_IG36 mov ecx, ebx call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int mov dword ptr [ebp-54H], eax mov ebx, dword ptr [ebx+04H] mov ecx, gword ptr [ebp-68H] call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int push dword ptr [ebp-54H] push ebx push eax mov ecx, gword ptr [ebp-6CH] mov edx, 4 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int,int):this] mov eax, gword ptr [ebp-84H] mov edx, dword ptr [ebp-4CH] G_M000_IG38: inc edx cmp dword ptr [eax+04H], edx jg G_M000_IG32 G_M000_IG39: mov ecx, gword ptr [ebp-80H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne G_M000_IG31 G_M000_IG40: mov ecx, gword ptr [ebp-80H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG43 G_M000_IG41: cmp gword ptr [ebp-80H], 0 je SHORT G_M000_IG42 mov ecx, gword ptr [ebp-80H] call [System.IDisposable:Dispose():this] G_M000_IG42: pop eax jmp eax G_M000_IG43: mov eax, 1 G_M000_IG44: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 825 914: JIT compiled System.Buffers.TlsOverPerCoreLockedStacksArrayPool`1[ushort]:Trim() [Tier1, IL size=523, code size=825] ; Assembly listing for method System.Buffers.Utilities:GetMemoryPressure():int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 16 vzeroupper G_M000_IG02: xor ecx, ecx call [System.GC:GetGCMemoryInfo(int):System.GCMemoryInfo] mov esi, eax lea eax, bword ptr [esi+14H] mov edx, dword ptr [eax] push dword ptr [eax+04H] push edx call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-14H] vmovsd xmm0, qword ptr [ebp-14H] vmovsd qword ptr [ebp-0CH], xmm0 add esi, 4 mov eax, dword ptr [esi] push dword ptr [esi+04H] push eax call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-14H] vmovsd xmm0, qword ptr [ebp-14H] vmulsd xmm1, xmm0, qword ptr [@RWD00] vmovsd xmm2, qword ptr [ebp-0CH] vucomisd xmm2, xmm1 jb SHORT G_M000_IG05 G_M000_IG03: mov eax, 2 G_M000_IG04: lea esp, [ebp-04H] pop esi pop ebp ret G_M000_IG05: vmulsd xmm0, xmm0, qword ptr [@RWD08] xor eax, eax vucomisd xmm2, xmm0 setae al G_M000_IG06: lea esp, [ebp-04H] pop esi pop ebp ret RWD00 dq 3FECCCCCCCCCCCCDh ; 0.9 RWD08 dq 3FE6666666666666h ; 0.7 ; Total bytes of code 122 915: JIT compiled System.Buffers.Utilities:GetMemoryPressure() [Tier1, IL size=68, code size=122] ; Assembly listing for method System.GC:GetGCMemoryInfo(int):System.GCMemoryInfo ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 8 mov esi, ecx G_M000_IG02: test esi, esi jl SHORT G_M000_IG04 cmp esi, 3 jg SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax mov ecx, edi mov edx, esi call System.GC:GetMemoryInfo(System.GCMemoryInfoData,int) mov eax, edi G_M000_IG03: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax call [System.SR:get_ArgumentOutOfRange_Bounds_Lower_Upper():System.String] mov edi, eax xor ecx, ecx mov dword ptr [esi+04H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ebx, eax mov dword ptr [ebx+04H], 3 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, 0x1283 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-14H], eax push ebx mov edx, esi mov ecx, edi call [System.SR:Format(System.String,System.Object,System.Object):System.String] push eax mov edx, gword ptr [ebp-14H] mov ecx, gword ptr [ebp-10H] call [System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this] mov ecx, gword ptr [ebp-10H] call CORINFO_HELP_THROW int3 ; Total bytes of code 159 916: JIT compiled System.GC:GetGCMemoryInfo(int) [Tier1, IL size=61, code size=159] ; Assembly listing for method System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 8 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push edi push esi sub esp, 36 mov dword ptr [esp+20H], 0xD1FFAB1E G_M000_IG02: cmp byte ptr [ecx+59H], 0 je SHORT G_M000_IG06 G_M000_IG03: lea eax, [esp] lea esi, [esp+34H] mov edi, eax mov dword ptr [edi], esi xor esi, esi mov dword ptr [edi+04H], esi mov dword ptr [eax+08H], 4 G_M000_IG04: mov dword ptr [eax+0CH], esi lea esi, [esp+30H] lea edi, [eax+10H] mov dword ptr [edi], esi xor esi, esi mov dword ptr [edi+04H], esi mov dword ptr [eax+18H], 4 G_M000_IG05: mov dword ptr [eax+1CH], esi push 0 push 2 push eax call [System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,uint,int,uint):this] G_M000_IG06: cmp dword ptr [esp+20H], 0xD1FFAB1E je SHORT G_M000_IG07 call CORINFO_HELP_FAIL_FAST G_M000_IG07: add esp, 36 pop esi pop edi ret 8 ; Total bytes of code 103 917: JIT compiled System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int) [Tier1, IL size=97, code size=103] ; Assembly listing for method System.Runtime.CompilerServices.ConditionalWeakTable`2[System.__Canon,System.__Canon]:System.Collections.Generic.IEnumerable>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 32 xor eax, eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-20H], ecx G_M000_IG02: mov edx, gword ptr [ebp-20H] mov ecx, gword ptr [edx+04H] mov gword ptr [ebp-24H], ecx xor edx, edx mov dword ptr [ebp-1CH], edx G_M000_IG03: cmp byte ptr [ebp-1CH], 0 jne SHORT G_M000_IG07 lea edx, [ebp-1CH] call System.Threading.Monitor:ReliableEnter(System.Object,byref) mov ecx, gword ptr [ebp-20H] mov ecx, gword ptr [ecx+08H] test ecx, ecx je SHORT G_M000_IG09 G_M000_IG04: cmp dword ptr [ecx+14H], 0 je SHORT G_M000_IG09 mov ecx, gword ptr [ebp-20H] mov ecx, dword ptr [ecx] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+18H] test edx, edx je SHORT G_M000_IG08 G_M000_IG05: mov ecx, edx call CORINFO_HELP_NEWFAST mov esi, eax lea edx, bword ptr [esi+04H] mov ecx, gword ptr [ebp-20H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-20H] inc dword ptr [ecx+0CH] mov ecx, gword ptr [ebp-20H] mov ecx, gword ptr [ecx+08H] mov ecx, dword ptr [ecx+14H] dec ecx mov dword ptr [esi+08H], ecx mov dword ptr [esi+0CH], -1 G_M000_IG06: jmp SHORT G_M000_IG13 G_M000_IG07: call [System.Threading.Monitor:ThrowLockTakenException()] int3 G_M000_IG08: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax jmp SHORT G_M000_IG05 G_M000_IG09: mov ecx, gword ptr [ebp-20H] mov ecx, dword ptr [ecx] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+14H] test edx, edx je SHORT G_M000_IG11 G_M000_IG10: jmp SHORT G_M000_IG12 G_M000_IG11: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax G_M000_IG12: mov ecx, edx call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov esi, gword ptr [eax] jmp SHORT G_M000_IG06 G_M000_IG13: cmp byte ptr [ebp-1CH], 0 je SHORT G_M000_IG17 G_M000_IG14: mov ecx, gword ptr [ebp-24H] call System.Threading.Monitor:Exit(System.Object) jmp SHORT G_M000_IG17 G_M000_IG15: cmp byte ptr [ebp-1CH], 0 je SHORT G_M000_IG16 mov ecx, gword ptr [ebp-24H] call System.Threading.Monitor:Exit(System.Object) G_M000_IG16: pop eax jmp eax G_M000_IG17: mov eax, esi G_M000_IG18: lea esp, [ebp-04H] pop esi pop ebp ret ; Total bytes of code 228 918: JIT compiled System.Runtime.CompilerServices.ConditionalWeakTable`2[System.__Canon,System.__Canon]:System.Collections.Generic.IEnumerable>.GetEnumerator() [Tier1, IL size=69, code size=228] ; Assembly listing for method System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:.ctor(System.Runtime.CompilerServices.ConditionalWeakTable`2[System.__Canon,System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: mov eax, edx G_M000_IG02: lea edx, bword ptr [ecx+04H] call CORINFO_HELP_ASSIGN_REF_EAX inc dword ptr [eax+0CH] mov eax, gword ptr [eax+08H] mov eax, dword ptr [eax+14H] dec eax mov dword ptr [ecx+08H], eax mov dword ptr [ecx+0CH], -1 G_M000_IG03: ret ; Total bytes of code 31 919: JIT compiled System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:.ctor(System.Runtime.CompilerServices.ConditionalWeakTable`2[System.__Canon,System.__Canon]) [Tier1, IL size=56, code size=31] ; Assembly listing for method System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:get_Current():System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: push edi push esi G_M000_IG02: cmp dword ptr [ecx+0CH], 0 jl SHORT G_M000_IG04 lea esi, bword ptr [ecx+10H] mov edi, edx call CORINFO_HELP_ASSIGN_BYREF call CORINFO_HELP_ASSIGN_BYREF G_M000_IG03: pop esi pop edi ret G_M000_IG04: call [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumOpCantHappen()] int3 ; Total bytes of code 33 920: JIT compiled System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:get_Current() [Tier1, IL size=21, code size=33] ; Assembly listing for method System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 32 xor eax, eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-20H], ecx G_M000_IG02: mov edx, gword ptr [ebp-20H] cmp dword ptr [edx], edx mov edx, gword ptr [ebp-20H] add edx, 4 xor ecx, ecx mov esi, ecx xchg gword ptr [edx], esi test esi, esi je SHORT G_M000_IG11 G_M000_IG03: mov edx, gword ptr [ebp-20H] xor ecx, ecx mov dword ptr [edx+10H], ecx mov dword ptr [edx+14H], ecx mov ecx, gword ptr [esi+04H] mov gword ptr [ebp-24H], ecx xor edx, edx mov dword ptr [ebp-1CH], edx G_M000_IG04: cmp byte ptr [ebp-1CH], 0 jne SHORT G_M000_IG05 lea edx, [ebp-1CH] call System.Threading.Monitor:ReliableEnter(System.Object,byref) jmp SHORT G_M000_IG06 G_M000_IG05: call [System.Threading.Monitor:ThrowLockTakenException()] int3 G_M000_IG06: dec dword ptr [esi+0CH] G_M000_IG07: cmp byte ptr [ebp-1CH], 0 je SHORT G_M000_IG10 mov ecx, gword ptr [ebp-24H] call System.Threading.Monitor:Exit(System.Object) jmp SHORT G_M000_IG10 G_M000_IG08: cmp byte ptr [ebp-1CH], 0 je SHORT G_M000_IG09 mov ecx, gword ptr [ebp-24H] call System.Threading.Monitor:Exit(System.Object) G_M000_IG09: pop eax jmp eax G_M000_IG10: mov ecx, gword ptr [ebp-20H] call [System.GC:SuppressFinalize(System.Object)] G_M000_IG11: lea esp, [ebp-04H] pop esi pop ebp ret ; Total bytes of code 132 921: JIT compiled System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:Dispose() [Tier1, IL size=78, code size=132] ; Assembly listing for method System.GC:SuppressFinalize(System.Object) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: test ecx, ecx je SHORT G_M000_IG04 call System.GC:_SuppressFinalize(System.Object) G_M000_IG03: pop ebp ret G_M000_IG04: mov ecx, 0x12E9 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 ; Total bytes of code 38 922: JIT compiled System.GC:SuppressFinalize(System.Object) [Tier1, IL size=18, code size=38] ; Assembly listing for method System.GC:ReRegisterForFinalize(System.Object) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: test ecx, ecx je SHORT G_M000_IG04 call System.GC:_ReRegisterForFinalize(System.Object) G_M000_IG03: pop ebp ret G_M000_IG04: mov ecx, 0x12E9 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 ; Total bytes of code 38 923: JIT compiled System.GC:ReRegisterForFinalize(System.Object) [Tier1, IL size=18, code size=38] ; Assembly listing for method System.Runtime.ConstrainedExecution.CriticalFinalizerObject:Finalize():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-0CH], eax G_M000_IG02: mov esp, ebp pop ebp ret ; Total bytes of code 15 924: JIT compiled System.Runtime.ConstrainedExecution.CriticalFinalizerObject:Finalize() [Tier1, IL size=10, code size=15] ; Assembly listing for method System.Collections.Generic.ObjectEqualityComparer`1[System.__Canon]:GetHashCode(System.__Canon):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 65920 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], edx G_M000_IG02: lea ecx, bword ptr [ebp-04H] cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, gword ptr [ecx] mov gword ptr [ebp-08H], ecx lea ecx, bword ptr [ebp-08H] cmp gword ptr [ebp-08H], 0 je SHORT G_M000_IG05 G_M000_IG03: mov ecx, gword ptr [ecx] cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG07 call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int G_M000_IG04: mov esp, ebp pop ebp ret G_M000_IG05: xor eax, eax G_M000_IG06: mov esp, ebp pop ebp ret G_M000_IG07: mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+0CH]System.Object:GetHashCode():int:this jmp SHORT G_M000_IG04 ; Total bytes of code 72 925: JIT compiled System.Collections.Generic.ObjectEqualityComparer`1[System.__Canon]:GetHashCode(System.__Canon) [Tier1 with Static PGO, IL size=49, code size=72] ; Assembly listing for method System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 426 G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx G_M000_IG02: mov ecx, dword ptr [esi+0CH] mov eax, ecx mov edi, gword ptr [esi+04H] mov ebx, dword ptr [edi+04H] cmp ebx, eax jbe SHORT G_M000_IG06 G_M000_IG03: mov word ptr [edi+2*eax+08H], dx inc ecx mov dword ptr [esi+0CH], ecx G_M000_IG04: mov eax, esi G_M000_IG05: pop ebx pop esi pop edi pop ebp ret G_M000_IG06: push 1 movzx edx, dx mov ecx, esi call [System.Text.StringBuilder:Append(ushort,int):System.Text.StringBuilder:this] jmp SHORT G_M000_IG04 ; Total bytes of code 54 926: JIT compiled System.Text.StringBuilder:Append(ushort) [Tier1 with Static PGO, IL size=51, code size=54] ; Assembly listing for method Perfolizer.Horology.TimeInterval:get_Nanoseconds():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: sub esp, 8 vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [ecx] vmovsd qword ptr [esp], xmm0 fld qword ptr [esp] G_M000_IG03: add esp, 8 ret ; Total bytes of code 22 927: JIT compiled Perfolizer.Horology.TimeInterval:get_Nanoseconds() [Tier1, IL size=7, code size=22] ; Assembly listing for method Perfolizer.Horology.TimeUnit:get_NanosecondAmount():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: add ecx, 4 mov eax, dword ptr [ecx] mov edx, dword ptr [ecx+04H] G_M000_IG03: ret ; Total bytes of code 9 928: JIT compiled Perfolizer.Horology.TimeUnit:get_NanosecondAmount() [Tier1, IL size=7, code size=9] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Count():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, dword ptr [ecx+08H] G_M000_IG03: ret ; Total bytes of code 4 929: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Count() [Tier1, IL size=7, code size=4] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_IterationStage():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, dword ptr [ecx+04H] G_M000_IG03: ret ; Total bytes of code 4 930: JIT compiled BenchmarkDotNet.Engines.IterationData:get_IterationStage() [Tier1, IL size=7, code size=4] ; Assembly listing for method System.Number:ExtractFractionAndBiasedExponent(double,byref):ulong ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; double-aligned frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp and esp, -8 push esi sub esp, 12 vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [ebp+08H] vmovsd qword ptr [esp], xmm0 mov eax, dword ptr [esp] mov edx, dword ptr [esp+04H] mov esi, edx and esi, 0xD1FFAB1E shr edx, 20 and edx, 0x7FF mov dword ptr [ecx], edx cmp dword ptr [ecx], 0 je SHORT G_M000_IG04 G_M000_IG03: or eax, 0 or esi, 0xD1FFAB1E add dword ptr [ecx], -0x433 jmp SHORT G_M000_IG05 G_M000_IG04: mov dword ptr [ecx], -0x432 G_M000_IG05: mov edx, esi G_M000_IG06: add esp, 12 pop esi mov esp, ebp pop ebp ret 8 ; Total bytes of code 89 931: JIT compiled System.Number:ExtractFractionAndBiasedExponent(double,byref) [Tier1, IL size=69, code size=89] ; Assembly listing for method BenchmarkDotNet.Engines.HostExtensions:BeforeMainRun(BenchmarkDotNet.Engines.IHost) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, 2 call [BenchmarkDotNet.Engines.IHost:SendSignal(int):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 25 932: JIT compiled BenchmarkDotNet.Engines.HostExtensions:BeforeMainRun(BenchmarkDotNet.Engines.IHost) [Tier0, IL size=8, code size=25] ; Assembly listing for method System.SpanHelpers:ClearWithoutReferences(byref,uint) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx G_M000_IG02: test edx, edx je G_M000_IG76 G_M000_IG03: xor eax, eax mov esi, edx sub esi, 1 sbb eax, 0 cmp esi, 22 sbb eax, 0 jae G_M000_IG62 cmp ; Assembly listing for method BenchmarkDotNet.Engines.EngineActualStage:RunWorkload(long,int,bool):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code esi, 21; ebp based frame ; partially interruptible ja G_M000_IG62 lea eax, [@RWD00] mov eax, dword ptr [eax+4*esi] lea edx, G_M000_IG02 add eax, edx jmp eax G_M000_IG01: G_M000_IG01: push mov byte ptr [ecx], 0 jmp G_M000_IG76 align [0 bytes for IG66] G_M000_IG05: mov word ptr [ecx], 0 jmp G_M000_IG76 G_M000_IG06: mov word ptr [ecx], 0 mov byte ptr [ecx+02H], 0 jmp G_M000_IG76 G_M000_IG07: xor eax, eax mov dword ptr [ecx], eax jmp G_M000_IG76 G_M000_IG08: xor eax, eax mov dword ptr [ecx], eax mov byte ptr [ecx+04H], 0 jmp G_M000_IG76 G_M000_IG09: xor eax, eax mov dword ptr [ecx], eax ebp mov word ptr [ecx+04H], 0 mov jmp G_M000_IG76 ebp, esp G_M000_IG10: sub xor eax, eax esp, mov dword ptr [ecx], eax 8 mov word ptr [ecx+04H], 0 mov gword ptr [ebp-04H], ecx mov byte ptr [ecx+06H], 0 mov dword ptr [ebp-08H] jmp , edx G_M000_IG76 G_M000_IG11: G_M000_IG08: xor eax, eax push mov dword ptr [ecx], eax G_M000_IG12:dword ptr [ebp+10H] mov push dword ptr [ebp+0CH] dword ptr [ecx+04H], eax push 0 jmp push dword ptr [ebp-08H] G_M000_IG76 mov G_M000_IG13: ecx, dword ptr [ebp+08H] xor movzx eax, eax ecx, cl mov dword ptr [ecx], eax push ecx G_M000_IG14: mov ecx, gword ptr [ebp-04H] mov dword ptr [ecx+04H], eax mov mov byte ptr [ecx+08H], 0 edx, 1 jmp call G_M000_IG76 G_M000_IG15: xor eax, eax mov dword ptr [ecx], eax G_M000_IG16: mov dword ptr [ecx+04H], eax [BenchmarkDotNet.Engines.EngineActualStage:Run(long,int,bool,int,bool):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this] mov word ptr [ecx+08H], 0 jmp G_M000_IG03: G_M000_IG76 mov G_M000_IG17: esp, ebp xor eax, eax pop mov dword ptr [ecx], eax ebp G_M000_IG18: ret mov 12 dword ptr [ecx+04H] ; Total bytes of code 50 , eax mov word ptr [ecx+08H], 0 mov byte ptr [ecx+0AH], 0 jmp G_M000_IG76 G_M000_IG19: xor eax, eax mov dword ptr [ecx], eax G_M000_IG20: mov 933: JIT compiled BenchmarkDotNet.Engines.EngineActualStage:RunWorkload(long,int,bool) [Tier0, IL size=12, code size=50] dword ptr [ecx+04H], eax G_M000_IG21: mov dword ptr [ecx+08H], eax jmp G_M000_IG76 G_M000_IG22: xor eax, eax mov dword ptr [ecx], eax G_M000_IG23: mov dword ptr [ecx+04H], eax G_M000_IG24: mov dword ptr [ecx+08H], eax mov byte ptr [ecx+0CH], 0 jmp G_M000_IG76 G_M000_IG25: xor eax, eax mov dword ptr [ecx], eax G_M000_IG26: mov dword ptr [ecx+04H], eax G_M000_IG27: mov dword ptr [ecx+08H], eax mov word ptr [ecx+0CH], 0 jmp G_M000_IG76 G_M000_IG28: xor eax, eax mov dword ptr [ecx], eax G_M000_IG29: mov dword ptr [ecx+04H], eax G_M000_IG30: mov dword ptr [ecx+08H], eax mov word ptr [ecx+0CH], 0 mov byte ptr [ecx+0EH], 0 jmp G_M000_IG76 G_M000_IG31: xor eax, eax mov dword ptr [ecx], eax G_M000_IG32: mov dword ptr [ecx+04H], eax G_M000_IG33: mov dword ptr [ecx+08H], eax G_M000_IG34: mov dword ptr [ecx+0CH], eax jmp G_M000_IG76 G_M000_IG35: xor eax, eax mov dword ptr [ecx], eax G_M000_IG36: mov dword ptr [ecx+04H], eax G_M000_IG37: mov dword ptr [ecx+08H], eax G_M000_IG38: mov dword ptr [ecx+0CH], eax mov byte ptr [ecx+10H], 0 jmp G_M000_IG76 G_M000_IG39: xor eax, eax mov dword ptr [ecx], eax G_M000_IG40: mov dword ptr [ecx+04H], eax G_M000_IG41: mov dword ptr [ecx+08H], eax G_M000_IG42: mov dword ptr [ecx+0CH], eax ; Assembly listing for method BenchmarkDotNet.Engines.EngineActualStage:Run(long,int,bool,int,bool):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting mov word ptr [ecx+10H], 0 BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation jmp ; MinOpts code G_M000_IG76 ; ebp based frame ; partially interruptible G_M000_IG43: xor eax, eax mov dword ptr [ecx], eax G_M000_IG44: mov dword ptr [ecx+04H], eax G_M000_IG45: mov dword ptr [ecx+08H], eax G_M000_IG46: mov dword ptr [ecx+0CH], eax mov word ptr [ecx+10H], 0 mov byte ptr [ecx+12H], 0 jmp G_M000_IG76 G_M000_IG47: xor eax, eax mov dword ptr [ecx], eax G_M000_IG48: mov dword ptr [ecx+04H], eax G_M000_IG49: mov dword ptr [ecx+08H], eax G_M000_IG01: G_M000_IG50: mov dword ptr [ecx+0CH], eax G_M000_IG51: push mov dword ptr [ecx+10H], eax jmp ebp G_M000_IG76 mov G_M000_IG52: ebp, esp xor eax, eax sub esp, mov dword ptr [ecx], eax 52 G_M000_IG53: mov dword ptr [ecx+04H], eax vxorps G_M000_IG54: xmm4, mov dword ptr [ecx+08H], eax xmm4, G_M000_IG55: xmm4 mov dword ptr [ecx+0CH], eax G_M000_IG56: mov dword ptr [ecx+10H], eax vmovdqu mov xmmword ptr byte ptr [ecx+14H], 0 [ebp jmp -34H], xmm4 G_M000_IG76 G_M000_IG57: vmovdqu xor eax, eax xmmword ptr [ebp-24H], xmm4 mov dword ptr [ecx], eax xor G_M000_IG58:eax, eax mov mov dword ptr [ecx+04H], eax dword ptr [ebp-14H], eax G_M000_IG59: mov dword ptr [ebp-10H], eax mov dword ptr [ecx+08H], eax mov dword ptr [ebp-0CH], eax G_M000_IG60: mov gword ptr [ebp-04H], ecx mov dword ptr [ecx+0CH], eax G_M000_IG61: mov mov dword ptr [ecx+10H], eax dword ptr [ebp-08H], edx mov word ptr [ecx+14H], 0 G_M000_IG02: jmp mov G_M000_IG76 ecx, dword ptr [ebp+10H] G_M000_IG62: movzx cmp ecx, cl edx, 512 test jae ecx, ecx G_M000_IG75 jne SHORT G_M000_IG03 xor mov eax, eax ecx, gword ptr [ebp-04H] mov esi, ecx cmp test esi, 3 byte ptr [ecx je SHORT G_M000_IG64 ] mov , cl esi, ecx mov ecx, gword ptr [ebp-04H] test esi, 1 add je SHORT G_M000_IG63 ecx, 32 mov byte ptr [ call ecx], 0 mov eax, 1[System.Nullable`1[int]:get_HasValue():bool:this] test mov esi, ecx eax, eax test esi, 2 jne SHORT G_M000_IG04 jne SHORT G_M000_IG64 G_M000_IG03: G_M000_IG63: mov ecx, dword ptr [ebp+08H] mov word ptr [ecx+eax], 0 movzx add eax, 2 ecx, cl test ecx, ecx G_M000_IG64: je G_M000_IG08 mov esi, ecx G_M000_IG04: mov ecx, gword ptr [ebp-04H] dec mov esi eax, dword ptr test esi, 4 jne [ecx+20H] SHORT G_M000_IG65 mov dword ptr [ebp-10H], eax xor esi, esi mov eax, dword ptr [ecx+24H] mov dword ptr [ecx+eax] mov dword ptr [ebp-0CH], eax , esi mov ecx, gword ptr [ebp-04H] add mov gword ptr [ebp-14H], ecx eax, 4 mov ecx, dword ptr [ebp+14H] G_M000_IG65: mov eax, dword ptr [ebp+18H] mov dword ptr [ebp-1CH], ecx mov dword ptr [ebp-18H], eax mov ecx, dword ptr [ebp-08H] mov dword ptr [ebp-20H], ecx lea ecx, [ebp-10H] call [System.Nullable`1[int]:get_HasValue():bool:this] test eax, eax jne SHORT G_M000_IG05 mov ecx, gword ptr [ebp-14H] mov gword ptr [ebp-24H], ecx mov ecx, dword ptr [ebp-1CH] mov eax, dword ptr [ebp-18H] mov dword ptr [ebp-2CH], ecx mov dword ptr [ebp-28H], eax mov ecx, dword ptr [ebp-20H] mov dword ptr [ebp-30H], ecx mov dword ptr [ebp-34H], 10 jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, gword ptr [ ebp-14H] lea esi, mov gword ptr [ebp-24H], ecx [edx-10H] mov ecx, dword ptr [ebp-1CH] sub mov eax, dword ptr [ebp-18H] edx, eax mov dword ptr [ebp-2CH], ecx mov dword ptr [ebp-28H], eax G_M000_IG66: mov lea ecx, dword ptr [ebp-20H] edi, [eax+10H] mov dword ptr [ebp-30H], ecx xor lea ecx, [ebp-10H] ebx, ebx call mov dword ptr [ecx+eax], ebx [System.Nullable`1[int]:GetValueOrDefault():int:this] G_M000_IG67: mov mov dword ptr [ebp-34H], eax dword ptr [ecx+eax+04H], ebx G_M000_IG06: G_M000_IG68: push dword ptr [ebp-28H] mov dword ptr [ecx+eax+08H], ebx push dword ptr [ebp-2CH] push dword ptr [ebp-34H] G_M000_IG69: push dword ptr [ebp+0CH] mov mov ecx, gword ptr [dword ptr [ecx+eax+0CH], ebx ebp-24H] mov mov edx, dword ptr [ebp-30H] eax, edi call cmp eax, esi jbe SHORT G_M000_IG66 [BenchmarkDotNet.Engines.EngineActualStage:RunSpecific(long,int,int,int):System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:this] G_M000_IG70: G_M000_IG06: mov test esp, ebp dl, pop 8ebp ret je SHORT G_M000_IG72 20 xor esi, esi G_M000_IG08: mov push dword ptr [ebp+18H] dword ptr [ecx+eax], esi push dword ptr [ebp+14H] G_M000_IG71: push dword ptr [ebp+0CH] mov dword ptr [ecx+eax+04H], esi mov ecx, gword ptr [ebp-04H] add eax, 8 mov edx, dword ptr [ebp-08H] G_M000_IG72: call test dl, 4 je [BenchmarkDotNet.Engines.EngineActualStage:RunAuto(long,int,int):System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:this] SHORT G_M000_IG73 xor esi, esi G_M000_IG09: mov dword ptr [ecx+eax], esi mov esp, ebp pop add ebp eax, 4 ret 20 G_M000_IG73: ; Total bytes of code 260 test dl, 2 je SHORT G_M000_IG74 mov word ptr [ecx+eax], 0 add eax, 2 G_M000_IG74: test dl, 1 je SHORT G_M000_IG76 mov byte ptr [ecx+eax], 0 jmp 934: JIT compiled BenchmarkDotNet.Engines.EngineActualStage:Run(long,int,bool,int,bool) [Tier0, IL size=69, code size=260] SHORT G_M000_IG76 G_M000_IG75: call [System.Buffer:_ZeroMemory(byref,uint)] G_M000_IG76: pop ebx pop esi pop edi pop ebp ret RWD00 dd G_M000_IG04 - G_M000_IG02 dd G_M000_IG05 - G_M000_IG02 dd G_M000_IG06 - G_M000_IG02 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG08 - G_M000_IG02 dd G_M000_IG09 - G_M000_IG02 dd G_M000_IG10 - G_M000_IG02 dd G_M000_IG11 - G_M000_IG02 dd G_M000_IG13 - G_M000_IG02 dd G_M000_IG15 - G_M000_IG02 dd G_M000_IG17 - G_M000_IG02 dd G_M000_IG19 - G_M000_IG02 dd G_M000_IG22 - G_M000_IG02 dd G_M000_IG25 - G_M000_IG02 dd G_M000_IG28 - G_M000_IG02 dd G_M000_IG31 - G_M000_IG02 dd G_M000_IG35 - G_M000_IG02 dd G_M000_IG39 - G_M000_IG02 dd G_M000_IG43 - G_M000_IG02 dd G_M000_IG47 - G_M000_IG02 dd G_M000_IG52 - G_M000_IG02 dd G_M000_IG57 - G_M000_IG02 ; Total bytes of code 642 935: JIT compiled System.SpanHelpers:ClearWithoutReferences(byref,uint) [Tier1, IL size=1369, code size=642] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:WorkloadActualStart(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 15 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 936: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:WorkloadActualStart(long) [Tier0, IL size=10, code size=33] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:WorkloadActualStop(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 16 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 937: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:WorkloadActualStop(long) [Tier0, IL size=10, code size=33] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Item(int):BenchmarkDotNet.Reports.Measurement:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp vzeroupper mov eax, dword ptr [ebp+08H] G_M000_IG02: cmp eax, dword ptr [ecx+08H] jae SHORT G_M000_IG04 mov ecx, gword ptr [ecx+04H] cmp eax, dword ptr [ecx+04H] jae SHORT G_M000_IG05 shl eax, 5 vmovdqu ymm0, ymmword ptr [ecx+eax+08H] vmovdqu ymmword ptr [edx], ymm0 G_M000_IG03: vzeroupper pop ebp ret 4 G_M000_IG04: call [System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException()] int3 G_M000_IG05: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 55 938: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Item(int) [Tier1, IL size=27, code size=55] ; Assembly listing for method System.Number+BigInteger:SetUInt64(byref,ulong) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: cmp dword ptr [ebp+0CH], 1 jae SHORT G_M000_IG06 G_M000_IG03: mov eax, dword ptr [ebp+08H] test eax, eax jne SHORT G_M000_IG04 xor eax, eax mov dword ptr [ecx], eax jmp SHORT G_M000_IG05 G_M000_IG04: mov dword ptr [ecx+04H], eax mov dword ptr [ecx], 1 G_M000_IG05: pop ebp ret 8 G_M000_IG06: mov eax, dword ptr [ebp+08H] mov dword ptr [ecx+04H], eax mov eax, dword ptr [ebp+0CH] mov dword ptr [ecx+08H], eax mov dword ptr [ecx], 2 G_M000_IG07: pop ebp ret 8 ; Total bytes of code 57 939: JIT compiled System.Number+BigInteger:SetUInt64(byref,ulong) [Tier1, IL size=55, code size=57] ; Assembly listing for method System.String:Ctor(System.ReadOnlySpan`1[ushort]):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 8500 ; 1 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi push ebx G_M000_IG02: mov esi, dword ptr [ebp+0CH] test esi, esi je SHORT G_M000_IG04 mov ecx, esi call System.String:FastAllocateString(int):System.String mov ebx, eax cmp byte ptr [ebx], bl lea ecx, bword ptr [ebx+08H] mov edx, bword ptr [ebp+08H] add esi, esi push esi call [System.Buffer:Memmove(byref,byref,uint)] mov eax, ebx G_M000_IG03: pop ebx pop esi pop ebp ret 8 G_M000_IG04: mov eax, 0xD1FFAB1E G_M000_IG05: pop ebx pop esi pop ebp ret 8 ; Total bytes of code 57 940: JIT compiled System.String:Ctor(System.ReadOnlySpan`1[ushort]) [Tier1 with Static PGO, IL size=55, code size=57] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceInterval:get_Margin():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: sub esp, 8 vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [ecx+20H] vmovsd qword ptr [esp], xmm0 fld qword ptr [esp] G_M000_IG03: add esp, 8 ret ; Total bytes of code 23 941: JIT compiled Perfolizer.Mathematics.Common.ConfidenceInterval:get_Margin() [Tier1, IL size=7, code size=23] ; Assembly listing for method Perfolizer.Horology.Frequency:get_Hertz():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: sub esp, 8 vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [ecx] vmovsd qword ptr [esp], xmm0 fld qword ptr [esp] G_M000_IG03: add esp, 8 ret ; Total bytes of code 22 942: JIT compiled Perfolizer.Horology.Frequency:get_Hertz() [Tier1, IL size=7, code size=22] ; Assembly listing for method System.Enum:ToString():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 23 single block inlinees; 23 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx G_M000_IG02: mov ecx, esi call System.Object:GetType():System.Type:this mov edi, eax lea ebx, bword ptr [esi+04H] mov ecx, dword ptr [esi] call System.Enum:InternalGetCorElementType(uint):ubyte add eax, -4 cmp eax, 7 ja G_M000_IG46 lea ecx, [@RWD00] mov ecx, dword ptr [ecx+4*eax] lea edx, G_M000_IG02 add ecx, edx jmp ecx G_M000_IG03: mov ecx, edi mov edx, ebx call [System.Enum:ToString[byte,ubyte](System.RuntimeType,byref):System.String] jmp G_M000_IG47 G_M000_IG04: movzx ebx, byte ptr [ebx] mov esi, dword ptr [edi+08H] test esi, esi je SHORT G_M000_IG05 mov ecx, gword ptr [esi] jmp SHORT G_M000_IG06 G_M000_IG05: xor ecx, ecx G_M000_IG06: test ecx, ecx jne SHORT G_M000_IG07 xor ecx, ecx jmp SHORT G_M000_IG08 G_M000_IG07: mov ecx, gword ptr [ecx+3CH] G_M000_IG08: test ecx, ecx je SHORT G_M000_IG11 G_M000_IG09: cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG11 G_M000_IG10: cmp gword ptr [ecx+08H], 0 jne SHORT G_M000_IG12 G_M000_IG11: mov ecx, edi mov edx, 1 call [System.Enum:g__InitializeEnumInfo|7_0[ubyte](System.RuntimeType,bool):System.Enum+EnumInfo`1[ubyte]] mov ecx, eax G_M000_IG12: cmp byte ptr [ecx+0CH], 0 jne SHORT G_M000_IG19 mov esi, gword ptr [ecx+08H] cmp byte ptr [ecx+0DH], 0 je SHORT G_M000_IG13 cmp dword ptr [esi+04H], ebx jbe SHORT G_M000_IG17 mov eax, gword ptr [esi+4*ebx+08H] jmp SHORT G_M000_IG18 G_M000_IG13: mov edx, gword ptr [ecx+04H] test edx, edx je G_M000_IG48 lea ecx, bword ptr [edx+08H] mov eax, dword ptr [edx+04H] G_M000_IG14: cmp dword ptr [edx+04H], 32 jle SHORT G_M000_IG15 push ebx mov edx, eax call [System.SpanHelpers:BinarySearch[ubyte,ubyte](byref,int,ubyte):int] jmp SHORT G_M000_IG16 G_M000_IG15: push eax mov edx, ebx call [System.SpanHelpers:NonPackedIndexOfValueType[ubyte,System.SpanHelpers+DontNegate`1[ubyte]](byref,ubyte,int):int] G_M000_IG16: cmp dword ptr [esi+04H], eax jbe SHORT G_M000_IG17 mov eax, gword ptr [esi+4*eax+08H] jmp SHORT G_M000_IG18 G_M000_IG17: xor eax, eax G_M000_IG18: jmp SHORT G_M000_IG20 G_M000_IG19: mov edx, ebx call [System.Enum:FormatFlagNames[ubyte](System.Enum+EnumInfo`1[ubyte],ubyte):System.String] G_M000_IG20: test eax, eax jne SHORT G_M000_IG21 mov ecx, ebx call [System.Number:UInt32ToDecStr(uint):System.String] G_M000_IG21: jmp G_M000_IG47 G_M000_IG22: mov ecx, edi mov edx, ebx call [System.Enum:ToString[short,ushort](System.RuntimeType,byref):System.String] jmp G_M000_IG47 G_M000_IG23: mov ecx, edi mov edx, ebx call [System.Enum:ToString[ushort,ushort](System.RuntimeType,byref):System.String] jmp G_M000_IG47 G_M000_IG24: mov ebx, dword ptr [ebx] mov esi, dword ptr [edi+08H] test esi, esi je SHORT G_M000_IG25 mov ecx, gword ptr [esi] jmp SHORT G_M000_IG26 G_M000_IG25: xor ecx, ecx G_M000_IG26: test ecx, ecx jne SHORT G_M000_IG27 xor ecx, ecx jmp SHORT G_M000_IG28 G_M000_IG27: mov ecx, gword ptr [ecx+3CH] G_M000_IG28: test ecx, ecx je SHORT G_M000_IG31 G_M000_IG29: cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG31 G_M000_IG30: cmp gword ptr [ecx+08H], 0 jne SHORT G_M000_IG32 G_M000_IG31: mov ecx, edi mov edx, 1 call [System.Enum:g__InitializeEnumInfo|7_0[uint](System.RuntimeType,bool):System.Enum+EnumInfo`1[uint]] mov ecx, eax G_M000_IG32: cmp byte ptr [ecx+0CH], 0 jne SHORT G_M000_IG40 mov edi, gword ptr [ecx+08H] cmp byte ptr [ecx+0DH], 0 je SHORT G_M000_IG33 mov ecx, ebx cmp dword ptr [edi+04H], ecx jbe SHORT G_M000_IG38 mov eax, gword ptr [edi+4*ebx+08H] jmp SHORT G_M000_IG39 G_M000_IG33: mov ecx, gword ptr [ecx+04H] test ecx, ecx jne SHORT G_M000_IG34 xor edx, edx xor eax, eax jmp SHORT G_M000_IG35 G_M000_IG34: lea edx, bword ptr [ecx+08H] mov eax, dword ptr [ecx+04H] G_M000_IG35: cmp dword ptr [ecx+04H], 32 jle SHORT G_M000_IG36 push ebx mov ecx, edx mov edx, eax call [System.SpanHelpers:BinarySearch[uint,uint](byref,int,uint):int] jmp SHORT G_M000_IG37 G_M000_IG36: push eax mov ecx, edx mov edx, ebx call [System.SpanHelpers:NonPackedIndexOfValueType[int,System.SpanHelpers+DontNegate`1[int]](byref,int,int):int] G_M000_IG37: cmp dword ptr [edi+04H], eax jbe SHORT G_M000_IG38 mov eax, gword ptr [edi+4*eax+08H] jmp SHORT G_M000_IG39 G_M000_IG38: xor eax, eax G_M000_IG39: jmp SHORT G_M000_IG41 G_M000_IG40: mov edx, ebx call [System.Enum:FormatFlagNames[uint](System.Enum+EnumInfo`1[uint],uint):System.String] G_M000_IG41: test eax, eax jne SHORT G_M000_IG42 mov ecx, ebx call [System.Number:Int32ToDecStr(int):System.String] G_M000_IG42: jmp SHORT G_M000_IG47 G_M000_IG43: mov ecx, edi mov edx, ebx call [System.Enum:ToString[uint,uint](System.RuntimeType,byref):System.String] jmp SHORT G_M000_IG47 G_M000_IG44: mov ecx, edi mov edx, ebx call [System.Enum:ToString[long,ulong](System.RuntimeType,byref):System.String] jmp SHORT G_M000_IG47 G_M000_IG45: mov ecx, edi mov edx, ebx call [System.Enum:ToString[ulong,ulong](System.RuntimeType,byref):System.String] jmp SHORT G_M000_IG47 G_M000_IG46: mov ecx, edi mov edx, ebx call [System.Enum:g__HandleRareTypes|55_0(System.RuntimeType,byref):System.String] G_M000_IG47: pop ebx pop esi pop edi pop ebp ret G_M000_IG48: xor ecx, ecx xor eax, eax jmp G_M000_IG14 RWD00 dd G_M000_IG03 - G_M000_IG02 dd G_M000_IG04 - G_M000_IG02 dd G_M000_IG22 - G_M000_IG02 dd G_M000_IG23 - G_M000_IG02 dd G_M000_IG24 - G_M000_IG02 dd G_M000_IG43 - G_M000_IG02 dd G_M000_IG44 - G_M000_IG02 dd G_M000_IG45 - G_M000_IG02 ; Total bytes of code 505 943: JIT compiled System.Enum:ToString() [Tier1, IL size=158, code size=505] ; Assembly listing for method System.Enum:g__InitializeEnumInfo|7_0[uint](System.RuntimeType,bool):System.Enum+EnumInfo`1[uint] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 9 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 60 xor ebx, ebx mov dword ptr [ebp-14H], ebx mov dword ptr [ebp-18H], ebx mov gword ptr [ebp-10H], ecx G_M000_IG02: lea edi, [ebp-44H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-30H], eax xor eax, eax mov dword ptr [ebp-20H], eax mov dword ptr [ebp-1CH], eax lea eax, [ebp-10H] mov dword ptr [ebp-20H], eax mov eax, gword ptr [ebp-10H] lea ecx, bword ptr [ebp-20H] test eax, eax jne SHORT G_M000_IG04 G_M000_IG03: xor edi, edi jmp SHORT G_M000_IG05 G_M000_IG04: mov edi, dword ptr [eax+0CH] G_M000_IG05: mov dword ptr [ecx+04H], edi mov eax, dword ptr [ebp-20H] mov ecx, dword ptr [ebp-1CH] lea edi, [ebp-14H] lea ebx, [ebp-18H] test dl, dl jne SHORT G_M000_IG07 G_M000_IG06: xor edx, edx jmp SHORT G_M000_IG08 G_M000_IG07: mov edx, 1 G_M000_IG08: push edx push ebx push edi push ecx push eax mov dword ptr [ebp-3CH], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-38H], eax lea eax, G_M000_IG11 mov dword ptr [ebp-34H], eax mov byte ptr [esi+08H], 0 G_M000_IG09: mov eax, 0xD1FFAB1E G_M000_IG10: call eax ; System.Enum:GetEnumValuesAndNames(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.CompilerServices.ObjectHandleOnStack,int) G_M000_IG11: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG12 call CORINFO_HELP_STOP_FOR_GC G_M000_IG12: xor ecx, ecx mov dword ptr [ebp-34H], ecx push 0 mov ecx, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [System.RuntimeType:IsDefined(System.Type,bool):bool:this] mov ebx, eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax mov eax, gword ptr [ebp-14H] mov gword ptr [ebp-24H], eax mov ecx, gword ptr [ebp-18H] mov gword ptr [ebp-28H], ecx mov byte ptr [edi+0CH], bl lea edx, bword ptr [edi+04H] call CORINFO_HELP_ASSIGN_REF_EAX lea edx, bword ptr [edi+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, eax call [System.Enum:AreSorted[uint](uint[]):bool] test eax, eax jne SHORT G_M000_IG17 G_M000_IG13: mov ebx, gword ptr [ebp-24H] test ebx, ebx je SHORT G_M000_IG21 push 0 push dword ptr [ebx+04H] push 0 push 0xD1FFAB1E mov ecx, ebx mov edx, gword ptr [ebp-28H] call [System.Array:Sort[uint,System.__Canon](uint[],System.__Canon[],int,int,System.Collections.Generic.IComparer`1[uint])] G_M000_IG14: mov ecx, ebx call [System.Enum:AreSequentialFromZero[uint](uint[]):bool] mov byte ptr [edi+0DH], al mov ecx, gword ptr [ebp-10H] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG18 G_M000_IG15: mov eax, dword ptr [ecx+08H] mov eax, gword ptr [eax] test eax, eax je SHORT G_M000_IG18 G_M000_IG16: jmp SHORT G_M000_IG19 G_M000_IG17: mov ebx, gword ptr [ebp-24H] jmp SHORT G_M000_IG14 G_M000_IG18: call [System.RuntimeType:InitializeCache():System.RuntimeType+RuntimeTypeCache:this] G_M000_IG19: lea edx, bword ptr [eax+3CH] call CORINFO_HELP_ASSIGN_REF_EDI mov eax, edi mov ecx, bword ptr [ebp-40H] mov dword ptr [esi+0CH], ecx G_M000_IG20: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG21: mov ecx, 75 call [System.ThrowHelper:ThrowArgumentNullException(int)] int3 ; Total bytes of code 335 944: JIT compiled System.Enum:g__InitializeEnumInfo|7_0[uint](System.RuntimeType,bool) [Tier1, IL size=73, code size=335] ; Assembly listing for method System.RuntimeType:IsDefined(System.Type,bool):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi mov esi, ecx G_M000_IG02: test edx, edx je SHORT G_M000_IG06 mov ecx, edx mov eax, dword ptr [edx] mov eax, dword ptr [eax+34H] call [eax]System.Type:get_UnderlyingSystemType():System.Type:this mov edx, eax test edx, edx je SHORT G_M000_IG07 G_M000_IG03: cmp dword ptr [edx], 0xD1FFAB1E jne SHORT G_M000_IG07 G_M000_IG04: movzx ecx, byte ptr [ebp+08H] push ecx mov ecx, esi call [System.Reflection.CustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType,bool):bool] G_M000_IG05: pop esi pop edi pop ebp ret 4 G_M000_IG06: mov ecx, 233 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax call [System.SR:get_Arg_MustBeType():System.String] mov edi, eax mov ecx, 233 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS push eax mov edx, edi mov ecx, esi call [System.ArgumentException:.ctor(System.String,System.String):this] mov ecx, esi call CORINFO_HELP_THROW int3 ; Total bytes of code 131 945: JIT compiled System.RuntimeType:IsDefined(System.Type,bool) [Tier1, IL size=51, code size=131] ; Assembly listing for method System.RuntimeType:get_UnderlyingSystemType():System.Type:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, ecx G_M000_IG03: ret ; Total bytes of code 3 946: JIT compiled System.RuntimeType:get_UnderlyingSystemType() [Tier1, IL size=2, code size=3] ; Assembly listing for method System.Reflection.CustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType,bool):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 8 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx push eax mov ebx, ecx mov esi, edx G_M000_IG02: cmp byte ptr [ebx], bl mov ecx, ebx call System.RuntimeTypeHandle:GetElementType(System.RuntimeType):System.RuntimeType test eax, eax jne G_M000_IG07 G_M000_IG03: mov ecx, ebx mov edx, esi call [System.Reflection.PseudoCustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType):bool] test eax, eax jne G_M000_IG09 mov ecx, ebx call System.RuntimeTypeHandle:GetModule(System.RuntimeType):System.Reflection.RuntimeModule mov edi, eax mov ecx, ebx call System.RuntimeTypeHandle:GetToken(System.RuntimeType):int mov edx, eax push esi push 0 push 0 mov ecx, edi call [System.Reflection.CustomAttribute:IsCustomAttributeDefined(System.Reflection.RuntimeModule,int,System.RuntimeType,int,bool):bool] test eax, eax jne SHORT G_M000_IG09 movzx eax, byte ptr [ebp+08H] mov edi, eax test edi, edi je SHORT G_M000_IG07 mov ecx, ebx call [System.RuntimeType:GetBaseType():System.RuntimeType:this] mov ebx, eax test ebx, ebx je SHORT G_M000_IG07 G_M000_IG04: cmp dword ptr [ebx], 0xD1FFAB1E jne SHORT G_M000_IG07 G_M000_IG05: cmp byte ptr [ebx], bl mov ecx, ebx call System.RuntimeTypeHandle:GetModule(System.RuntimeType):System.Reflection.RuntimeModule mov gword ptr [ebp-10H], eax mov ecx, ebx call System.RuntimeTypeHandle:GetToken(System.RuntimeType):int mov edx, eax push esi push 0 push edi mov ecx, gword ptr [ebp-10H] call [System.Reflection.CustomAttribute:IsCustomAttributeDefined(System.Reflection.RuntimeModule,int,System.RuntimeType,int,bool):bool] test eax, eax jne SHORT G_M000_IG09 mov ecx, ebx call [System.RuntimeType:GetBaseType():System.RuntimeType:this] mov ebx, eax test ebx, ebx je SHORT G_M000_IG07 G_M000_IG06: cmp dword ptr [ebx], 0xD1FFAB1E je SHORT G_M000_IG05 G_M000_IG07: xor eax, eax G_M000_IG08: pop ecx pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG09: mov eax, 1 G_M000_IG10: pop ecx pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 196 947: JIT compiled System.Reflection.CustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType,bool) [Tier1, IL size=105, code size=196] ; Assembly listing for method System.Reflection.PseudoCustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi push ebx push eax mov ebx, ecx mov esi, edx G_M000_IG02: cmp esi, 0xD1FFAB1E je SHORT G_M000_IG04 G_M000_IG03: xor ecx, ecx cmp esi, 0xD1FFAB1E sete cl jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, 1 G_M000_IG05: movzx eax, cl mov dword ptr [ebp-0CH], eax test eax, eax jne SHORT G_M000_IG09 G_M000_IG06: mov ecx, gword ptr [D1FFAB1EH] cmp byte ptr [ecx], cl mov edx, esi call [System.Collections.Generic.HashSet`1[System.__Canon]:FindItemIndex(System.__Canon):int:this] test eax, eax jge SHORT G_M000_IG08 xor eax, eax G_M000_IG07: pop ecx pop ebx pop esi pop ebp ret G_M000_IG08: cmp esi, 0xD1FFAB1E jne SHORT G_M000_IG12 G_M000_IG09: cmp byte ptr [ebx], bl mov ecx, ebx call System.RuntimeTypeHandle:GetAttributes(System.RuntimeType):int test eax, 0x2000 je SHORT G_M000_IG11 mov eax, 1 G_M000_IG10: pop ecx pop ebx pop esi pop ebp ret G_M000_IG11: cmp dword ptr [ebp-0CH], 0 jne SHORT G_M000_IG13 G_M000_IG12: cmp esi, 0xD1FFAB1E jne SHORT G_M000_IG15 G_M000_IG13: cmp byte ptr [ebx], bl mov ecx, ebx call System.RuntimeTypeHandle:GetAttributes(System.RuntimeType):int test eax, 0x1000 je SHORT G_M000_IG15 mov eax, 1 G_M000_IG14: pop ecx pop ebx pop esi pop ebp ret G_M000_IG15: xor eax, eax G_M000_IG16: pop ecx pop ebx pop esi pop ebp ret ; Total bytes of code 154 948: JIT compiled System.Reflection.PseudoCustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType) [Tier1, IL size=132, code size=154] ; Assembly listing for method System.Collections.Generic.HashSet`1[System.__Canon]:FindItemIndex(System.__Canon):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 65628 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 40 mov esi, ecx mov edi, edx G_M000_IG02: cmp gword ptr [esi+04H], 0 je G_M000_IG20 G_M000_IG03: mov ebx, gword ptr [esi+08H] xor eax, eax mov dword ptr [ebp-10H], eax mov edx, gword ptr [esi+0CH] mov gword ptr [ebp-2CH], edx test edi, edi je G_M000_IG16 G_M000_IG04: mov ecx, dword ptr [esi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+30H] test edx, edx je SHORT G_M000_IG06 G_M000_IG05: mov dword ptr [ebp-1CH], edx jmp SHORT G_M000_IG07 G_M000_IG06: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-1CH], eax G_M000_IG07: mov ecx, gword ptr [ebp-2CH] mov edx, edi mov eax, dword ptr [ebp-1CH] nop call [eax] mov ecx, eax G_M000_IG08: mov dword ptr [ebp-14H], ecx mov edx, gword ptr [esi+04H] mov gword ptr [ebp-34H], edx mov eax, dword ptr [edx+04H] mov dword ptr [ebp-24H], eax mov eax, ecx xor edx, edx div edx:eax, dword ptr [ebp-24H] mov eax, gword ptr [ebp-34H] mov eax, dword ptr [eax+4*edx+08H] dec eax js G_M000_IG20 G_M000_IG09: cmp eax, dword ptr [ebx+04H] jae G_M000_IG23 mov dword ptr [ebp-18H], eax lea edx, [eax+2*eax] lea edx, bword ptr [ebx+4*edx+08H] mov bword ptr [ebp-30H], edx cmp dword ptr [edx+04H], ecx je SHORT G_M000_IG14 G_M000_IG10: mov edx, bword ptr [ebp-30H] mov eax, dword ptr [edx+08H] mov edx, eax mov eax, dword ptr [ebp-10H] inc eax cmp dword ptr [ebx+04H], eax jb SHORT G_M000_IG22 G_M000_IG11: test edx, edx mov dword ptr [ebp-10H], eax mov ecx, dword ptr [ebp-14H] jge SHORT G_M000_IG13 G_M000_IG12: jmp SHORT G_M000_IG20 G_M000_IG13: mov eax, edx jmp SHORT G_M000_IG09 G_M000_IG14: mov ecx, dword ptr [esi] mov dword ptr [ebp-28H], ecx mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+34H] test ecx, ecx je SHORT G_M000_IG17 G_M000_IG15: mov dword ptr [ebp-20H], ecx jmp SHORT G_M000_IG18 G_M000_IG16: xor ecx, ecx jmp SHORT G_M000_IG08 G_M000_IG17: mov ecx, dword ptr [ebp-28H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-20H], eax G_M000_IG18: mov edx, bword ptr [ebp-30H] mov edx, gword ptr [edx] push edi mov ecx, gword ptr [ebp-2CH] mov eax, dword ptr [ebp-20H] nop call [eax] test eax, eax je SHORT G_M000_IG10 mov eax, dword ptr [ebp-18H] G_M000_IG19: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG20: mov eax, -1 G_M000_IG21: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG22: call [System.ThrowHelper:ThrowInvalidOperationException_ConcurrentOperationsNotSupported()] int3 G_M000_IG23: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 288 949: JIT compiled System.Collections.Generic.HashSet`1[System.__Canon]:FindItemIndex(System.__Canon) [Tier1 with Static PGO, IL size=260, code size=288] ; Assembly listing for method System.Reflection.CustomAttribute:IsCustomAttributeDefined(System.Reflection.RuntimeModule,int,System.RuntimeType,int,bool):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 2 inlinees with PGO data; 13 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 140 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-84H], xmm4 mov eax, -96 vmovdqu xmmword ptr [ebp+eax-14H], xmm4 vmovdqu xmmword ptr [ebp+eax-04H], xmm4 vmovdqu xmmword ptr [ebp+eax+0CH], xmm4 add eax, 48 jne SHORT -5 instr mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], 0xD1FFAB1E mov edi, ecx mov esi, edx mov ebx, dword ptr [ebp+0CH] G_M000_IG02: mov edx, gword ptr [ebp+10H] mov gword ptr [ebp-98H], edx mov ecx, edi cmp byte ptr [ecx], cl mov ecx, edi call System.ModuleHandle:_GetMetadataImport(System.Reflection.RuntimeModule):int mov gword ptr [ebp-60H], edi mov dword ptr [ebp-5CH], eax push esi lea ecx, [ebp-58H] push ecx mov ecx, dword ptr [ebp-5CH] mov edx, 0xD1FFAB1E call System.Reflection.MetadataImport:_Enum(int,int,int,byref) cmp dword ptr [ebp-54H], 0 jne SHORT G_M000_IG05 G_M000_IG03: xor eax, eax cmp dword ptr [ebp-10H], 0xD1FFAB1E je SHORT G_M000_IG04 call CORINFO_HELP_FAIL_FAST G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG05: xor ecx, ecx mov dword ptr [ebp-6CH], ecx mov dword ptr [ebp-68H], ecx mov dword ptr [ebp-64H], ecx cmp gword ptr [ebp-98H], 0 je G_M000_IG13 vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [ebp-7CH], xmm0 xor ebx, ebx cmp dword ptr [ebp-54H], 0 jle G_M000_IG18 G_M000_IG06: mov ecx, gword ptr [ebp-58H] test ecx, ecx je SHORT G_M000_IG08 G_M000_IG07: cmp ebx, dword ptr [ecx+04H] jae G_M000_IG22 mov edx, dword ptr [ecx+4*ebx+08H] jmp SHORT G_M000_IG09 G_M000_IG08: lea edx, bword ptr [ebp-50H] mov bword ptr [ebp-90H], edx mov ecx, bword ptr [ebp-90H] mov edx, dword ptr [ecx+4*ebx] G_M000_IG09: lea ecx, [ebp-64H] push ecx lea ecx, [ebp-6CH] push ecx mov ecx, dword ptr [ebp-5CH] call System.Reflection.MetadataImport:_GetCustomAttributeProps(int,int,byref,byref) mov ecx, dword ptr [ebp-64H] push edi push esi push gword ptr [ebp-98H] movzx edx, byte ptr [ebp+08H] push edx lea edx, [ebp-7CH] push edx lea edx, [ebp-80H] push edx lea edx, [ebp-84H] push edx lea edx, [ebp-88H] push edx lea edx, [ebp-60H] call [System.Reflection.CustomAttribute:FilterCustomAttributeRecord(System.Reflection.MetadataToken,byref,System.Reflection.RuntimeModule,System.Reflection.MetadataToken,System.RuntimeType,bool,byref,byref,byref,byref):bool] test eax, eax jne SHORT G_M000_IG11 inc ebx cmp ebx, dword ptr [ebp-54H] jl SHORT G_M000_IG06 G_M000_IG10: jmp SHORT G_M000_IG18 G_M000_IG11: mov eax, 1 cmp dword ptr [ebp-10H], 0xD1FFAB1E je SHORT G_M000_IG12 call CORINFO_HELP_FAIL_FAST G_M000_IG12: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG13: xor esi, esi cmp dword ptr [ebp-54H], 0 jle SHORT G_M000_IG18 G_M000_IG14: mov ecx, gword ptr [ebp-58H] test ecx, ecx je SHORT G_M000_IG16 G_M000_IG15: cmp esi, dword ptr [ecx+04H] jae SHORT G_M000_IG22 mov edx, dword ptr [ecx+4*esi+08H] jmp SHORT G_M000_IG17 G_M000_IG16: lea edx, bword ptr [ebp-50H] mov bword ptr [ebp-94H], edx mov ecx, bword ptr [ebp-94H] mov edx, dword ptr [ecx+4*esi] G_M000_IG17: lea ecx, [ebp-64H] push ecx lea ecx, [ebp-6CH] push ecx mov ecx, dword ptr [ebp-5CH] call System.Reflection.MetadataImport:_GetCustomAttributeProps(int,int,byref,byref) mov eax, dword ptr [ebp-64H] cmp eax, ebx je SHORT G_M000_IG20 inc esi cmp esi, dword ptr [ebp-54H] jl SHORT G_M000_IG14 G_M000_IG18: xor eax, eax cmp dword ptr [ebp-10H], 0xD1FFAB1E je SHORT G_M000_IG19 call CORINFO_HELP_FAIL_FAST G_M000_IG19: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG20: mov eax, 1 cmp dword ptr [ebp-10H], 0xD1FFAB1E je SHORT G_M000_IG21 call CORINFO_HELP_FAIL_FAST G_M000_IG21: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG22: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 471 950: JIT compiled System.Reflection.CustomAttribute:IsCustomAttributeDefined(System.Reflection.RuntimeModule,int,System.RuntimeType,int,bool) [Tier1, IL size=216, code size=471] ; Assembly listing for method System.Enum+EnumInfo`1[uint]:.ctor(bool,uint[],System.String[]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx mov edi, gword ptr [ebp+0CH] mov ebx, gword ptr [ebp+08H] G_M000_IG02: mov byte ptr [esi+0CH], dl lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EDI lea edx, bword ptr [esi+08H] call CORINFO_HELP_ASSIGN_REF_EBX mov ecx, edi call [System.Enum:AreSorted[uint](uint[]):bool] test eax, eax jne SHORT G_M000_IG04 G_M000_IG03: test edi, edi je SHORT G_M000_IG06 push 0 push dword ptr [edi+04H] push 0 push 0xD1FFAB1E mov ecx, edi mov edx, ebx call [System.Array:Sort[uint,System.__Canon](uint[],System.__Canon[],int,int,System.Collections.Generic.IComparer`1[uint])] G_M000_IG04: mov ecx, edi call [System.Enum:AreSequentialFromZero[uint](uint[]):bool] mov byte ptr [esi+0DH], al G_M000_IG05: pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG06: mov ecx, 75 call [System.ThrowHelper:ThrowArgumentNullException(int)] int3 ; Total bytes of code 101 951: JIT compiled System.Enum+EnumInfo`1[uint]:.ctor(bool,uint[],System.String[]) [Tier1, IL size=55, code size=101] ; Assembly listing for method System.Enum:AreSorted[uint](uint[]):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi G_M000_IG02: mov eax, 1 mov edx, dword ptr [ecx+04H] cmp edx, 1 jle SHORT G_M000_IG06 align [14 bytes for IG03] G_M000_IG03: lea esi, [eax-01H] cmp esi, edx jae SHORT G_M000_IG10 lea esi, bword ptr [ecx+4*eax+04H] mov edi, dword ptr [ecx+4*eax+08H] cmp dword ptr [esi], edi jb SHORT G_M000_IG05 G_M000_IG04: cmp dword ptr [esi], edi ja SHORT G_M000_IG08 G_M000_IG05: inc eax cmp edx, eax jg SHORT G_M000_IG03 G_M000_IG06: mov eax, 1 G_M000_IG07: pop esi pop edi pop ebp ret G_M000_IG08: xor eax, eax G_M000_IG09: pop esi pop edi pop ebp ret G_M000_IG10: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 81 952: JIT compiled System.Enum:AreSorted[uint](uint[]) [Tier1, IL size=50, code size=81] ; Assembly listing for method System.Enum:AreSequentialFromZero[uint](uint[]):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx push eax G_M000_IG02: xor eax, eax mov edx, dword ptr [ecx+04H] mov dword ptr [ebp-10H], edx test edx, edx jle SHORT G_M000_IG04 align [13 bytes for IG03] G_M000_IG03: mov esi, dword ptr [ecx+4*eax+08H] xor edi, edi mov ebx, eax mov edx, ebx sar edx, 31 xor esi, ebx xor edx, edi or edx, esi jne SHORT G_M000_IG06 inc eax mov edx, dword ptr [ebp-10H] cmp edx, eax jg SHORT G_M000_IG03 G_M000_IG04: mov eax, 1 G_M000_IG05: pop ecx pop ebx pop esi pop edi pop ebp ret G_M000_IG06: xor eax, eax G_M000_IG07: pop ecx pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 80 953: JIT compiled System.Enum:AreSequentialFromZero[uint](uint[]) [Tier1, IL size=34, code size=80] ; Assembly listing for method System.RuntimeType:InitializeCache():System.RuntimeType+RuntimeTypeCache:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 2 inlinees with PGO data; 11 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 52 xor edx, edx mov dword ptr [ebp-10H], edx mov dword ptr [ebp-14H], edx mov ebx, ecx G_M000_IG02: lea edi, [ebp-3CH] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-28H], eax cmp dword ptr [ebx+08H], 0 jne G_M000_IG14 G_M000_IG03: mov gword ptr [ebp-20H], ebx mov gword ptr [ebp-18H], ebx mov gword ptr [ebp-10H], ebx lea eax, [ebp-10H] mov edx, gword ptr [ebp-10H] test edx, edx je G_M000_IG24 mov edx, dword ptr [edx+0CH] G_M000_IG04: push 1 push edx push eax mov dword ptr [ebp-34H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-30H], eax lea eax, G_M000_IG07 mov dword ptr [ebp-2CH], eax mov byte ptr [esi+08H], 0 G_M000_IG05: mov eax, 0xD1FFAB1E G_M000_IG06: call eax ; System.RuntimeTypeHandle:GetGCHandle(System.Runtime.CompilerServices.QCallTypeHandle,int):int G_M000_IG07: mov edi, eax mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG08 call CORINFO_HELP_STOP_FOR_GC G_M000_IG08: xor eax, eax mov dword ptr [ebp-2CH], eax mov ebx, gword ptr [ebp-20H] add ebx, 8 G_M000_IG09: lock cmpxchg dword ptr [ebx], edi test eax, eax je G_M000_IG23 mov ebx, gword ptr [ebp-18H] mov gword ptr [ebp-14H], ebx lea eax, [ebp-14H] mov edx, gword ptr [ebp-14H] test edx, edx je G_M000_IG25 mov edx, dword ptr [edx+0CH] G_M000_IG10: push edi push edx push eax mov dword ptr [ebp-34H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-30H], eax lea eax, G_M000_IG12 mov dword ptr [ebp-2CH], eax mov byte ptr [esi+08H], 0 G_M000_IG11: call [System.RuntimeTypeHandle:FreeGCHandle(System.Runtime.CompilerServices.QCallTypeHandle,int):int] G_M000_IG12: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG13 call CORINFO_HELP_STOP_FOR_GC G_M000_IG13: xor ecx, ecx mov dword ptr [ebp-2CH], ecx mov ebx, gword ptr [ebp-18H] G_M000_IG14: mov ecx, dword ptr [ebx+08H] mov edx, gword ptr [ecx] mov edi, edx test edi, edi je SHORT G_M000_IG16 G_M000_IG15: mov ecx, 0xD1FFAB1E cmp dword ptr [edi], ecx jne G_M000_IG26 G_M000_IG16: test edi, edi jne SHORT G_M000_IG21 G_M000_IG17: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax xor edx, edx mov dword ptr [edi+48H], edx lea edx, bword ptr [edi+04H] call CORINFO_HELP_ASSIGN_REF_EBX mov ecx, ebx call System.RuntimeTypeHandle:GetModule(System.RuntimeType):System.Reflection.RuntimeModule mov gword ptr [ebp-1CH], eax mov ecx, gword ptr [eax+04H] test ecx, ecx jne SHORT G_M000_IG18 mov ecx, eax call [System.ModuleHandle:GetModuleType(System.Reflection.RuntimeModule):System.RuntimeType] mov ecx, eax mov edx, gword ptr [ebp-1CH] lea edx, bword ptr [edx+04H] call CORINFO_HELP_ASSIGN_REF_ECX G_M000_IG18: cmp ecx, ebx sete cl mov byte ptr [edi+4CH], cl mov ecx, dword ptr [ebx+08H] push 0 mov edx, edi call System.Runtime.InteropServices.GCHandle:InternalCompareExchange(int,System.Object,System.Object):System.Object mov edx, eax mov eax, edx test eax, eax je SHORT G_M000_IG20 G_M000_IG19: mov ecx, 0xD1FFAB1E cmp dword ptr [eax], ecx jne SHORT G_M000_IG27 G_M000_IG20: test eax, eax cmovne edi, eax G_M000_IG21: mov eax, edi mov ecx, bword ptr [ebp-38H] mov dword ptr [esi+0CH], ecx G_M000_IG22: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG23: mov ebx, gword ptr [ebp-18H] jmp G_M000_IG14 G_M000_IG24: xor edx, edx jmp G_M000_IG04 G_M000_IG25: xor edx, edx jmp G_M000_IG10 G_M000_IG26: call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 G_M000_IG27: call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 ; Total bytes of code 415 954: JIT compiled System.RuntimeType:InitializeCache() [Tier1, IL size=121, code size=415] ; Assembly listing for method System.RuntimeType+RuntimeTypeCache:.ctor(System.RuntimeType):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx mov ebx, edx G_M000_IG02: xor edx, edx mov dword ptr [esi+48H], edx lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EBX mov ecx, ebx call System.RuntimeTypeHandle:GetModule(System.RuntimeType):System.Reflection.RuntimeModule mov edi, eax mov ecx, gword ptr [edi+04H] test ecx, ecx jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, edi call [System.ModuleHandle:GetModuleType(System.Reflection.RuntimeModule):System.RuntimeType] mov ecx, eax lea edx, bword ptr [edi+04H] call CORINFO_HELP_ASSIGN_REF_ECX G_M000_IG04: cmp ecx, ebx sete al mov byte ptr [esi+4CH], al G_M000_IG05: pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 70 955: JIT compiled System.RuntimeType+RuntimeTypeCache:.ctor(System.RuntimeType) [Tier1, IL size=44, code size=70] ; Assembly listing for method System.Reflection.RuntimeModule:get_RuntimeType():System.RuntimeType:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: push esi mov esi, ecx G_M000_IG02: mov eax, gword ptr [esi+04H] test eax, eax jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, esi call [System.ModuleHandle:GetModuleType(System.Reflection.RuntimeModule):System.RuntimeType] lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG04: pop esi ret ; Total bytes of code 28 956: JIT compiled System.Reflection.RuntimeModule:get_RuntimeType() [Tier1, IL size=26, code size=28] ; Assembly listing for method System.ModuleHandle:GetModuleType(System.Reflection.RuntimeModule):System.RuntimeType ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 40 xor edx, edx mov dword ptr [ebp-14H], edx mov gword ptr [ebp-10H], ecx G_M000_IG02: lea edi, [ebp-30H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-1CH], eax lea eax, [ebp-10H] mov edx, gword ptr [ebp-10H] mov edx, dword ptr [edx+10H] lea ecx, [ebp-14H] push ecx push edx push eax mov dword ptr [ebp-28H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-24H], eax lea eax, G_M000_IG05 mov dword ptr [ebp-20H], eax mov byte ptr [esi+08H], 0 G_M000_IG03: mov eax, 0xD1FFAB1E G_M000_IG04: call eax ; System.ModuleHandle:GetModuleType(System.Runtime.CompilerServices.QCallModule,System.Runtime.CompilerServices.ObjectHandleOnStack) G_M000_IG05: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG06 call CORINFO_HELP_STOP_FOR_GC G_M000_IG06: xor eax, eax mov dword ptr [ebp-20H], eax mov eax, gword ptr [ebp-14H] mov edx, bword ptr [ebp-2CH] mov dword ptr [esi+0CH], edx G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 117 957: JIT compiled System.ModuleHandle:GetModuleType(System.Reflection.RuntimeModule) [Tier1, IL size=23, code size=117] ; Assembly listing for method System.Text.StringBuilder:AppendWithExpansion(byref,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 6 inlinees with PGO data; 7 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx push eax mov esi, ecx mov edi, edx mov ebx, dword ptr [ebp+08H] G_M000_IG02: mov ecx, dword ptr [esi+10H] mov eax, dword ptr [esi+0CH] add ecx, eax add ecx, ebx cmp ecx, dword ptr [esi+14H] jg G_M000_IG08 mov dword ptr [ebp+08H], ebx cmp ecx, ebx jl G_M000_IG08 mov ecx, gword ptr [esi+04H] mov edx, dword ptr [ecx+04H] sub edx, eax mov dword ptr [ebp-10H], edx test edx, edx jle SHORT G_M000_IG05 G_M000_IG03: mov ecx, gword ptr [esi+04H] test ecx, ecx je G_M000_IG09 cmp dword ptr [ecx+04H], eax jb G_M000_IG10 lea ebx, bword ptr [ecx+2*eax+08H] mov ecx, dword ptr [ecx+04H] sub ecx, eax G_M000_IG04: cmp edx, ecx ja G_M000_IG12 lea ecx, [edx+edx] push ecx mov ecx, ebx mov edx, edi call [System.Buffer:Memmove(byref,byref,uint)] mov ecx, gword ptr [esi+04H] mov ecx, dword ptr [ecx+04H] mov dword ptr [esi+0CH], ecx mov edx, dword ptr [ebp-10H] G_M000_IG05: mov ebx, dword ptr [ebp+08H] sub ebx, edx mov ecx, esi mov edx, ebx call [System.Text.StringBuilder:ExpandByABlock(int):this] mov eax, dword ptr [ebp-10H] lea edx, bword ptr [edi+2*eax] mov ecx, gword ptr [esi+04H] test ecx, ecx je SHORT G_M000_IG11 lea eax, bword ptr [ecx+08H] mov ecx, dword ptr [ecx+04H] cmp ebx, ecx ja SHORT G_M000_IG12 G_M000_IG06: lea ecx, [ebx+ebx] push ecx mov ecx, eax call [System.Buffer:Memmove(byref,byref,uint)] mov dword ptr [esi+0CH], ebx G_M000_IG07: pop ecx pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0x17E52 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov edi, eax call [System.SR:get_ArgumentOutOfRange_LengthGreaterThanCapacity():System.String] push eax mov edx, edi mov ecx, esi call [System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG09: test eax, eax jne SHORT G_M000_IG10 xor eax, eax xor ecx, ecx mov ebx, eax jmp G_M000_IG04 G_M000_IG10: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG11: xor eax, eax xor ecx, ecx cmp ebx, ecx jbe SHORT G_M000_IG06 G_M000_IG12: call [System.ThrowHelper:ThrowArgumentException_DestinationTooShort()] int3 ; Total bytes of code 273 958: JIT compiled System.Text.StringBuilder:AppendWithExpansion(byref,int) [Tier1, IL size=155, code size=273] ; Assembly listing for method System.Text.StringBuilder:ExpandByABlock(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 3 inlinees with PGO data; 6 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi mov esi, ecx G_M000_IG02: mov ecx, dword ptr [esi+10H] lea eax, [edx+ecx] mov edi, dword ptr [esi+0CH] add eax, edi cmp eax, dword ptr [esi+14H] jg G_M000_IG10 cmp eax, edx jl G_M000_IG10 G_M000_IG03: add ecx, edi mov eax, ecx mov edi, 0x1F40 cmp eax, 0x1F40 cmovg eax, edi cmp edx, eax jge SHORT G_M000_IG05 G_M000_IG04: mov edx, eax G_M000_IG05: add ecx, edx cmp ecx, edx jl G_M000_IG11 cmp edx, 0x400 jge SHORT G_M000_IG07 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov edi, eax jmp SHORT G_M000_IG08 G_M000_IG07: mov ecx, edx xor edx, edx call [System.GC:g__AllocateNewUninitializedArray|66_0[ushort](int,bool):ushort[]] mov edi, eax G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edx, dword ptr [esi+0CH] mov dword ptr [eax+0CH], edx mov edx, dword ptr [esi+10H] mov dword ptr [eax+10H], edx mov ecx, gword ptr [esi+04H] lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [esi+08H] lea edx, bword ptr [eax+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, dword ptr [esi+14H] mov dword ptr [eax+14H], edx lea edx, bword ptr [esi+08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, dword ptr [esi+0CH] add dword ptr [esi+10H], edx xor edx, edx mov dword ptr [esi+0CH], edx lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EDI G_M000_IG09: pop esi pop edi pop ebp ret G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0x17E68 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov edi, eax call [System.SR:get_ArgumentOutOfRange_SmallCapacity():System.String] push eax mov edx, edi mov ecx, esi call [System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.OutOfMemoryException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW int3 ; Total bytes of code 264 959: JIT compiled System.Text.StringBuilder:ExpandByABlock(int) [Tier1, IL size=144, code size=264] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_Operations():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: add ecx, 16 mov eax, dword ptr [ecx] mov edx, dword ptr [ecx+04H] G_M000_IG03: ret ; Total bytes of code 9 960: JIT compiled BenchmarkDotNet.Reports.Measurement:get_Operations() [Tier1, IL size=7, code size=9] ; Assembly listing for method System.String:PadLeft(int,ushort):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 2 inlinees with PGO data; 3 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 8 mov edi, ecx mov esi, edx G_M000_IG02: test esi, esi jl SHORT G_M000_IG07 mov ebx, dword ptr [edi+04H] mov edx, esi sub edx, ebx mov dword ptr [ebp-10H], edx test edx, edx jg SHORT G_M000_IG05 G_M000_IG03: mov eax, edi G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG05: mov ecx, esi call System.String:FastAllocateString(int):System.String mov esi, eax mov eax, esi cmp byte ptr [eax], al lea eax, bword ptr [esi+08H] mov bword ptr [ebp-14H], eax mov ecx, eax movzx edx, word ptr [ebp+08H] push edx mov edx, dword ptr [ebp-10H] call [System.SpanHelpers:Fill[ushort](byref,uint,ushort)] mov ecx, bword ptr [ebp-14H] mov edx, dword ptr [ebp-10H] lea ecx, bword ptr [ecx+2*edx] lea edx, bword ptr [edi+08H] add ebx, ebx push ebx call [System.Buffer:Memmove(byref,byref,uint)] mov eax, esi G_M000_IG06: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG07: mov ecx, 0x176D mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax mov edx, esi call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] int3 ; Total bytes of code 137 961: JIT compiled System.String:PadLeft(int,ushort) [Tier1, IL size=83, code size=137] ; Assembly listing for method System.Double:ToString(System.String,System.IFormatProvider):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 8 vzeroupper mov esi, edx mov eax, gword ptr [ebp+08H] G_M000_IG02: vmovsd xmm0, qword ptr [ecx] vmovsd qword ptr [ebp-0CH], xmm0 test eax, eax je SHORT G_M000_IG04 G_M000_IG03: mov ecx, eax call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp SHORT G_M000_IG05 G_M000_IG04: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] G_M000_IG05: vmovsd xmm0, qword ptr [ebp-0CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, esi mov edx, eax call [System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String] G_M000_IG06: lea esp, [ebp-04H] pop esi pop ebp ret 4 ; Total bytes of code 75 962: JIT compiled System.Double:ToString(System.String,System.IFormatProvider) [Tier1, IL size=15, code size=75] ; Assembly listing for method System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 35936 G_M000_IG01: push ebp mov ebp, esp push esi mov esi, ecx G_M000_IG02: mov ecx, esi test ecx, ecx je SHORT G_M000_IG05 G_M000_IG03: cmp dword ptr [ecx], 0xD1FFAB1E je SHORT G_M000_IG05 G_M000_IG04: mov edx, esi mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] mov ecx, eax G_M000_IG05: test ecx, ecx je SHORT G_M000_IG07 cmp byte ptr [ecx+31H], 0 jne SHORT G_M000_IG07 mov eax, gword ptr [ecx+0CH] test eax, eax je SHORT G_M000_IG09 G_M000_IG06: pop esi pop ebp ret G_M000_IG07: mov edx, esi mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax jne SHORT G_M000_IG08 mov ecx, esi mov edx, 0xD1FFAB1E call [System.IFormatProvider:GetFormat(System.Type):System.Object:this] mov edx, eax mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax jne SHORT G_M000_IG08 call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] G_M000_IG08: pop esi pop ebp ret G_M000_IG09: mov eax, dword ptr [ecx] mov eax, dword ptr [eax+30H] call [eax+08H]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this jmp SHORT G_M000_IG06 ; Total bytes of code 121 963: JIT compiled System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider) [Tier1 with Static PGO, IL size=76, code size=121] ; Assembly listing for method System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 9 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 36 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-20H], xmm4 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], esp mov dword ptr [ebp-24H], 0xD1FFAB1E G_M000_IG02: mov eax, -64 add eax, esp jb SHORT G_M000_IG03 xor eax, eax G_M000_IG03: test dword ptr [esp], esp sub esp, 0x1000 cmp esp, eax jae SHORT G_M000_IG03 mov esp, eax lea eax, [esp] mov dword ptr [ebp-08H], esp mov bword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], 32 xor eax, eax mov gword ptr [ebp-18H], eax G_M000_IG04: mov dword ptr [ebp-14H], eax test ecx, ecx jne SHORT G_M000_IG06 G_M000_IG05: xor eax, eax xor esi, esi jmp SHORT G_M000_IG07 G_M000_IG06: lea eax, bword ptr [ecx+08H] mov esi, dword ptr [ecx+04H] G_M000_IG07: vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 push esi push eax lea ecx, [ebp-18H] call [System.Number:FormatDouble[ushort](byref,double,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo):System.String] mov esi, eax test esi, esi jne SHORT G_M000_IG09 G_M000_IG08: mov ecx, dword ptr [ebp-14H] cmp ecx, dword ptr [ebp-0CH] ja SHORT G_M000_IG13 mov eax, bword ptr [ebp-10H] mov bword ptr [ebp-20H], eax mov dword ptr [ebp-1CH], ecx lea ecx, [ebp-20H] call [System.ReadOnlySpan`1[ushort]:ToString():System.String:this] mov esi, eax G_M000_IG09: mov edx, gword ptr [ebp-18H] test edx, edx je SHORT G_M000_IG11 G_M000_IG10: xor ecx, ecx mov gword ptr [ebp-18H], ecx push 0 mov ecx, gword ptr [D1FFAB1EH] call [System.Buffers.TlsOverPerCoreLockedStacksArrayPool`1[ushort]:Return(ushort[],bool):this] G_M000_IG11: mov eax, esi cmp dword ptr [ebp-24H], 0xD1FFAB1E je SHORT G_M000_IG12 call CORINFO_HELP_FAIL_FAST G_M000_IG12: lea esp, [ebp-04H] pop esi pop ebp ret 8 G_M000_IG13: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 ; Total bytes of code 218 964: JIT compiled System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo) [Tier1, IL size=71, code size=218] ; Assembly listing for method System.Number:FormatDouble[ushort](byref,double,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 13 single block inlinees; 4 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 60 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-2CH], xmm4 xor eax, eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-10H], esp mov dword ptr [ebp-44H], 0xD1FFAB1E mov edi, ecx mov esi, edx vmovsd xmm0, qword ptr [ebp+10H] G_M000_IG02: vmovsd qword ptr [ebp-38H], xmm0 mov ebx, dword ptr [ebp-34H] mov eax, ebx and eax, 0xD1FFAB1E cmp eax, 0xD1FFAB1E jl SHORT G_M000_IG10 G_M000_IG03: vucomisd xmm0, xmm0 jp SHORT G_M000_IG04 je SHORT G_M000_IG06 G_M000_IG04: mov eax, gword ptr [esi+2CH] cmp dword ptr [ebp-44H], 0xD1FFAB1E je SHORT G_M000_IG05 call CORINFO_HELP_FAIL_FAST G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG06: test ebx, ebx jl SHORT G_M000_IG08 mov eax, gword ptr [esi+30H] cmp dword ptr [ebp-44H], 0xD1FFAB1E je SHORT G_M000_IG07 call CORINFO_HELP_FAIL_FAST G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG08: mov eax, gword ptr [esi+34H] cmp dword ptr [ebp-44H], 0xD1FFAB1E je SHORT G_M000_IG09 call CORINFO_HELP_FAIL_FAST G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG10: vmovsd qword ptr [ebp+10H], xmm0 push dword ptr [ebp+0CH] push bword ptr [ebp+08H] lea ecx, [ebp-18H] call [System.Number:ParseFormatSpecifier(System.ReadOnlySpan`1[ushort],byref):ushort] mov dword ptr [ebp-14H], eax mov edx, -772 add edx, esp jb SHORT G_M000_IG11 xor edx, edx G_M000_IG11: test dword ptr [esp], esp sub esp, 0x1000 cmp esp, edx jae SHORT G_M000_IG11 mov esp, edx lea edx, [esp] mov dword ptr [ebp-10H], esp mov ecx, 15 test eax, eax cmovne ecx, dword ptr [ebp-18H] mov dword ptr [ebp-18H], ecx xor ecx, ecx mov dword ptr [ebp-2CH], ecx G_M000_IG12: mov dword ptr [ebp-28H], ecx mov byte ptr [ebp-24H], 0 mov byte ptr [ebp-23H], 0 mov byte ptr [ebp-22H], 3 mov bword ptr [ebp-20H], edx mov dword ptr [ebp-1CH], 769 cmp dword ptr [ebp-1CH], 0 jbe G_M000_IG21 mov edx, bword ptr [ebp-20H] mov byte ptr [edx], 0 vmovsd xmm0, qword ptr [ebp+10H] vmovsd qword ptr [ebp-40H], xmm0 test ebx, ebx setl dl movzx edx, dl mov byte ptr [ebp-24H], dl push esi lea edx, [ebp-30H] push edx lea edx, [ebp-18H] mov ecx, eax call [System.Number:GetFloatingPointMaxDigitsAndPrecision(ushort,byref,System.Globalization.NumberFormatInfo,byref):int] mov ebx, eax vmovsd xmm0, qword ptr [ebp-40H] vxorps xmm1, xmm1, xmm1 vucomisd xmm0, xmm1 jp SHORT G_M000_IG13 je SHORT G_M000_IG15 G_M000_IG13: cmp byte ptr [ebp-30H], 0 je SHORT G_M000_IG14 vmovsd xmm0, qword ptr [ebp+10H] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea edx, [ebp-2CH] mov ecx, dword ptr [ebp-18H] call [System.Number+Grisu3:TryRunDouble(double,int,byref):bool] test eax, eax jne SHORT G_M000_IG15 G_M000_IG14: vmovsd xmm0, qword ptr [ebp+10H] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea edx, [ebp-2CH] push edx movzx edx, byte ptr [ebp-30H] mov ecx, dword ptr [ebp-18H] call [System.Number:Dragon4Double(double,int,bool,byref)] G_M000_IG15: mov edx, dword ptr [ebp-14H] test edx, edx je SHORT G_M000_IG18 cmp dword ptr [ebp-18H], -1 jne SHORT G_M000_IG17 G_M000_IG16: mov ebx, dword ptr [ebp-2CH] mov ecx, 17 cmp ebx, 17 cmovl ebx, ecx G_M000_IG17: push edx push ebx push esi lea edx, [ebp-2CH] mov ecx, edi call [System.Number:NumberToString[ushort](byref,byref,ushort,int,System.Globalization.NumberFormatInfo)] jmp SHORT G_M000_IG19 G_M000_IG18: push dword ptr [ebp+0CH] push bword ptr [ebp+08H] push esi lea edx, [ebp-2CH] mov ecx, edi call [System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo)] G_M000_IG19: xor eax, eax cmp dword ptr [ebp-44H], 0xD1FFAB1E je SHORT G_M000_IG20 call CORINFO_HELP_FAIL_FAST G_M000_IG20: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG21: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 489 965: JIT compiled System.Number:FormatDouble[ushort](byref,double,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) [Tier1, IL size=296, code size=489] ; Assembly listing for method System.Number:ParseFormatSpecifier(System.ReadOnlySpan`1[ushort],byref):ushort ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 8 G_M000_IG02: xor edx, edx mov eax, dword ptr [ebp+0CH] test eax, eax jle G_M000_IG14 G_M000_IG03: mov esi, bword ptr [ebp+08H] movzx edx, word ptr [esi] mov dword ptr [ebp-10H], edx mov edi, edx or edi, 32 add edi, -97 cmp edi, 25 ja SHORT G_M000_IG04 cmp eax, 1 jne SHORT G_M000_IG05 mov dword ptr [ecx], -1 jmp G_M000_IG18 G_M000_IG04: mov edx, dword ptr [ebp-10H] jmp G_M000_IG14 G_M000_IG05: cmp eax, 2 jne SHORT G_M000_IG06 movzx edi, word ptr [esi+02H] add edi, -48 cmp edi, 10 jae SHORT G_M000_IG07 mov dword ptr [ecx], edi jmp G_M000_IG18 G_M000_IG06: cmp eax, 3 jne SHORT G_M000_IG07 movzx edi, word ptr [esi+02H] add edi, -48 movzx ebx, word ptr [esi+04H] add ebx, -48 cmp edi, 10 jae SHORT G_M000_IG07 cmp ebx, 10 jae SHORT G_M000_IG07 lea eax, [edi+4*edi] add eax, eax add eax, ebx mov dword ptr [ecx], eax jmp SHORT G_M000_IG18 G_M000_IG07: xor edi, edi mov ebx, 1 jmp SHORT G_M000_IG09 G_M000_IG08: cmp edi, 0xD1FFAB1E jge SHORT G_M000_IG20 inc ebx lea ecx, [edi+4*edi] lea edi, [edx+2*ecx-30H] mov ecx, bword ptr [ebp-14H] G_M000_IG09: cmp ebx, eax jae SHORT G_M000_IG11 mov bword ptr [ebp-14H], ecx movzx edx, word ptr [esi+2*ebx] lea ecx, [edx-30H] cmp ecx, 9 jbe SHORT G_M000_IG08 G_M000_IG10: mov ecx, bword ptr [ebp-14H] G_M000_IG11: cmp ebx, eax jae SHORT G_M000_IG12 movzx esi, word ptr [esi+2*ebx] test esi, esi jne SHORT G_M000_IG13 G_M000_IG12: mov dword ptr [ecx], edi jmp SHORT G_M000_IG18 G_M000_IG13: mov edx, dword ptr [ebp-10H] G_M000_IG14: mov dword ptr [ecx], -1 test eax, eax je SHORT G_M000_IG16 test edx, edx je SHORT G_M000_IG16 xor eax, eax G_M000_IG15: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG16: mov eax, 71 G_M000_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG18: mov edx, dword ptr [ebp-10H] movzx eax, dx G_M000_IG19: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG20: call [System.ThrowHelper:ThrowFormatException_BadFormatSpecifier()] int3 ; Total bytes of code 265 966: JIT compiled System.Number:ParseFormatSpecifier(System.ReadOnlySpan`1[ushort],byref) [Tier1, IL size=259, code size=265] ; Assembly listing for method System.Number:GetFloatingPointMaxDigitsAndPrecision(ushort,byref,System.Globalization.NumberFormatInfo,byref):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx push eax mov esi, gword ptr [ebp+0CH] mov eax, bword ptr [ebp+08H] G_M000_IG02: movzx ecx, cx test ecx, ecx jne SHORT G_M000_IG05 G_M000_IG03: mov byte ptr [eax], 1 mov eax, dword ptr [edx] G_M000_IG04: pop ecx pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG05: mov edi, dword ptr [edx] mov dword ptr [ebp-10H], edi cmp ecx, 82 ja SHORT G_M000_IG07 lea ebx, [ecx-43H] cmp ebx, 4 ja SHORT G_M000_IG06 mov bword ptr [ebp+08H], eax lea ecx, [@RWD00] mov ecx, dword ptr [ecx+4*ebx] lea eax, G_M000_IG02 add ecx, eax jmp ecx G_M000_IG06: add ecx, -78 cmp ecx, 4 mov bword ptr [ebp+08H], eax ja G_M000_IG21 lea ebx, [@RWD20] mov ebx, dword ptr [ebx+4*ecx] lea eax, G_M000_IG02 add ebx, eax jmp ebx G_M000_IG07: lea ebx, [ecx-63H] cmp ebx, 4 ja SHORT G_M000_IG08 mov bword ptr [ebp+08H], eax lea ecx, [@RWD40] mov ecx, dword ptr [ecx+4*ebx] lea eax, G_M000_IG02 add ecx, eax jmp ecx G_M000_IG08: add ecx, -110 cmp ecx, 4 mov bword ptr [ebp+08H], eax ja SHORT G_M000_IG21 lea ebx, [@RWD60] mov ebx, dword ptr [ebx+4*ecx] lea eax, G_M000_IG02 add ebx, eax jmp ebx G_M000_IG09: cmp edi, -1 jne SHORT G_M000_IG10 mov eax, dword ptr [esi+88H] mov dword ptr [edx], eax G_M000_IG10: mov eax, bword ptr [ebp+08H] mov byte ptr [eax], 0 jmp SHORT G_M000_IG19 G_M000_IG11: cmp edi, -1 jne SHORT G_M000_IG12 mov dword ptr [edx], 6 G_M000_IG12: inc dword ptr [edx] jmp SHORT G_M000_IG16 G_M000_IG13: cmp edi, -1 jne SHORT G_M000_IG10 mov eax, dword ptr [esi+84H] mov dword ptr [edx], eax jmp SHORT G_M000_IG10 G_M000_IG14: test edi, edi jne SHORT G_M000_IG16 G_M000_IG15: mov dword ptr [edx], -1 G_M000_IG16: mov eax, bword ptr [ebp+08H] mov byte ptr [eax], 1 jmp SHORT G_M000_IG19 G_M000_IG17: cmp edi, -1 jne SHORT G_M000_IG18 mov eax, dword ptr [esi+A0H] mov dword ptr [edx], eax G_M000_IG18: add dword ptr [edx], 2 jmp SHORT G_M000_IG10 G_M000_IG19: mov eax, dword ptr [ebp-10H] G_M000_IG20: pop ecx pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG21: call [System.ThrowHelper:ThrowFormatException_BadFormatSpecifier()] int3 RWD00 dd G_M000_IG09 - G_M000_IG02 dd G_M000_IG21 - G_M000_IG02 dd G_M000_IG11 - G_M000_IG02 dd G_M000_IG13 - G_M000_IG02 dd G_M000_IG14 - G_M000_IG02 RWD20 dd G_M000_IG13 - G_M000_IG02 dd G_M000_IG21 - G_M000_IG02 dd G_M000_IG17 - G_M000_IG02 dd G_M000_IG21 - G_M000_IG02 dd G_M000_IG15 - G_M000_IG02 RWD40 dd G_M000_IG09 - G_M000_IG02 dd G_M000_IG21 - G_M000_IG02 dd G_M000_IG11 - G_M000_IG02 dd G_M000_IG13 - G_M000_IG02 dd G_M000_IG14 - G_M000_IG02 RWD60 dd G_M000_IG13 - G_M000_IG02 dd G_M000_IG21 - G_M000_IG02 dd G_M000_IG17 - G_M000_IG02 dd G_M000_IG21 - G_M000_IG02 dd G_M000_IG15 - G_M000_IG02 ; Total bytes of code 272 967: JIT compiled System.Number:GetFloatingPointMaxDigitsAndPrecision(ushort,byref,System.Globalization.NumberFormatInfo,byref) [Tier1, IL size=248, code size=272] ; Assembly listing for method System.Number:RoundNumber(byref,int,bool) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx G_M000_IG02: mov edi, bword ptr [esi+0CH] xor ebx, ebx jmp SHORT G_M000_IG04 G_M000_IG03: inc ebx G_M000_IG04: cmp ebx, edx jge SHORT G_M000_IG06 G_M000_IG05: cmp byte ptr [edi+ebx], 0 jne SHORT G_M000_IG03 G_M000_IG06: cmp ebx, edx jne SHORT G_M000_IG13 G_M000_IG07: movzx ecx, byte ptr [esi+0AH] push ecx movzx ecx, byte ptr [ebp+08H] push ecx mov ecx, edi mov edx, ebx call [System.Number:g__ShouldRoundUp|121_0(uint,int,ubyte,bool):bool] test eax, eax je SHORT G_M000_IG13 jmp SHORT G_M000_IG09 G_M000_IG08: dec ebx G_M000_IG09: test ebx, ebx jle SHORT G_M000_IG10 cmp byte ptr [edi+ebx-01H], 57 je SHORT G_M000_IG08 G_M000_IG10: test ebx, ebx jle SHORT G_M000_IG11 lea eax, [edi+ebx-01H] inc byte ptr [eax] jmp SHORT G_M000_IG14 G_M000_IG11: lea eax, bword ptr [esi+04H] inc dword ptr [eax] mov byte ptr [edi], 49 mov ebx, 1 jmp SHORT G_M000_IG16 G_M000_IG12: dec ebx G_M000_IG13: test ebx, ebx jle SHORT G_M000_IG14 cmp byte ptr [edi+ebx-01H], 48 je SHORT G_M000_IG12 G_M000_IG14: test ebx, ebx jne SHORT G_M000_IG16 cmp byte ptr [esi+0AH], 3 je SHORT G_M000_IG15 mov byte ptr [esi+08H], 0 G_M000_IG15: xor eax, eax mov dword ptr [esi+04H], eax G_M000_IG16: mov byte ptr [edi+ebx], 0 mov dword ptr [esi], ebx G_M000_IG17: pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 139 968: JIT compiled System.Number:RoundNumber(byref,int,bool) [Tier1, IL size=158, code size=139] ; Assembly listing for method System.ReadOnlySpan`1[ushort]:ToString():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, bword ptr [ecx] mov edx, dword ptr [ecx+04H] push edx push eax call System.String:.ctor(System.ReadOnlySpan`1[ushort]):this G_M000_IG03: pop ebp ret ; Total bytes of code 17 969: JIT compiled System.ReadOnlySpan`1[ushort]:ToString() [Tier1, IL size=144, code size=17] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_IterationStage():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, dword ptr [ecx+04H] G_M000_IG03: ret ; Total bytes of code 4 970: JIT compiled BenchmarkDotNet.Reports.Measurement:get_IterationStage() [Tier1, IL size=7, code size=4] ; Assembly listing for method Perfolizer.Horology.WindowsClock:GetTimestamp():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-04H], eax G_M000_IG02: lea ecx, [ebp-08H] call Perfolizer.Horology.WindowsClock:QueryPerformanceCounter(byref):bool mov eax, dword ptr [ebp-08H] mov edx, dword ptr [ebp-04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 971: JIT compiled Perfolizer.Horology.WindowsClock:GetTimestamp() [Tier1, IL size=10, code size=32] ; Assembly listing for method Perfolizer.Horology.Frequency:.ctor(double):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [esp+04H] vmovsd qword ptr [ecx], xmm0 G_M000_IG03: ret 8 ; Total bytes of code 16 972: JIT compiled Perfolizer.Horology.Frequency:.ctor(double) [Tier1, IL size=8, code size=16] ; Assembly listing for method System.Diagnostics.Tracing.EventSource:IsEnabled():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: movzx eax, byte ptr [ecx+59H] G_M000_IG03: ret ; Total bytes of code 5 973: JIT compiled System.Diagnostics.Tracing.EventSource:IsEnabled() [Tier1, IL size=7, code size=5] ; Assembly listing for method System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push edi push esi sub esp, 20 mov dword ptr [esp+10H], 0xD1FFAB1E G_M000_IG02: cmp byte ptr [ecx+59H], 0 je SHORT G_M000_IG05 G_M000_IG03: lea eax, [esp] lea esi, [esp+20H] mov edi, eax mov dword ptr [edi], esi xor esi, esi mov dword ptr [edi+04H], esi mov dword ptr [eax+08H], 8 G_M000_IG04: mov dword ptr [eax+0CH], esi push 0 push 1 push eax call [System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,uint,int,uint):this] G_M000_IG05: cmp dword ptr [esp+10H], 0xD1FFAB1E je SHORT G_M000_IG06 call CORINFO_HELP_FAIL_FAST G_M000_IG06: add esp, 20 pop esi pop edi ret 8 ; Total bytes of code 79 974: JIT compiled System.Diagnostics.Tracing.EventSource:WriteEvent(int,long) [Tier1, IL size=53, code size=79] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:GcCollect():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 32 G_M000_IG02: lea edi, [ebp-28H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-14H], eax cmp byte ptr [ecx+64H], 0 je G_M000_IG16 G_M000_IG03: push 2 push -1 mov dword ptr [ebp-20H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-1CH], eax lea eax, G_M000_IG06 mov dword ptr [ebp-18H], eax mov byte ptr [esi+08H], 0 G_M000_IG04: mov eax, 0xD1FFAB1E G_M000_IG05: call eax ; System.GC:_Collect(int,int) G_M000_IG06: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG07 call CORINFO_HELP_STOP_FOR_GC G_M000_IG07: xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-20H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-1CH], eax lea eax, G_M000_IG10 mov dword ptr [ebp-18H], eax mov byte ptr [esi+08H], 0 G_M000_IG08: mov eax, 0xD1FFAB1E G_M000_IG09: call eax ; System.GC:_WaitForPendingFinalizers() G_M000_IG10: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG11 call CORINFO_HELP_STOP_FOR_GC G_M000_IG11: xor eax, eax mov dword ptr [ebp-18H], eax push 2 push -1 mov dword ptr [ebp-20H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-1CH], eax lea eax, G_M000_IG14 mov dword ptr [ebp-18H], eax mov byte ptr [esi+08H], 0 G_M000_IG12: mov eax, 0xD1FFAB1E G_M000_IG13: call eax ; System.GC:_Collect(int,int) G_M000_IG14: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG15 call CORINFO_HELP_STOP_FOR_GC G_M000_IG15: xor eax, eax mov dword ptr [ebp-18H], eax G_M000_IG16: mov eax, bword ptr [ebp-24H] mov dword ptr [esi+0CH], eax G_M000_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 219 975: JIT compiled BenchmarkDotNet.Engines.Engine:GcCollect() [Tier1, IL size=15, code size=219] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_ForceGcCleanups():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: movzx eax, byte ptr [ecx+64H] G_M000_IG03: ret ; Total bytes of code 5 976: JIT compiled BenchmarkDotNet.Engines.Engine:get_ForceGcCleanups() [Tier1, IL size=7, code size=5] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:ForceGcCollect() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 32 G_M000_IG02: lea edi, [ebp-28H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-14H], eax push 2 push -1 mov dword ptr [ebp-20H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-1CH], eax lea eax, G_M000_IG05 mov dword ptr [ebp-18H], eax mov byte ptr [esi+08H], 0 G_M000_IG03: mov eax, 0xD1FFAB1E G_M000_IG04: call eax ; System.GC:_Collect(int,int) G_M000_IG05: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG06 call CORINFO_HELP_STOP_FOR_GC G_M000_IG06: xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-20H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-1CH], eax lea eax, G_M000_IG09 mov dword ptr [ebp-18H], eax mov byte ptr [esi+08H], 0 G_M000_IG07: mov eax, 0xD1FFAB1E G_M000_IG08: call eax ; System.GC:_WaitForPendingFinalizers() G_M000_IG09: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG10 call CORINFO_HELP_STOP_FOR_GC G_M000_IG10: xor eax, eax mov dword ptr [ebp-18H], eax push 2 push -1 mov dword ptr [ebp-20H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-1CH], eax lea eax, G_M000_IG13 mov dword ptr [ebp-18H], eax mov byte ptr [esi+08H], 0 G_M000_IG11: mov eax, 0xD1FFAB1E G_M000_IG12: call eax ; System.GC:_Collect(int,int) G_M000_IG13: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG14 call CORINFO_HELP_STOP_FOR_GC G_M000_IG14: xor eax, eax mov dword ptr [ebp-18H], eax mov eax, bword ptr [ebp-24H] mov dword ptr [esi+0CH], eax G_M000_IG15: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 209 977: JIT compiled BenchmarkDotNet.Engines.Engine:ForceGcCollect() [Tier1, IL size=16, code size=209] ; Assembly listing for method System.GC:WaitForPendingFinalizers() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 32 G_M000_IG02: lea edi, [ebp-28H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-14H], eax mov dword ptr [ebp-20H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-1CH], eax lea eax, G_M000_IG05 mov dword ptr [ebp-18H], eax mov byte ptr [esi+08H], 0 G_M000_IG03: mov eax, 0xD1FFAB1E G_M000_IG04: call eax ; System.GC:_WaitForPendingFinalizers() G_M000_IG05: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG06 call CORINFO_HELP_STOP_FOR_GC G_M000_IG06: xor eax, eax mov dword ptr [ebp-18H], eax mov eax, bword ptr [ebp-24H] mov dword ptr [esi+0CH], eax G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 91 978: JIT compiled System.GC:WaitForPendingFinalizers() [Tier1, IL size=6, code size=91] ; Assembly listing for method System.Number:Dragon4Double(double,int,bool,byref) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 6 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 36 vzeroupper mov dword ptr [ebp-10H], edx mov esi, bword ptr [ebp+08H] G_M000_IG02: vmovsd xmm0, qword ptr [ebp+0CH] vmovsd qword ptr [ebp-24H], xmm0 mov eax, dword ptr [ebp-24H] mov edi, dword ptr [ebp-20H] mov ebx, edi and ebx, 0xD1FFAB1E shr edi, 20 and edi, 0x7FF je SHORT G_M000_IG04 G_M000_IG03: or eax, 0 or ebx, 0xD1FFAB1E add edi, -0x433 jmp SHORT G_M000_IG05 G_M000_IG04: mov edi, -0x432 G_M000_IG05: xor edx, edx mov dword ptr [ebp-18H], edx mov edx, ebx shr edx, 20 or edx, 0 je SHORT G_M000_IG07 G_M000_IG06: mov dword ptr [ebp-14H], 52 mov edx, ebx xor edx, 0xD1FFAB1E or edx, eax sete dl movzx edx, dl mov dword ptr [ebp-18H], edx jmp SHORT G_M000_IG10 G_M000_IG07: mov edx, eax or edx, 1 mov dword ptr [ebp-2CH], edx mov edx, ebx or edx, 0 mov dword ptr [ebp-30H], edx mov edx, dword ptr [ebp-2CH] mov dword ptr [ebp-28H], edx mov edx, dword ptr [ebp-30H] test edx, edx jne SHORT G_M000_IG08 mov edx, dword ptr [ebp-28H] or edx, 1 lzcnt edx, edx xor edx, 31 jmp SHORT G_M000_IG09 G_M000_IG08: or edx, 1 lzcnt edx, edx xor edx, 31 add edx, 32 G_M000_IG09: mov dword ptr [ebp-14H], edx G_M000_IG10: push ebx push eax push dword ptr [ebp-18H] push ecx movzx ecx, byte ptr [ebp-10H] push ecx lea ecx, bword ptr [esi+0CH] push dword ptr [ecx+04H] push bword ptr [ecx] lea ecx, [ebp-1CH] push ecx mov ecx, edi mov edx, dword ptr [ebp-14H] call [System.Number:Dragon4(ulong,int,uint,bool,int,bool,System.Span`1[ubyte],byref):uint] mov edx, dword ptr [ebp-1CH] inc edx mov dword ptr [esi+04H], edx lea edx, bword ptr [esi+0CH] cmp eax, dword ptr [edx+04H] jae SHORT G_M000_IG12 mov edx, bword ptr [edx] mov byte ptr [edx+eax], 0 mov dword ptr [esi], eax G_M000_IG11: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG12: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 251 979: JIT compiled System.Number:Dragon4Double(double,int,bool,byref) [Tier1, IL size=114, code size=251] ; Assembly listing for method System.Number:Dragon4(ulong,int,uint,bool,int,bool,System.Span`1[ubyte],byref):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 3 inlinees with PGO data; 17 single block inlinees; 24 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx lea eax, [esp-1450H] call CORINFO_HELP_STACK_PROBE mov esp, eax vzeroupper xor eax, eax mov dword ptr [ebp-1450H], eax mov dword ptr [ebp-10H], 0xD1FFAB1E mov dword ptr [ebp-1404H], edx mov ebx, ecx G_M000_IG02: mov eax, bword ptr [ebp+08H] mov bword ptr [ebp-1458H], eax lea edi, bword ptr [ebp-1450H] lea esi, bword ptr [ebp+0CH] movsd movsd mov eax, dword ptr [ebp+18H] mov dword ptr [ebp-1448H], eax xor edi, edi cmp byte ptr [ebp+1CH], 0 je G_M000_IG12 G_M000_IG03: test ebx, ebx jle G_M000_IG07 push dword ptr [ebp+24H] push dword ptr [ebp+20H] push 0 push 4 call CORINFO_HELP_LMUL cmp edx, 1 jae SHORT G_M000_IG05 test eax, eax jne SHORT G_M000_IG04 xor eax, eax mov dword ptr [ebp-1E0H], eax jmp SHORT G_M000_IG06 G_M000_IG04: mov dword ptr [ebp-1DCH], eax mov dword ptr [ebp-1E0H], 1 jmp SHORT G_M000_IG06 G_M000_IG05: mov dword ptr [ebp-1DCH], eax mov dword ptr [ebp-1D8H], edx mov dword ptr [ebp-1E0H], 2 G_M000_IG06: lea ecx, [ebp-1E0H] mov edx, ebx call [System.Number+BigInteger:ShiftLeft(uint):this] mov dword ptr [ebp-122CH], 4 mov dword ptr [ebp-1230H], 1 lea edx, [ebp-3B0H] mov ecx, ebx call [System.Number+BigInteger:Pow2(uint,byref)] lea ecx, [ebx+01H] lea edx, [ebp-580H] call [System.Number+BigInteger:Pow2(uint,byref)] jmp G_M000_IG11 G_M000_IG07: push dword ptr [ebp+24H] push dword ptr [ebp+20H] push 0 push 4 call CORINFO_HELP_LMUL cmp edx, 1 jae SHORT G_M000_IG09 test eax, eax jne SHORT G_M000_IG08 xor eax, eax mov dword ptr [ebp-1E0H], eax jmp SHORT G_M000_IG10 G_M000_IG08: mov dword ptr [ebp-1DCH], eax mov dword ptr [ebp-1E0H], 1 jmp SHORT G_M000_IG10 G_M000_IG09: mov dword ptr [ebp-1DCH], eax mov dword ptr [ebp-1D8H], edx mov dword ptr [ebp-1E0H], 2 G_M000_IG10: mov ecx, ebx neg ecx add ecx, 2 lea edx, [ebp-1230H] call [System.Number+BigInteger:Pow2(uint,byref)] mov dword ptr [ebp-3ACH], 1 mov dword ptr [ebp-3B0H], 1 mov dword ptr [ebp-57CH], 2 mov dword ptr [ebp-580H], 1 G_M000_IG11: lea eax, [ebp-580H] jmp G_M000_IG21 G_M000_IG12: test ebx, ebx jle G_M000_IG16 push dword ptr [ebp+24H] push dword ptr [ebp+20H] push 0 push 2 call CORINFO_HELP_LMUL cmp edx, 1 jae SHORT G_M000_IG14 test eax, eax jne SHORT G_M000_IG13 xor eax, eax mov dword ptr [ebp-1E0H], eax jmp SHORT G_M000_IG15 G_M000_IG13: mov dword ptr [ebp-1DCH], eax mov dword ptr [ebp-1E0H], 1 jmp SHORT G_M000_IG15 G_M000_IG14: mov dword ptr [ebp-1DCH], eax mov dword ptr [ebp-1D8H], edx mov dword ptr [ebp-1E0H], 2 G_M000_IG15: lea ecx, [ebp-1E0H] mov edx, ebx call [System.Number+BigInteger:ShiftLeft(uint):this] mov dword ptr [ebp-122CH], 2 mov dword ptr [ebp-1230H], 1 lea edx, [ebp-3B0H] mov ecx, ebx call [System.Number+BigInteger:Pow2(uint,byref)] jmp SHORT G_M000_IG20 G_M000_IG16: push dword ptr [ebp+24H] push dword ptr [ebp+20H] push 0 push 2 call CORINFO_HELP_LMUL cmp edx, 1 jae SHORT G_M000_IG18 test eax, eax jne SHORT G_M000_IG17 xor eax, eax mov dword ptr [ebp-1E0H], eax jmp SHORT G_M000_IG19 G_M000_IG17: mov dword ptr [ebp-1DCH], eax mov dword ptr [ebp-1E0H], 1 jmp SHORT G_M000_IG19 G_M000_IG18: mov dword ptr [ebp-1DCH], eax mov dword ptr [ebp-1D8H], edx mov dword ptr [ebp-1E0H], 2 G_M000_IG19: mov ecx, ebx neg ecx inc ecx lea edx, [ebp-1230H] call [System.Number+BigInteger:Pow2(uint,byref)] mov dword ptr [ebp-3ACH], 1 mov dword ptr [ebp-3B0H], 1 G_M000_IG20: lea eax, [ebp-3B0H] mov dword ptr [ebp-1408H], eax G_M000_IG21: add ebx, dword ptr [ebp-1404H] vxorps xmm0, xmm0, xmm0 vcvtsi2sd xmm0, xmm0, ebx vmulsd xmm0, xmm0, qword ptr [@RWD00] vsubsd xmm0, xmm0, qword ptr [@RWD08] vroundsd xmm0, xmm0, xmm0, 10 vcvttsd2si ebx, xmm0 test ebx, ebx jle G_M000_IG25 G_M000_IG22: cmp ebx, 9 ja SHORT G_M000_IG23 mov dword ptr [ebp-1408H], eax cmp ebx, 10 jae G_M000_IG78 mov edx, dword ptr [4*ebx+D1FFAB1EH] lea ecx, [ebp-1230H] push ecx lea ecx, [ebp-1230H] call [System.Number+BigInteger:Multiply(byref,uint,byref)] jmp G_M000_IG30 G_M000_IG23: cmp dword ptr [ebp-1230H], 0 mov dword ptr [ebp-1408H], eax je G_M000_IG30 lea edx, [ebp-CC0H] mov ecx, ebx call [System.Number+BigInteger:Pow10(uint,byref)] cmp dword ptr [ebp-CC0H], 1 jg SHORT G_M000_IG24 xor edx, edx cmp dword ptr [ebp-CC0H], 0 cmovg edx, dword ptr [ebp-CBCH] lea ecx, [ebp-1230H] push ecx lea ecx, [ebp-1230H] call [System.Number+BigInteger:Multiply(byref,uint,byref)] jmp G_M000_IG30 G_M000_IG24: mov edx, dword ptr [ebp-1230H] mov dword ptr [ebp-1400H], edx shl edx, 2 push edx lea edx, [ebp-122CH] lea ecx, [ebp-13FCH] call [System.Buffer:Memmove(byref,byref,uint)] lea ecx, [ebp-1230H] push ecx lea ecx, [ebp-1400H] lea edx, [ebp-CC0H] call [System.Number+BigInteger:Multiply(byref,byref,byref)] jmp G_M000_IG30 G_M000_IG25: test ebx, ebx mov dword ptr [ebp-1408H], eax jge G_M000_IG30 mov ecx, ebx neg ecx lea edx, [ebp-750H] call [System.Number+BigInteger:Pow10(uint,byref)] cmp dword ptr [ebp-750H], 1 jg SHORT G_M000_IG26 xor edx, edx cmp dword ptr [ebp-750H], 0 cmovg edx, dword ptr [ebp-74CH] lea ecx, [ebp-1E0H] push ecx lea ecx, [ebp-1E0H] call [System.Number+BigInteger:Multiply(byref,uint,byref)] jmp SHORT G_M000_IG27 G_M000_IG26: mov edx, dword ptr [ebp-1E0H] mov dword ptr [ebp-E90H], edx shl edx, 2 push edx lea edx, [ebp-1DCH] lea ecx, [ebp-E8CH] call [System.Buffer:Memmove(byref,byref,uint)] lea ecx, [ebp-1E0H] push ecx lea ecx, [ebp-E90H] lea edx, [ebp-750H] call [System.Number+BigInteger:Multiply(byref,byref,byref)] G_M000_IG27: cmp dword ptr [ebp-750H], 1 jg SHORT G_M000_IG28 xor edx, edx cmp dword ptr [ebp-750H], 0 cmovg edx, dword ptr [ebp-74CH] lea ecx, [ebp-3B0H] push ecx lea ecx, [ebp-3B0H] call [System.Number+BigInteger:Multiply(byref,uint,byref)] jmp SHORT G_M000_IG29 G_M000_IG28: mov edx, dword ptr [ebp-3B0H] mov dword ptr [ebp-1060H], edx shl edx, 2 push edx lea edx, [ebp-3ACH] lea ecx, [ebp-105CH] call [System.Buffer:Memmove(byref,byref,uint)] lea ecx, [ebp-3B0H] push ecx lea ecx, [ebp-1060H] lea edx, [ebp-750H] call [System.Number+BigInteger:Multiply(byref,byref,byref)] G_M000_IG29: lea ecx, [ebp-3B0H] mov eax, dword ptr [ebp-1408H] cmp eax, ecx je G_M000_IG33 mov dword ptr [ebp-1408H], eax push eax lea ecx, [ebp-3B0H] mov edx, 2 call [System.Number+BigInteger:Multiply(byref,uint,byref)] G_M000_IG30: mov eax, dword ptr [ebp+20H] mov edx, dword ptr [ebp+24H] mov ecx, 2 cmp edx, ecx jb SHORT G_M000_IG31 mov esi, eax mov eax, edx xor edx, edx div edx:eax, ecx mov eax, esi G_M000_IG31: div edx:eax, ecx or edx, 0 sete al movzx eax, al mov dword ptr [ebp-140CH], eax mov esi, dword ptr [ebp-1448H] cmp esi, -1 jne SHORT G_M000_IG36 G_M000_IG32: lea ecx, [ebp-920H] push ecx lea ecx, [ebp-1E0H] mov edx, dword ptr [ebp-1408H] call [System.Number+BigInteger:Add(byref,byref,byref)] lea ecx, [ebp-920H] lea edx, [ebp-1230H] call [System.Number+BigInteger:Compare(byref,byref):int] cmp dword ptr [ebp-140CH], 0 jne SHORT G_M000_IG34 xor ecx, ecx test eax, eax setg cl jmp SHORT G_M000_IG35 G_M000_IG33: mov dword ptr [ebp-1408H], eax jmp SHORT G_M000_IG30 align [11 bytes for IG71] G_M000_IG34: mov ecx, eax not ecx shr ecx, 31 G_M000_IG35: movzx eax, cl jmp SHORT G_M000_IG37 G_M000_IG36: lea ecx, [ebp-1E0H] lea edx, [ebp-1230H] call [System.Number+BigInteger:Compare(byref,byref):int] test eax, eax jl SHORT G_M000_IG39 jmp SHORT G_M000_IG38 G_M000_IG37: test eax, eax je SHORT G_M000_IG39 G_M000_IG38: inc ebx jmp SHORT G_M000_IG40 G_M000_IG39: lea ecx, [ebp-1E0H] call [System.Number+BigInteger:Multiply10():this] lea ecx, [ebp-3B0H] call [System.Number+BigInteger:Multiply10():this] lea ecx, [ebp-3B0H] mov eax, dword ptr [ebp-1408H] cmp eax, ecx je G_M000_IG54 mov dword ptr [ebp-1408H], eax push eax lea ecx, [ebp-3B0H] mov edx, 2 call [System.Number+BigInteger:Multiply(byref,uint,byref)] G_M000_IG40: mov eax, dword ptr [ebp-144CH] mov dword ptr [ebp-1454H], eax mov ecx, ebx sub ecx, eax cmp esi, -1 je G_M000_IG53 G_M000_IG41: neg esi mov dword ptr [ebp-145CH], esi mov edx, ebx sub edx, dword ptr [ebp-1448H] cmp byte ptr [ebp+14H], 0 cmove edx, dword ptr [ebp-145CH] cmp edx, ecx cmovg ecx, edx mov dword ptr [ebp-1410H], ecx G_M000_IG42: dec ebx mov esi, bword ptr [ebp-1458H] mov dword ptr [esi], ebx lea esi, bword ptr [ebp-122CH] mov edx, dword ptr [ebp-1230H] dec edx mov edx, dword ptr [esi+4*edx] cmp edx, 8 jb G_M000_IG52 G_M000_IG43: cmp edx, 0xD1FFAB1E jbe G_M000_IG51 G_M000_IG44: mov dword ptr [ebp-1410H], ecx G_M000_IG45: or edx, 1 lzcnt edx, edx xor edx, 31 mov esi, edx neg esi add esi, 59 and esi, 31 lea ecx, [ebp-1230H] mov edx, esi call [System.Number+BigInteger:ShiftLeft(uint):this] lea ecx, [ebp-1E0H] mov edx, esi call [System.Number+BigInteger:ShiftLeft(uint):this] lea ecx, [ebp-3B0H] mov edx, esi call [System.Number+BigInteger:ShiftLeft(uint):this] lea ecx, [ebp-3B0H] mov esi, dword ptr [ebp-1408H] cmp esi, ecx je G_M000_IG50 push esi lea ecx, [ebp-3B0H] mov edx, 2 call [System.Number+BigInteger:Multiply(byref,uint,byref)] mov ecx, dword ptr [ebp-1410H] G_M000_IG46: cmp dword ptr [ebp-1448H], -1 jne G_M000_IG59 G_M000_IG47: mov dword ptr [ebp-1410H], ecx G_M000_IG48: lea ecx, [ebp-1E0H] lea edx, [ebp-1230H] call [System.Number+BigInteger:HeuristicDivide(byref,byref):uint] mov dword ptr [ebp-141CH], eax lea ecx, [ebp-AF0H] push ecx lea ecx, [ebp-1E0H] mov edx, esi call [System.Number+BigInteger:Add(byref,byref,byref)] lea ecx, [ebp-1E0H] lea edx, [ebp-3B0H] call [System.Number+BigInteger:Compare(byref,byref):int] mov dword ptr [ebp-1420H], eax lea ecx, [ebp-AF0H] lea edx, [ebp-1230H] call [System.Number+BigInteger:Compare(byref,byref):int] cmp dword ptr [ebp-140CH], 0 je SHORT G_M000_IG55 G_M000_IG49: xor ecx, ecx cmp dword ptr [ebp-1420H], 0 setle cl not eax shr eax, 31 jmp SHORT G_M000_IG56 G_M000_IG50: mov ecx, dword ptr [ebp-1410H] jmp G_M000_IG46 G_M000_IG51: mov esi, dword ptr [ebp-1408H] jmp G_M000_IG46 G_M000_IG52: mov dword ptr [ebp-1410H], ecx jmp G_M000_IG45 G_M000_IG53: jmp G_M000_IG42 G_M000_IG54: mov dword ptr [ebp-1408H], eax jmp G_M000_IG40 G_M000_IG55: xor ecx, ecx cmp dword ptr [ebp-1420H], 0 setl cl test eax, eax setg al movzx eax, al G_M000_IG56: mov edx, ecx or edx, eax jne G_M000_IG67 cmp ebx, dword ptr [ebp-1410H] je G_M000_IG67 cmp edi, dword ptr [ebp-1454H] jae G_M000_IG78 mov ecx, bword ptr [ebp-1450H] mov eax, dword ptr [ebp-141CH] add eax, 48 mov byte ptr [ecx+edi], al inc edi lea ecx, [ebp-1E0H] call [System.Number+BigInteger:Multiply10():this] lea ecx, [ebp-3B0H] call [System.Number+BigInteger:Multiply10():this] lea ecx, [ebp-3B0H] cmp esi, ecx je SHORT G_M000_IG58 G_M000_IG57: push esi lea ecx, [ebp-3B0H] mov edx, 2 call [System.Number+BigInteger:Multiply(byref,uint,byref)] G_M000_IG58: dec ebx jmp G_M000_IG48 G_M000_IG59: mov dword ptr [ebp-1410H], ecx cmp ebx, ecx jl G_M000_IG63 xor edx, edx mov dword ptr [ebp-1414H], edx xor esi, esi mov dword ptr [ebp-1418H], esi G_M000_IG60: lea ecx, [ebp-1E0H] lea edx, [ebp-1230H] call [System.Number+BigInteger:HeuristicDivide(byref,byref):uint] mov esi, eax cmp dword ptr [ebp-1E0H], 0 je SHORT G_M000_IG62 cmp ebx, dword ptr [ebp-1410H] jle SHORT G_M000_IG61 cmp edi, dword ptr [ebp-1454H] jae G_M000_IG78 mov ecx, bword ptr [ebp-1450H] lea edx, [esi+30H] mov byte ptr [ecx+edi], dl inc edi lea ecx, [ebp-1E0H] call [System.Number+BigInteger:Multiply10():this] dec ebx jmp SHORT G_M000_IG60 G_M000_IG61: mov dword ptr [ebp-141CH], esi mov eax, dword ptr [ebp-1418H] mov ecx, dword ptr [ebp-1414H] jmp G_M000_IG67 G_M000_IG62: mov dword ptr [ebp-141CH], esi mov eax, dword ptr [ebp-1418H] mov ecx, dword ptr [ebp-1414H] jmp SHORT G_M000_IG67 G_M000_IG63: lea ecx, [ebp-1E0H] lea edx, [ebp-1230H] call [System.Number+BigInteger:HeuristicDivide(byref,byref):uint] mov esi, eax cmp esi, 5 ja SHORT G_M000_IG64 cmp esi, 5 jne SHORT G_M000_IG65 cmp dword ptr [ebp-1E0H], 0 je SHORT G_M000_IG65 G_M000_IG64: mov ebx, bword ptr [ebp-1458H] inc dword ptr [ebx] mov esi, 1 G_M000_IG65: cmp dword ptr [ebp-1454H], 0 jbe G_M000_IG78 mov eax, bword ptr [ebp-1450H] lea ecx, [esi+30H] mov byte ptr [eax], cl mov eax, 1 cmp dword ptr [ebp-10H], 0xD1FFAB1E je SHORT G_M000_IG66 call CORINFO_HELP_FAIL_FAST G_M000_IG66: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 32 G_M000_IG67: cmp ecx, eax jne SHORT G_M000_IG68 lea ecx, [ebp-1E0H] mov edx, 1 call [System.Number+BigInteger:ShiftLeft(uint):this] lea ecx, [ebp-1E0H] lea edx, [ebp-1230H] call [System.Number+BigInteger:Compare(byref,byref):int] mov ecx, eax shr ecx, 31 test eax, eax jne SHORT G_M000_IG68 mov esi, dword ptr [ebp-141CH] test esi, 1 jne SHORT G_M000_IG70 jmp SHORT G_M000_IG69 G_M000_IG68: test ecx, ecx mov esi, dword ptr [ebp-141CH] je SHORT G_M000_IG70 G_M000_IG69: cmp edi, dword ptr [ebp-1454H] jae G_M000_IG78 mov eax, bword ptr [ebp-1450H] lea edx, [esi+30H] mov byte ptr [eax+edi], dl jmp SHORT G_M000_IG75 G_M000_IG70: cmp esi, 9 jne SHORT G_M000_IG74 G_M000_IG71: test edi, edi je SHORT G_M000_IG73 dec edi mov esi, dword ptr [ebp-1454H] cmp edi, esi jae SHORT G_M000_IG78 mov eax, bword ptr [ebp-1450H] cmp byte ptr [eax+edi], 57 je SHORT G_M000_IG71 G_M000_IG72: mov eax, edi add eax, bword ptr [ebp-1450H] inc byte ptr [eax] jmp SHORT G_M000_IG75 G_M000_IG73: cmp dword ptr [ebp-1454H], 0 jbe SHORT G_M000_IG78 mov eax, bword ptr [ebp-1450H] mov byte ptr [eax], 49 mov edi, 1 mov ebx, bword ptr [ebp-1458H] inc dword ptr [ebx] jmp SHORT G_M000_IG76 G_M000_IG74: cmp edi, dword ptr [ebp-1454H] jae SHORT G_M000_IG78 mov eax, bword ptr [ebp-1450H] lea edx, [esi+31H] mov byte ptr [eax+edi], dl G_M000_IG75: inc edi G_M000_IG76: mov eax, edi cmp dword ptr [ebp-10H], 0xD1FFAB1E je SHORT G_M000_IG77 call CORINFO_HELP_FAIL_FAST G_M000_IG77: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 32 G_M000_IG78: call CORINFO_HELP_RNGCHKFAIL int3 RWD00 dq 3FD34413509F79FFh ; 0.301029996 RWD08 dq 3FE6147AE147AE14h ; 0.69 ; Total bytes of code 2429 980: JIT compiled System.Number:Dragon4(ulong,int,uint,bool,int,bool,System.Span`1[ubyte],byref) [Tier1, IL size=1029, code size=2429] ; Assembly listing for method System.Number+BigInteger:Pow2(uint,byref) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push edi push esi push ebx mov esi, edx G_M000_IG02: mov edi, ecx and edi, 31 mov ebx, ecx shr ebx, 5 lea ecx, [ebx+01H] mov dword ptr [esi], ecx test ebx, ebx je SHORT G_M000_IG04 G_M000_IG03: lea ecx, bword ptr [esi+04H] lea edx, [4*ebx] call [System.SpanHelpers:ClearWithoutReferences(byref,uint)] G_M000_IG04: mov eax, 1 mov ecx, edi shl eax, cl mov dword ptr [esi+4*ebx+04H], eax G_M000_IG05: pop ebx pop esi pop edi ret ; Total bytes of code 57 981: JIT compiled System.Number+BigInteger:Pow2(uint,byref) [Tier1, IL size=55, code size=57] ; Assembly listing for method System.Number+BigInteger:GetBlock(uint):uint:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: cmp byte ptr [ecx], cl mov eax, dword ptr [ecx+4*edx+04H] G_M000_IG03: ret ; Total bytes of code 7 982: JIT compiled System.Number+BigInteger:GetBlock(uint) [Tier1, IL size=20, code size=7] ; Assembly listing for method System.Number+BigInteger:ShiftLeft(uint):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 16 mov esi, ecx G_M000_IG02: mov eax, dword ptr [esi] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: test edx, edx jne SHORT G_M000_IG05 G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG05: mov edi, edx and edi, 31 mov dword ptr [ebp-14H], edi shr edx, 5 mov dword ptr [ebp-10H], edx dec eax lea ebx, [eax+edx] test edi, edi je SHORT G_M000_IG07 inc ebx lea ecx, [ebx+01H] mov dword ptr [esi], ecx mov ecx, edi neg ecx add ecx, 32 mov dword ptr [ebp-18H], ecx xor edx, edx mov dword ptr [ebp-1CH], edx jmp SHORT G_M000_IG11 G_M000_IG06: mov ecx, dword ptr [esi+4*eax+04H] mov dword ptr [esi+4*ebx+04H], ecx dec eax dec ebx G_M000_IG07: test eax, eax jge SHORT G_M000_IG06 G_M000_IG08: mov edx, dword ptr [ebp-10H] add dword ptr [esi], edx add esi, 4 mov ecx, esi shl edx, 2 call [System.SpanHelpers:ClearWithoutReferences(byref,uint)] G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG10: or edx, dword ptr [ebp-1CH] mov dword ptr [esi+4*ebx+04H], edx mov ecx, dword ptr [ebp-14H] mov edx, edi shl edx, cl dec eax dec ebx mov dword ptr [ebp-1CH], edx mov ecx, dword ptr [ebp-18H] G_M000_IG11: mov edi, dword ptr [esi+4*eax+04H] mov edx, edi shr edx, cl test eax, eax jg SHORT G_M000_IG10 G_M000_IG12: mov ecx, edx or ecx, dword ptr [ebp-1CH] mov dword ptr [esi+4*ebx+04H], ecx mov ecx, dword ptr [ebp-14H] mov edx, edi shl edx, cl mov dword ptr [esi+4*ebx], edx lea ecx, bword ptr [esi+04H] mov edx, dword ptr [ebp-10H] shl edx, 2 call [System.SpanHelpers:ClearWithoutReferences(byref,uint)] mov eax, dword ptr [esi] cmp dword ptr [esi+4*eax], 0 jne SHORT G_M000_IG13 dec eax mov dword ptr [esi], eax G_M000_IG13: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 202 983: JIT compiled System.Number+BigInteger:ShiftLeft(uint) [Tier1, IL size=337, code size=202] ; Assembly listing for method System.Number+BigInteger:Multiply(byref,uint,byref) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 1 inlinees with PGO data; 4 single block inlinees; 4 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 28 mov esi, edx mov ebx, bword ptr [ebp+08H] G_M000_IG02: mov edi, dword ptr [ecx] cmp edi, 1 jg SHORT G_M000_IG09 G_M000_IG03: test edi, edi jle SHORT G_M000_IG04 mov eax, dword ptr [ecx+04H] jmp SHORT G_M000_IG05 align [3 bytes for IG11] G_M000_IG04: xor eax, eax G_M000_IG05: mul edx:eax, esi cmp edx, 1 jae SHORT G_M000_IG08 test eax, eax jne SHORT G_M000_IG07 G_M000_IG06: xor eax, eax mov dword ptr [ebx], eax jmp G_M000_IG16 G_M000_IG07: mov dword ptr [ebx+04H], eax mov dword ptr [ebx], 1 jmp G_M000_IG16 G_M000_IG08: mov dword ptr [ebx+04H], eax mov dword ptr [ebx+08H], edx mov dword ptr [ebx], 2 jmp SHORT G_M000_IG16 G_M000_IG09: cmp esi, 1 ja SHORT G_M000_IG10 test esi, esi je SHORT G_M000_IG06 mov dword ptr [ebx], edi add ebx, 4 lea edx, bword ptr [ecx+04H] shl edi, 2 push edi mov ecx, ebx call [System.Buffer:Memmove(byref,byref,uint)] jmp SHORT G_M000_IG16 G_M000_IG10: mov dword ptr [ebp-10H], edi xor eax, eax xor edx, edx mov dword ptr [ebp-18H], edx test edi, edi jle SHORT G_M000_IG14 G_M000_IG11: mov dword ptr [ebp-14H], eax mov edi, dword ptr [ecx+4*eax+04H] mov eax, edi mul edx:eax, esi mov edi, dword ptr [ebp-18H] add eax, edi adc edx, 0 mov edi, edx cmp byte ptr [ebx], bl mov edx, dword ptr [ebp-14H] mov dword ptr [ebx+4*edx+04H], eax inc edx mov eax, dword ptr [ebp-10H] cmp edx, eax jl SHORT G_M000_IG13 G_M000_IG12: test edi, edi je SHORT G_M000_IG15 cmp byte ptr [ebx], bl mov dword ptr [ebx+4*edx+04H], edi inc eax mov dword ptr [ebx], eax jmp SHORT G_M000_IG16 G_M000_IG13: mov dword ptr [ebp-18H], edi mov eax, edx jmp SHORT G_M000_IG11 G_M000_IG14: mov edx, eax mov eax, dword ptr [ebp-10H] mov edi, dword ptr [ebp-18H] jmp SHORT G_M000_IG12 G_M000_IG15: mov dword ptr [ebx], eax G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 210 984: JIT compiled System.Number+BigInteger:Multiply(byref,uint,byref) [Tier1, IL size=158, code size=210] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceInterval:.ctor(double,double,int,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 8 vzeroupper mov esi, ecx vmovsd xmm0, qword ptr [ebp+14H] vmovsd xmm1, qword ptr [ebp+0CH] mov ecx, dword ptr [ebp+08H] G_M000_IG02: mov dword ptr [esi], edx vmovsd qword ptr [ebp+14H], xmm0 vmovsd qword ptr [esi+08H], xmm0 vmovsd qword ptr [ebp+0CH], xmm1 vmovsd qword ptr [esi+10H], xmm1 mov dword ptr [esi+18H], ecx cmp edx, 2 jle SHORT G_M000_IG04 G_M000_IG03: call [Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:GetZValue(int,int):double] fstp qword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-0CH] vmulsd xmm0, xmm0, qword ptr [ebp+0CH] jmp SHORT G_M000_IG05 G_M000_IG04: vmovsd xmm1, qword ptr [@RWD00] vmovaps xmm0, xmm1 G_M000_IG05: vmovsd qword ptr [esi+20H], xmm0 vmovsd xmm0, qword ptr [ebp+14H] vsubsd xmm1, xmm0, qword ptr [esi+20H] vmovsd qword ptr [esi+28H], xmm1 vaddsd xmm0, xmm0, qword ptr [esi+20H] vmovsd qword ptr [esi+30H], xmm0 G_M000_IG06: lea esp, [ebp-04H] pop esi pop ebp ret 20 RWD00 dq FFF8000000000000h ; -nan(ind) ; Total bytes of code 126 985: JIT compiled Perfolizer.Mathematics.Common.ConfidenceInterval:.ctor(double,double,int,int) [Tier1, IL size=89, code size=126] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:GetQuartile(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 40 vzeroupper G_M000_IG02: test dl, 1 jne SHORT G_M000_IG05 G_M000_IG03: mov eax, edx shr eax, 31 add edx, eax sar edx, 1 lea eax, [edx-01H] cmp eax, dword ptr [ecx+08H] jae G_M000_IG07 mov esi, gword ptr [ecx+04H] cmp eax, dword ptr [esi+04H] jae G_M000_IG08 shl eax, 5 vmovdqu ymm0, ymmword ptr [esi+eax+08H] vmovdqu ymmword ptr [ebp-24H], ymm0 vmovsd xmm0, qword ptr [ebp-0CH] cmp edx, dword ptr [ecx+08H] jae SHORT G_M000_IG07 mov ecx, gword ptr [ecx+04H] cmp edx, dword ptr [ecx+04H] jae SHORT G_M000_IG08 shl edx, 5 vmovdqu ymm1, ymmword ptr [ecx+edx+08H] vmovdqu ymmword ptr [ebp-24H], ymm1 vaddsd xmm0, xmm0, qword ptr [ebp-0CH] vmulsd xmm0, xmm0, qword ptr [@RWD00] vmovsd qword ptr [ebp-2CH], xmm0 fld qword ptr [ebp-2CH] G_M000_IG04: vzeroupper lea esp, [ebp-04H] pop esi pop ebp ret G_M000_IG05: mov eax, edx shr eax, 31 add eax, edx mov edx, eax sar edx, 1 mov eax, edx cmp eax, dword ptr [ecx+08H] jae SHORT G_M000_IG07 mov edx, gword ptr [ecx+04H] cmp eax, dword ptr [edx+04H] jae SHORT G_M000_IG08 shl eax, 5 vmovdqu ymm0, ymmword ptr [edx+eax+08H] vmovdqu ymmword ptr [ebp-24H], ymm0 vmovsd xmm0, qword ptr [ebp-0CH] vmovsd qword ptr [ebp-2CH], xmm0 fld qword ptr [ebp-2CH] G_M000_IG06: vzeroupper lea esp, [ebp-04H] pop esi pop ebp ret G_M000_IG07: call [System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException()] int3 G_M000_IG08: call CORINFO_HELP_RNGCHKFAIL int3 RWD00 dq 3FE0000000000000h ; 0.5 ; Total bytes of code 199 986: JIT compiled BenchmarkDotNet.Mathematics.MeasurementsStatistics:GetQuartile(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int) [Tier1, IL size=71, code size=199] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:GetZValue(int,int):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 8 vzeroupper mov esi, edx G_M000_IG02: cmp esi, 1 jle SHORT G_M000_IG04 call [Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:ToPercent(int):double] fstp qword ptr [ebp-10H] vmovsd xmm1, qword ptr [@RWD00] vmovsd xmm0, qword ptr [ebp-10H] vsubsd xmm0, xmm1, xmm0 sub esp, 8 vmovsd qword ptr [esp], xmm0 dec esi vxorps xmm0, xmm0, xmm0 vcvtsi2sd xmm0, xmm0, esi sub esp, 8 vmovsd qword ptr [esp], xmm0 call [Perfolizer.Mathematics.Distributions.StudentDistribution:InverseTwoTailStudent(double,double):double] fstp qword ptr [ebp-10H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd qword ptr [ebp-10H], xmm0 fld qword ptr [ebp-10H] G_M000_IG03: lea esp, [ebp-08H] pop esi pop edi pop ebp ret G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0x9AB mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov edi, eax mov ecx, 0xB8B mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS push eax mov edx, edi mov ecx, esi call [System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this] mov ecx, esi call CORINFO_HELP_THROW int3 RWD00 dq 3FF0000000000000h ; 1 ; Total bytes of code 161 987: JIT compiled Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:GetZValue(int,int) [Tier1, IL size=46, code size=161] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:ToPercent(int):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 8 vzeroupper mov esi, ecx G_M000_IG02: mov ecx, gword ptr [D1FFAB1EH] cmp byte ptr [ecx], cl mov edx, esi call [System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:FindValue(int):byref:this] test eax, eax je SHORT G_M000_IG04 mov esi, dword ptr [eax] mov eax, dword ptr [eax+04H] vmovsd xmm0, qword ptr [@RWD00] sub esp, 8 vmovsd qword ptr [esp], xmm0 vxorps xmm0, xmm0, xmm0 vcvtsi2sd xmm0, xmm0, eax sub esp, 8 vmovsd qword ptr [esp], xmm0 call System.Math:Pow(double,double):double fstp qword ptr [ebp-0CH] vxorps xmm1, xmm1, xmm1 vcvtsi2sd xmm1, xmm1, esi vmovsd xmm0, qword ptr [ebp-0CH] vdivsd xmm0, xmm1, xmm0 vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: lea esp, [ebp-04H] pop esi pop ebp ret G_M000_IG04: mov ecx, esi call [System.ThrowHelper:ThrowKeyNotFoundException[int](int)] int3 RWD00 dq 4024000000000000h ; 10 ; Total bytes of code 117 988: JIT compiled Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:ToPercent(int) [Tier1, IL size=44, code size=117] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:get_Item(int):System.ValueTuple`2[int,int]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push esi mov esi, edx G_M000_IG02: mov edx, dword ptr [ebp+08H] call [System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:FindValue(int):byref:this] test eax, eax je SHORT G_M000_IG04 mov ecx, dword ptr [eax] mov dword ptr [esi], ecx mov ecx, dword ptr [eax+04H] mov dword ptr [esi+04H], ecx G_M000_IG03: pop esi pop ebp ret 4 G_M000_IG04: mov ecx, dword ptr [ebp+08H] call [System.ThrowHelper:ThrowKeyNotFoundException[int](int)] int3 ; Total bytes of code 44 989: JIT compiled System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:get_Item(int) [Tier1, IL size=39, code size=44] ; Assembly listing for method Microsoft.Win32.SafeHandles.SafeFileHandle:GetFileOptions():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 12 mov esi, ecx G_M000_IG02: mov eax, dword ptr [esi+2CH] cmp eax, -1 je SHORT G_M000_IG04 G_M000_IG03: lea esp, [ebp-04H] pop esi pop ebp ret G_M000_IG04: lea edx, [ebp-08H] push edx push 4 push 16 lea edx, [ebp-10H] mov ecx, esi call [Interop+NtDll:NtQueryInformationFile(Microsoft.Win32.SafeHandles.SafeFileHandle,byref,uint,uint,uint):int] mov ecx, eax test ecx, ecx jne SHORT G_M000_IG06 xor eax, eax mov ecx, 0xD1FFAB1E test byte ptr [ebp-08H], 48 cmove eax, ecx mov ecx, eax or ecx, 0xD1FFAB1E test byte ptr [ebp-08H], 2 cmovne eax, ecx mov ecx, eax or ecx, 0xD1FFAB1E test dword ptr [ebp-08H], 0x800 cmovne eax, ecx mov ecx, eax or ecx, 0xD1FFAB1E test byte ptr [ebp-08H], 4 cmovne eax, ecx mov ecx, eax or ecx, 0xD1FFAB1E test dword ptr [ebp-08H], 0x1000 cmovne eax, ecx mov ecx, eax or ecx, 0xD1FFAB1E test byte ptr [ebp-08H], 8 cmovne eax, ecx mov dword ptr [esi+2CH], eax G_M000_IG05: lea esp, [ebp-04H] pop esi pop ebp ret G_M000_IG06: call Interop+NtDll:RtlNtStatusToDosError(int):uint mov esi, eax mov ecx, 85 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov edx, eax mov ecx, esi call [System.IO.Win32Marshal:GetExceptionForWin32Error(int,System.String):System.Exception] mov ecx, eax call CORINFO_HELP_THROW int3 ; Total bytes of code 192 990: JIT compiled Microsoft.Win32.SafeHandles.SafeFileHandle:GetFileOptions() [Tier1, IL size=159, code size=192] ; Assembly listing for method System.IO.RandomAccess:GetNativeOverlappedForSyncHandle(Microsoft.Win32.SafeHandles.SafeFileHandle,long):System.Threading.NativeOverlapped ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: push esi sub esp, 20 vzeroupper mov esi, ecx G_M000_IG02: vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmmword ptr [esp+04H], xmm0 mov ecx, edx cmp dword ptr [ecx], ecx call [Microsoft.Win32.SafeHandles.SafeFileHandle:get_CanSeek():bool:this] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: mov eax, dword ptr [esp+1CH] mov dword ptr [esp+08H], eax mov eax, dword ptr [esp+20H] mov dword ptr [esp+0CH], eax G_M000_IG04: vmovdqu xmm0, xmmword ptr [esp] vmovdqu xmmword ptr [esi], xmm0 mov eax, dword ptr [esp+10H] mov dword ptr [esi+10H], eax G_M000_IG05: add esp, 20 pop esi ret 8 ; Total bytes of code 77 991: JIT compiled System.IO.RandomAccess:GetNativeOverlappedForSyncHandle(Microsoft.Win32.SafeHandles.SafeFileHandle,long) [Tier1, IL size=39, code size=77] ; Assembly listing for method Microsoft.Win32.SafeHandles.SafeFileHandle:get_CanSeek():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi mov esi, ecx G_M000_IG02: test byte ptr [esi+08H], 1 jne SHORT G_M000_IG06 G_M000_IG03: mov edi, dword ptr [esi+30H] cmp edi, -1 jne SHORT G_M000_IG04 mov ecx, esi call [Interop+Kernel32:GetFileType(System.Runtime.InteropServices.SafeHandle):int] mov edi, eax mov dword ptr [esi+30H], edi G_M000_IG04: xor eax, eax cmp edi, 1 sete al G_M000_IG05: pop esi pop edi pop ebp ret G_M000_IG06: xor eax, eax G_M000_IG07: pop esi pop edi pop ebp ret ; Total bytes of code 52 992: JIT compiled Microsoft.Win32.SafeHandles.SafeFileHandle:get_CanSeek() [Tier1, IL size=20, code size=52] ; Assembly listing for method System.Runtime.InteropServices.SafeHandle:DangerousAddRef(byref):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 132768 ; 1 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push eax G_M000_IG02: mov eax, dword ptr [ecx+08H] mov dword ptr [ebp-0CH], eax test al, 1 jne SHORT G_M000_IG04 lea esi, bword ptr [ecx+08H] lea edi, [eax+04H] lock cmpxchg dword ptr [esi], edi cmp eax, dword ptr [ebp-0CH] jne SHORT G_M000_IG02 mov byte ptr [edx], 1 G_M000_IG03: pop ecx pop esi pop edi pop ebp ret G_M000_IG04: call [System.ThrowHelper:ThrowObjectDisposedException(System.Object)] int3 ; Total bytes of code 46 993: JIT compiled System.Runtime.InteropServices.SafeHandle:DangerousAddRef(byref) [Tier1 with Static PGO, IL size=45, code size=46] ; Assembly listing for method System.Runtime.InteropServices.SafeHandle:InternalRelease(bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 131472 ; 1 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 20 xor eax, eax mov dword ptr [ebp-1CH], eax mov esi, ecx mov edi, edx G_M000_IG02: mov ebx, dword ptr [esi+08H] mov dword ptr [ebp-10H], edi mov eax, edi movzx eax, al mov dword ptr [ebp-18H], eax test eax, eax jne G_M000_IG13 G_M000_IG03: mov edx, ebx and edx, -4 mov dword ptr [ebp-14H], edx test edx, edx je G_M000_IG15 mov ecx, ebx and ecx, -3 cmp ecx, 4 je SHORT G_M000_IG12 G_M000_IG04: xor ecx, ecx G_M000_IG05: movzx ecx, cl lea edi, [ebx-04H] cmp dword ptr [ebp-14H], 4 je SHORT G_M000_IG11 G_M000_IG06: cmp dword ptr [ebp-18H], 0 jne SHORT G_M000_IG10 G_M000_IG07: lea edx, bword ptr [esi+08H] mov eax, ebx lock cmpxchg dword ptr [edx], edi cmp eax, ebx movzx edi, byte ptr [ebp-10H] jne SHORT G_M000_IG02 test ecx, ecx jne SHORT G_M000_IG09 G_M000_IG08: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG09: call System.Runtime.InteropServices.Marshal:GetLastPInvokeError():int mov edi, eax mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+28H] call [eax+1CH]System.Runtime.InteropServices.SafeHandle:ReleaseHandle():bool:this mov ecx, edi call System.Runtime.InteropServices.Marshal:SetLastPInvokeError(int) jmp SHORT G_M000_IG08 G_M000_IG10: or edi, 2 jmp SHORT G_M000_IG07 G_M000_IG11: or edi, 1 jmp SHORT G_M000_IG06 G_M000_IG12: cmp byte ptr [esi+0CH], 0 je SHORT G_M000_IG04 mov ecx, esi mov gword ptr [ebp-1CH], ecx mov ecx, dword ptr [esi] mov ecx, dword ptr [ecx+28H] mov dword ptr [ebp-20H], ecx mov ecx, gword ptr [ebp-1CH] mov edi, dword ptr [ebp-20H] call [edi+10H]System.Runtime.InteropServices.SafeHandle:get_IsInvalid():bool:this test eax, eax sete al movzx eax, al mov ecx, eax jmp SHORT G_M000_IG05 G_M000_IG13: test bl, 2 je G_M000_IG03 G_M000_IG14: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG15: mov ecx, esi call [System.ThrowHelper:ThrowObjectDisposedException(System.Object)] int3 ; Total bytes of code 217 994: JIT compiled System.Runtime.InteropServices.SafeHandle:InternalRelease(bool) [Tier1 with Static PGO, IL size=120, code size=217] ; Assembly listing for method System.IO.Strategies.OSFileStreamStrategy:get_IsClosed():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: G_M000_IG02: mov eax, gword ptr [ecx+1CH] mov eax, dword ptr [eax+08H] and eax, 1 G_M000_IG03: ret ; Total bytes of code 10 995: JIT compiled System.IO.Strategies.OSFileStreamStrategy:get_IsClosed() [Tier1, IL size=12, code size=10] ; Assembly listing for method BenchmarkDotNet.Engines.HostExtensions:AfterMainRun(BenchmarkDotNet.Engines.IHost) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_Host():BenchmarkDotNet.Engines.IHost:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows G_M000_IG01: ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] G_M000_IG02: mov G_M000_IG02: edx, 3 mov eax, gword ptr [ecx call +0CH] [BenchmarkDotNet.Engines.IHost:SendSignal(int):this] G_M000_IG03: G_M000_IG03: ret mov esp, ebp pop ebp ; Total bytes of code 4 ret ; Total bytes of code 25 996: JIT compiled BenchmarkDotNet.Engines.Engine:get_Host() [Tier1, IL size=7, code size=4] 997: JIT compiled BenchmarkDotNet.Engines.HostExtensions:AfterMainRun(BenchmarkDotNet.Engines.IHost) [Tier0, IL size=8, code size=25] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:GetExtraStats(BenchmarkDotNet.Engines.IterationData):System.ValueTuple`3[BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.ThreadingStats,double]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 408 vzeroupper vxorps xmm4, xmm4, xmm4 mov eax, -384 vmovdqu xmmword ptr [ebp+eax-08H], xmm4 vmovdqu xmmword ptr [ebp+eax+08H], xmm4 vmovdqu xmmword ptr [ebp+eax+18H], xmm4 add eax, 48 jne SHORT -5 instr mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: call [BenchmarkDotNet.Engines.Engine:EnableMonitoring()] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.Engine:get_IterationSetupAction():System.Action:this] mov gword ptr [ebp-184H], eax mov ecx, gword ptr [ebp-184H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-184H] call [eax+0CH]System.Action:Invoke():this lea ecx, [ebp-20H] call [BenchmarkDotNet.Engines.ThreadingStats:ReadInitial():BenchmarkDotNet.Engines.ThreadingStats] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-B8H], eax mov ecx, gword ptr [ebp-B8H] call [BenchmarkDotNet.Engines.ExceptionsStats:.ctor():this] mov ecx, gword ptr [ebp-B8H] mov gword ptr [ebp-24H], ecx mov ecx, gword ptr [ebp-24H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.ExceptionsStats:StartListening():this] lea ecx, [ebp-44H] call [BenchmarkDotNet.Engines.GcStats:ReadInitial():BenchmarkDotNet.Engines.GcStats] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.Engine:get_WorkloadAction():System.Action`1[long]:this] mov gword ptr [ebp-BCH], eax lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.IterationData:get_InvokeCount():long:this] mov dword ptr [ebp-C4H], eax mov dword ptr [ebp-C0H], edx push dword ptr [ebp-C0H] push dword ptr [ebp-C4H] lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.IterationData:get_UnrollFactor():int:this] mov dword ptr [ebp-158H], eax mov eax, dword ptr [ebp-158H] sar eax, 31 push eax push dword ptr [ebp-158H] call CORINFO_HELP_LDIV mov dword ptr [ebp-160H], eax mov dword ptr [ebp-15CH], edx push dword ptr [ebp-15CH] push dword ptr [ebp-160H] mov ecx, gword ptr [ebp-BCH] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-BCH] call [eax+0CH]System.Action`1[long]:Invoke(long):this mov ecx, gword ptr [ebp-24H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.ExceptionsStats:Stop():this] lea ecx, [ebp-E4H] call [BenchmarkDotNet.Engines.GcStats:ReadFinal():BenchmarkDotNet.Engines.GcStats] lea ecx, [ebp-5CH] call [BenchmarkDotNet.Engines.ThreadingStats:ReadFinal():BenchmarkDotNet.Engines.ThreadingStats] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.Engine:get_IterationCleanupAction():System.Action:this] mov gword ptr [ebp-188H], eax mov ecx, gword ptr [ebp-188H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-188H] G_M000_IG03: call [eax+0CH]System.Action:Invoke():this lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.IterationData:get_InvokeCount():long:this] mov dword ptr [ebp-ECH], eax mov dword ptr [ebp-E8H], edx push dword ptr [ebp-E8H] push dword ptr [ebp-ECH] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.Engine:get_OperationsPerInvoke():long:this] mov dword ptr [ebp-168H], eax mov dword ptr [ebp-164H], edx push dword ptr [ebp-164H] push dword ptr [ebp-168H] call CORINFO_HELP_LMUL mov dword ptr [ebp-64H], eax mov dword ptr [ebp-60H], edx sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp-E4H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-D4H] vmovdqu xmmword ptr [esp+10H], xmm0 sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp-44H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-34H] vmovdqu xmmword ptr [esp+10H], xmm0 lea ecx, [ebp-9CH] call [BenchmarkDotNet.Engines.GcStats:op_Subtraction(BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.GcStats):BenchmarkDotNet.Engines.GcStats] push dword ptr [ebp-60H] push dword ptr [ebp-64H] lea ecx, [ebp-9CH] lea edx, [ebp-10CH] call [BenchmarkDotNet.Engines.GcStats:WithTotalOperations(long):BenchmarkDotNet.Engines.GcStats:this] sub esp, 24 vmovdqu xmm0, xmmword ptr [ebp-5CH] vmovdqu xmmword ptr [esp], xmm0 vmovq xmm0, qword ptr [ebp-4CH] vmovq qword ptr [esp+10H], xmm0 sub esp, 24 vmovdqu xmm0, xmmword ptr [ebp-20H] vmovdqu xmmword ptr [esp], xmm0 vmovq xmm0, qword ptr [ebp-10H] vmovq qword ptr [esp+10H], xmm0 lea ecx, [ebp-B4H] call [BenchmarkDotNet.Engines.ThreadingStats:op_Subtraction(BenchmarkDotNet.Engines.ThreadingStats,BenchmarkDotNet.Engines.ThreadingStats):BenchmarkDotNet.Engines.ThreadingStats] lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.IterationData:get_InvokeCount():long:this] mov dword ptr [ebp-114H], eax mov dword ptr [ebp-110H], edx push dword ptr [ebp-110H] push dword ptr [ebp-114H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.Engine:get_OperationsPerInvoke():long:this] mov dword ptr [ebp-170H], eax mov dword ptr [ebp-16CH], edx push dword ptr [ebp-16CH] push dword ptr [ebp-170H] call CORINFO_HELP_LMUL mov dword ptr [ebp-178H], eax mov dword ptr [ebp-174H], edx push dword ptr [ebp-174H] G_M000_IG04: push dword ptr [ebp-178H] lea edx, [ebp-7CH] lea ecx, [ebp-B4H] call [BenchmarkDotNet.Engines.ThreadingStats:WithTotalOperations(long):BenchmarkDotNet.Engines.ThreadingStats:this] vxorps ymm0, ymm0, ymm0 vmovdqu ymmword ptr [ebp-154H], ymm0 vmovdqu ymmword ptr [ebp-134H], ymm0 sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp-10CH] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-FCH] vmovdqu xmmword ptr [esp+10H], xmm0 sub esp, 24 vmovdqu xmm0, xmmword ptr [ebp-7CH] vmovdqu xmmword ptr [esp], xmm0 vmovq xmm0, qword ptr [ebp-6CH] vmovq qword ptr [esp+10H], xmm0 mov ecx, gword ptr [ebp-24H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.ExceptionsStats:get_ExceptionsCount():long:this] mov dword ptr [ebp-180H], eax mov dword ptr [ebp-17CH], edx push dword ptr [ebp-17CH] push dword ptr [ebp-180H] call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-190H] push dword ptr [ebp-60H] push dword ptr [ebp-64H] call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-198H] vmovsd xmm1, qword ptr [ebp-190H] vmovsd xmm0, qword ptr [ebp-198H] vdivsd xmm0, xmm1, xmm0 sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-154H] call [System.ValueTuple`3[BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.ThreadingStats,double]:.ctor(BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.ThreadingStats,double):this] mov eax, bword ptr [ebp-08H] vmovdqu ymm0, ymmword ptr [ebp-154H] vmovdqu ymmword ptr [eax], ymm0 vmovdqu ymm0, ymmword ptr [ebp-134H] vmovdqu ymmword ptr [eax+20H], ymm0 G_M000_IG05: mov esp, ebp pop ebp ret 32 ; Total bytes of code 894 998: JIT compiled BenchmarkDotNet.Engines.Engine:GetExtraStats(BenchmarkDotNet.Engines.IterationData) [Tier0, IL size=179, code size=894] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:EnableMonitoring() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsOldMono():bool] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: pop ebp ret G_M000_IG04: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsFullFramework():bool] test eax, eax je SHORT G_M000_IG05 mov ecx, 1 call [System.AppDomain:set_MonitoringIsEnabled(bool)] G_M000_IG05: pop ebp ret ; Total bytes of code 38 999: JIT compiled BenchmarkDotNet.Engines.Engine:EnableMonitoring() [Tier0, IL size=22, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:ReadInitial():BenchmarkDotNet.Engines.ThreadingStats ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 52 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-30H], eax mov dword ptr [ebp-34H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 432 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-30H], ecx mov ecx, gword ptr [ebp-30H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-30H] call [eax+0CH]System.Func`1[long]:Invoke():long:this mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], edx vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [ebp-24H], xmm0 vmovdqu xmmword ptr [ebp-1CH], xmm0 mov ecx, 0xD1FFAB1E mov edx, 432 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-34H], ecx mov ecx, gword ptr [ebp-34H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-34H] call [eax+0CH]System.Func`1[long]:Invoke():long:this mov dword ptr [ebp-2CH], eax mov dword ptr [ebp-28H], edx push dword ptr [ebp-28H] push dword ptr [ebp-2CH] push dword ptr [ebp-08H] push dword ptr [ebp-0CH] push 0 push 0 lea ecx, [ebp-24H] call [BenchmarkDotNet.Engines.ThreadingStats:.ctor(long,long,long):this] mov eax, bword ptr [ebp-04H] vmovdqu xmm0, xmmword ptr [ebp-24H] vmovdqu xmmword ptr [eax], xmm0 vmovdqu xmm0, xmmword ptr [ebp-1CH] vmovdqu xmmword ptr [eax+08H], xmm0 G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 175 1000: JIT compiled BenchmarkDotNet.Engines.ThreadingStats:ReadInitial() [Tier0, IL size=30, code size=175] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Engines.ThreadingStats:CreateGetterDelegate(System.Type,System.String):System.Func`1[long]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Engines.ThreadingStats:CreateGetterDelegate(System.Type,System.String):System.Func`1[long]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: pop ebp ret ; Total bytes of code 57 1001: JIT compiled BenchmarkDotNet.Engines.ThreadingStats:.cctor() [Tier0, IL size=51, code size=57] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:CreateGetterDelegate(System.Type,System.String):System.Func`1[long] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-24H], xmm4 xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Type:GetProperty(System.String):System.Reflection.PropertyInfo:this] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] xor edx, edx call [System.Reflection.PropertyInfo:op_Inequality(System.Reflection.PropertyInfo,System.Reflection.PropertyInfo):bool] test eax, eax jne G_M000_IG04 mov ecx, 0xD1FFAB1E mov edx, 0x40C call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-14H], ecx mov ecx, gword ptr [ebp-14H] mov gword ptr [ebp-10H], ecx cmp gword ptr [ebp-14H], 0 jne G_M000_IG05 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax mov ecx, 0xD1FFAB1E mov edx, 0x40C call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-1CH], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-1CH] mov ecx, gword ptr [ebp-18H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x40C call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov eax, gword ptr [ebp-18H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-18H] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, gword ptr [ebp-0CH] cmp dword ptr [ecx], ecx call [System.Reflection.PropertyInfo:GetGetMethod():System.Reflection.MethodInfo:this] mov gword ptr [ebp-20H], eax mov ecx, gword ptr [ebp-20H] mov edx, 0xD1FFAB1E mov eax, gword ptr [ebp-20H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+3CH] call [eax+08H]System.Reflection.MethodInfo:CreateDelegate(System.Type):System.Delegate:this mov gword ptr [ebp-24H], eax mov edx, gword ptr [ebp-24H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_CHKCASTANY] mov gword ptr [ebp-10H], eax G_M000_IG05: mov eax, gword ptr [ebp-10H] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 257 1002: JIT compiled BenchmarkDotNet.Engines.ThreadingStats:CreateGetterDelegate(System.Type,System.String) [Tier0, IL size=76, code size=257] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:.ctor(long,long,long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov edx, dword ptr [ebp+18H] mov dword ptr [eax], edx mov eax, dword ptr [ebp+1CH] mov edx, bword ptr [ebp-08H] mov dword ptr [edx+04H], eax mov eax, bword ptr [ebp-04H] add eax, 8 mov bword ptr [ebp-0CH], eax mov eax, bword ptr [ebp-0CH] mov edx, dword ptr [ebp+10H] mov dword ptr [eax], edx mov eax, dword ptr [ebp+14H] mov edx, bword ptr [ebp-0CH] mov dword ptr [edx+04H], eax mov eax, bword ptr [ebp-04H] add eax, 16 mov bword ptr [ebp-10H], eax mov eax, bword ptr [ebp-10H] mov edx, dword ptr [ebp+08H] mov dword ptr [eax], edx mov eax, dword ptr [ebp+0CH] mov edx, bword ptr [ebp-10H] mov dword ptr [edx+04H], eax G_M000_IG03: mov esp, ebp pop ebp ret 24 ; Total bytes of code 101 1003: JIT compiled BenchmarkDotNet.Engines.ThreadingStats:.ctor(long,long,long) [Tier0, IL size=22, code size=101] ; Assembly listing for method BenchmarkDotNet.Engines.ExceptionsStats:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 1004: JIT compiled BenchmarkDotNet.Engines.ExceptionsStats:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Engines.ExceptionsStats:StartListening():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax call [System.AppDomain:get_CurrentDomain():System.AppDomain] mov gword ptr [ebp-0CH], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.AppDomain:add_FirstChanceException(System.EventHandler`1[System.Runtime.ExceptionServices.FirstChanceExceptionEventArgs]):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 74 1005: JIT compiled BenchmarkDotNet.Engines.ExceptionsStats:StartListening() [Tier0, IL size=23, code size=74] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:ReadInitial():BenchmarkDotNet.Engines.GcStats ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 52 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: call [BenchmarkDotNet.Engines.GcStats:GetAllocatedBytes():long] mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], edx xor ecx, ecx call [System.GC:CollectionCount(int):int] mov dword ptr [ebp-10H], eax mov ecx, 1 call [System.GC:CollectionCount(int):int] mov dword ptr [ebp-14H], eax vxorps ymm0, ymm0, ymm0 vmovdqu ymmword ptr [ebp-34H], ymm0 push dword ptr [ebp-14H] mov ecx, 2 call [System.GC:CollectionCount(int):int] push eax push dword ptr [ebp-08H] push dword ptr [ebp-0CH] push 0 push 0 lea ecx, [ebp-34H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Engines.GcStats:.ctor(int,int,int,long,long):this] mov eax, bword ptr [ebp-04H] vmovdqu ymm0, ymmword ptr [ebp-34H] vmovdqu ymmword ptr [eax], ymm0 G_M000_IG03: vzeroupper mov esp, ebp pop ebp ret ; Total bytes of code 122 1006: JIT compiled BenchmarkDotNet.Engines.GcStats:ReadInitial() [Tier0, IL size=33, code size=122] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:GetAllocatedBytes():long ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 G_M000_IG02: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsOldMono():bool] test eax, eax je SHORT G_M000_IG04 xor eax, eax xor edx, edx G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsWasm():bool] test eax, eax je SHORT G_M000_IG06 xor eax, eax xor edx, edx G_M000_IG05: mov esp, ebp pop ebp ret G_M000_IG06: call [System.GC:Collect()] call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsFullFramework():bool] test eax, eax je SHORT G_M000_IG08 call [System.AppDomain:get_CurrentDomain():System.AppDomain] mov ecx, eax cmp dword ptr [ecx], ecx call [System.AppDomain:get_MonitoringTotalAllocatedMemorySize():long:this] mov dword ptr [ebp-08H], eax mov dword ptr [ebp-04H], edx mov eax, dword ptr [ebp-08H] mov edx, dword ptr [ebp-04H] G_M000_IG07: mov esp, ebp pop ebp ret G_M000_IG08: mov ecx, 1 call System.GC:GetTotalAllocatedBytes(bool):long mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], edx mov eax, dword ptr [ebp-10H] mov edx, dword ptr [ebp-0CH] G_M000_IG09: mov esp, ebp pop ebp ret ; Total bytes of code 116 1007: JIT compiled BenchmarkDotNet.Engines.GcStats:GetAllocatedBytes() [Tier0, IL size=50, code size=116] ; Assembly listing for method System.IO.StreamWriter:Flush(bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 6 single block inlinees; 6 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 28 xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-10H], esp mov dword ptr [ebp-24H], 0xD1FFAB1E mov esi, ecx mov ebx, edx mov edi, dword ptr [ebp+08H] G_M000_IG02: cmp byte ptr [esi+33H], 0 jne G_M000_IG17 movzx ecx, bl or ecx, dword ptr [esi+28H] mov dword ptr [ebp+08H], edi mov eax, edi movzx edx, al or ecx, edx jne SHORT G_M000_IG05 G_M000_IG03: cmp dword ptr [ebp-24H], 0xD1FFAB1E je SHORT G_M000_IG04 call CORINFO_HELP_FAIL_FAST G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG05: cmp byte ptr [esi+31H], 0 jne SHORT G_M000_IG06 mov byte ptr [esi+31H], 1 mov ecx, gword ptr [esi+14H] lea edx, [ebp-18H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+18H]System.Text.Encoding:get_Preamble():System.ReadOnlySpan`1[ubyte]:this cmp dword ptr [ebp-14H], 0 jle SHORT G_M000_IG06 mov ecx, gword ptr [esi+10H] push dword ptr [ebp-14H] push bword ptr [ebp-18H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+38H] call [eax+1CH]System.IO.Stream:Write(System.ReadOnlySpan`1[ubyte]):this G_M000_IG06: mov ecx, gword ptr [esi+1CH] test ecx, ecx je SHORT G_M000_IG07 lea eax, bword ptr [ecx+08H] mov edx, dword ptr [ecx+04H] mov bword ptr [ebp-20H], eax jmp SHORT G_M000_IG11 G_M000_IG07: mov ecx, gword ptr [esi+14H] mov edx, dword ptr [esi+28H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+3CH] call [eax+14H]System.Text.Encoding:GetMaxByteCount(int):int:this cmp eax, 0x400 jg SHORT G_M000_IG09 mov ecx, -0x400 add ecx, esp jb SHORT G_M000_IG08 xor ecx, ecx G_M000_IG08: test dword ptr [esp], esp sub esp, 0x1000 cmp esp, ecx jae SHORT G_M000_IG08 mov esp, ecx lea eax, [esp] mov dword ptr [ebp-10H], esp mov edx, 0x400 jmp SHORT G_M000_IG10 G_M000_IG09: mov ecx, gword ptr [esi+14H] mov edx, gword ptr [esi+20H] mov edx, dword ptr [edx+04H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+3CH] call [eax+14H]System.Text.Encoding:GetMaxByteCount(int):int:this mov edx, eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC lea edx, bword ptr [esi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX lea edx, bword ptr [eax+08H] mov ecx, dword ptr [eax+04H] mov eax, edx mov edx, ecx G_M000_IG10: mov bword ptr [ebp-20H], eax mov dword ptr [ebp-1CH], edx G_M000_IG11: mov ecx, gword ptr [esi+18H] mov edi, gword ptr [esi+20H] mov eax, dword ptr [esi+28H] test edi, edi jne SHORT G_M000_IG12 test eax, eax jne SHORT G_M000_IG18 xor eax, eax xor edi, edi jmp SHORT G_M000_IG13 G_M000_IG12: mov dword ptr [ebp-1CH], edx mov edx, dword ptr [edi+04H] cmp dword ptr [edi+04H], eax jb SHORT G_M000_IG18 add edi, 8 xchg eax, edi mov edx, dword ptr [ebp-1CH] G_M000_IG13: push edi push eax mov dword ptr [ebp-1CH], edx push edx mov edi, bword ptr [ebp-20H] push edi movzx edx, byte ptr [ebp+08H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+2CH] call [eax+08H]System.Text.Encoder:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte],bool):int:this xor ecx, ecx mov dword ptr [esi+28H], ecx test eax, eax jle SHORT G_M000_IG14 mov ecx, gword ptr [esi+10H] cmp eax, dword ptr [ebp-1CH] ja SHORT G_M000_IG18 push eax push edi mov eax, dword ptr [ecx] mov eax, dword ptr [eax+38H] call [eax+1CH]System.IO.Stream:Write(System.ReadOnlySpan`1[ubyte]):this G_M000_IG14: test bl, bl je SHORT G_M000_IG15 mov ecx, gword ptr [esi+10H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+30H] call [eax+18H]System.IO.Stream:Flush():this G_M000_IG15: cmp dword ptr [ebp-24H], 0xD1FFAB1E je SHORT G_M000_IG16 call CORINFO_HELP_FAIL_FAST G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG17: mov ecx, esi call [System.IO.StreamWriter:g__ThrowObjectDisposedException|77_0():this] int3 G_M000_IG18: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 ; Total bytes of code 407 1008: JIT compiled System.IO.StreamWriter:Flush(bool,bool) [Tier1, IL size=272, code size=407] ; Assembly listing for method System.Text.UTF8Encoding:GetMaxByteCount(int):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 8 mov edi, ecx mov esi, edx G_M000_IG02: test esi, esi jl SHORT G_M000_IG06 mov ebx, esi sar ebx, 31 add esi, 1 adc ebx, 0 mov ecx, gword ptr [edi+08H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+14H]System.Text.EncoderFallback:get_MaxCharCount():int:this cmp eax, 1 jle SHORT G_M000_IG04 G_M000_IG03: push ebx push esi mov ecx, gword ptr [edi+08H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+14H]System.Text.EncoderFallback:get_MaxCharCount():int:this mov edx, eax sar edx, 31 push edx push eax call CORINFO_HELP_LMUL mov esi, eax mov ebx, edx G_M000_IG04: push ebx push esi push 0 push 3 call CORINFO_HELP_LMUL mov esi, eax mov ebx, edx cmp esi, 0xD1FFAB1E sbb ebx, 0 jge SHORT G_M000_IG07 mov eax, esi G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG06: mov ecx, 0x13872 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax mov edx, esi call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] int3 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0x13872 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov edi, eax call [System.SR:get_ArgumentOutOfRange_GetByteCountOverflow():System.String] push eax mov edx, edi mov ecx, esi call [System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this] mov ecx, esi call CORINFO_HELP_THROW int3 ; Total bytes of code 189 1009: JIT compiled System.Text.UTF8Encoding:GetMaxByteCount(int) [Tier1, IL size=79, code size=189] ; Assembly listing for method System.Text.EncoderExceptionFallback:get_MaxCharCount():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: xor eax, eax G_M000_IG03: ret ; Total bytes of code 3 1010: JIT compiled System.Text.EncoderExceptionFallback:get_MaxCharCount() [Tier1, IL size=2, code size=3] ; Assembly listing for method System.Text.Encoder:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte],bool):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 16 xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax G_M000_IG02: mov eax, bword ptr [ebp+10H] mov esi, dword ptr [ebp+14H] mov edi, esi mov ebx, 1 test edi, edi cmove eax, ebx mov bword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov edi, bword ptr [ebp+08H] mov bword ptr [ebp-1CH], edi mov ebx, dword ptr [ebp+0CH] mov eax, ebx mov edi, 1 test eax, eax mov eax, edi cmovne eax, bword ptr [ebp-1CH] mov bword ptr [ebp-18H], eax mov edi, dword ptr [ebp-10H] push esi push eax push ebx movzx edx, dl push edx mov edx, edi mov eax, dword ptr [ecx] mov eax, dword ptr [eax+2CH] call [eax+04H]System.Text.Encoder:GetBytes(uint,int,uint,int,bool):int:this G_M000_IG03: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 ; Total bytes of code 98 1011: JIT compiled System.Text.Encoder:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte],bool) [Tier1, IL size=44, code size=98] ; Assembly listing for method System.Text.EncoderNLS:GetBytes(uint,int,uint,int,bool):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 4 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, dword ptr [ebp+14H] mov eax, dword ptr [ebp+10H] mov edi, dword ptr [ebp+0CH] G_M000_IG02: test edx, edx je SHORT G_M000_IG04 test eax, eax je SHORT G_M000_IG05 test edi, edi jl SHORT G_M000_IG06 test esi, esi jl SHORT G_M000_IG07 mov ebx, dword ptr [ebp+08H] mov byte ptr [ecx+16H], bl mov byte ptr [ecx+17H], 1 mov ebx, gword ptr [ecx+0CH] push esi push eax push edi push ecx mov ecx, ebx mov eax, dword ptr [ebx] mov eax, dword ptr [eax+40H] call [eax+1CH]System.Text.Encoding:GetBytes(uint,int,uint,int,System.Text.EncoderNLS):int:this G_M000_IG03: pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG04: mov ecx, 0x13852 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 G_M000_IG05: mov ecx, 0x1DC9 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 G_M000_IG06: mov ecx, 0x13838 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax mov edx, edi call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] int3 G_M000_IG07: mov ecx, 0x13872 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax mov edx, esi call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] int3 ; Total bytes of code 165 1012: JIT compiled System.Text.EncoderNLS:GetBytes(uint,int,uint,int,bool) [Tier1, IL size=78, code size=165] ; Assembly listing for method System.Text.Encoding:GetBytes(uint,int,uint,int,System.Text.EncoderNLS):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 8 mov esi, ecx mov edi, edx mov ebx, dword ptr [ebp+14H] mov eax, gword ptr [ebp+08H] G_M000_IG02: xor edx, edx mov dword ptr [ebp-10H], edx xor ecx, ecx mov dword ptr [ebp-14H], ecx mov gword ptr [ebp+08H], eax mov ecx, eax cmp dword ptr [ecx], ecx call [System.Text.EncoderNLS:get_HasLeftoverData():bool:this] test eax, eax jne SHORT G_M000_IG06 G_M000_IG03: push ebx push dword ptr [ebp+10H] push dword ptr [ebp+0CH] lea ecx, [ebp-14H] push ecx mov ecx, esi mov edx, edi mov eax, dword ptr [esi] mov eax, dword ptr [eax+44H] call [eax]System.Text.Encoding:GetBytesFast(uint,int,uint,int,byref):int:this mov ecx, eax cmp dword ptr [ebp-14H], ebx jne SHORT G_M000_IG05 mov esi, gword ptr [ebp+08H] mov dword ptr [esi+10H], ebx mov eax, ecx G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG05: mov dword ptr [ebp-10H], ecx G_M000_IG06: push ebx push dword ptr [ebp+10H] push dword ptr [ebp+0CH] push dword ptr [ebp-14H] push dword ptr [ebp-10H] push gword ptr [ebp+08H] mov ecx, esi mov edx, edi call [System.Text.Encoding:GetBytesWithFallback(uint,int,uint,int,int,int,System.Text.EncoderNLS):int:this] G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 ; Total bytes of code 132 1013: JIT compiled System.Text.Encoding:GetBytes(uint,int,uint,int,System.Text.EncoderNLS) [Tier1, IL size=57, code size=132] ; Assembly listing for method System.Text.EncoderNLS:get_HasLeftoverData():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: cmp word ptr [ecx+14H], 0 jne SHORT G_M000_IG07 G_M000_IG03: mov ecx, gword ptr [ecx+08H] test ecx, ecx je SHORT G_M000_IG05 mov eax, dword ptr [ecx] mov eax, dword ptr [eax+2CH] call [eax]System.Text.EncoderFallbackBuffer:get_Remaining():int:this test eax, eax setg al movzx eax, al G_M000_IG04: pop ebp ret G_M000_IG05: xor eax, eax G_M000_IG06: pop ebp ret G_M000_IG07: mov eax, 1 G_M000_IG08: pop ebp ret ; Total bytes of code 45 1014: JIT compiled System.Text.EncoderNLS:get_HasLeftoverData() [Tier1, IL size=35, code size=45] ; Assembly listing for method System.Text.UTF8Encoding:GetBytesFast(uint,int,uint,int,byref):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 8 mov esi, edx mov edi, dword ptr [ebp+10H] G_M000_IG02: push edi push dword ptr [ebp+0CH] lea ecx, [ebp-0CH] push ecx lea ecx, [ebp-10H] push ecx mov ecx, esi mov edx, dword ptr [ebp+14H] call [System.Text.Unicode.Utf8Utility:TranscodeToUtf8(uint,int,uint,int,byref,byref):int] mov eax, dword ptr [ebp-0CH] sub eax, esi mov edx, eax shr edx, 31 add eax, edx sar eax, 1 mov esi, bword ptr [ebp+08H] mov dword ptr [esi], eax mov eax, dword ptr [ebp-10H] sub eax, edi G_M000_IG03: lea esp, [ebp-08H] pop esi pop edi pop ebp ret 16 ; Total bytes of code 69 1015: JIT compiled System.Text.UTF8Encoding:GetBytesFast(uint,int,uint,int,byref) [Tier1, IL size=33, code size=69] ; Assembly listing for method System.Text.Unicode.Utf8Utility:TranscodeToUtf8(uint,int,uint,int,byref,byref):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; PGO data available, but IL did not match ; 1 inlinees with PGO data; 30 single block inlinees; 13 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 36 mov edi, ecx mov eax, edx mov esi, dword ptr [ebp+14H] mov ebx, dword ptr [ebp+10H] G_M000_IG02: cmp eax, ebx mov dword ptr [ebp-10H], eax mov ecx, ebx cmovle ecx, eax push ecx mov ecx, edi mov edx, esi call [System.Text.Ascii:NarrowUtf16ToAscii(uint,uint,uint):uint] lea edi, [edi+2*eax] add esi, eax mov edx, dword ptr [ebp-10H] cmp eax, edx jne SHORT G_M000_IG05 G_M000_IG03: mov ebx, bword ptr [ebp+0CH] mov dword ptr [ebx], edi mov ebx, bword ptr [ebp+08H] mov dword ptr [ebx], esi xor eax, eax G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG05: sub edx, eax sub ebx, eax cmp edx, 2 jl G_M000_IG33 mov dword ptr [ebp-10H], edx lea eax, [edi+2*edx-04H] mov dword ptr [ebp-14H], eax G_M000_IG06: mov ecx, dword ptr [edi] G_M000_IG07: test ecx, 0xD1FFAB1E jne G_M000_IG16 G_M000_IG08: cmp ebx, 2 jl G_M000_IG35 mov edx, ecx shr edx, 8 or edx, ecx mov word ptr [esi], dx add edi, 4 add esi, 2 add ebx, -2 mov edx, eax sub edx, edi mov ecx, edx shr ecx, 31 add edx, ecx sar edx, 1 add edx, 2 xor ecx, ecx mov dword ptr [ebp-24H], edx mov dword ptr [ebp-28H], ecx mov ecx, ebx mov edx, ecx sar edx, 31 mov dword ptr [ebp-2CH], edx mov edx, dword ptr [ebp-24H] cmp ecx, edx mov edx, dword ptr [ebp-2CH] sbb edx, dword ptr [ebp-28H] jge SHORT G_M000_IG09 jmp SHORT G_M000_IG10 align [0 bytes for IG11] G_M000_IG09: mov edx, dword ptr [ebp-24H] mov ecx, edx G_M000_IG10: shr ecx, 2 mov dword ptr [ebp-18H], ecx xor edx, edx mov dword ptr [ebp-20H], edx test ecx, ecx jbe SHORT G_M000_IG14 G_M000_IG11: mov ecx, dword ptr [edi] mov edx, dword ptr [edi+04H] mov dword ptr [ebp-1CH], edx or edx, ecx test edx, 0xD1FFAB1E jne SHORT G_M000_IG15 mov edx, ecx shr edx, 8 or edx, ecx mov word ptr [esi], dx mov edx, dword ptr [ebp-1CH] mov ecx, edx shr ecx, 8 or ecx, edx mov word ptr [esi+02H], cx add edi, 8 add esi, 4 mov edx, dword ptr [ebp-20H] inc edx mov ecx, dword ptr [ebp-18H] cmp edx, ecx jb SHORT G_M000_IG13 G_M000_IG12: shl edx, 2 sub ebx, edx jmp G_M000_IG31 G_M000_IG13: mov dword ptr [ebp-20H], edx jmp SHORT G_M000_IG11 G_M000_IG14: mov edx, dword ptr [ebp-20H] jmp SHORT G_M000_IG12 G_M000_IG15: mov edx, dword ptr [ebp-20H] shl edx, 2 sub ebx, edx test ecx, 0xD1FFAB1E jne SHORT G_M000_IG16 mov edx, ecx shr edx, 8 or edx, ecx mov word ptr [esi], dx add edi, 4 add esi, 2 add ebx, -2 mov edx, dword ptr [ebp-1CH] mov ecx, edx G_M000_IG16: test ecx, 0xFF80 jne SHORT G_M000_IG18 G_M000_IG17: test ebx, ebx je G_M000_IG43 mov byte ptr [esi], cl add edi, 2 inc esi dec ebx cmp edi, eax ja SHORT G_M000_IG20 mov ecx, dword ptr [edi] G_M000_IG18: test ecx, 0xF800 jne G_M000_IG23 G_M000_IG19: lea edx, [ecx+D1FFAB1EH] cmp edx, 0xD1FFAB1E ja SHORT G_M000_IG21 cmp ebx, 4 jl G_M000_IG35 mov edx, ecx shr edx, 6 and edx, 0xD1FFAB1E shl ecx, 8 and ecx, 0xD1FFAB1E add edx, ecx add edx, 0xD1FFAB1E mov dword ptr [esi], edx add edi, 4 add esi, 4 add ebx, -4 cmp edi, eax ja G_M000_IG32 mov ecx, dword ptr [edi] lea edx, [ecx-80H] movzx edx, dx cmp edx, 0x780 mov eax, dword ptr [ebp-14H] jb SHORT G_M000_IG19 jmp G_M000_IG07 G_M000_IG20: jmp G_M000_IG32 G_M000_IG21: cmp ebx, 2 jl G_M000_IG43 lea edx, [4*ecx] and edx, 0x1F00 mov dword ptr [ebp-30H], edx mov edx, ecx and edx, 63 mov eax, dword ptr [ebp-30H] lea eax, [eax+edx+C080H] movzx eax, ax ror ax, 8 movzx eax, ax mov word ptr [esi], ax cmp ecx, 0xD1FFAB1E jae SHORT G_M000_IG22 cmp ebx, 3 jl G_M000_IG34 shr ecx, 16 mov byte ptr [esi+02H], cl add edi, 4 add esi, 3 add ebx, -3 jmp G_M000_IG31 G_M000_IG22: add edi, 2 add esi, 2 add ebx, -2 cmp edi, dword ptr [ebp-14H] ja G_M000_IG32 mov ecx, dword ptr [edi] mov eax, dword ptr [ebp-14H] G_M000_IG23: lea edx, [ecx-D800H] test edx, 0xF800 je G_M000_IG30 test ecx, 0xD1FFAB1E je G_M000_IG25 G_M000_IG24: lea edx, [ecx+D1FFAB1EH] cmp edx, 0xD1FFAB1E jb G_M000_IG25 cmp ebx, 6 jl G_M000_IG25 lea edx, [4*ecx] and edx, 0x3F00 mov eax, ecx and eax, 63 shl eax, 16 or eax, edx mov dword ptr [ebp-30H], eax mov edx, ecx shr edx, 4 and edx, 0xD1FFAB1E mov eax, ecx shr eax, 12 and eax, 15 or eax, edx add eax, dword ptr [ebp-30H] add eax, 0xD1FFAB1E mov dword ptr [esi], eax mov eax, ecx shr eax, 22 and eax, 63 shr ecx, 8 and ecx, 0x3F00 add eax, ecx add eax, 0x8080 mov word ptr [esi+04H], ax add edi, 4 add esi, 6 add ebx, -6 cmp edi, dword ptr [ebp-14H] ja G_M000_IG32 mov ecx, dword ptr [edi] test ecx, 0xF800 mov eax, dword ptr [ebp-14H] jne G_M000_IG23 jmp G_M000_IG07 G_M000_IG25: cmp ebx, 3 jl G_M000_IG43 lea edx, [4*ecx] and edx, 0x3F00 movzx eax, cx shr eax, 12 add eax, edx add eax, 0x80E0 mov word ptr [esi], ax mov eax, ecx and eax, 63 or eax, -128 mov byte ptr [esi+02H], al add edi, 2 add esi, 3 add ebx, -3 cmp ecx, 0xD1FFAB1E jae SHORT G_M000_IG28 G_M000_IG26: test ebx, ebx je G_M000_IG43 shr ecx, 16 mov byte ptr [esi], cl add edi, 2 inc esi dec ebx mov eax, dword ptr [ebp-14H] cmp edi, eax ja SHORT G_M000_IG27 mov ecx, dword ptr [edi] test ecx, 0xF800 jne G_M000_IG23 jmp G_M000_IG07 G_M000_IG27: jmp G_M000_IG32 G_M000_IG28: mov eax, dword ptr [ebp-14H] cmp edi, eax ja SHORT G_M000_IG29 mov ecx, dword ptr [edi] jmp G_M000_IG16 G_M000_IG29: jmp SHORT G_M000_IG32 G_M000_IG30: lea edx, [ecx+D1FFAB1EH] test edx, 0xD1FFAB1E jne G_M000_IG44 cmp ebx, 4 jl G_M000_IG43 add ecx, 64 mov edx, ecx and edx, 3 shl edx, 20 or edx, 0xD1FFAB1E mov dword ptr [ebp-30H], edx mov edx, ecx and edx, 0xD1FFAB1E bswap edx rol edx, 16 or edx, dword ptr [ebp-30H] mov dword ptr [ebp-30H], edx mov edx, ecx shr edx, 6 and edx, 0xD1FFAB1E or edx, dword ptr [ebp-30H] and ecx, 252 shl ecx, 6 or edx, ecx mov dword ptr [esi], edx add edi, 4 add esi, 4 add ebx, -4 G_M000_IG31: mov eax, dword ptr [ebp-14H] cmp edi, eax jbe G_M000_IG06 G_M000_IG32: mov eax, dword ptr [ebp-14H] sub eax, edi mov edx, eax shr edx, 31 add edx, eax sar edx, 1 add edx, 2 mov eax, edx G_M000_IG33: test edx, edx je G_M000_IG41 movzx eax, word ptr [edi] jmp SHORT G_M000_IG36 G_M000_IG34: add edi, 2 add esi, 2 jmp G_M000_IG43 G_M000_IG35: movzx eax, cx mov edx, dword ptr [ebp-10H] G_M000_IG36: cmp eax, 127 ja SHORT G_M000_IG37 test ebx, ebx je G_M000_IG43 mov byte ptr [esi], al add edi, 2 inc esi jmp SHORT G_M000_IG40 G_M000_IG37: cmp eax, 0x800 jae SHORT G_M000_IG38 cmp ebx, 2 jl SHORT G_M000_IG43 mov ecx, eax and ecx, 63 or ecx, -128 mov byte ptr [esi+01H], cl shr eax, 6 or eax, -64 mov byte ptr [esi], al add edi, 2 add esi, 2 jmp SHORT G_M000_IG40 G_M000_IG38: lea ecx, [eax-D800H] cmp ecx, 0x7FF jbe SHORT G_M000_IG39 cmp ebx, 3 jl SHORT G_M000_IG43 mov ecx, eax and ecx, 63 or ecx, -128 mov byte ptr [esi+02H], cl mov ecx, eax shr ecx, 6 and ecx, 63 or ecx, -128 mov byte ptr [esi+01H], cl shr eax, 12 or eax, -32 mov byte ptr [esi], al add edi, 2 add esi, 3 jmp SHORT G_M000_IG40 G_M000_IG39: cmp eax, 0xDBFF ja SHORT G_M000_IG44 jmp SHORT G_M000_IG42 G_M000_IG40: cmp edx, 1 jg SHORT G_M000_IG43 G_M000_IG41: xor eax, eax jmp SHORT G_M000_IG45 G_M000_IG42: mov eax, 2 jmp SHORT G_M000_IG45 G_M000_IG43: mov eax, 1 jmp SHORT G_M000_IG45 G_M000_IG44: mov eax, 3 G_M000_IG45: mov ebx, bword ptr [ebp+0CH] mov dword ptr [ebx], edi mov ebx, bword ptr [ebp+08H] mov dword ptr [ebx], esi G_M000_IG46: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 ; Total bytes of code 1232 1016: JIT compiled System.Text.Unicode.Utf8Utility:TranscodeToUtf8(uint,int,uint,int,byref,byref) [Tier1 with Static PGO, IL size=1446, code size=1232] ; Assembly listing for method System.IO.FileStream:Write(System.ReadOnlySpan`1[ubyte]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, gword ptr [ecx+08H] push dword ptr [ebp+0CH] push bword ptr [ebp+08H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+38H] call [eax+1CH]System.IO.Stream:Write(System.ReadOnlySpan`1[ubyte]):this G_M000_IG03: pop ebp ret 8 ; Total bytes of code 24 1017: JIT compiled System.IO.FileStream:Write(System.ReadOnlySpan`1[ubyte]) [Tier1, IL size=13, code size=24] ; Assembly listing for method System.IO.Strategies.OSFileStreamStrategy:Write(System.ReadOnlySpan`1[ubyte]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi mov esi, ecx G_M000_IG02: mov ecx, gword ptr [esi+1CH] test byte ptr [ecx+08H], 1 jne SHORT G_M000_IG04 test byte ptr [esi+20H], 2 je SHORT G_M000_IG05 mov ecx, gword ptr [esi+1CH] push dword ptr [ebp+0CH] push bword ptr [ebp+08H] lea eax, bword ptr [esi+0CH] mov edx, dword ptr [eax] push dword ptr [eax+04H] push edx call [System.IO.RandomAccess:WriteAtOffset(Microsoft.Win32.SafeHandles.SafeFileHandle,System.ReadOnlySpan`1[ubyte],long)] lea eax, bword ptr [esi+0CH] mov edx, dword ptr [eax] mov eax, dword ptr [eax+04H] mov ecx, dword ptr [ebp+0CH] mov edi, ecx sar edi, 31 add edx, ecx adc eax, edi add esi, 12 mov dword ptr [esi], edx mov dword ptr [esi+04H], eax G_M000_IG03: pop esi pop edi pop ebp ret 8 G_M000_IG04: call [System.ThrowHelper:ThrowObjectDisposedException_FileClosed()] int3 G_M000_IG05: call [System.ThrowHelper:ThrowNotSupportedException_UnwritableStream()] int3 ; Total bytes of code 94 1018: JIT compiled System.IO.Strategies.OSFileStreamStrategy:Write(System.ReadOnlySpan`1[ubyte]) [Tier1, IL size=75, code size=94] ; Assembly listing for method System.IO.RandomAccess:WriteAtOffset(Microsoft.Win32.SafeHandles.SafeFileHandle,System.ReadOnlySpan`1[ubyte],long) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 4 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 48 vzeroupper xor eax, eax mov dword ptr [ebp-24H], eax mov esi, ecx G_M000_IG02: mov edi, dword ptr [ebp+14H] test edi, edi jne SHORT G_M000_IG04 G_M000_IG03: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG04: mov ebx, esi cmp byte ptr [ebx], bl mov ecx, esi call [Microsoft.Win32.SafeHandles.SafeFileHandle:GetFileOptions():int:this] test eax, 0xD1FFAB1E je SHORT G_M000_IG06 push dword ptr [ebp+14H] push bword ptr [ebp+10H] push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, esi call [System.IO.RandomAccess:WriteSyncUsingAsyncHandle(Microsoft.Win32.SafeHandles.SafeFileHandle,System.ReadOnlySpan`1[ubyte],long)] G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG06: vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [ebp-3CH], xmm0 vmovdqu xmmword ptr [ebp-38H], xmm0 mov ecx, esi call [Microsoft.Win32.SafeHandles.SafeFileHandle:get_CanSeek():bool:this] test eax, eax je SHORT G_M000_IG07 mov ecx, dword ptr [ebp+08H] mov dword ptr [ebp-34H], ecx mov ecx, dword ptr [ebp+0CH] mov dword ptr [ebp-30H], ecx G_M000_IG07: vmovdqu xmm0, xmmword ptr [ebp-3CH] vmovdqu xmmword ptr [ebp-20H], xmm0 mov ecx, dword ptr [ebp-2CH] mov dword ptr [ebp-10H], ecx mov edx, bword ptr [ebp+10H] mov bword ptr [ebp-24H], edx push edi lea ecx, [ebp-28H] push ecx lea ecx, [ebp-20H] push ecx mov ecx, esi call [Interop+Kernel32:WriteFile(System.Runtime.InteropServices.SafeHandle,uint,int,byref,uint):int] test eax, eax je SHORT G_M000_IG09 G_M000_IG08: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG09: mov ecx, esi call [System.IO.Strategies.FileStreamHelpers:GetLastWin32ErrorAndDisposeHandleIfInvalid(Microsoft.Win32.SafeHandles.SafeFileHandle):int] mov ecx, eax mov edx, gword ptr [esi+1CH] call [System.IO.Win32Marshal:GetExceptionForWin32Error(int,System.String):System.Exception] mov ecx, eax call CORINFO_HELP_THROW int3 ; Total bytes of code 203 1019: JIT compiled System.IO.RandomAccess:WriteAtOffset(Microsoft.Win32.SafeHandles.SafeFileHandle,System.ReadOnlySpan`1[ubyte],long) [Tier1, IL size=89, code size=203] ; Assembly listing for method Interop+Kernel32:WriteFile(System.Runtime.InteropServices.SafeHandle,uint,int,byref,uint):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 6 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 68 xor ebx, ebx mov dword ptr [ebp-2CH], ebx mov dword ptr [ebp-30H], ebx mov dword ptr [ebp-18H], ebx mov ebx, edx G_M000_IG02: lea edi, [ebp-4CH] call CORINFO_HELP_INIT_PINVOKE_FRAME mov edx, ebp mov dword ptr [ebp-38H], edx xor edx, edx mov dword ptr [ebp-2CH], edx mov dword ptr [ebp-28H], edx G_M000_IG03: mov gword ptr [ebp-2CH], ecx lea edx, [ebp-28H] cmp dword ptr [ecx], ecx call [System.Runtime.InteropServices.SafeHandle:DangerousAddRef(byref):this] G_M000_IG04: mov edi, bword ptr [ebp+0CH] mov bword ptr [ebp-30H], edi mov eax, gword ptr [ebp-2CH] mov eax, dword ptr [eax+04H] mov dword ptr [ebp-24H], eax push 0 mov edx, 0xD1FFAB1E G_M000_IG05: call edx ; Interop+Kernel32:SetLastError(int) push dword ptr [ebp+08H] push edi push dword ptr [ebp+10H] push ebx push dword ptr [ebp-24H] mov dword ptr [ebp-44H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-40H], eax lea eax, G_M000_IG08 mov dword ptr [ebp-3CH], eax mov byte ptr [esi+08H], 0 G_M000_IG06: mov eax, 0xD1FFAB1E G_M000_IG07: call eax ; Interop+Kernel32:g____PInvoke|251_0(int,uint,int,uint,uint):int G_M000_IG08: mov edi, eax mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG09 call CORINFO_HELP_STOP_FOR_GC G_M000_IG09: xor eax, eax mov dword ptr [ebp-3CH], eax mov eax, 0xD1FFAB1E G_M000_IG10: call eax ; Interop+Kernel32:GetLastError():int mov ebx, eax G_M000_IG11: xor ecx, ecx mov bword ptr [ebp-30H], ecx jmp SHORT G_M000_IG13 G_M000_IG12: xor ecx, ecx mov bword ptr [ebp-30H], ecx pop eax jmp eax G_M000_IG13: cmp byte ptr [ebp-28H], 0 je SHORT G_M000_IG17 G_M000_IG14: mov ecx, gword ptr [ebp-2CH] cmp byte ptr [ecx], cl xor edx, edx call [System.Runtime.InteropServices.SafeHandle:InternalRelease(bool):this] jmp SHORT G_M000_IG17 G_M000_IG15: cmp byte ptr [ebp-28H], 0 je SHORT G_M000_IG16 mov ecx, gword ptr [ebp-2CH] cmp byte ptr [ecx], cl xor edx, edx call [System.Runtime.InteropServices.SafeHandle:InternalRelease(bool):this] G_M000_IG16: pop eax jmp eax G_M000_IG17: mov ecx, ebx call System.Runtime.InteropServices.Marshal:SetLastPInvokeError(int) mov eax, edi mov ecx, bword ptr [ebp-48H] mov dword ptr [esi+0CH], ecx G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 ; Total bytes of code 241 1020: JIT compiled Interop+Kernel32:WriteFile(System.Runtime.InteropServices.SafeHandle,uint,int,byref,uint) [Tier1, IL size=89, code size=241] ; Assembly listing for method System.IO.FileStream:Flush():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: xor edx, edx mov eax, dword ptr [ecx] mov eax, dword ptr [eax+3CH] call [eax+14H]System.IO.FileStream:Flush(bool):this G_M000_IG03: pop ebp ret ; Total bytes of code 15 1021: JIT compiled System.IO.FileStream:Flush() [Tier1, IL size=8, code size=15] ; Assembly listing for method System.IO.FileStream:Flush(bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push esi push ebx mov esi, ecx mov ebx, edx G_M000_IG02: mov ecx, gword ptr [esi+08H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+3CH] call [eax+14H]System.IO.Strategies.FileStreamStrategy:get_IsClosed():bool:this test eax, eax jne SHORT G_M000_IG04 mov ecx, gword ptr [esi+08H] movzx edx, bl mov eax, dword ptr [ecx] mov eax, dword ptr [eax+40H] call [eax]System.IO.Strategies.FileStreamStrategy:Flush(bool):this G_M000_IG03: pop ebx pop esi pop ebp ret G_M000_IG04: call [System.ThrowHelper:ThrowObjectDisposedException_FileClosed()] int3 ; Total bytes of code 48 1022: JIT compiled System.IO.FileStream:Flush(bool) [Tier1, IL size=31, code size=48] ; Assembly listing for method System.IO.Strategies.OSFileStreamStrategy:Flush(bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: test dl, dl je SHORT G_M000_IG04 G_M000_IG03: mov eax, gword ptr [ecx+1CH] test byte ptr [eax+08H], 1 jne SHORT G_M000_IG04 test byte ptr [ecx+20H], 2 je SHORT G_M000_IG04 mov ecx, gword ptr [ecx+1CH] call [System.IO.Strategies.FileStreamHelpers:FlushToDisk(Microsoft.Win32.SafeHandles.SafeFileHandle)] G_M000_IG04: pop ebp ret ; Total bytes of code 33 1023: JIT compiled System.IO.Strategies.OSFileStreamStrategy:Flush(bool) [Tier1, IL size=23, code size=33] ; Assembly listing for method System.Object:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: ret ; Total bytes of code 1 1024: JIT compiled System.Object:.ctor() [Tier1, IL size=1, code size=1] ; Assembly listing for method BenchmarkDotNet.Engines.ExceptionsStats:Stop():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax call [System.AppDomain:get_CurrentDomain():System.AppDomain] mov gword ptr [ebp-0CH], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.AppDomain:remove_FirstChanceException(System.EventHandler`1[System.Runtime.ExceptionServices.FirstChanceExceptionEventArgs]):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 74 1025: JIT compiled BenchmarkDotNet.Engines.ExceptionsStats:Stop() [Tier0, IL size=23, code size=74] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:ReadFinal():BenchmarkDotNet.Engines.GcStats ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 56 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: xor ecx, ecx call [System.GC:CollectionCount(int):int] mov dword ptr [ebp-08H], eax mov ecx, 1 call [System.GC:CollectionCount(int):int] mov dword ptr [ebp-0CH], eax mov ecx, 2 call [System.GC:CollectionCount(int):int] mov dword ptr [ebp-10H], eax vxorps ymm0, ymm0, ymm0 vmovdqu ymmword ptr [ebp-30H], ymm0 push dword ptr [ebp-0CH] push dword ptr [ebp-10H] call [BenchmarkDotNet.Engines.GcStats:GetAllocatedBytes():long] mov dword ptr [ebp-38H], eax mov dword ptr [ebp-34H], edx push dword ptr [ebp-34H] push dword ptr [ebp-38H] push 0 push 0 lea ecx, [ebp-30H] mov edx, dword ptr [ebp-08H] call [BenchmarkDotNet.Engines.GcStats:.ctor(int,int,int,long,long):this] mov eax, bword ptr [ebp-04H] vmovdqu ymm0, ymmword ptr [ebp-30H] vmovdqu ymmword ptr [eax], ymm0 G_M000_IG03: vzeroupper mov esp, ebp pop ebp ret ; Total bytes of code 119 1026: JIT compiled BenchmarkDotNet.Engines.GcStats:ReadFinal() [Tier0, IL size=31, code size=119] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:ReadFinal():BenchmarkDotNet.Engines.ThreadingStats ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 52 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-30H], eax mov dword ptr [ebp-34H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-30H], ecx mov ecx, gword ptr [ebp-30H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-30H] call [eax+0CH]System.Func`1[long]:Invoke():long:this mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], edx mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-34H], ecx mov ecx, gword ptr [ebp-34H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-34H] call [eax+0CH]System.Func`1[long]:Invoke():long:this mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], edx vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [ebp-2CH], xmm0 vmovdqu xmmword ptr [ebp-24H], xmm0 push dword ptr [ebp-10H] push dword ptr [ebp-14H] push dword ptr [ebp-08H] push dword ptr [ebp-0CH] push 0 push 0 lea ecx, [ebp-2CH] call [BenchmarkDotNet.Engines.ThreadingStats:.ctor(long,long,long):this] mov eax, bword ptr [ebp-04H] vmovdqu xmm0, xmmword ptr [ebp-2CH] vmovdqu xmmword ptr [eax], xmm0 vmovdqu xmm0, xmmword ptr [ebp-24H] vmovdqu xmmword ptr [eax+08H], xmm0 G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 145 1027: JIT compiled BenchmarkDotNet.Engines.ThreadingStats:ReadFinal() [Tier0, IL size=30, code size=145] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:op_Subtraction(BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.GcStats):BenchmarkDotNet.Engines.GcStats ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 120 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: lea ecx, [ebp+28H] call [BenchmarkDotNet.Engines.GcStats:get_Gen0Collections():int:this] mov dword ptr [ebp-08H], eax lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.GcStats:get_Gen0Collections():int:this] mov edx, dword ptr [ebp-08H] sub edx, eax mov dword ptr [ebp-58H], edx mov edx, dword ptr [ebp-58H] xor ecx, ecx call [System.Math:Max(int,int):int] mov dword ptr [ebp-0CH], eax lea ecx, [ebp+28H] call [BenchmarkDotNet.Engines.GcStats:get_Gen1Collections():int:this] mov dword ptr [ebp-10H], eax lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.GcStats:get_Gen1Collections():int:this] mov edx, dword ptr [ebp-10H] sub edx, eax mov dword ptr [ebp-5CH], edx mov edx, dword ptr [ebp-5CH] xor ecx, ecx call [System.Math:Max(int,int):int] mov dword ptr [ebp-14H], eax lea ecx, [ebp+28H] call [BenchmarkDotNet.Engines.GcStats:get_Gen2Collections():int:this] mov dword ptr [ebp-18H], eax lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.GcStats:get_Gen2Collections():int:this] mov edx, dword ptr [ebp-18H] sub edx, eax mov dword ptr [ebp-60H], edx mov edx, dword ptr [ebp-60H] xor ecx, ecx call [System.Math:Max(int,int):int] mov dword ptr [ebp-1CH], eax lea ecx, [ebp+28H] call [BenchmarkDotNet.Engines.GcStats:get_AllocatedBytes():long:this] mov dword ptr [ebp-24H], eax mov dword ptr [ebp-20H], edx push 0 push 0 lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.GcStats:get_AllocatedBytes():long:this] mov dword ptr [ebp-68H], eax mov dword ptr [ebp-64H], edx mov eax, dword ptr [ebp-24H] mov edx, dword ptr [ebp-20H] sub eax, dword ptr [ebp-68H] sbb edx, dword ptr [ebp-64H] push edx push eax call [System.Math:Max(long,long):long] mov dword ptr [ebp-2CH], eax mov dword ptr [ebp-28H], edx lea ecx, [ebp+28H] call [BenchmarkDotNet.Engines.GcStats:get_TotalOperations():long:this] mov dword ptr [ebp-34H], eax mov dword ptr [ebp-30H], edx vxorps ymm0, ymm0, ymm0 vmovdqu ymmword ptr [ebp-54H], ymm0 push dword ptr [ebp-14H] G_M000_IG03: push dword ptr [ebp-1CH] push dword ptr [ebp-28H] push dword ptr [ebp-2CH] push 0 push 0 lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.GcStats:get_TotalOperations():long:this] mov dword ptr [ebp-70H], eax mov dword ptr [ebp-6CH], edx mov eax, dword ptr [ebp-34H] mov edx, dword ptr [ebp-30H] sub eax, dword ptr [ebp-70H] sbb edx, dword ptr [ebp-6CH] push edx push eax call [System.Math:Max(long,long):long] mov dword ptr [ebp-78H], eax mov dword ptr [ebp-74H], edx push dword ptr [ebp-74H] push dword ptr [ebp-78H] lea ecx, [ebp-54H] mov edx, dword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.GcStats:.ctor(int,int,int,long,long):this] mov eax, bword ptr [ebp-04H] vmovdqu ymm0, ymmword ptr [ebp-54H] vmovdqu ymmword ptr [eax], ymm0 G_M000_IG04: vzeroupper mov esp, ebp pop ebp ret 64 ; Total bytes of code 321 1028: JIT compiled BenchmarkDotNet.Engines.GcStats:op_Subtraction(BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.GcStats) [Tier0, IL size=113, code size=321] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:get_Gen0Collections():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 16 1029: JIT compiled BenchmarkDotNet.Engines.GcStats:get_Gen0Collections() [Tier0, IL size=7, code size=16] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:get_Gen1Collections():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 1030: JIT compiled BenchmarkDotNet.Engines.GcStats:get_Gen1Collections() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:get_Gen2Collections():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax+08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 1031: JIT compiled BenchmarkDotNet.Engines.GcStats:get_Gen2Collections() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:get_AllocatedBytes():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] add eax, 16 mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 38 1032: JIT compiled BenchmarkDotNet.Engines.GcStats:get_AllocatedBytes() [Tier0, IL size=7, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:get_TotalOperations():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] add eax, 24 mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 38 1033: JIT compiled BenchmarkDotNet.Engines.GcStats:get_TotalOperations() [Tier0, IL size=7, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:WithTotalOperations(long):BenchmarkDotNet.Engines.GcStats:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 72 vzeroupper mov bword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: vxorps ymm0, ymm0, ymm0 vmovdqu ymmword ptr [ebp-28H], ymm0 mov ecx, bword ptr [ebp-04H] vmovdqu ymm0, ymmword ptr [ecx] vmovdqu ymmword ptr [ebp-48H], ymm0 push 0 push 0 push 0 push 0 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] lea ecx, [ebp-28H] xor edx, edx call [BenchmarkDotNet.Engines.GcStats:.ctor(int,int,int,long,long):this] sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp-48H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-38H] vmovdqu xmmword ptr [esp+10H], xmm0 sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp-28H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-18H] vmovdqu xmmword ptr [esp+10H], xmm0 mov ecx, bword ptr [ebp-08H] call [BenchmarkDotNet.Engines.GcStats:op_Addition(BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.GcStats):BenchmarkDotNet.Engines.GcStats] G_M000_IG03: vzeroupper mov esp, ebp pop ebp ret 8 ; Total bytes of code 127 1034: JIT compiled BenchmarkDotNet.Engines.GcStats:WithTotalOperations(long) [Tier0, IL size=23, code size=127] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:op_Addition(BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.GcStats):BenchmarkDotNet.Engines.GcStats ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 100 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: lea ecx, [ebp+28H] call [BenchmarkDotNet.Engines.GcStats:get_Gen0Collections():int:this] mov dword ptr [ebp-08H], eax lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.GcStats:get_Gen0Collections():int:this] add eax, dword ptr [ebp-08H] mov dword ptr [ebp-0CH], eax lea ecx, [ebp+28H] call [BenchmarkDotNet.Engines.GcStats:get_Gen1Collections():int:this] mov dword ptr [ebp-10H], eax lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.GcStats:get_Gen1Collections():int:this] add eax, dword ptr [ebp-10H] mov dword ptr [ebp-14H], eax lea ecx, [ebp+28H] call [BenchmarkDotNet.Engines.GcStats:get_Gen2Collections():int:this] mov dword ptr [ebp-18H], eax lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.GcStats:get_Gen2Collections():int:this] add eax, dword ptr [ebp-18H] mov dword ptr [ebp-1CH], eax lea ecx, [ebp+28H] call [BenchmarkDotNet.Engines.GcStats:get_AllocatedBytes():long:this] mov dword ptr [ebp-24H], eax mov dword ptr [ebp-20H], edx lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.GcStats:get_AllocatedBytes():long:this] mov dword ptr [ebp-5CH], eax mov dword ptr [ebp-58H], edx mov ecx, dword ptr [ebp-5CH] mov eax, dword ptr [ebp-58H] add ecx, dword ptr [ebp-24H] adc eax, dword ptr [ebp-20H] mov dword ptr [ebp-2CH], ecx mov dword ptr [ebp-28H], eax lea ecx, [ebp+28H] call [BenchmarkDotNet.Engines.GcStats:get_TotalOperations():long:this] mov dword ptr [ebp-34H], eax mov dword ptr [ebp-30H], edx vxorps ymm0, ymm0, ymm0 vmovdqu ymmword ptr [ebp-54H], ymm0 push dword ptr [ebp-14H] push dword ptr [ebp-1CH] push dword ptr [ebp-28H] push dword ptr [ebp-2CH] lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.GcStats:get_TotalOperations():long:this] mov dword ptr [ebp-64H], eax mov dword ptr [ebp-60H], edx mov ecx, dword ptr [ebp-64H] mov edx, dword ptr [ebp-60H] add ecx, dword ptr [ebp-34H] adc edx, dword ptr [ebp-30H] push edx push ecx lea ecx, [ebp-54H] mov edx, dword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.GcStats:.ctor(int,int,int,long,long):this] mov eax, bword ptr [ebp-04H] vmovdqu ymm0, ymmword ptr [ebp-54H] G_M000_IG03: vmovdqu ymmword ptr [eax], ymm0 G_M000_IG04: vzeroupper mov esp, ebp pop ebp ret 64 ; Total bytes of code 239 1035: JIT compiled BenchmarkDotNet.Engines.GcStats:op_Addition(BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.GcStats) [Tier0, IL size=81, code size=239] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:op_Subtraction(BenchmarkDotNet.Engines.ThreadingStats,BenchmarkDotNet.Engines.ThreadingStats):BenchmarkDotNet.Engines.ThreadingStats ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 92 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: lea ecx, [ebp+20H] call [BenchmarkDotNet.Engines.ThreadingStats:get_CompletedWorkItemCount():long:this] mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], edx lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.ThreadingStats:get_CompletedWorkItemCount():long:this] mov dword ptr [ebp-4CH], eax mov dword ptr [ebp-48H], edx mov ecx, dword ptr [ebp-0CH] mov eax, dword ptr [ebp-08H] sub ecx, dword ptr [ebp-4CH] sbb eax, dword ptr [ebp-48H] mov dword ptr [ebp-14H], ecx mov dword ptr [ebp-10H], eax lea ecx, [ebp+20H] call [BenchmarkDotNet.Engines.ThreadingStats:get_LockContentionCount():long:this] mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-18H], edx lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.ThreadingStats:get_LockContentionCount():long:this] mov dword ptr [ebp-54H], eax mov dword ptr [ebp-50H], edx mov ecx, dword ptr [ebp-1CH] mov eax, dword ptr [ebp-18H] sub ecx, dword ptr [ebp-54H] sbb eax, dword ptr [ebp-50H] mov dword ptr [ebp-24H], ecx mov dword ptr [ebp-20H], eax lea ecx, [ebp+20H] call [BenchmarkDotNet.Engines.ThreadingStats:get_TotalOperations():long:this] mov dword ptr [ebp-2CH], eax mov dword ptr [ebp-28H], edx vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [ebp-44H], xmm0 vmovdqu xmmword ptr [ebp-3CH], xmm0 push dword ptr [ebp-10H] push dword ptr [ebp-14H] push dword ptr [ebp-20H] push dword ptr [ebp-24H] lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.ThreadingStats:get_TotalOperations():long:this] mov dword ptr [ebp-5CH], eax mov dword ptr [ebp-58H], edx mov ecx, dword ptr [ebp-2CH] mov eax, dword ptr [ebp-28H] sub ecx, dword ptr [ebp-5CH] sbb eax, dword ptr [ebp-58H] push eax push ecx lea ecx, [ebp-44H] call [BenchmarkDotNet.Engines.ThreadingStats:.ctor(long,long,long):this] mov eax, bword ptr [ebp-04H] vmovdqu xmm0, xmmword ptr [ebp-44H] vmovdqu xmmword ptr [eax], xmm0 vmovdqu xmm0, xmmword ptr [ebp-3CH] vmovdqu xmmword ptr [eax+08H], xmm0 G_M000_IG03: mov esp, ebp pop ebp ret 48 ; Total bytes of code 215 1036: JIT compiled BenchmarkDotNet.Engines.ThreadingStats:op_Subtraction(BenchmarkDotNet.Engines.ThreadingStats,BenchmarkDotNet.Engines.ThreadingStats) [Tier0, IL size=51, code size=215] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:get_CompletedWorkItemCount():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 35 1037: JIT compiled BenchmarkDotNet.Engines.ThreadingStats:get_CompletedWorkItemCount() [Tier0, IL size=7, code size=35] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:get_LockContentionCount():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] add eax, 8 mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 38 1038: JIT compiled BenchmarkDotNet.Engines.ThreadingStats:get_LockContentionCount() [Tier0, IL size=7, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:get_TotalOperations():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] add eax, 16 mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 38 1039: JIT compiled BenchmarkDotNet.Engines.ThreadingStats:get_TotalOperations() [Tier0, IL size=7, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:WithTotalOperations(long):BenchmarkDotNet.Engines.ThreadingStats:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vzeroupper mov bword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov ecx, bword ptr [ebp-04H] call [BenchmarkDotNet.Engines.ThreadingStats:get_CompletedWorkItemCount():long:this] mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], edx vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [ebp-28H], xmm0 vmovdqu xmmword ptr [ebp-20H], xmm0 push dword ptr [ebp-0CH] push dword ptr [ebp-10H] mov ecx, bword ptr [ebp-04H] call [BenchmarkDotNet.Engines.ThreadingStats:get_LockContentionCount():long:this] mov dword ptr [ebp-30H], eax mov dword ptr [ebp-2CH], edx push dword ptr [ebp-2CH] push dword ptr [ebp-30H] push dword ptr [ebp+0CH] push dword ptr [ebp+08H] lea ecx, [ebp-28H] call [BenchmarkDotNet.Engines.ThreadingStats:.ctor(long,long,long):this] mov eax, bword ptr [ebp-08H] vmovdqu xmm0, xmmword ptr [ebp-28H] vmovdqu xmmword ptr [eax], xmm0 vmovdqu xmm0, xmmword ptr [ebp-20H] vmovdqu xmmword ptr [eax+08H], xmm0 G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 114 1040: JIT compiled BenchmarkDotNet.Engines.ThreadingStats:WithTotalOperations(long) [Tier0, IL size=19, code size=114] ; Assembly listing for method BenchmarkDotNet.Engines.ExceptionsStats:get_ExceptionsCount():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] add eax, 4 mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 38 1041: JIT compiled BenchmarkDotNet.Engines.ExceptionsStats:get_ExceptionsCount() [Tier0, IL size=7, code size=38] ; Assembly listing for method System.ValueTuple`3[BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.ThreadingStats,double]:.ctor(BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.ThreadingStats,double):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovdqu ymm0, ymmword ptr [ebp+28H] vmovdqu ymmword ptr [eax+08H], ymm0 mov eax, bword ptr [ebp-04H] vmovdqu xmm0, xmmword ptr [ebp+10H] vmovdqu xmmword ptr [eax+28H], xmm0 vmovdqu xmm0, xmmword ptr [ebp+18H] vmovdqu xmmword ptr [eax+30H], xmm0 mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+08H] vmovsd qword ptr [eax], xmm0 G_M000_IG03: vzeroupper mov esp, ebp pop ebp ret 64 ; Total bytes of code 67 1042: JIT compiled System.ValueTuple`3[BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.ThreadingStats,double]:.ctor(BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.ThreadingStats,double) [Tier0, IL size=22, code size=67] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:BenchmarkStop(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] mov edx, 2 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 33 1043: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:BenchmarkStop(System.String) [Tier0, IL size=9, code size=33] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults:.ctor(System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement],int,BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.ThreadingStats,double):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 vzeroupper mov bword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, bword ptr [ebp-04H] mov eax, dword ptr [ebp+48H] mov dword ptr [edx+0CH], eax mov edx, bword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov eax, bword ptr [ebp-04H] vmovdqu ymm0, ymmword ptr [ebp+28H] vmovdqu ymmword ptr [eax+10H], ymm0 mov eax, bword ptr [ebp-04H] vmovdqu xmm0, xmmword ptr [ebp+10H] vmovdqu xmmword ptr [eax+30H], xmm0 vmovdqu xmm0, xmmword ptr [ebp+18H] vmovdqu xmmword ptr [eax+38H], xmm0 mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+08H] vmovsd qword ptr [eax], xmm0 G_M000_IG03: vzeroupper mov esp, ebp pop ebp ret 68 ; Total bytes of code 95 1044: JIT compiled BenchmarkDotNet.Engines.RunResults:.ctor(System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement],int,BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.ThreadingStats,double) [Tier0, IL size=38, code size=95] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:ReportResults(BenchmarkDotNet.Engines.RunResults):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+04H] lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.RunResults:Print(System.IO.TextWriter):this] G_M000_IG03: mov esp, ebp pop ebp ret 72 ; Total bytes of code 28 1045: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:ReportResults(BenchmarkDotNet.Engines.RunResults) [Tier0, IL size=14, code size=28] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults:Print(System.IO.TextWriter):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 24 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 112 vzeroupper vxorps xmm4, xmm4, xmm4 mov eax, -96 vmovdqu xmmword ptr [ebp+eax-14H], xmm4 vmovdqu xmmword ptr [ebp+eax-04H], xmm4 vmovdqu xmmword ptr [ebp+eax+0CH], xmm4 add eax, 48 jne SHORT -5 instr mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov edi, ecx mov esi, edx G_M000_IG02: mov ecx, edi call [BenchmarkDotNet.Engines.RunResults:GetWorkloadResultMeasurements():System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]:this] mov ecx, eax call [System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]:GetEnumerator():System.Collections.Generic.IEnumerator`1[BenchmarkDotNet.Reports.Measurement]:this] mov ecx, eax mov gword ptr [ebp-78H], ecx G_M000_IG03: call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG05 G_M000_IG04: lea edx, [ebp-3CH] mov ecx, gword ptr [ebp-78H] call [System.Collections.Generic.IEnumerator`1[BenchmarkDotNet.Reports.Measurement]:get_Current():BenchmarkDotNet.Reports.Measurement:this] lea ecx, [ebp-3CH] call [BenchmarkDotNet.Reports.Measurement:ToString():System.String:this] mov edx, eax mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+3CH] call [eax+18H]System.IO.TextWriter:WriteLine(System.String):this mov ecx, gword ptr [ebp-78H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG04 G_M000_IG05: mov ecx, gword ptr [ebp-78H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG08 G_M000_IG06: cmp gword ptr [ebp-78H], 0 je SHORT G_M000_IG07 mov ecx, gword ptr [ebp-78H] call [System.IDisposable:Dispose():this] G_M000_IG07: pop eax jmp eax G_M000_IG08: vmovdqu ymm0, ymmword ptr [edi+10H] vmovdqu ymmword ptr [ebp-5CH], ymm0 xor ecx, ecx cmp dword ptr [ebp-5CH], ecx jne SHORT G_M000_IG10 G_M000_IG09: cmp dword ptr [ebp-58H], ecx jne SHORT G_M000_IG10 cmp dword ptr [ebp-54H], ecx jne SHORT G_M000_IG10 mov ecx, dword ptr [ebp-4CH] or ecx, dword ptr [ebp-48H] jne SHORT G_M000_IG10 mov ecx, dword ptr [ebp-44H] or ecx, dword ptr [ebp-40H] je SHORT G_M000_IG11 G_M000_IG10: vmovdqu ymm0, ymmword ptr [edi+10H] vmovdqu ymmword ptr [ebp-5CH], ymm0 lea ecx, [ebp-5CH] call [BenchmarkDotNet.Engines.GcStats:ToOutputLine():System.String:this] mov edx, eax mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+3CH] call [eax+18H]System.IO.TextWriter:WriteLine(System.String):this G_M000_IG11: vmovdqu xmm0, xmmword ptr [edi+30H] vmovdqu xmmword ptr [ebp-74H], xmm0 vmovdqu xmm0, xmmword ptr [edi+38H] vmovdqu xmmword ptr [ebp-6CH], xmm0 mov ecx, dword ptr [ebp-74H] mov eax, dword ptr [ebp-70H] or ecx, eax jne SHORT G_M000_IG13 G_M000_IG12: mov ecx, dword ptr [ebp-6CH] mov eax, dword ptr [ebp-68H] or ecx, eax jne SHORT G_M000_IG13 mov ecx, dword ptr [ebp-64H] mov eax, dword ptr [ebp-60H] or ecx, eax je SHORT G_M000_IG14 G_M000_IG13: vmovdqu xmm0, xmmword ptr [edi+30H] vmovdqu xmmword ptr [ebp-74H], xmm0 vmovdqu xmm0, xmmword ptr [edi+38H] vmovdqu xmmword ptr [ebp-6CH], xmm0 lea ecx, [ebp-74H] call [BenchmarkDotNet.Engines.ThreadingStats:ToOutputLine():System.String:this] mov edx, eax mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+3CH] call [eax+18H]System.IO.TextWriter:WriteLine(System.String):this G_M000_IG14: vmovsd xmm0, qword ptr [edi] vxorps xmm1, xmm1, xmm1 vucomisd xmm0, xmm1 jbe SHORT G_M000_IG16 G_M000_IG15: vmovsd xmm0, qword ptr [edi] sub esp, 8 vmovsd qword ptr [esp], xmm0 call [BenchmarkDotNet.Engines.ExceptionsStats:ToOutputLine(double):System.String] mov edx, eax mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+3CH] call [eax+18H]System.IO.TextWriter:WriteLine(System.String):this G_M000_IG16: mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+38H] call [eax+04H]System.IO.TextWriter:WriteLine():this G_M000_IG17: vzeroupper lea esp, [ebp-08H] pop esi pop edi pop ebp ret ; Total bytes of code 388 1046: JIT compiled BenchmarkDotNet.Engines.RunResults:Print(System.IO.TextWriter) [Tier-0 switched to FullOpts, IL size=183, code size=388] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults:GetWorkloadResultMeasurements():System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 8 xor eax, eax mov dword ptr [ebp-10H], eax mov bword ptr [ebp-0CH], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] mov edx, -2 call [BenchmarkDotNet.Engines.RunResults+d__18:.ctor(int):this] mov esi, bword ptr [ebp-0CH] mov edi, gword ptr [ebp-10H] add edi, 140 movsd movsd call CORINFO_HELP_ASSIGN_BYREF mov ecx, 15 rep movsd mov eax, gword ptr [ebp-10H] G_M000_IG03: lea esp, [ebp-08H] pop esi pop edi pop ebp ret ; Total bytes of code 79 1047: JIT compiled BenchmarkDotNet.Engines.RunResults:GetWorkloadResultMeasurements() [Tier0, IL size=20, code size=79] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults+d__18:.ctor(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov dword ptr [eax+14H], edx call System.Environment:get_CurrentManagedThreadId():int mov edx, gword ptr [ebp-04H] mov dword ptr [edx+18H], eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 45 1048: JIT compiled BenchmarkDotNet.Engines.RunResults+d__18:.ctor(int) [Tier0, IL size=25, code size=45] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults+d__18:System.Collections.Generic.IEnumerable.GetEnumerator():System.Collections.Generic.IEnumerator`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 16 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-0CH], ecx G_M000_IG02: mov eax, gword ptr [ebp-0CH] cmp dword ptr [eax+14H], -2 jne SHORT G_M000_IG03 mov eax, gword ptr [ebp-0CH] mov eax, dword ptr [eax+18H] mov dword ptr [ebp-18H], eax call System.Environment:get_CurrentManagedThreadId():int cmp eax, dword ptr [ebp-18H] jne SHORT G_M000_IG03 mov ecx, gword ptr [ebp-0CH] xor eax, eax mov dword ptr [ecx+14H], eax mov ecx, gword ptr [ebp-0CH] mov gword ptr [ebp-10H], ecx jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-14H] xor edx, edx call [BenchmarkDotNet.Engines.RunResults+d__18:.ctor(int):this] mov ecx, gword ptr [ebp-14H] mov gword ptr [ebp-10H], ecx G_M000_IG04: mov esi, gword ptr [ebp-0CH] add esi, 140 mov edi, gword ptr [ebp-10H] add edi, 68 movsd movsd call CORINFO_HELP_ASSIGN_BYREF mov ecx, 15 rep movsd mov eax, gword ptr [ebp-10H] G_M000_IG05: lea esp, [ebp-08H] pop esi pop edi pop ebp ret ; Total bytes of code 132 1049: JIT compiled BenchmarkDotNet.Engines.RunResults+d__18:System.Collections.Generic.IEnumerable.GetEnumerator() [Tier0, IL size=55, code size=132] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults+d__18:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 2 inlinees with PGO data; 13 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 108 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-40H], xmm4 vmovdqu xmmword ptr [ebp-30H], xmm4 vmovdqu xmmword ptr [ebp-20H], xmm4 mov gword ptr [ebp-6CH], ecx G_M000_IG02: mov eax, dword ptr [ecx+14H] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: cmp eax, 1 je G_M000_IG11 xor eax, eax jmp G_M000_IG29 G_M000_IG04: mov dword ptr [ecx+14H], -1 add ecx, 68 call [BenchmarkDotNet.Engines.RunResults:get_Overhead():System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this] mov ecx, 0xD1FFAB1E test eax, eax cmove eax, ecx mov esi, eax mov ecx, gword ptr [ebp-6CH] add ecx, 68 call [BenchmarkDotNet.Engines.RunResults:get_Workload():System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this] mov edi, eax mov ecx, edi call [System.Collections.Generic.IReadOnlyCollection`1[BenchmarkDotNet.Reports.Measurement]:get_Count():int:this] test eax, eax jne SHORT G_M000_IG05 xor eax, eax jmp G_M000_IG29 G_M000_IG05: mov ecx, gword ptr [ebp-6CH] mov ebx, ecx mov ecx, esi call [System.Collections.Generic.IReadOnlyCollection`1[BenchmarkDotNet.Reports.Measurement]:get_Count():int:this] test eax, eax je G_M000_IG19 test byte ptr [D1FFAB1EH], 1 je G_M000_IG18 G_M000_IG06: mov eax, gword ptr [D1FFAB1EH] test eax, eax mov gword ptr [ebp-74H], eax jne SHORT G_M000_IG07 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ecx, gword ptr [D1FFAB1EH] test ecx, ecx je G_M000_IG17 lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_ECX mov dword ptr [eax+0CH], 0xD1FFAB1E mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov gword ptr [ebp-74H], eax G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST_ALIGN8 mov gword ptr [ebp-78H], eax mov ecx, esi mov edx, gword ptr [ebp-74H] call [System.Linq.Enumerable:Select[BenchmarkDotNet.Reports.Measurement,double](System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement],System.Func`2[BenchmarkDotNet.Reports.Measurement,double]):System.Collections.Generic.IEnumerable`1[double]] mov edx, eax mov ecx, gword ptr [ebp-78H] call [BenchmarkDotNet.Mathematics.Statistics:.ctor(System.Collections.Generic.IEnumerable`1[double]):this] mov esi, gword ptr [ebp-78H] vmovsd xmm0, qword ptr [esi+1CH] G_M000_IG08: vmovsd qword ptr [ebx+04H], xmm0 test byte ptr [D1FFAB1EH], 1 je G_M000_IG16 G_M000_IG09: mov esi, gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-6CH] mov ebx, ecx test esi, esi jne SHORT G_M000_IG10 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, gword ptr [D1FFAB1EH] test ecx, ecx je G_M000_IG17 lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_ECX mov dword ptr [esi+0CH], 0xD1FFAB1E mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ESI G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST_ALIGN8 mov gword ptr [ebp-70H], eax mov ecx, edi mov edx, esi call [System.Linq.Enumerable:Select[BenchmarkDotNet.Reports.Measurement,double](System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement],System.Func`2[BenchmarkDotNet.Reports.Measurement,double]):System.Collections.Generic.IEnumerable`1[double]] mov edx, eax mov ecx, gword ptr [ebp-70H] call [BenchmarkDotNet.Mathematics.Statistics:.ctor(System.Collections.Generic.IEnumerable`1[double]):this] lea edx, bword ptr [ebx+0CH] mov esi, gword ptr [ebp-70H] call CORINFO_HELP_ASSIGN_REF_ESI xor ecx, ecx mov esi, gword ptr [ebp-6CH] mov dword ptr [esi+1CH], ecx mov ecx, edi call [System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]:GetEnumerator():System.Collections.Generic.IEnumerator`1[BenchmarkDotNet.Reports.Measurement]:this] lea edx, bword ptr [esi+10H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, esi G_M000_IG11: mov dword ptr [ecx+14H], -3 G_M000_IG12: mov ecx, gword ptr [ecx+10H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG20 G_M000_IG13: mov ecx, gword ptr [ebp-6CH] mov dword ptr [ecx+14H], -1 cmp gword ptr [ecx+10H], 0 je SHORT G_M000_IG14 mov ecx, gword ptr [ecx+10H] call [System.IDisposable:Dispose():this] mov ecx, gword ptr [ebp-6CH] G_M000_IG14: xor eax, eax mov gword ptr [ecx+10H], eax G_M000_IG15: jmp G_M000_IG29 G_M000_IG16: mov ecx, 0xD1FFAB1E mov edx, 0x407 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M000_IG09 G_M000_IG17: call [System.MulticastDelegate:ThrowNullThisInDelegateToInstance()] int3 G_M000_IG18: mov ecx, 0xD1FFAB1E mov edx, 0x407 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M000_IG06 G_M000_IG19: vxorps xmm0, xmm0, xmm0 jmp G_M000_IG08 G_M000_IG20: mov esi, gword ptr [ebp-6CH] mov ecx, gword ptr [esi+10H] lea edx, [ebp-40H] call [System.Collections.Generic.IEnumerator`1[BenchmarkDotNet.Reports.Measurement]:get_Current():BenchmarkDotNet.Reports.Measurement:this] mov ecx, gword ptr [esi+0CH] vmovsd xmm0, qword ptr [ebp-28H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov edx, dword ptr [esi+50H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Mathematics.Statistics:IsActualOutlier(double,int):bool:this] test eax, eax mov ecx, esi jne G_M000_IG12 G_M000_IG21: vmovsd xmm0, qword ptr [ebp-28H] vsubsd xmm0, xmm0, qword ptr [ecx+04H] vxorps xmm1, xmm1, xmm1 vucomisd xmm0, xmm1 jp SHORT G_M000_IG22 je SHORT G_M000_IG25 G_M000_IG22: vxorps xmm1, xmm1, xmm1 vucomisd xmm1, xmm0 ja SHORT G_M000_IG24 G_M000_IG23: vmovaps xmm1, xmm0 jmp SHORT G_M000_IG26 G_M000_IG24: vxorps xmm1, xmm1, xmm1 jmp SHORT G_M000_IG26 G_M000_IG25: vmovsd qword ptr [ebp-68H], xmm0 cmp dword ptr [ebp-64H], 0 jge SHORT G_M000_IG23 vxorps xmm1, xmm1, xmm1 G_M000_IG26: vmovsd xmm0, qword ptr [@RWD00] vucomisd xmm0, xmm1 jbe SHORT G_M000_IG27 vxorps xmm1, xmm1, xmm1 G_M000_IG27: mov eax, dword ptr [ebp-38H] mov edx, dword ptr [ecx+1CH] inc edx mov dword ptr [ecx+1CH], edx vxorps ymm0, ymm0, ymm0 vmovdqu ymmword ptr [ebp-60H], ymm0 mov edi, dword ptr [ebp-30H] mov esi, dword ptr [ebp-2CH] mov dword ptr [ebp-50H], edi mov dword ptr [ebp-4CH], esi vmovsd qword ptr [ebp-48H], xmm1 mov dword ptr [ebp-58H], eax mov dword ptr [ebp-60H], 1 mov dword ptr [ebp-5CH], 4 mov dword ptr [ebp-54H], edx vmovdqu ymm0, ymmword ptr [ebp-60H] vmovdqu ymmword ptr [ecx+24H], ymm0 mov dword ptr [ecx+14H], 1 mov eax, 1 jmp SHORT G_M000_IG29 G_M000_IG28: mov ecx, gword ptr [ebp-6CH] call [BenchmarkDotNet.Engines.RunResults+d__18:System.IDisposable.Dispose():this] pop eax jmp eax G_M000_IG29: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret RWD00 dq 3FB999999999999Ah ; 0.1 ; Total bytes of code 760 1050: JIT compiled BenchmarkDotNet.Engines.RunResults+d__18:MoveNext() [Tier-0 switched to FullOpts, IL size=435, code size=760] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults:get_Overhead():System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, bword ptr [ebp-04H] call [BenchmarkDotNet.Engines.RunResults:get_EngineMeasurements():System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this] mov gword ptr [ebp-0CH], eax mov ecx, 0xD1FFAB1E mov edx, 0x407 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-08H], ecx mov ecx, gword ptr [ebp-0CH] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-14H], ecx cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax mov ecx, 0xD1FFAB1E mov edx, 0x407 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-1CH], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-1CH] mov ecx, gword ptr [ebp-18H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 0x407 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-18H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-18H] mov gword ptr [ebp-14H], ecx G_M000_IG03: mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-14H] call [System.Linq.Enumerable:Where[BenchmarkDotNet.Reports.Measurement](System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement],System.Func`2[BenchmarkDotNet.Reports.Measurement,bool]):System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]] mov ecx, eax call [System.Linq.Enumerable:ToArray[BenchmarkDotNet.Reports.Measurement](System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]):BenchmarkDotNet.Reports.Measurement[]] G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 192 1051: JIT compiled BenchmarkDotNet.Engines.RunResults:get_Overhead() [Tier0, IL size=48, code size=192] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults:get_EngineMeasurements():System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, gword ptr [eax+08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 1052: JIT compiled BenchmarkDotNet.Engines.RunResults:get_EngineMeasurements() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.RunResults+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 1053: JIT compiled BenchmarkDotNet.Engines.RunResults+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 1054: JIT compiled BenchmarkDotNet.Engines.RunResults+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:Where[BenchmarkDotNet.Reports.Measurement](System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement],System.Func`2[BenchmarkDotNet.Reports.Measurement,bool]):System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 40 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 vmovdqu xmmword ptr [ebp-18H], xmm4 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: cmp gword ptr [ebp-04H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG04 mov ecx, 12 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG04: mov edx, gword ptr [ebp-04H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] mov gword ptr [ebp-0CH], eax cmp gword ptr [ebp-0CH], 0 je SHORT G_M000_IG05 mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-0CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+2CH] call [eax+08H]System.Linq.Enumerable+Iterator`1[BenchmarkDotNet.Reports.Measurement]:Where(System.Func`2[BenchmarkDotNet.Reports.Measurement,bool]):System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]:this mov gword ptr [ebp-28H], eax jmp G_M000_IG09 G_M000_IG05: mov edx, gword ptr [ebp-04H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFARRAY] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-10H], 0 je SHORT G_M000_IG07 mov ecx, gword ptr [ebp-10H] cmp dword ptr [ecx+04H], 0 je SHORT G_M000_IG06 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-24H], eax push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-24H] mov edx, gword ptr [ebp-10H] call [System.Linq.Enumerable+WhereArrayIterator`1[BenchmarkDotNet.Reports.Measurement]:.ctor(BenchmarkDotNet.Reports.Measurement[],System.Func`2[BenchmarkDotNet.Reports.Measurement,bool]):this] mov eax, gword ptr [ebp-24H] mov gword ptr [ebp-18H], eax mov eax, gword ptr [ebp-18H] mov gword ptr [ebp-28H], eax jmp SHORT G_M000_IG09 G_M000_IG06: call [System.Linq.Enumerable:Empty[BenchmarkDotNet.Reports.Measurement]():System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]] mov gword ptr [ebp-28H], eax jmp SHORT G_M000_IG09 G_M000_IG07: mov edx, gword ptr [ebp-04H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] mov gword ptr [ebp-14H], eax cmp gword ptr [ebp-14H], 0 je SHORT G_M000_IG08 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-20H], eax push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-20H] mov edx, gword ptr [ebp-14H] call [System.Linq.Enumerable+WhereListIterator`1[BenchmarkDotNet.Reports.Measurement]:.ctor(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],System.Func`2[BenchmarkDotNet.Reports.Measurement,bool]):this] mov ecx, gword ptr [ebp-20H] mov gword ptr [ebp-28H], ecx jmp SHORT G_M000_IG09 G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-1CH], eax push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-04H] call [System.Linq.Enumerable+WhereEnumerableIterator`1[BenchmarkDotNet.Reports.Measurement]:.ctor(System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement],System.Func`2[BenchmarkDotNet.Reports.Measurement,bool]):this] mov eax, gword ptr [ebp-1CH] mov gword ptr [ebp-28H], eax G_M000_IG09: mov eax, gword ptr [ebp-28H] G_M000_IG10: mov esp, ebp pop ebp ret ; Total bytes of code 293 1055: JIT compiled System.Linq.Enumerable:Where[BenchmarkDotNet.Reports.Measurement](System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement],System.Func`2[BenchmarkDotNet.Reports.Measurement,bool]) [Tier0, IL size=94, code size=293] ; Assembly listing for method System.Linq.Enumerable+WhereListIterator`1[BenchmarkDotNet.Reports.Measurement]:.ctor(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],System.Func`2[BenchmarkDotNet.Reports.Measurement,bool]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable+Iterator`1[BenchmarkDotNet.Reports.Measurement]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+2CH] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+30H] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 55 1056: JIT compiled System.Linq.Enumerable+WhereListIterator`1[BenchmarkDotNet.Reports.Measurement]:.ctor(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],System.Func`2[BenchmarkDotNet.Reports.Measurement,bool]) [Tier0, IL size=21, code size=55] ; Assembly listing for method System.Linq.Enumerable+Iterator`1[BenchmarkDotNet.Reports.Measurement]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] call System.Environment:get_CurrentManagedThreadId():int mov edx, gword ptr [ebp-04H] mov dword ptr [edx+04H], eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 1057: JIT compiled System.Linq.Enumerable+Iterator`1[BenchmarkDotNet.Reports.Measurement]:.ctor() [Tier0, IL size=18, code size=31] ; Assembly listing for method System.Linq.Enumerable:ToArray[BenchmarkDotNet.Reports.Measurement](System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]):BenchmarkDotNet.Reports.Measurement[] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: cmp gword ptr [ebp-04H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: mov edx, gword ptr [ebp-04H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-08H], eax cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG05 mov ecx, gword ptr [ebp-04H] call [System.Collections.Generic.EnumerableHelpers:ToArray[BenchmarkDotNet.Reports.Measurement](System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]):BenchmarkDotNet.Reports.Measurement[]] G_M000_IG04: mov esp, ebp pop ebp ret G_M000_IG05: mov ecx, gword ptr [ebp-08H] call [System.Linq.IIListProvider`1[BenchmarkDotNet.Reports.Measurement]:ToArray():BenchmarkDotNet.Reports.Measurement[]:this] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 80 1058: JIT compiled System.Linq.Enumerable:ToArray[BenchmarkDotNet.Reports.Measurement](System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]) [Tier0, IL size=34, code size=80] ; Assembly listing for method System.Linq.Enumerable+WhereListIterator`1[BenchmarkDotNet.Reports.Measurement]:ToArray():BenchmarkDotNet.Reports.Measurement[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 60 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov esi, ecx G_M000_IG02: mov ecx, gword ptr [esi+2CH] mov ecx, dword ptr [ecx+08H] mov eax, ecx mov gword ptr [ebp-24H], 0xD1FFAB1E mov gword ptr [ebp-28H], 0xD1FFAB1E mov dword ptr [ebp-20H], eax xor edi, edi test ecx, ecx jle G_M000_IG08 G_M000_IG03: mov ecx, gword ptr [esi+2CH] cmp edi, dword ptr [ecx+08H] jae G_M000_IG10 mov ecx, gword ptr [ecx+04H] cmp edi, dword ptr [ecx+04H] jae G_M000_IG11 mov eax, edi shl eax, 5 vmovdqu ymm0, ymmword ptr [ecx+eax+08H] vmovdqu ymmword ptr [ebp-48H], ymm0 mov eax, gword ptr [esi+30H] sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp-48H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-38H] vmovdqu xmmword ptr [esp+10H], xmm0 mov ecx, gword ptr [eax+04H] call [eax+0CH]System.Func`2[BenchmarkDotNet.Reports.Measurement,bool]:Invoke(BenchmarkDotNet.Reports.Measurement):bool:this test eax, eax je SHORT G_M000_IG07 G_M000_IG04: mov ebx, dword ptr [ebp-1CH] mov eax, gword ptr [ebp-24H] mov ecx, dword ptr [eax+04H] cmp ecx, ebx ja SHORT G_M000_IG05 sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp-48H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-38H] vmovdqu xmmword ptr [esp+10H], xmm0 lea ecx, [ebp-28H] call [System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:AddWithBufferAllocation(BenchmarkDotNet.Reports.Measurement):this] jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, ebx shl ecx, 5 vmovdqu ymm0, ymmword ptr [ebp-48H] vmovdqu ymmword ptr [eax+ecx+08H], ymm0 inc ebx mov dword ptr [ebp-1CH], ebx G_M000_IG06: mov ecx, dword ptr [ebp-18H] inc ecx mov dword ptr [ebp-18H], ecx G_M000_IG07: inc edi mov ecx, gword ptr [esi+2CH] cmp edi, dword ptr [ecx+08H] jl G_M000_IG03 G_M000_IG08: lea ecx, [ebp-28H] call [System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:ToArray():BenchmarkDotNet.Reports.Measurement[]:this] G_M000_IG09: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG10: call [System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException()] int3 G_M000_IG11: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 267 1059: JIT compiled System.Linq.Enumerable+WhereListIterator`1[BenchmarkDotNet.Reports.Measurement]:ToArray() [Tier-0 switched to FullOpts, IL size=83, code size=267] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults+<>c:b__5_0(BenchmarkDotNet.Reports.Measurement):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp+08H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp+18H] vmovdqu xmmword ptr [esp+10H], xmm0 xor ecx, ecx mov edx, 3 call [BenchmarkDotNet.Reports.MeasurementExtensions:Is(BenchmarkDotNet.Reports.Measurement,int,int):bool] G_M000_IG03: mov esp, ebp pop ebp ret 32 ; Total bytes of code 53 1060: JIT compiled BenchmarkDotNet.Engines.RunResults+<>c:b__5_0(BenchmarkDotNet.Reports.Measurement) [Tier0, IL size=9, code size=53] ; Assembly listing for method BenchmarkDotNet.Reports.MeasurementExtensions:Is(BenchmarkDotNet.Reports.Measurement,int,int):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov dword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: lea ecx, [ebp+08H] call [BenchmarkDotNet.Reports.Measurement:get_IterationMode():int:this] cmp eax, dword ptr [ebp-04H] jne SHORT G_M000_IG04 lea ecx, [ebp+08H] call [BenchmarkDotNet.Reports.Measurement:get_IterationStage():int:this] cmp eax, dword ptr [ebp-08H] sete al movzx eax, al G_M000_IG03: mov esp, ebp pop ebp ret 32 G_M000_IG04: xor eax, eax G_M000_IG05: mov esp, ebp pop ebp ret 32 ; Total bytes of code 58 1061: JIT compiled BenchmarkDotNet.Reports.MeasurementExtensions:Is(BenchmarkDotNet.Reports.Measurement,int,int) [Tier0, IL size=23, code size=58] ; Assembly listing for method System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:AddWithBufferAllocation(BenchmarkDotNet.Reports.Measurement):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, bword ptr [ebp-04H] call [System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:AllocateBuffer():this] mov eax, bword ptr [ebp-04H] mov eax, gword ptr [eax+04H] mov gword ptr [ebp-0CH], eax mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax+0CH] mov dword ptr [ebp-08H], eax mov eax, dword ptr [ebp-08H] inc eax mov edx, bword ptr [ebp-04H] mov dword ptr [edx+0CH], eax mov eax, gword ptr [ebp-0CH] mov edx, dword ptr [ebp-08H] cmp edx, dword ptr [eax+04H] jae SHORT G_M000_IG04 imul ecx, edx, 32 lea eax, bword ptr [eax+ecx+08H] vmovdqu ymm0, ymmword ptr [ebp+08H] vmovdqu ymmword ptr [eax], ymm0 G_M000_IG03: vzeroupper mov esp, ebp pop ebp ret 32 G_M000_IG04: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 96 1062: JIT compiled System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:AddWithBufferAllocation(BenchmarkDotNet.Reports.Measurement) [Tier0, IL size=36, code size=96] ; Assembly listing for method System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:AllocateBuffer():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-20H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov edx, bword ptr [ebp-04H] cmp dword ptr [edx+10H], 8 jae G_M000_IG06 mov edx, bword ptr [ebp-04H] cmp dword ptr [edx+10H], 0 je SHORT G_M000_IG03 mov edx, bword ptr [ebp-04H] mov edx, dword ptr [edx+10H] add edx, edx mov dword ptr [ebp-10H], edx jmp SHORT G_M000_IG04 G_M000_IG03: mov dword ptr [ebp-10H], 4 G_M000_IG04: mov edx, bword ptr [ebp-04H] mov edx, dword ptr [edx+08H] mov ecx, dword ptr [ebp-10H] call [System.Math:Min(int,int):int] mov dword ptr [ebp-08H], eax mov edx, dword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov edx, bword ptr [ebp-04H] lea edx, bword ptr [edx+04H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov ecx, bword ptr [ebp-04H] mov ecx, gword ptr [ecx] mov gword ptr [ebp-14H], ecx mov ecx, bword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx mov ecx, bword ptr [ebp-04H] push dword ptr [ecx+10H] mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-18H] call [System.Array:Copy(System.Array,System.Array,int)] mov edx, bword ptr [ebp-04H] mov ecx, gword ptr [edx+04H] mov edx, bword ptr [ebp-04H] call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX G_M000_IG05: mov esp, ebp pop ebp ret G_M000_IG06: mov ecx, bword ptr [ebp-04H] cmp dword ptr [ecx+10H], 8 jne SHORT G_M000_IG07 mov dword ptr [ebp-0CH], 8 jmp SHORT G_M000_IG08 G_M000_IG07: mov ecx, bword ptr [ebp-04H] cmp byte ptr [ecx], cl mov ecx, bword ptr [ebp-04H] add ecx, 20 mov bword ptr [ebp-1CH], ecx mov ecx, bword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-20H], ecx push 0xD1FFAB1E mov ecx, bword ptr [ebp-1CH] mov edx, gword ptr [ebp-20H] call [System.Collections.Generic.ArrayBuilder`1[System.__Canon]:Add(System.__Canon):this] mov edx, bword ptr [ebp-04H] mov edx, dword ptr [edx+08H] mov ecx, bword ptr [ebp-04H] sub edx, dword ptr [ecx+10H] mov ecx, bword ptr [ebp-04H] mov ecx, dword ptr [ecx+10H] call [System.Math:Min(int,int):int] mov dword ptr [ebp-0CH], eax G_M000_IG08: mov edx, dword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov edx, bword ptr [ebp-04H] lea edx, bword ptr [edx+04H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov eax, bword ptr [ebp-04H] xor edx, edx mov dword ptr [eax+0CH], edx G_M000_IG09: mov esp, ebp pop ebp ret ; Total bytes of code 281 1063: JIT compiled System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:AllocateBuffer() [Tier0, IL size=163, code size=281] ; Assembly listing for method System.Collections.Generic.ArrayBuilder`1[System.__Canon]:Add(System.__Canon):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov bword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, bword ptr [ebp-08H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-10H], ecx mov ecx, bword ptr [ebp-08H] mov edx, dword ptr [ebp+08H] call [System.Collections.Generic.ArrayBuilder`1[System.__Canon]:get_Capacity():int:this] cmp eax, dword ptr [ebp-10H] jne SHORT G_M000_IG03 mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] inc edx mov dword ptr [ebp-14H], edx push dword ptr [ebp+08H] mov edx, dword ptr [ebp-14H] mov ecx, bword ptr [ebp-08H] call [System.Collections.Generic.ArrayBuilder`1[System.__Canon]:EnsureCapacity(int):this] G_M000_IG03: push dword ptr [ebp+08H] mov ecx, bword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [System.Collections.Generic.ArrayBuilder`1[System.__Canon]:UncheckedAdd(System.__Canon):this] G_M000_IG04: mov esp, ebp pop ebp ret 4 ; Total bytes of code 90 1064: JIT compiled System.Collections.Generic.ArrayBuilder`1[System.__Canon]:Add(System.__Canon) [Tier0, IL size=36, code size=90] ; Assembly listing for method System.Collections.Generic.ArrayBuilder`1[System.__Canon]:get_Capacity():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, gword ptr [eax] mov gword ptr [ebp-0CH], eax mov eax, gword ptr [ebp-0CH] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-0CH], 0 jne SHORT G_M000_IG04 xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov eax, gword ptr [ebp-10H] mov eax, dword ptr [eax+04H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 56 1065: JIT compiled System.Collections.Generic.ArrayBuilder`1[System.__Canon]:get_Capacity() [Tier0, IL size=15, code size=56] ; Assembly listing for method System.Collections.Generic.ArrayBuilder`1[System.__Canon]:EnsureCapacity(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 40 xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-28H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov bword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, bword ptr [ebp-08H] mov edx, dword ptr [ebp+08H] call [System.Collections.Generic.ArrayBuilder`1[System.__Canon]:get_Capacity():int:this] mov dword ptr [ebp-10H], eax cmp dword ptr [ebp-10H], 0 je SHORT G_M000_IG03 mov eax, dword ptr [ebp-10H] add eax, eax mov dword ptr [ebp-1CH], eax jmp SHORT G_M000_IG04 G_M000_IG03: mov dword ptr [ebp-1CH], 4 G_M000_IG04: mov eax, dword ptr [ebp-1CH] mov dword ptr [ebp-14H], eax call [System.Array:get_MaxLength():int] cmp eax, dword ptr [ebp-14H] jae SHORT G_M000_IG05 call [System.Array:get_MaxLength():int] mov dword ptr [ebp-24H], eax mov edx, dword ptr [ebp-24H] mov ecx, dword ptr [ebp-10H] inc ecx call [System.Math:Max(int,int):int] mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, dword ptr [ebp-14H] mov edx, dword ptr [ebp-0CH] call [System.Math:Max(int,int):int] mov dword ptr [ebp-14H], eax mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-20H], ecx jmp SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-20H], eax G_M000_IG08: mov ecx, dword ptr [ebp-20H] mov edx, dword ptr [ebp-14H] call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [ebp-18H], eax mov ecx, bword ptr [ebp-08H] cmp dword ptr [ecx+04H], 0 jle SHORT G_M000_IG09 mov ecx, bword ptr [ebp-08H] mov ecx, gword ptr [ecx] mov gword ptr [ebp-28H], ecx mov ecx, bword ptr [ebp-08H] push dword ptr [ecx+04H] mov ecx, gword ptr [ebp-28H] mov edx, gword ptr [ebp-18H] call [System.Array:Copy(System.Array,System.Array,int)] G_M000_IG09: mov edx, bword ptr [ebp-08H] mov eax, gword ptr [ebp-18H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX G_M000_IG10: mov esp, ebp pop ebp ret 4 ; Total bytes of code 233 1066: JIT compiled System.Collections.Generic.ArrayBuilder`1[System.__Canon]:EnsureCapacity(int) [Tier0, IL size=89, code size=233] ; Assembly listing for method System.Collections.Generic.ArrayBuilder`1[System.__Canon]:UncheckedAdd(System.__Canon):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-10H], eax mov bword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, bword ptr [ebp-04H] mov ecx, gword ptr [ecx] mov gword ptr [ebp-10H], ecx mov ecx, bword ptr [ebp-04H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-0CH], ecx mov ecx, dword ptr [ebp-0CH] inc ecx mov edx, bword ptr [ebp-04H] mov dword ptr [edx+04H], ecx push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-10H] mov edx, dword ptr [ebp-0CH] call CORINFO_HELP_ARRADDR_ST G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 64 1067: JIT compiled System.Collections.Generic.ArrayBuilder`1[System.__Canon]:UncheckedAdd(System.__Canon) [Tier0, IL size=30, code size=64] ; Assembly listing for method System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:ToArray():BenchmarkDotNet.Reports.Measurement[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: lea edx, [ebp-08H] mov ecx, bword ptr [ebp-04H] call [System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:TryMove(byref):bool:this] test eax, eax je SHORT G_M000_IG04 mov eax, gword ptr [ebp-08H] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov edx, bword ptr [ebp-04H] mov edx, dword ptr [edx+10H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-08H], eax push 0 mov ecx, bword ptr [ebp-04H] push dword ptr [ecx+10H] mov ecx, bword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:CopyTo(BenchmarkDotNet.Reports.Measurement[],int,int):this] mov eax, gword ptr [ebp-08H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 83 1068: JIT compiled System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:ToArray() [Tier0, IL size=40, code size=83] ; Assembly listing for method System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:TryMove(byref):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov bword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov edx, bword ptr [ebp-04H] mov eax, gword ptr [edx] mov edx, bword ptr [ebp-08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax+10H] mov edx, bword ptr [ebp-04H] mov edx, gword ptr [edx] cmp eax, dword ptr [edx+04H] sete al movzx eax, al G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 49 1069: JIT compiled System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:TryMove(byref) [Tier0, IL size=25, code size=49] ; Assembly listing for method System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:CopyTo(BenchmarkDotNet.Reports.Measurement[],int,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 12 mov gword ptr [ebp-18H], edx mov edi, ecx mov ebx, dword ptr [ebp+0CH] mov esi, dword ptr [ebp+08H] G_M000_IG02: xor edx, edx test esi, esi jle SHORT G_M000_IG10 G_M000_IG03: test edx, edx je SHORT G_M000_IG06 G_M000_IG04: cmp edx, dword ptr [edi+18H] jle SHORT G_M000_IG05 mov ecx, gword ptr [edi+04H] jmp SHORT G_M000_IG07 G_M000_IG05: mov ecx, gword ptr [edi+14H] lea eax, [edx-01H] cmp eax, dword ptr [ecx+04H] jae SHORT G_M000_IG12 mov dword ptr [ebp-10H], edx mov ecx, gword ptr [ecx+4*edx+04H] mov edx, dword ptr [ebp-10H] jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, gword ptr [edi] G_M000_IG07: mov eax, dword ptr [ecx+04H] cmp esi, eax jg SHORT G_M000_IG11 G_M000_IG08: mov eax, esi mov dword ptr [ebp-10H], edx G_M000_IG09: push gword ptr [ebp-18H] push ebx mov dword ptr [ebp-14H], eax push eax xor edx, edx call [System.Array:Copy(System.Array,int,System.Array,int,int)] mov eax, dword ptr [ebp-14H] sub esi, eax add ebx, eax mov edx, dword ptr [ebp-10H] inc edx test esi, esi jg SHORT G_M000_IG03 G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG11: mov dword ptr [ebp-10H], edx jmp SHORT G_M000_IG09 G_M000_IG12: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 129 1070: JIT compiled System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:CopyTo(BenchmarkDotNet.Reports.Measurement[],int,int) [Tier-0 switched to FullOpts, IL size=51, code size=129] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults:get_Workload():System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-18H], xmm4 xor eax, eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, bword ptr [ebp-04H] call [BenchmarkDotNet.Engines.RunResults:get_EngineMeasurements():System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-08H], ecx mov ecx, gword ptr [ebp-0CH] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-14H], ecx cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax push 0xD1FFAB1E mov edx, gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-18H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, gword ptr [ebp-18H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-18H] mov gword ptr [ebp-14H], ecx G_M000_IG03: mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-14H] call [System.Linq.Enumerable:Where[BenchmarkDotNet.Reports.Measurement](System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement],System.Func`2[BenchmarkDotNet.Reports.Measurement,bool]):System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]] mov ecx, eax call [System.Linq.Enumerable:ToArray[BenchmarkDotNet.Reports.Measurement](System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]):BenchmarkDotNet.Reports.Measurement[]] G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 138 1071: JIT compiled BenchmarkDotNet.Engines.RunResults:get_Workload() [Tier0, IL size=48, code size=138] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults+<>c:b__7_0(BenchmarkDotNet.Reports.Measurement):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp+08H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp+18H] vmovdqu xmmword ptr [esp+10H], xmm0 mov ecx, 1 mov edx, 3 call [BenchmarkDotNet.Reports.MeasurementExtensions:Is(BenchmarkDotNet.Reports.Measurement,int,int):bool] G_M000_IG03: mov esp, ebp pop ebp ret 32 ; Total bytes of code 56 1072: JIT compiled BenchmarkDotNet.Engines.RunResults+<>c:b__7_0(BenchmarkDotNet.Reports.Measurement) [Tier0, IL size=9, code size=56] ; Assembly listing for method System.Linq.Enumerable:Select[BenchmarkDotNet.Reports.Measurement,double](System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement],System.Func`2[BenchmarkDotNet.Reports.Measurement,double]):System.Collections.Generic.IEnumerable`1[double] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 60 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-3CH], xmm4 vmovdqu xmmword ptr [ebp-2CH], xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: cmp gword ptr [ebp-04H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG04 mov ecx, 15 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG04: mov edx, gword ptr [ebp-04H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] mov gword ptr [ebp-0CH], eax cmp gword ptr [ebp-0CH], 0 je SHORT G_M000_IG05 push 0xD1FFAB1E mov ecx, gword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-38H], eax mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-08H] mov eax, dword ptr [ebp-38H] call eax mov gword ptr [ebp-3CH], eax jmp G_M000_IG11 G_M000_IG05: mov edx, gword ptr [ebp-04H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-10H], 0 je G_M000_IG09 mov edx, gword ptr [ebp-04H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFARRAY] mov gword ptr [ebp-18H], eax cmp gword ptr [ebp-18H], 0 je SHORT G_M000_IG07 mov ecx, gword ptr [ebp-18H] cmp dword ptr [ecx+04H], 0 je SHORT G_M000_IG06 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-34H], eax push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-34H] mov edx, gword ptr [ebp-18H] call [System.Linq.Enumerable+SelectArrayIterator`2[BenchmarkDotNet.Reports.Measurement,double]:.ctor(BenchmarkDotNet.Reports.Measurement[],System.Func`2[BenchmarkDotNet.Reports.Measurement,double]):this] mov eax, gword ptr [ebp-34H] mov gword ptr [ebp-20H], eax mov eax, gword ptr [ebp-20H] mov gword ptr [ebp-3CH], eax jmp G_M000_IG11 G_M000_IG06: call [System.Linq.Enumerable:Empty[double]():System.Collections.Generic.IEnumerable`1[double]] mov gword ptr [ebp-3CH], eax jmp G_M000_IG11 G_M000_IG07: mov edx, gword ptr [ebp-04H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] mov gword ptr [ebp-1CH], eax cmp gword ptr [ebp-1CH], 0 je SHORT G_M000_IG08 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-30H], eax push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-30H] mov edx, gword ptr [ebp-1CH] call [System.Linq.Enumerable+SelectListIterator`2[BenchmarkDotNet.Reports.Measurement,double]:.ctor(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],System.Func`2[BenchmarkDotNet.Reports.Measurement,double]):this] mov ecx, gword ptr [ebp-30H] mov gword ptr [ebp-3CH], ecx jmp G_M000_IG11 G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-2CH], eax push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-2CH] mov edx, gword ptr [ebp-10H] call [System.Linq.Enumerable+SelectIListIterator`2[BenchmarkDotNet.Reports.Measurement,double]:.ctor(System.Collections.Generic.IList`1[BenchmarkDotNet.Reports.Measurement],System.Func`2[BenchmarkDotNet.Reports.Measurement,double]):this] mov edx, gword ptr [ebp-2CH] mov gword ptr [ebp-3CH], edx jmp SHORT G_M000_IG11 G_M000_IG09: mov edx, gword ptr [ebp-04H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-14H], eax cmp gword ptr [ebp-14H], 0 je SHORT G_M000_IG10 xor ecx, ecx mov gword ptr [ebp-24H], ecx lea ecx, [ebp-24H] push ecx mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-14H] call [System.Linq.Enumerable:CreateSelectIPartitionIterator[double,BenchmarkDotNet.Reports.Measurement](System.Func`2[BenchmarkDotNet.Reports.Measurement,double],System.Linq.IPartition`1[BenchmarkDotNet.Reports.Measurement],byref)] cmp gword ptr [ebp-24H], 0 je SHORT G_M000_IG10 mov ecx, gword ptr [ebp-24H] mov gword ptr [ebp-3CH], ecx jmp SHORT G_M000_IG11 G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-28H], eax push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-28H] mov edx, gword ptr [ebp-04H] call [System.Linq.Enumerable+SelectEnumerableIterator`2[BenchmarkDotNet.Reports.Measurement,double]:.ctor(System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement],System.Func`2[BenchmarkDotNet.Reports.Measurement,double]):this] mov eax, gword ptr [ebp-28H] mov gword ptr [ebp-3CH], eax G_M000_IG11: mov eax, gword ptr [ebp-3CH] G_M000_IG12: mov esp, ebp pop ebp ret ; Total bytes of code 448 1073: JIT compiled System.Linq.Enumerable:Select[BenchmarkDotNet.Reports.Measurement,double](System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement],System.Func`2[BenchmarkDotNet.Reports.Measurement,double]) [Tier0, IL size=146, code size=448] ; Assembly listing for method System.Linq.Enumerable+SelectArrayIterator`2[BenchmarkDotNet.Reports.Measurement,double]:.ctor(BenchmarkDotNet.Reports.Measurement[],System.Func`2[BenchmarkDotNet.Reports.Measurement,double]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable+Iterator`1[double]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+14H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 55 1074: JIT compiled System.Linq.Enumerable+SelectArrayIterator`2[BenchmarkDotNet.Reports.Measurement,double]:.ctor(BenchmarkDotNet.Reports.Measurement[],System.Func`2[BenchmarkDotNet.Reports.Measurement,double]) [Tier0, IL size=21, code size=55] ; Assembly listing for method System.Linq.Enumerable+Iterator`1[double]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] call System.Environment:get_CurrentManagedThreadId():int mov edx, gword ptr [ebp-04H] mov dword ptr [edx+0CH], eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 1075: JIT compiled System.Linq.Enumerable+Iterator`1[double]:.ctor() [Tier0, IL size=18, code size=31] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics:.ctor(System.Collections.Generic.IEnumerable`1[double]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 284 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-114H], xmm4 mov eax, -240 vmovdqu xmmword ptr [ebp+eax-14H], xmm4 vmovdqu xmmword ptr [ebp+eax-04H], xmm4 vmovdqu xmmword ptr [ebp+eax+0CH], xmm4 add eax, 48 jne SHORT -5 instr mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov ecx, 0xD1FFAB1E mov edx, 884 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-60H], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-64H], ecx mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-68H], ecx mov ecx, gword ptr [ebp-60H] mov gword ptr [ebp-6CH], ecx cmp gword ptr [ebp-60H], 0 jne SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-F8H], eax mov ecx, 0xD1FFAB1E mov edx, 884 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-FCH], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-FCH] mov ecx, gword ptr [ebp-F8H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 884 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-F8H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-F8H] mov gword ptr [ebp-6CH], ecx G_M000_IG03: mov ecx, gword ptr [ebp-68H] mov edx, gword ptr [ebp-6CH] call [System.Linq.Enumerable:Where[double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,bool]):System.Collections.Generic.IEnumerable`1[double]] mov ecx, eax call [System.Linq.Enumerable:ToArray[double](System.Collections.Generic.IEnumerable`1[double]):double[]] mov edx, gword ptr [ebp-64H] lea edx, bword ptr [edx+74H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Mathematics.Statistics:get_OriginalValues():System.Collections.Generic.IReadOnlyList`1[double]:this] mov gword ptr [ebp-74H], eax mov ecx, 0xD1FFAB1E mov edx, 884 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-70H], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-78H], ecx mov ecx, gword ptr [ebp-74H] mov gword ptr [ebp-7CH], ecx mov ecx, gword ptr [ebp-70H] mov gword ptr [ebp-80H], ecx cmp gword ptr [ebp-70H], 0 jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-F4H], eax mov ecx, 0xD1FFAB1E mov edx, 884 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-100H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-100H] mov ecx, gword ptr [ebp-F4H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E mov edx, 884 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-F4H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-F4H] mov gword ptr [ebp-80H], ecx G_M000_IG04: mov ecx, gword ptr [ebp-7CH] mov edx, gword ptr [ebp-80H] call [System.Linq.Enumerable:OrderBy[double,double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]):System.Linq.IOrderedEnumerable`1[double]] mov ecx, eax call [System.Linq.Enumerable:ToArray[double](System.Collections.Generic.IEnumerable`1[double]):double[]] mov edx, gword ptr [ebp-78H] lea edx, bword ptr [edx+78H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Mathematics.Statistics:get_SortedValues():System.Collections.Generic.IReadOnlyList`1[double]:this] mov ecx, eax call [System.Collections.Generic.IReadOnlyCollection`1[double]:get_Count():int:this] mov ecx, gword ptr [ebp-04H] mov dword ptr [ecx+90H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Mathematics.Statistics:get_N():int:this] test eax, eax jne SHORT G_M000_IG06 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-F0H], eax mov ecx, 0x9DA0 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-104H], eax mov edx, gword ptr [ebp-104H] mov ecx, gword ptr [ebp-F0H] call [System.InvalidOperationException:.ctor(System.String):this] mov ecx, gword ptr [ebp-F0H] call CORINFO_HELP_THROW G_M000_IG06: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Mathematics.Statistics:get_SortedValues():System.Collections.Generic.IReadOnlyList`1[double]:this] mov gword ptr [ebp-108H], eax mov edx, gword ptr [ebp-108H] lea ecx, [ebp-30H] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:FromSorted(System.Collections.Generic.IReadOnlyList`1[double]):Perfolizer.Mathematics.QuantileEstimators.Quartiles] lea ecx, [ebp-30H] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Min():double:this] fstp qword ptr [ebp-11CH] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-11CH] vmovsd qword ptr [ecx+04H], xmm0 lea ecx, [ebp-30H] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q1():double:this] fstp qword ptr [ebp-11CH] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-11CH] vmovsd qword ptr [ecx+14H], xmm0 lea ecx, [ebp-30H] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Median():double:this] fstp qword ptr [ebp-11CH] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-11CH] vmovsd qword ptr [ecx+1CH], xmm0 lea ecx, [ebp-30H] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q3():double:this] fstp qword ptr [ebp-11CH] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-11CH] vmovsd qword ptr [ecx+2CH], xmm0 lea ecx, [ebp-30H] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Max():double:this] fstp qword ptr [ebp-11CH] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-11CH] vmovsd qword ptr [ecx+3CH], xmm0 lea ecx, [ebp-30H] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_InterquartileRange():double:this] fstp qword ptr [ebp-11CH] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-11CH] vmovsd qword ptr [ecx+44H], xmm0 mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Mathematics.Statistics:get_SortedValues():System.Collections.Generic.IReadOnlyList`1[double]:this] mov gword ptr [ebp-10CH], eax mov edx, gword ptr [ebp-10CH] lea ecx, [ebp-58H] call [Perfolizer.Mathematics.Common.Moments:Create(System.Collections.Generic.IReadOnlyList`1[double]):Perfolizer.Mathematics.Common.Moments] lea ecx, [ebp-58H] call [Perfolizer.Mathematics.Common.Moments:get_Mean():double:this] fstp qword ptr [ebp-11CH] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-11CH] vmovsd qword ptr [ecx+24H], xmm0 lea ecx, [ebp-58H] call [Perfolizer.Mathematics.Common.Moments:get_StandardDeviation():double:this] fstp qword ptr [ebp-11CH] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-11CH] vmovsd qword ptr [ecx+5CH], xmm0 G_M000_IG07: lea ecx, [ebp-58H] call [Perfolizer.Mathematics.Common.Moments:get_Variance():double:this] fstp qword ptr [ebp-11CH] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-11CH] vmovsd qword ptr [ecx+54H], xmm0 lea ecx, [ebp-58H] call [Perfolizer.Mathematics.Common.Moments:get_Skewness():double:this] fstp qword ptr [ebp-11CH] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-11CH] vmovsd qword ptr [ecx+64H], xmm0 lea ecx, [ebp-58H] call [Perfolizer.Mathematics.Common.Moments:get_Kurtosis():double:this] fstp qword ptr [ebp-11CH] mov eax, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-11CH] vmovsd qword ptr [eax+6CH], xmm0 sub esp, 40 vmovdqu xmm0, xmmword ptr [ebp-30H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-20H] vmovdqu xmmword ptr [esp+10H], xmm0 vmovq xmm0, qword ptr [ebp-10H] vmovq qword ptr [esp+20H], xmm0 vmovsd xmm0, qword ptr [@RWD00] sub esp, 8 vmovsd qword ptr [esp], xmm0 call [Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:FromQuartiles(Perfolizer.Mathematics.QuantileEstimators.Quartiles,double):Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector] mov gword ptr [ebp-5CH], eax mov ecx, gword ptr [ebp-5CH] cmp dword ptr [ecx], ecx call [Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:get_LowerFence():double:this] fstp qword ptr [ebp-11CH] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-11CH] vmovsd qword ptr [ecx+0CH], xmm0 mov ecx, gword ptr [ebp-5CH] cmp dword ptr [ecx], ecx call [Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:get_UpperFence():double:this] fstp qword ptr [ebp-11CH] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-11CH] vmovsd qword ptr [ecx+34H], xmm0 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-84H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Mathematics.Statistics:get_SortedValues():System.Collections.Generic.IReadOnlyList`1[double]:this] mov gword ptr [ebp-88H], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-84H] mov edx, gword ptr [ebp-5CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, gword ptr [ebp-88H] mov edx, gword ptr [ebp-84H] call [System.Linq.Enumerable:Where[double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,bool]):System.Collections.Generic.IEnumerable`1[double]] mov ecx, eax call [System.Linq.Enumerable:ToArray[double](System.Collections.Generic.IEnumerable`1[double]):double[]] mov edx, gword ptr [ebp-04H] G_M000_IG08: lea edx, bword ptr [edx+84H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-8CH], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Mathematics.Statistics:get_SortedValues():System.Collections.Generic.IReadOnlyList`1[double]:this] mov gword ptr [ebp-90H], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-5CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR push eax mov edx, gword ptr [ebp-5CH] mov ecx, gword ptr [ebp-8CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, gword ptr [ebp-90H] mov edx, gword ptr [ebp-8CH] call [System.Linq.Enumerable:Where[double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,bool]):System.Collections.Generic.IEnumerable`1[double]] mov ecx, eax call [System.Linq.Enumerable:ToArray[double](System.Collections.Generic.IEnumerable`1[double]):double[]] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+7CH] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-94H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Mathematics.Statistics:get_SortedValues():System.Collections.Generic.IReadOnlyList`1[double]:this] mov gword ptr [ebp-98H], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-5CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR push eax mov edx, gword ptr [ebp-5CH] mov ecx, gword ptr [ebp-94H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, gword ptr [ebp-98H] mov edx, gword ptr [ebp-94H] call [System.Linq.Enumerable:Where[double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,bool]):System.Collections.Generic.IEnumerable`1[double]] mov ecx, eax call [System.Linq.Enumerable:ToArray[double](System.Collections.Generic.IEnumerable`1[double]):double[]] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+80H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+8CH] mov ecx, gword ptr [ebp-5CH] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Mathematics.Statistics:get_StandardDeviation():double:this] fstp qword ptr [ebp-11CH] vmovsd xmm0, qword ptr [ebp-11CH] vmovsd qword ptr [ebp-A0H], xmm0 mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Mathematics.Statistics:get_N():int:this] vxorps xmm0, xmm0, xmm0 vcvtsi2sd xmm0, xmm0, eax sub esp, 8 G_M000_IG09: vmovsd qword ptr [esp], xmm0 call System.Math:Sqrt(double):double fstp qword ptr [ebp-11CH] vmovsd xmm1, qword ptr [ebp-A0H] vmovsd xmm0, qword ptr [ebp-11CH] vdivsd xmm0, xmm1, xmm0 mov ecx, gword ptr [ebp-04H] vmovsd qword ptr [ecx+4CH], xmm0 mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Mathematics.Statistics:get_Mean():double:this] fstp qword ptr [ebp-11CH] vmovsd xmm0, qword ptr [ebp-11CH] vmovsd qword ptr [ebp-A8H], xmm0 mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Mathematics.Statistics:get_StandardError():double:this] fstp qword ptr [ebp-11CH] vmovsd xmm0, qword ptr [ebp-11CH] vmovsd qword ptr [ebp-B0H], xmm0 vxorps ymm0, ymm0, ymm0 vmovdqu ymmword ptr [ebp-E8H], ymm0 vmovdqu ymmword ptr [ebp-D0H], ymm0 vmovsd xmm0, qword ptr [ebp-A8H] sub esp, 8 vmovsd qword ptr [esp], xmm0 vmovsd xmm0, qword ptr [ebp-B0H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Mathematics.Statistics:get_N():int:this] mov dword ptr [ebp-110H], eax push 12 mov edx, dword ptr [ebp-110H] lea ecx, [ebp-E8H] call [Perfolizer.Mathematics.Common.ConfidenceInterval:.ctor(double,double,int,int):this] mov ecx, gword ptr [ebp-04H] vmovdqu ymm0, ymmword ptr [ebp-E8H] vmovdqu ymmword ptr [ecx+94H], ymm0 vmovdqu ymm0, ymmword ptr [ebp-D0H] vmovdqu ymmword ptr [ecx+ACH], ymm0 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST_ALIGN8 mov gword ptr [ebp-ECH], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Mathematics.Statistics:get_SortedValues():System.Collections.Generic.IReadOnlyList`1[double]:this] mov gword ptr [ebp-114H], eax mov edx, gword ptr [ebp-114H] mov ecx, gword ptr [ebp-ECH] call [BenchmarkDotNet.Mathematics.PercentileValues:.ctor(System.Collections.Generic.IReadOnlyList`1[double]):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+88H] mov ecx, gword ptr [ebp-ECH] call CORINFO_HELP_ASSIGN_REF_ECX G_M000_IG10: mov esp, ebp pop ebp ret RWD00 dq 3FF8000000000000h ; 1.5 ; Total bytes of code 1757 1076: JIT compiled BenchmarkDotNet.Mathematics.Statistics:.ctor(System.Collections.Generic.IEnumerable`1[double]) [Tier0, IL size=535, code size=1757] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Mathematics.Statistics+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 1077: JIT compiled BenchmarkDotNet.Mathematics.Statistics+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 1078: JIT compiled BenchmarkDotNet.Mathematics.Statistics+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:Where[double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,bool]):System.Collections.Generic.IEnumerable`1[double] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 40 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 vmovdqu xmmword ptr [ebp-18H], xmm4 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: cmp gword ptr [ebp-04H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG04 mov ecx, 12 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG04: mov edx, gword ptr [ebp-04H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] mov gword ptr [ebp-0CH], eax cmp gword ptr [ebp-0CH], 0 je SHORT G_M000_IG05 mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-0CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+2CH] call [eax+08H]System.Linq.Enumerable+Iterator`1[double]:Where(System.Func`2[double,bool]):System.Collections.Generic.IEnumerable`1[double]:this mov gword ptr [ebp-28H], eax jmp G_M000_IG09 G_M000_IG05: mov edx, gword ptr [ebp-04H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFARRAY] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-10H], 0 je SHORT G_M000_IG07 mov ecx, gword ptr [ebp-10H] cmp dword ptr [ecx+04H], 0 je SHORT G_M000_IG06 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-24H], eax push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-24H] mov edx, gword ptr [ebp-10H] call [System.Linq.Enumerable+WhereArrayIterator`1[double]:.ctor(double[],System.Func`2[double,bool]):this] mov eax, gword ptr [ebp-24H] mov gword ptr [ebp-18H], eax mov eax, gword ptr [ebp-18H] mov gword ptr [ebp-28H], eax jmp SHORT G_M000_IG09 G_M000_IG06: call [System.Linq.Enumerable:Empty[double]():System.Collections.Generic.IEnumerable`1[double]] mov gword ptr [ebp-28H], eax jmp SHORT G_M000_IG09 G_M000_IG07: mov edx, gword ptr [ebp-04H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] mov gword ptr [ebp-14H], eax cmp gword ptr [ebp-14H], 0 je SHORT G_M000_IG08 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-20H], eax push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-20H] mov edx, gword ptr [ebp-14H] call [System.Linq.Enumerable+WhereListIterator`1[double]:.ctor(System.Collections.Generic.List`1[double],System.Func`2[double,bool]):this] mov ecx, gword ptr [ebp-20H] mov gword ptr [ebp-28H], ecx jmp SHORT G_M000_IG09 G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-1CH], eax push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-04H] call [System.Linq.Enumerable+WhereEnumerableIterator`1[double]:.ctor(System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,bool]):this] mov eax, gword ptr [ebp-1CH] mov gword ptr [ebp-28H], eax G_M000_IG09: mov eax, gword ptr [ebp-28H] G_M000_IG10: mov esp, ebp pop ebp ret ; Total bytes of code 293 1079: JIT compiled System.Linq.Enumerable:Where[double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,bool]) [Tier0, IL size=94, code size=293] ; Assembly listing for method System.Linq.Enumerable+Iterator`1[double]:Where(System.Func`2[double,bool]):System.Collections.Generic.IEnumerable`1[double]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] call [System.Linq.Enumerable+WhereEnumerableIterator`1[double]:.ctor(System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,bool]):this] mov eax, gword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 52 1080: JIT compiled System.Linq.Enumerable+Iterator`1[double]:Where(System.Func`2[double,bool]) [Tier0, IL size=8, code size=52] ; Assembly listing for method System.Linq.Enumerable+WhereEnumerableIterator`1[double]:.ctor(System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,bool]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable+Iterator`1[double]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+14H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 55 1081: JIT compiled System.Linq.Enumerable+WhereEnumerableIterator`1[double]:.ctor(System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,bool]) [Tier0, IL size=21, code size=55] ; Assembly listing for method System.Linq.Enumerable:ToArray[double](System.Collections.Generic.IEnumerable`1[double]):double[] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: cmp gword ptr [ebp-04H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: mov edx, gword ptr [ebp-04H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-08H], eax cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG05 mov ecx, gword ptr [ebp-04H] call [System.Collections.Generic.EnumerableHelpers:ToArray[double](System.Collections.Generic.IEnumerable`1[double]):double[]] G_M000_IG04: mov esp, ebp pop ebp ret G_M000_IG05: mov ecx, gword ptr [ebp-08H] call [System.Linq.IIListProvider`1[double]:ToArray():double[]:this] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 80 1082: JIT compiled System.Linq.Enumerable:ToArray[double](System.Collections.Generic.IEnumerable`1[double]) [Tier0, IL size=34, code size=80] ; Assembly listing for method System.Linq.Enumerable+WhereEnumerableIterator`1[double]:ToArray():double[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 68 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-3CH], xmm4 xor eax, eax mov dword ptr [ebp-2CH], eax mov dword ptr [ebp-28H], eax mov dword ptr [ebp-24H], eax mov dword ptr [ebp-18H], eax mov esi, ecx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 57 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-38H], ecx mov gword ptr [ebp-3CH], ecx mov dword ptr [ebp-34H], 0xD1FFAB1E mov ecx, gword ptr [esi+14H] call [System.Collections.Generic.IEnumerable`1[double]:GetEnumerator():System.Collections.Generic.IEnumerator`1[double]:this] mov ecx, eax mov gword ptr [ebp-48H], ecx G_M000_IG03: call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG09 G_M000_IG04: mov ecx, gword ptr [ebp-48H] call [System.Collections.Generic.IEnumerator`1[double]:get_Current():double:this] fstp qword ptr [ebp-50H] vmovsd xmm0, qword ptr [ebp-50H] vmovsd qword ptr [ebp-44H], xmm0 mov eax, gword ptr [esi+18H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [eax+04H] call [eax+0CH]System.Func`2[double,bool]:Invoke(double):bool:this test eax, eax je SHORT G_M000_IG08 G_M000_IG05: mov edi, dword ptr [ebp-30H] mov ebx, gword ptr [ebp-38H] mov ecx, dword ptr [ebx+04H] cmp ecx, edi ja SHORT G_M000_IG06 vmovsd xmm0, qword ptr [ebp-44H] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-3CH] call [System.Collections.Generic.LargeArrayBuilder`1[double]:AddWithBufferAllocation(double):this] jmp SHORT G_M000_IG07 G_M000_IG06: vmovsd xmm0, qword ptr [ebp-44H] vmovsd qword ptr [ebx+8*edi+08H], xmm0 inc edi mov dword ptr [ebp-30H], edi G_M000_IG07: mov ecx, dword ptr [ebp-2CH] inc ecx mov dword ptr [ebp-2CH], ecx G_M000_IG08: mov ecx, gword ptr [ebp-48H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG04 G_M000_IG09: mov ecx, gword ptr [ebp-48H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG12 G_M000_IG10: cmp gword ptr [ebp-48H], 0 je SHORT G_M000_IG11 mov ecx, gword ptr [ebp-48H] call [System.IDisposable:Dispose():this] G_M000_IG11: pop eax jmp eax G_M000_IG12: lea ecx, [ebp-3CH] call [System.Collections.Generic.LargeArrayBuilder`1[double]:ToArray():double[]:this] G_M000_IG13: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 256 1083: JIT compiled System.Linq.Enumerable+WhereEnumerableIterator`1[double]:ToArray() [Tier-0 switched to FullOpts, IL size=78, code size=256] ; Assembly listing for method System.Linq.Enumerable+Iterator`1[double]:GetEnumerator():System.Collections.Generic.IEnumerator`1[double]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] cmp dword ptr [eax+10H], 0 jne SHORT G_M000_IG03 mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+0CH] mov dword ptr [ebp-10H], eax call System.Environment:get_CurrentManagedThreadId():int cmp eax, dword ptr [ebp-10H] je SHORT G_M000_IG04 G_M000_IG03: mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+14H]System.Linq.Enumerable+Iterator`1[double]:Clone():System.Linq.Enumerable+Iterator`1[double]:this mov gword ptr [ebp-0CH], eax jmp SHORT G_M000_IG05 G_M000_IG04: mov eax, gword ptr [ebp-04H] mov gword ptr [ebp-0CH], eax G_M000_IG05: mov eax, gword ptr [ebp-0CH] mov gword ptr [ebp-08H], eax mov eax, gword ptr [ebp-08H] mov dword ptr [eax+10H], 1 mov eax, gword ptr [ebp-08H] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 93 1084: JIT compiled System.Linq.Enumerable+Iterator`1[double]:GetEnumerator() [Tier0, IL size=40, code size=93] ; Assembly listing for method System.Linq.Enumerable+SelectArrayIterator`2[BenchmarkDotNet.Reports.Measurement,double]:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 vzeroupper xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+14H] mov gword ptr [ebp-08H], ecx mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx+10H] dec ecx mov dword ptr [ebp-0CH], ecx mov ecx, dword ptr [ebp-0CH] mov eax, gword ptr [ebp-08H] cmp ecx, dword ptr [eax+04H] jae SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] inc dword ptr [ecx+10H] mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+18H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-08H] mov eax, dword ptr [ebp-0CH] cmp eax, dword ptr [ecx+04H] jae SHORT G_M000_IG06 imul edx, eax, 32 lea ecx, bword ptr [ecx+edx+08H] sub esp, 32 vmovdqu xmm0, xmmword ptr [ecx] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ecx+10H] vmovdqu xmmword ptr [esp+10H], xmm0 mov ecx, gword ptr [ebp-10H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-10H] call [eax+0CH]System.Func`2[BenchmarkDotNet.Reports.Measurement,double]:Invoke(BenchmarkDotNet.Reports.Measurement):double:this fstp qword ptr [ebp-18H] mov eax, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-18H] vmovsd qword ptr [eax+04H], xmm0 mov eax, 1 G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+18H]System.Linq.Enumerable+Iterator`1[double]:Dispose():this xor eax, eax G_M000_IG05: mov esp, ebp pop ebp ret G_M000_IG06: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 169 1085: JIT compiled System.Linq.Enumerable+SelectArrayIterator`2[BenchmarkDotNet.Reports.Measurement,double]:MoveNext() [Tier0, IL size=70, code size=169] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults+<>c:b__18_0(BenchmarkDotNet.Reports.Measurement):double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: lea ecx, [ebp+08H] call [BenchmarkDotNet.Reports.Measurement:get_Nanoseconds():double:this] fstp qword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-0CH] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret 32 ; Total bytes of code 43 1086: JIT compiled BenchmarkDotNet.Engines.RunResults+<>c:b__18_0(BenchmarkDotNet.Reports.Measurement) [Tier0, IL size=8, code size=43] ; Assembly listing for method System.Linq.Enumerable+Iterator`1[double]:get_Current():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+04H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1087: JIT compiled System.Linq.Enumerable+Iterator`1[double]:get_Current() [Tier0, IL size=7, code size=32] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics+<>c:<.ctor>b__69_0(double):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 call [System.Double:IsNaN(double):bool] test eax, eax sete al movzx eax, al G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 43 1088: JIT compiled BenchmarkDotNet.Mathematics.Statistics+<>c:<.ctor>b__69_0(double) [Tier0, IL size=10, code size=43] ; Assembly listing for method System.Collections.Generic.LargeArrayBuilder`1[double]:AddWithBufferAllocation(double):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, bword ptr [ebp-04H] call [System.Collections.Generic.LargeArrayBuilder`1[double]:AllocateBuffer():this] mov eax, bword ptr [ebp-04H] mov eax, gword ptr [eax+04H] mov gword ptr [ebp-0CH], eax mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax+0CH] mov dword ptr [ebp-08H], eax mov eax, dword ptr [ebp-08H] inc eax mov edx, bword ptr [ebp-04H] mov dword ptr [edx+0CH], eax mov eax, gword ptr [ebp-0CH] mov edx, dword ptr [ebp-08H] cmp edx, dword ptr [eax+04H] jae SHORT G_M000_IG04 lea eax, bword ptr [eax+8*edx+08H] vmovsd xmm0, qword ptr [ebp+08H] vmovsd qword ptr [eax], xmm0 G_M000_IG03: mov esp, ebp pop ebp ret 8 G_M000_IG04: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 90 1089: JIT compiled System.Collections.Generic.LargeArrayBuilder`1[double]:AddWithBufferAllocation(double) [Tier0, IL size=36, code size=90] ; Assembly listing for method System.Collections.Generic.LargeArrayBuilder`1[double]:AllocateBuffer():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-20H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov edx, bword ptr [ebp-04H] cmp dword ptr [edx+10H], 8 jae G_M000_IG06 mov edx, bword ptr [ebp-04H] cmp dword ptr [edx+10H], 0 je SHORT G_M000_IG03 mov edx, bword ptr [ebp-04H] mov edx, dword ptr [edx+10H] add edx, edx mov dword ptr [ebp-10H], edx jmp SHORT G_M000_IG04 G_M000_IG03: mov dword ptr [ebp-10H], 4 G_M000_IG04: mov edx, bword ptr [ebp-04H] mov edx, dword ptr [edx+08H] mov ecx, dword ptr [ebp-10H] call [System.Math:Min(int,int):int] mov dword ptr [ebp-08H], eax mov edx, dword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_ALIGN8 mov edx, bword ptr [ebp-04H] lea edx, bword ptr [edx+04H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov ecx, bword ptr [ebp-04H] mov ecx, gword ptr [ecx] mov gword ptr [ebp-14H], ecx mov ecx, bword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx mov ecx, bword ptr [ebp-04H] push dword ptr [ecx+10H] mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-18H] call [System.Array:Copy(System.Array,System.Array,int)] mov edx, bword ptr [ebp-04H] mov ecx, gword ptr [edx+04H] mov edx, bword ptr [ebp-04H] call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX G_M000_IG05: mov esp, ebp pop ebp ret G_M000_IG06: mov ecx, bword ptr [ebp-04H] cmp dword ptr [ecx+10H], 8 jne SHORT G_M000_IG07 mov dword ptr [ebp-0CH], 8 jmp SHORT G_M000_IG08 G_M000_IG07: mov ecx, bword ptr [ebp-04H] cmp byte ptr [ecx], cl mov ecx, bword ptr [ebp-04H] add ecx, 20 mov bword ptr [ebp-1CH], ecx mov ecx, bword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-20H], ecx push 0xD1FFAB1E mov ecx, bword ptr [ebp-1CH] mov edx, gword ptr [ebp-20H] call [System.Collections.Generic.ArrayBuilder`1[System.__Canon]:Add(System.__Canon):this] mov edx, bword ptr [ebp-04H] mov edx, dword ptr [edx+08H] mov ecx, bword ptr [ebp-04H] sub edx, dword ptr [ecx+10H] mov ecx, bword ptr [ebp-04H] mov ecx, dword ptr [ecx+10H] call [System.Math:Min(int,int):int] mov dword ptr [ebp-0CH], eax G_M000_IG08: mov edx, dword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_ALIGN8 mov edx, bword ptr [ebp-04H] lea edx, bword ptr [edx+04H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov eax, bword ptr [ebp-04H] xor edx, edx mov dword ptr [eax+0CH], edx G_M000_IG09: mov esp, ebp pop ebp ret ; Total bytes of code 281 1090: JIT compiled System.Collections.Generic.LargeArrayBuilder`1[double]:AllocateBuffer() [Tier0, IL size=163, code size=281] ; Assembly listing for method System.Linq.Enumerable+Iterator`1[double]:Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] vxorps xmm0, xmm0, xmm0 vmovsd qword ptr [eax+04H], xmm0 mov eax, gword ptr [ebp-04H] mov dword ptr [eax+10H], -1 G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 36 1091: JIT compiled System.Linq.Enumerable+Iterator`1[double]:Dispose() [Tier0, IL size=20, code size=36] ; Assembly listing for method System.Collections.Generic.LargeArrayBuilder`1[double]:ToArray():double[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: lea edx, [ebp-08H] mov ecx, bword ptr [ebp-04H] call [System.Collections.Generic.LargeArrayBuilder`1[double]:TryMove(byref):bool:this] test eax, eax je SHORT G_M000_IG04 mov eax, gword ptr [ebp-08H] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov edx, bword ptr [ebp-04H] mov edx, dword ptr [edx+10H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_ALIGN8 mov gword ptr [ebp-08H], eax push 0 mov ecx, bword ptr [ebp-04H] push dword ptr [ecx+10H] mov ecx, bword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Collections.Generic.LargeArrayBuilder`1[double]:CopyTo(double[],int,int):this] mov eax, gword ptr [ebp-08H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 83 1092: JIT compiled System.Collections.Generic.LargeArrayBuilder`1[double]:ToArray() [Tier0, IL size=40, code size=83] ; Assembly listing for method System.Collections.Generic.LargeArrayBuilder`1[double]:TryMove(byref):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov bword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov edx, bword ptr [ebp-04H] mov eax, gword ptr [edx] mov edx, bword ptr [ebp-08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax+10H] mov edx, bword ptr [ebp-04H] mov edx, gword ptr [edx] cmp eax, dword ptr [edx+04H] sete al movzx eax, al G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 49 1093: JIT compiled System.Collections.Generic.LargeArrayBuilder`1[double]:TryMove(byref) [Tier0, IL size=25, code size=49] ; Assembly listing for method System.Collections.Generic.LargeArrayBuilder`1[double]:CopyTo(double[],int,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 12 mov gword ptr [ebp-18H], edx mov edi, ecx mov ebx, dword ptr [ebp+0CH] mov esi, dword ptr [ebp+08H] G_M000_IG02: xor edx, edx test esi, esi jle SHORT G_M000_IG10 G_M000_IG03: test edx, edx je SHORT G_M000_IG06 G_M000_IG04: cmp edx, dword ptr [edi+18H] jle SHORT G_M000_IG05 mov ecx, gword ptr [edi+04H] jmp SHORT G_M000_IG07 G_M000_IG05: mov ecx, gword ptr [edi+14H] lea eax, [edx-01H] cmp eax, dword ptr [ecx+04H] jae SHORT G_M000_IG12 mov dword ptr [ebp-10H], edx mov ecx, gword ptr [ecx+4*edx+04H] mov edx, dword ptr [ebp-10H] jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, gword ptr [edi] G_M000_IG07: mov eax, dword ptr [ecx+04H] cmp esi, eax jg SHORT G_M000_IG11 G_M000_IG08: mov eax, esi mov dword ptr [ebp-10H], edx G_M000_IG09: push gword ptr [ebp-18H] push ebx mov dword ptr [ebp-14H], eax push eax xor edx, edx call [System.Array:Copy(System.Array,int,System.Array,int,int)] mov eax, dword ptr [ebp-14H] sub esi, eax add ebx, eax mov edx, dword ptr [ebp-10H] inc edx test esi, esi jg SHORT G_M000_IG03 G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG11: mov dword ptr [ebp-10H], edx jmp SHORT G_M000_IG09 G_M000_IG12: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 129 1094: JIT compiled System.Collections.Generic.LargeArrayBuilder`1[double]:CopyTo(double[],int,int) [Tier-0 switched to FullOpts, IL size=51, code size=129] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics:get_OriginalValues():System.Collections.Generic.IReadOnlyList`1[double]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+74H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 1095: JIT compiled BenchmarkDotNet.Mathematics.Statistics:get_OriginalValues() [Tier0, IL size=7, code size=17] ; Assembly listing for method System.Linq.Enumerable:OrderBy[double,double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]):System.Linq.IOrderedEnumerable`1[double] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax push gword ptr [ebp-08H] push 0 push 0 push 0 mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] call [System.Linq.OrderedEnumerable`2[double,double]:.ctor(System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double],System.Collections.Generic.IComparer`1[double],bool,System.Linq.OrderedEnumerable`1[double]):this] mov eax, gword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 58 1096: JIT compiled System.Linq.Enumerable:OrderBy[double,double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]) [Tier0, IL size=11, code size=58] ; Assembly listing for method System.Linq.OrderedEnumerable`2[double,double]:.ctor(System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double],System.Collections.Generic.IComparer`1[double],bool,System.Linq.OrderedEnumerable`1[double]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Linq.OrderedEnumerable`1[double]:.ctor(System.Collections.Generic.IEnumerable`1[double]):this] cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: cmp gword ptr [ebp+14H], 0 jne SHORT G_M000_IG04 mov ecx, 9 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG04: mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov gword ptr [ebp-0CH], eax mov eax, gword ptr [ebp+10H] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp+10H], 0 jne SHORT G_M000_IG05 call [System.Collections.Generic.Comparer`1[double]:get_Default():System.Collections.Generic.Comparer`1[double]] mov gword ptr [ebp-10H], eax G_M000_IG05: mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+10H] mov eax, gword ptr [ebp-10H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+0CH] mov byte ptr [eax+14H], dl G_M000_IG06: mov esp, ebp pop ebp ret 16 ; Total bytes of code 150 1097: JIT compiled System.Linq.OrderedEnumerable`2[double,double]:.ctor(System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double],System.Collections.Generic.IComparer`1[double],bool,System.Linq.OrderedEnumerable`1[double]) [Tier0, IL size=67, code size=150] ; Assembly listing for method System.Linq.OrderedEnumerable`1[double]:.ctor(System.Collections.Generic.IEnumerable`1[double]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 39 1098: JIT compiled System.Linq.OrderedEnumerable`1[double]:.ctor(System.Collections.Generic.IEnumerable`1[double]) [Tier0, IL size=14, code size=39] ; Assembly listing for method System.Linq.OrderedEnumerable`1[double]:ToArray():double[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 36 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-2CH], xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 mov gword ptr [ebp-0CH], ecx G_M000_IG02: mov edx, gword ptr [ebp-0CH] mov edx, gword ptr [edx+04H] lea ecx, [ebp-14H] call [System.Linq.Buffer`1[double]:.ctor(System.Collections.Generic.IEnumerable`1[double]):this] mov eax, dword ptr [ebp-10H] mov dword ptr [ebp-18H], eax cmp dword ptr [ebp-18H], 0 jne SHORT G_M000_IG04 mov eax, gword ptr [ebp-14H] G_M000_IG03: lea esp, [ebp-08H] pop esi pop edi pop ebp ret G_M000_IG04: mov edx, dword ptr [ebp-18H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_ALIGN8 mov gword ptr [ebp-1CH], eax lea edi, bword ptr [ebp-24H] lea esi, bword ptr [ebp-14H] movsd movsd lea ecx, [ebp-2CH] mov edx, gword ptr [ebp-1CH] call [System.Span`1[double]:op_Implicit(double[]):System.Span`1[double]] push dword ptr [ebp-20H] push gword ptr [ebp-24H] push dword ptr [ebp-28H] push bword ptr [ebp-2CH] mov ecx, gword ptr [ebp-0CH] call [System.Linq.OrderedEnumerable`1[double]:Fill(System.Linq.Buffer`1[double],System.Span`1[double]):this] mov eax, gword ptr [ebp-1CH] G_M000_IG05: lea esp, [ebp-08H] pop esi pop edi pop ebp ret ; Total bytes of code 129 1099: JIT compiled System.Linq.OrderedEnumerable`1[double]:ToArray() [Tier0, IL size=52, code size=129] ; Assembly listing for method System.Linq.Buffer`1[double]:.ctor(System.Collections.Generic.IEnumerable`1[double]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov bword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-0CH], eax cmp gword ptr [ebp-0CH], 0 je SHORT G_M000_IG04 mov ecx, gword ptr [ebp-0CH] call [System.Linq.IIListProvider`1[double]:ToArray():double[]:this] mov gword ptr [ebp-10H], eax mov edx, bword ptr [ebp-04H] mov ecx, gword ptr [ebp-10H] call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX mov edx, gword ptr [ebp-10H] mov edx, dword ptr [edx+04H] mov ecx, bword ptr [ebp-04H] mov dword ptr [ecx+04H], edx G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov edx, bword ptr [ebp-04H] cmp byte ptr [edx], dl mov edx, bword ptr [ebp-04H] add edx, 4 mov ecx, gword ptr [ebp-08H] call [System.Collections.Generic.EnumerableHelpers:ToArray[double](System.Collections.Generic.IEnumerable`1[double],byref):double[]] mov edx, bword ptr [ebp-04H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 114 1100: JIT compiled System.Linq.Buffer`1[double]:.ctor(System.Collections.Generic.IEnumerable`1[double]) [Tier0, IL size=53, code size=114] ; Assembly listing for method System.Collections.Generic.EnumerableHelpers:ToArray[double](System.Collections.Generic.IEnumerable`1[double],byref):double[] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 48 vzeroupper xor eax, eax mov dword ptr [ebp-2CH], eax mov dword ptr [ebp-24H], eax mov dword ptr [ebp-30H], eax mov dword ptr [ebp-18H], eax mov edi, ecx mov esi, edx G_M000_IG02: mov edx, edi mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov ebx, eax test ebx, ebx je SHORT G_M000_IG04 mov ecx, ebx call [System.Collections.Generic.ICollection`1[double]:get_Count():int:this] mov edi, eax test edi, edi je G_M000_IG19 mov edx, edi mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_ALIGN8 mov gword ptr [ebp-28H], eax push 0 mov ecx, ebx mov edx, eax call [System.Collections.Generic.ICollection`1[double]:CopyTo(double[],int):this] mov dword ptr [esi], edi mov eax, gword ptr [ebp-28H] G_M000_IG03: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG04: mov ecx, edi call [System.Collections.Generic.IEnumerable`1[double]:GetEnumerator():System.Collections.Generic.IEnumerator`1[double]:this] mov gword ptr [ebp-2CH], eax G_M000_IG05: mov ecx, eax call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je G_M000_IG15 mov ecx, 0xD1FFAB1E mov edx, 4 call CORINFO_HELP_NEWARR_1_ALIGN8 mov gword ptr [ebp-24H], eax mov edi, gword ptr [ebp-24H] mov ecx, gword ptr [ebp-2CH] call [System.Collections.Generic.IEnumerator`1[double]:get_Current():double:this] fstp qword ptr [ebp-3CH] vmovsd xmm0, qword ptr [ebp-3CH] cmp dword ptr [edi+04H], 0 jbe SHORT G_M000_IG09 vmovsd qword ptr [edi+08H], xmm0 mov edi, 1 mov ecx, gword ptr [ebp-2CH] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG08 G_M000_IG06: mov ecx, gword ptr [ebp-24H] cmp dword ptr [ecx+04H], edi jne SHORT G_M000_IG12 G_M000_IG07: lea edx, [edi+edi] cmp edx, 0xD1FFAB1E jbe SHORT G_M000_IG11 cmp edi, 0xD1FFAB1E jge SHORT G_M000_IG10 mov edx, 0xD1FFAB1E jmp SHORT G_M000_IG11 G_M000_IG08: mov ebx, edi jmp SHORT G_M000_IG13 G_M000_IG09: call CORINFO_HELP_RNGCHKFAIL G_M000_IG10: lea edx, [edi+01H] G_M000_IG11: lea ecx, [ebp-24H] call [System.Array:Resize[double](byref,int)] G_M000_IG12: lea ecx, [edi+01H] mov ebx, ecx mov eax, gword ptr [ebp-24H] mov gword ptr [ebp-34H], eax mov ecx, gword ptr [ebp-2CH] call [System.Collections.Generic.IEnumerator`1[double]:get_Current():double:this] fstp qword ptr [ebp-3CH] vmovsd xmm0, qword ptr [ebp-3CH] mov ecx, gword ptr [ebp-34H] cmp edi, dword ptr [ecx+04H] jae SHORT G_M000_IG09 vmovsd qword ptr [ecx+8*edi+08H], xmm0 mov ecx, gword ptr [ebp-2CH] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG14 G_M000_IG13: mov dword ptr [esi], ebx mov eax, gword ptr [ebp-24H] mov gword ptr [ebp-30H], eax mov dword ptr [ebp-1CH], 0 mov dword ptr [ebp-18H], 252 push G_M000_IG16 jmp SHORT G_M000_IG17 G_M000_IG14: mov edi, ebx jmp G_M000_IG06 G_M000_IG15: mov ecx, gword ptr [ebp-2CH] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG19 G_M000_IG16: mov dword ptr [ebp-18H], 0 jmp SHORT G_M000_IG21 G_M000_IG17: mov ecx, gword ptr [ebp-2CH] test ecx, ecx je SHORT G_M000_IG18 call [System.IDisposable:Dispose():this] mov ecx, gword ptr [ebp-2CH] G_M000_IG18: pop eax jmp eax G_M000_IG19: xor eax, eax mov dword ptr [esi], eax mov eax, gword ptr [D1FFAB1EH] G_M000_IG20: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG21: mov eax, gword ptr [ebp-30H] G_M000_IG22: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 414 1101: JIT compiled System.Collections.Generic.EnumerableHelpers:ToArray[double](System.Collections.Generic.IEnumerable`1[double],byref) [Tier-0 switched to FullOpts, IL size=203, code size=414] ; Assembly listing for method System.SZArrayHelper:get_Count[double]():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov gword ptr [ebp-08H], eax mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 1102: JIT compiled System.SZArrayHelper:get_Count[double]() [Tier0, IL size=11, code size=30] ; Assembly listing for method System.SZArrayHelper:CopyTo[double](double[],int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-0CH], ecx push gword ptr [ebp-08H] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-0CH] push dword ptr [ecx+04H] mov ecx, gword ptr [ebp-0CH] xor edx, edx call [System.Array:Copy(System.Array,int,System.Array,int,int)] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 52 1103: JIT compiled System.SZArrayHelper:CopyTo[double](double[],int) [Tier0, IL size=20, code size=52] ; Assembly listing for method System.Linq.OrderedEnumerable`1[double]:Fill(System.Linq.Buffer`1[double],System.Span`1[double]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx push eax vzeroupper G_M000_IG02: xor edx, edx mov eax, dword ptr [ecx] mov eax, dword ptr [eax+2CH] call [eax+14H]System.Linq.OrderedEnumerable`1[double]:GetEnumerableSorter(System.Linq.EnumerableSorter`1[double]):System.Linq.EnumerableSorter`1[double]:this mov ecx, eax push dword ptr [ebp+14H] mov esi, gword ptr [ebp+10H] mov gword ptr [ebp-10H], esi mov edx, esi cmp dword ptr [ecx], ecx call [System.Linq.EnumerableSorter`1[double]:Sort(double[],int):int[]:this] xor edx, edx mov ecx, dword ptr [ebp+0CH] test ecx, ecx jle SHORT G_M000_IG04 align [0 bytes for IG03] G_M000_IG03: mov edi, bword ptr [ebp+08H] mov ebx, esi cmp edx, dword ptr [eax+04H] jae SHORT G_M000_IG05 mov esi, dword ptr [eax+4*edx+08H] cmp esi, dword ptr [ebx+04H] jae SHORT G_M000_IG05 vmovsd xmm0, qword ptr [ebx+8*esi+08H] vmovsd qword ptr [edi+8*edx], xmm0 inc edx cmp edx, ecx mov esi, gword ptr [ebp-10H] jl SHORT G_M000_IG03 G_M000_IG04: pop ecx pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG05: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 102 1104: JIT compiled System.Linq.OrderedEnumerable`1[double]:Fill(System.Linq.Buffer`1[double],System.Span`1[double]) [Tier-0 switched to FullOpts, IL size=54, code size=102] ; Assembly listing for method System.Linq.OrderedEnumerable`2[double,double]:GetEnumerableSorter(System.Linq.EnumerableSorter`1[double]):System.Linq.EnumerableSorter`1[double]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+10H] mov gword ptr [ebp-0CH], ecx G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+0CH] mov gword ptr [ebp-18H], edx push gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] movzx edx, byte ptr [edx+14H] push edx push gword ptr [ebp-08H] mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-14H] call [System.Linq.EnumerableSorter`2[double,double]:.ctor(System.Func`2[double,double],System.Collections.Generic.IComparer`1[double],bool,System.Linq.EnumerableSorter`1[double]):this] mov ecx, gword ptr [ebp-14H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-04H] cmp gword ptr [ecx+08H], 0 je SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-10H] mov eax, gword ptr [ebp-1CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+2CH] call [eax+14H]System.Linq.OrderedEnumerable`1[double]:GetEnumerableSorter(System.Linq.EnumerableSorter`1[double]):System.Linq.EnumerableSorter`1[double]:this mov gword ptr [ebp-10H], eax G_M000_IG04: mov eax, gword ptr [ebp-10H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 134 1105: JIT compiled System.Linq.OrderedEnumerable`2[double,double]:GetEnumerableSorter(System.Linq.EnumerableSorter`1[double]) [Tier0, IL size=96, code size=134] ; Assembly listing for method System.Linq.EnumerableSorter`2[double,double]:.ctor(System.Func`2[double,double],System.Collections.Generic.IComparer`1[double],bool,System.Linq.EnumerableSorter`1[double]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.EnumerableSorter`1[double]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp+10H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] mov eax, dword ptr [ebp+0CH] mov byte ptr [edx+14H], al mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 12 ; Total bytes of code 78 1106: JIT compiled System.Linq.EnumerableSorter`2[double,double]:.ctor(System.Func`2[double,double],System.Collections.Generic.IComparer`1[double],bool,System.Linq.EnumerableSorter`1[double]) [Tier0, IL size=36, code size=78] ; Assembly listing for method System.Linq.EnumerableSorter`1[double]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 1107: JIT compiled System.Linq.EnumerableSorter`1[double]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.EnumerableSorter`1[double]:Sort(double[],int):int[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Linq.EnumerableSorter`1[double]:ComputeMap(double[],int):int[]:this] mov gword ptr [ebp-0CH], eax push 0 mov ecx, dword ptr [ebp+08H] dec ecx push ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-0CH] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+18H]System.Linq.EnumerableSorter`1[double]:QuickSort(int[],int,int):this mov eax, gword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 68 1108: JIT compiled System.Linq.EnumerableSorter`1[double]:Sort(double[],int) [Tier0, IL size=22, code size=68] ; Assembly listing for method System.Linq.EnumerableSorter`1[double]:ComputeMap(double[],int):int[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push esi mov esi, dword ptr [ebp+08H] G_M000_IG02: push esi mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+10H]System.Linq.EnumerableSorter`1[double]:ComputeKeys(double[],int):this mov edx, esi mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC xor edx, edx mov ecx, dword ptr [eax+04H] test ecx, ecx jle SHORT G_M000_IG04 align [0 bytes for IG03] G_M000_IG03: mov dword ptr [eax+4*edx+08H], edx inc edx cmp ecx, edx jg SHORT G_M000_IG03 G_M000_IG04: pop esi pop ebp ret 4 ; Total bytes of code 51 1109: JIT compiled System.Linq.EnumerableSorter`1[double]:ComputeMap(double[],int) [Tier-0 switched to FullOpts, IL size=35, code size=51] ; Assembly listing for method System.Linq.EnumerableSorter`2[double,double]:ComputeKeys(double[],int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 20 vzeroupper mov edi, ecx mov esi, edx G_M000_IG02: mov ebx, gword ptr [edi+04H] mov ecx, 0xD1FFAB1E mov edx, 4 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS cmp ebx, gword ptr [D1FFAB1EH] je G_M000_IG10 G_M000_IG03: mov edx, dword ptr [ebp+08H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_ALIGN8 mov gword ptr [ebp-18H], eax xor edx, edx mov ecx, dword ptr [eax+04H] mov dword ptr [ebp-14H], ecx test ecx, ecx jle SHORT G_M000_IG09 test esi, esi je SHORT G_M000_IG07 cmp dword ptr [esi+04H], ecx jl SHORT G_M000_IG08 G_M000_IG04: mov dword ptr [ebp-10H], edx vmovsd xmm0, qword ptr [esi+8*edx+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebx+04H] call [ebx+0CH]System.Func`2[double,double]:Invoke(double):double:this fstp qword ptr [ebp-20H] vmovsd xmm0, qword ptr [ebp-20H] mov eax, gword ptr [ebp-18H] mov ecx, dword ptr [ebp-10H] vmovsd qword ptr [eax+8*ecx+08H], xmm0 inc ecx mov edx, dword ptr [ebp-14H] cmp edx, ecx jg SHORT G_M000_IG06 G_M000_IG05: jmp SHORT G_M000_IG09 G_M000_IG06: mov edx, ecx jmp SHORT G_M000_IG04 G_M000_IG07: G_M000_IG08: cmp edx, dword ptr [esi+04H] jae SHORT G_M000_IG15 mov dword ptr [ebp-10H], edx vmovsd xmm0, qword ptr [esi+8*edx+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebx+04H] call [ebx+0CH]System.Func`2[double,double]:Invoke(double):double:this fstp qword ptr [ebp-20H] vmovsd xmm0, qword ptr [ebp-20H] mov ecx, gword ptr [ebp-18H] mov edx, dword ptr [ebp-10H] vmovsd qword ptr [ecx+8*edx+08H], xmm0 inc edx mov eax, dword ptr [ebp-14H] cmp eax, edx jg SHORT G_M000_IG08 G_M000_IG09: lea edx, bword ptr [edi+10H] mov eax, gword ptr [ebp-18H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG11 G_M000_IG10: lea edx, bword ptr [edi+10H] call CORINFO_HELP_ASSIGN_REF_ESI G_M000_IG11: mov ecx, gword ptr [edi+0CH] test ecx, ecx jne SHORT G_M000_IG13 G_M000_IG12: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG13: push dword ptr [ebp+08H] mov edx, esi mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+10H]System.Linq.EnumerableSorter`1[double]:ComputeKeys(double[],int):this G_M000_IG14: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG15: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 263 1110: JIT compiled System.Linq.EnumerableSorter`2[double,double]:ComputeKeys(double[],int) [Tier-0 switched to FullOpts, IL size=96, code size=263] ; Assembly listing for method System.Linq.EnumerableSorter`1[double]:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, 0xD1FFAB1E mov edx, 5 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-08H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 85 1111: JIT compiled System.Linq.EnumerableSorter`1[double]:.cctor() [Tier0, IL size=22, code size=85] ; Assembly listing for method System.Linq.EnumerableSorter`1+<>c[double]:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [System.Linq.EnumerableSorter`1+<>c[double]:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 1112: JIT compiled System.Linq.EnumerableSorter`1+<>c[double]:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method System.Linq.EnumerableSorter`1+<>c[double]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 1113: JIT compiled System.Linq.EnumerableSorter`1+<>c[double]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics+<>c:<.ctor>b__69_1(double):double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: vmovsd xmm0, qword ptr [ebp+08H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 31 1114: JIT compiled BenchmarkDotNet.Mathematics.Statistics+<>c:<.ctor>b__69_1(double) [Tier0, IL size=2, code size=31] ; Assembly listing for method System.Linq.EnumerableSorter`2[double,double]:QuickSort(int[],int,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-24H], xmm4 xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-04H] cmp gword ptr [eax+0CH], 0 jne SHORT G_M000_IG04 mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+08H] mov gword ptr [ebp-1CH], eax call [System.Collections.Generic.Comparer`1[double]:get_Default():System.Collections.Generic.Comparer`1[double]] cmp eax, gword ptr [ebp-1CH] jne SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] movzx ecx, byte ptr [ecx+14H] test ecx, ecx jne SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-24H], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-24H] mov edx, gword ptr [ebp-04H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, gword ptr [ebp-24H] mov gword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG05 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-20H], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-20H] mov edx, gword ptr [ebp-04H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, gword ptr [ebp-20H] mov gword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR push eax mov edx, gword ptr [ebp-04H] mov ecx, gword ptr [ebp-10H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], ecx G_M000_IG05: xor ecx, ecx mov dword ptr [ebp-18H], ecx mov dword ptr [ebp-14H], ecx push dword ptr [ebp+0CH] mov ecx, dword ptr [ebp+08H] sub ecx, dword ptr [ebp+0CH] inc ecx push ecx lea ecx, [ebp-18H] mov edx, gword ptr [ebp-08H] call [System.Span`1[int]:.ctor(int[],int,int):this] push dword ptr [ebp-14H] push bword ptr [ebp-18H] mov ecx, gword ptr [ebp-0CH] call [System.MemoryExtensions:Sort[int](System.Span`1[int],System.Comparison`1[int])] G_M000_IG06: mov esp, ebp pop ebp ret 8 ; Total bytes of code 250 1115: JIT compiled System.Linq.EnumerableSorter`2[double,double]:QuickSort(int[],int,int) [Tier0, IL size=109, code size=250] ; Assembly listing for method System.Linq.EnumerableSorter`2[double,double]:CompareAnyKeys_DefaultComparer_NoNext_Ascending(int,int):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+10H] mov gword ptr [ebp-0CH], eax call [System.Collections.Generic.Comparer`1[double]:get_Default():System.Collections.Generic.Comparer`1[double]] mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-0CH] mov eax, dword ptr [ebp-08H] cmp eax, dword ptr [ecx+04H] jae SHORT G_M000_IG06 lea ecx, bword ptr [ecx+8*eax+08H] vmovsd xmm0, qword ptr [ecx] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp-0CH] mov eax, dword ptr [ebp+08H] cmp eax, dword ptr [ecx+04H] jae SHORT G_M000_IG06 lea ecx, bword ptr [ecx+8*eax+08H] vmovsd xmm0, qword ptr [ecx] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp-14H] mov eax, gword ptr [ebp-14H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+10H]System.Collections.Generic.Comparer`1[double]:Compare(double,double):int:this mov dword ptr [ebp-10H], eax cmp dword ptr [ebp-10H], 0 je SHORT G_M000_IG04 mov eax, dword ptr [ebp-10H] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov eax, dword ptr [ebp-08H] sub eax, dword ptr [ebp+08H] G_M000_IG05: mov esp, ebp pop ebp ret 4 G_M000_IG06: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 145 1116: JIT compiled System.Linq.EnumerableSorter`2[double,double]:CompareAnyKeys_DefaultComparer_NoNext_Ascending(int,int) [Tier0, IL size=41, code size=145] ; Assembly listing for method System.Collections.Generic.GenericComparer`1[double]:Compare(double,double):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp+10H] call [System.Double:CompareTo(double):int:this] G_M000_IG03: mov esp, ebp pop ebp ret 16 ; Total bytes of code 38 1117: JIT compiled System.Collections.Generic.GenericComparer`1[double]:Compare(double,double) [Tier0, IL size=45, code size=38] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics:get_SortedValues():System.Collections.Generic.IReadOnlyList`1[double]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+78H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 1118: JIT compiled BenchmarkDotNet.Mathematics.Statistics:get_SortedValues() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics:get_N():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+90H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 1119: JIT compiled BenchmarkDotNet.Mathematics.Statistics:get_N() [Tier0, IL size=7, code size=20] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.Quartiles:FromSorted(System.Collections.Generic.IReadOnlyList`1[double]):Perfolizer.Mathematics.QuantileEstimators.Quartiles ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 100 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-2CH], xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov bword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-0CH], ecx vxorps xmm0, xmm0, xmm0 sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp-0CH] call [Perfolizer.Mathematics.QuantileEstimators.QuantileEstimatorHelper:CheckArguments(System.Collections.Generic.IReadOnlyList`1[double],double)] vxorps xmm0, xmm0, xmm0 sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-0CH] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:g__GetQuantile|24_0(double,byref):double] fstp qword ptr [ebp-64H] vmovsd xmm0, qword ptr [ebp-64H] vmovsd qword ptr [ebp-34H], xmm0 vmovsd xmm0, qword ptr [@RWD00] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-0CH] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:g__GetQuantile|24_0(double,byref):double] fstp qword ptr [ebp-64H] vmovsd xmm0, qword ptr [ebp-64H] vmovsd qword ptr [ebp-14H], xmm0 vmovsd xmm0, qword ptr [@RWD08] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-0CH] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:g__GetQuantile|24_0(double,byref):double] fstp qword ptr [ebp-64H] vmovsd xmm0, qword ptr [ebp-64H] vmovsd qword ptr [ebp-1CH], xmm0 vmovsd xmm0, qword ptr [@RWD16] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-0CH] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:g__GetQuantile|24_0(double,byref):double] fstp qword ptr [ebp-64H] vmovsd xmm0, qword ptr [ebp-64H] vmovsd qword ptr [ebp-24H], xmm0 vmovsd xmm0, qword ptr [@RWD24] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-0CH] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:g__GetQuantile|24_0(double,byref):double] fstp qword ptr [ebp-64H] vmovsd xmm0, qword ptr [ebp-64H] vmovsd qword ptr [ebp-2CH], xmm0 vxorps ymm0, ymm0, ymm0 vmovdqu ymmword ptr [ebp-5CH], ymm0 vmovdqu xmmword ptr [ebp-44H], xmm0 vmovsd xmm0, qword ptr [ebp-34H] sub esp, 8 vmovsd qword ptr [esp], xmm0 vmovsd xmm0, qword ptr [ebp-14H] sub esp, 8 vmovsd qword ptr [esp], xmm0 vmovsd xmm0, qword ptr [ebp-1CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 vmovsd xmm0, qword ptr [ebp-24H] sub esp, 8 vmovsd qword ptr [esp], xmm0 G_M000_IG03: vmovsd xmm0, qword ptr [ebp-2CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-5CH] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:.ctor(double,double,double,double,double):this] mov eax, bword ptr [ebp-04H] vmovdqu ymm0, ymmword ptr [ebp-5CH] vmovdqu ymmword ptr [eax], ymm0 vmovdqu xmm0, xmmword ptr [ebp-44H] vmovdqu xmmword ptr [eax+18H], xmm0 G_M000_IG04: mov esp, ebp pop ebp ret RWD00 dq 3FD0000000000000h ; 0.25 RWD08 dq 3FE0000000000000h ; 0.5 RWD16 dq 3FE8000000000000h ; 0.75 RWD24 dq 3FF0000000000000h ; 1 ; Total bytes of code 361 1120: JIT compiled Perfolizer.Mathematics.QuantileEstimators.Quartiles:FromSorted(System.Collections.Generic.IReadOnlyList`1[double]) [Tier0, IL size=124, code size=361] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.QuantileEstimatorHelper:CheckArguments(System.Collections.Generic.IReadOnlyList`1[double],double) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 40 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 vmovdqu xmmword ptr [ebp-18H], xmm4 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: cmp gword ptr [ebp-04H], 0 jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, 947 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-14H] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-14H] call CORINFO_HELP_THROW G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [System.Collections.Generic.IReadOnlyCollection`1[double]:get_Count():int:this] test eax, eax jne SHORT G_M000_IG06 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, 947 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-1CH], eax mov ecx, 0x5C9 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS push eax mov edx, gword ptr [ebp-1CH] mov ecx, gword ptr [ebp-10H] call [System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this] mov ecx, gword ptr [ebp-10H] call CORINFO_HELP_THROW G_M000_IG06: vxorps xmm0, xmm0, xmm0 vucomisd xmm0, qword ptr [ebp+08H] ja SHORT G_M000_IG07 vmovsd xmm0, qword ptr [ebp+08H] vucomisd xmm0, qword ptr [@RWD00] jbe G_M000_IG08 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] vmovsd xmm0, qword ptr [ebp+08H] vmovsd qword ptr [ecx+04H], xmm0 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, 0x5FB mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-28H], eax mov ecx, 0x613 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-20H], eax mov ecx, 0x5FB mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-24H], eax push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-20H] mov edx, gword ptr [ebp-24H] call [System.String:Format(System.String,System.Object,System.Object):System.String] push eax mov edx, gword ptr [ebp-28H] mov ecx, gword ptr [ebp-0CH] call [System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this] mov ecx, gword ptr [ebp-0CH] call CORINFO_HELP_THROW G_M000_IG08: mov esp, ebp pop ebp ret 8 RWD00 dq 3FF0000000000000h ; 1 ; Total bytes of code 333 1121: JIT compiled Perfolizer.Mathematics.QuantileEstimators.QuantileEstimatorHelper:CheckArguments(System.Collections.Generic.IReadOnlyList`1[double],double) [Tier0, IL size=95, code size=333] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.Quartiles:g__GetQuantile|24_0(double,byref):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vzeroupper xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 37 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-08H], ecx mov ecx, bword ptr [ebp-04H] mov ecx, gword ptr [ecx] mov gword ptr [ebp-0CH], ecx vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [Perfolizer.Mathematics.QuantileEstimators.IQuantileEstimator:GetQuantileFromSorted(System.Collections.Generic.IReadOnlyList`1[double],double):double:this] fstp qword ptr [ebp-14H] vmovsd xmm0, qword ptr [ebp-14H] vmovsd qword ptr [ebp-14H], xmm0 fld qword ptr [ebp-14H] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 99 1122: JIT compiled Perfolizer.Mathematics.QuantileEstimators.Quartiles:g__GetQuantile|24_0(double,byref) [Tier0, IL size=18, code size=99] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.SimpleQuantileEstimator:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [Perfolizer.Mathematics.QuantileEstimators.SimpleQuantileEstimator:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 1123: JIT compiled Perfolizer.Mathematics.QuantileEstimators.SimpleQuantileEstimator:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.SimpleQuantileEstimator:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 1124: JIT compiled Perfolizer.Mathematics.QuantileEstimators.SimpleQuantileEstimator:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.SimpleQuantileEstimator:GetQuantileFromSorted(System.Collections.Generic.IReadOnlyList`1[double],double):double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 44 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp-08H] call [Perfolizer.Mathematics.QuantileEstimators.QuantileEstimatorHelper:CheckArguments(System.Collections.Generic.IReadOnlyList`1[double],double)] mov ecx, gword ptr [ebp-08H] call [System.Collections.Generic.IReadOnlyCollection`1[double]:get_Count():int:this] dec eax vxorps xmm0, xmm0, xmm0 vcvtsi2sd xmm0, xmm0, eax vmulsd xmm0, xmm0, qword ptr [ebp+08H] vmovsd qword ptr [ebp-1CH], xmm0 vcvttsd2si ecx, qword ptr [ebp-1CH] mov dword ptr [ebp-0CH], ecx vmovsd xmm0, qword ptr [ebp-1CH] vxorps xmm1, xmm1, xmm1 vcvtsi2sd xmm1, xmm1, dword ptr [ebp-0CH] vsubsd xmm0, xmm0, xmm1 vmovsd qword ptr [ebp-14H], xmm0 mov ecx, gword ptr [ebp-08H] call [System.Collections.Generic.IReadOnlyCollection`1[double]:get_Count():int:this] mov ecx, dword ptr [ebp-0CH] inc ecx cmp eax, ecx jle SHORT G_M000_IG04 mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-0CH] call [System.Collections.Generic.IReadOnlyList`1[double]:get_Item(int):double:this] fstp qword ptr [ebp-2CH] vmovsd xmm1, qword ptr [@RWD00] vsubsd xmm1, xmm1, qword ptr [ebp-14H] vmovsd xmm0, qword ptr [ebp-2CH] vmulsd xmm0, xmm0, xmm1 vmovsd qword ptr [ebp-24H], xmm0 mov edx, dword ptr [ebp-0CH] inc edx mov ecx, gword ptr [ebp-08H] call [System.Collections.Generic.IReadOnlyList`1[double]:get_Item(int):double:this] fstp qword ptr [ebp-2CH] vmovsd xmm0, qword ptr [ebp-2CH] vmulsd xmm0, xmm0, qword ptr [ebp-14H] vaddsd xmm0, xmm0, qword ptr [ebp-24H] vmovsd qword ptr [ebp-2CH], xmm0 fld qword ptr [ebp-2CH] G_M000_IG03: mov esp, ebp pop ebp ret 8 G_M000_IG04: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-0CH] call [System.Collections.Generic.IReadOnlyList`1[double]:get_Item(int):double:this] fstp qword ptr [ebp-2CH] vmovsd xmm0, qword ptr [ebp-2CH] vmovsd qword ptr [ebp-2CH], xmm0 fld qword ptr [ebp-2CH] G_M000_IG05: mov esp, ebp pop ebp ret 8 RWD00 dq 3FF0000000000000h ; 1 ; Total bytes of code 245 1125: JIT compiled Perfolizer.Mathematics.QuantileEstimators.SimpleQuantileEstimator:GetQuantileFromSorted(System.Collections.Generic.IReadOnlyList`1[double],double) [Tier0, IL size=76, code size=245] ; Assembly listing for method System.SZArrayHelper:get_Item[double](int):double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov gword ptr [ebp-0CH], eax mov eax, dword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] cmp eax, dword ptr [edx+04H] jb SHORT G_M000_IG03 call [System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException()] G_M000_IG03: mov eax, gword ptr [ebp-0CH] mov edx, dword ptr [ebp-08H] cmp edx, dword ptr [eax+04H] jae SHORT G_M000_IG05 lea eax, bword ptr [eax+8*edx+08H] vmovsd xmm0, qword ptr [eax] vmovsd qword ptr [ebp-14H], xmm0 fld qword ptr [ebp-14H] G_M000_IG04: mov esp, ebp pop ebp ret G_M000_IG05: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 80 1126: JIT compiled System.SZArrayHelper:get_Item[double](int) [Tier0, IL size=26, code size=80] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.Quartiles:.ctor(double,double,double,double,double):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+28H] vmovsd qword ptr [eax], xmm0 mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+20H] vmovsd qword ptr [eax+08H], xmm0 mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+18H] vmovsd qword ptr [eax+10H], xmm0 mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+10H] vmovsd qword ptr [eax+18H], xmm0 mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+08H] vmovsd qword ptr [eax+20H], xmm0 G_M000_IG03: mov esp, ebp pop ebp ret 40 ; Total bytes of code 80 1127: JIT compiled Perfolizer.Mathematics.QuantileEstimators.Quartiles:.ctor(double,double,double,double,double) [Tier0, IL size=38, code size=80] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Min():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, bword ptr [ebp-04H] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q0():double:this] fstp qword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-0CH] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 41 1128: JIT compiled Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Min() [Tier0, IL size=7, code size=41] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q0():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 1129: JIT compiled Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q0() [Tier0, IL size=7, code size=31] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q1():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+08H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1130: JIT compiled Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q1() [Tier0, IL size=7, code size=32] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Median():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, bword ptr [ebp-04H] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q2():double:this] fstp qword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-0CH] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 41 1131: JIT compiled Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Median() [Tier0, IL size=7, code size=41] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q2():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+10H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1132: JIT compiled Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q2() [Tier0, IL size=7, code size=32] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q3():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+18H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1133: JIT compiled Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q3() [Tier0, IL size=7, code size=32] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Max():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, bword ptr [ebp-04H] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q4():double:this] fstp qword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-0CH] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 41 1134: JIT compiled Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Max() [Tier0, IL size=7, code size=41] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q4():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+20H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1135: JIT compiled Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q4() [Tier0, IL size=7, code size=32] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_InterquartileRange():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, bword ptr [ebp-04H] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q3():double:this] fstp qword ptr [ebp-14H] vmovsd xmm0, qword ptr [ebp-14H] vmovsd qword ptr [ebp-0CH], xmm0 mov ecx, bword ptr [ebp-04H] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q1():double:this] fstp qword ptr [ebp-14H] vmovsd xmm1, qword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-14H] vsubsd xmm0, xmm1, xmm0 vmovsd qword ptr [ebp-14H], xmm0 fld qword ptr [ebp-14H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 72 1136: JIT compiled Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_InterquartileRange() [Tier0, IL size=14, code size=72] ; Assembly listing for method Perfolizer.Mathematics.Common.Moments:Create(System.Collections.Generic.IReadOnlyList`1[double]):Perfolizer.Mathematics.Common.Moments ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 124 vzeroupper vxorps xmm4, xmm4, xmm4 mov eax, -96 vmovdqu xmmword ptr [ebp+eax-14H], xmm4 vmovdqu xmmword ptr [ebp+eax-04H], xmm4 vmovdqu xmmword ptr [ebp+eax+0CH], xmm4 add eax, 48 jne SHORT -5 instr mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov bword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-2CH], eax mov ecx, gword ptr [ebp-2CH] call [Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_0:.ctor():this] mov edx, gword ptr [ebp-2CH] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+0CH] mov ecx, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+0CH] call [System.Collections.Generic.IReadOnlyCollection`1[double]:get_Count():int:this] mov dword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+0CH] call [System.Linq.Enumerable:Average(System.Collections.Generic.IEnumerable`1[double]):double] fstp qword ptr [ebp-7CH] mov ecx, gword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-7CH] vmovsd qword ptr [ecx+04H], xmm0 cmp dword ptr [ebp-10H], 1 je SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-70H], eax mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+0CH] mov gword ptr [ebp-74H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-70H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, gword ptr [ebp-74H] mov edx, gword ptr [ebp-70H] call [System.Linq.Enumerable:Sum[double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]):double] fstp qword ptr [ebp-7CH] mov ecx, dword ptr [ebp-10H] dec ecx vxorps xmm1, xmm1, xmm1 vcvtsi2sd xmm1, xmm1, ecx vmovsd xmm0, qword ptr [ebp-7CH] vdivsd xmm0, xmm0, xmm1 vmovsd qword ptr [ebp-34H], xmm0 jmp SHORT G_M000_IG04 G_M000_IG03: vxorps xmm0, xmm0, xmm0 vmovsd qword ptr [ebp-34H], xmm0 G_M000_IG04: vmovsd xmm0, qword ptr [ebp-34H] vmovsd qword ptr [ebp-18H], xmm0 mov ecx, gword ptr [ebp-0CH] mov edx, 3 cmp dword ptr [ecx], ecx call [Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_0:g__CalcCentralMoment|1(int):double:this] fstp qword ptr [ebp-7CH] vmovsd xmm0, qword ptr [ebp-7CH] vmovsd qword ptr [ebp-3CH], xmm0 vmovsd xmm0, qword ptr [ebp-18H] sub esp, 8 vmovsd qword ptr [esp], xmm0 vmovsd xmm0, qword ptr [@RWD00] sub esp, 8 vmovsd qword ptr [esp], xmm0 call [Perfolizer.Mathematics.Common.MathExtensions:Pow(double,double):double] fstp qword ptr [ebp-7CH] vmovsd xmm1, qword ptr [ebp-3CH] vmovsd xmm0, qword ptr [ebp-7CH] vdivsd xmm0, xmm1, xmm0 vmovsd qword ptr [ebp-20H], xmm0 mov ecx, gword ptr [ebp-0CH] mov edx, 4 cmp dword ptr [ecx], ecx call [Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_0:g__CalcCentralMoment|1(int):double:this] fstp qword ptr [ebp-7CH] vmovsd xmm0, qword ptr [ebp-7CH] vmovsd qword ptr [ebp-44H], xmm0 vmovsd xmm0, qword ptr [ebp-18H] sub esp, 8 vmovsd qword ptr [esp], xmm0 vmovsd xmm0, qword ptr [@RWD08] sub esp, 8 vmovsd qword ptr [esp], xmm0 call [Perfolizer.Mathematics.Common.MathExtensions:Pow(double,double):double] fstp qword ptr [ebp-7CH] vmovsd xmm1, qword ptr [ebp-44H] vmovsd xmm0, qword ptr [ebp-7CH] vdivsd xmm0, xmm1, xmm0 vmovsd qword ptr [ebp-28H], xmm0 vxorps ymm0, ymm0, ymm0 vmovdqu ymmword ptr [ebp-6CH], ymm0 vmovdqu xmmword ptr [ebp-54H], xmm0 mov ecx, gword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ecx+04H] sub esp, 8 vmovsd qword ptr [esp], xmm0 vmovsd xmm0, qword ptr [ebp-18H] sub esp, 8 vmovsd qword ptr [esp], xmm0 vmovsd xmm0, qword ptr [ebp-20H] sub esp, 8 vmovsd qword ptr [esp], xmm0 vmovsd xmm0, qword ptr [ebp-28H] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-6CH] call [Perfolizer.Mathematics.Common.Moments:.ctor(double,double,double,double):this] mov eax, bword ptr [ebp-04H] vmovdqu ymm0, ymmword ptr [ebp-6CH] vmovdqu ymmword ptr [eax], ymm0 vmovdqu xmm0, xmmword ptr [ebp-54H] G_M000_IG05: vmovdqu xmmword ptr [eax+18H], xmm0 G_M000_IG06: mov esp, ebp pop ebp ret RWD00 dq 3FF8000000000000h ; 1.5 RWD08 dq 4000000000000000h ; 2 ; Total bytes of code 524 1137: JIT compiled Perfolizer.Mathematics.Common.Moments:Create(System.Collections.Generic.IReadOnlyList`1[double]) [Tier0, IL size=151, code size=524] ; Assembly listing for method Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_0:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 1138: JIT compiled Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_0:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:Average(System.Collections.Generic.IEnumerable`1[double]):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable:Average[double,double,double](System.Collections.Generic.IEnumerable`1[double]):double] fstp qword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-0CH] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 41 1139: JIT compiled System.Linq.Enumerable:Average(System.Collections.Generic.IEnumerable`1[double]) [Tier0, IL size=7, code size=41] ; Assembly listing for method System.Linq.Enumerable:Average[double,double,double](System.Collections.Generic.IEnumerable`1[double]):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 8 single block inlinees; 10 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 92 vzeroupper xor eax, eax mov dword ptr [ebp-48H], eax mov dword ptr [ebp-18H], eax G_M000_IG02: test ecx, ecx je G_M000_IG18 cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG04 G_M000_IG03: lea eax, bword ptr [ecx+08H] mov esi, dword ptr [ecx+04H] jmp SHORT G_M000_IG05 G_M000_IG04: mov gword ptr [ebp-5CH], ecx cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG07 lea ecx, [ebp-48H] mov edx, gword ptr [ebp-5CH] call [System.Runtime.InteropServices.CollectionsMarshal:AsSpan[double](System.Collections.Generic.List`1[double]):System.Span`1[double]] mov eax, bword ptr [ebp-48H] mov esi, dword ptr [ebp-44H] G_M000_IG05: test esi, esi je G_M000_IG19 push esi push eax call [System.Linq.Enumerable:Sum[double,double](System.ReadOnlySpan`1[double]):double] fstp qword ptr [ebp-68H] vmovsd xmm0, qword ptr [ebp-68H] vmovsd qword ptr [ebp-40H], xmm0 lea edx, [ebp-50H] mov ecx, esi call [System.Double:TryConvertFrom[int](int,byref):bool] test eax, eax je G_M000_IG20 vmovsd xmm0, qword ptr [ebp-50H] vmovsd xmm1, qword ptr [ebp-40H] vdivsd xmm0, xmm1, xmm0 vmovsd qword ptr [ebp-68H], xmm0 fld qword ptr [ebp-68H] G_M000_IG06: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG07: mov ecx, gword ptr [ebp-5CH] call [System.Collections.Generic.IEnumerable`1[double]:GetEnumerator():System.Collections.Generic.IEnumerator`1[double]:this] mov esi, eax mov gword ptr [ebp-60H], esi G_M000_IG08: mov ecx, esi call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je G_M000_IG12 mov ecx, esi call [System.Collections.Generic.IEnumerator`1[double]:get_Current():double:this] fstp qword ptr [ebp-68H] vmovsd xmm0, qword ptr [ebp-68H] vmovsd qword ptr [ebp-28H], xmm0 xor edi, edi mov ebx, 1 mov ecx, esi call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG10 G_M000_IG09: mov ecx, esi call [System.Collections.Generic.IEnumerator`1[double]:get_Current():double:this] fstp qword ptr [ebp-68H] vmovsd xmm0, qword ptr [ebp-68H] vaddsd xmm0, xmm0, qword ptr [ebp-28H] vmovsd qword ptr [ebp-28H], xmm0 add ebx, 1 adc edi, 0 mov ecx, esi call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG09 G_M000_IG10: vmovsd xmm0, qword ptr [ebp-28H] vmovsd qword ptr [ebp-38H], xmm0 push edi push ebx lea ecx, [ebp-58H] call [System.Double:TryConvertFrom[long](long,byref):bool] test eax, eax je SHORT G_M000_IG11 vmovsd xmm0, qword ptr [ebp-58H] vmovsd xmm1, qword ptr [ebp-38H] vdivsd xmm0, xmm1, xmm0 vmovsd qword ptr [ebp-30H], xmm0 jmp SHORT G_M000_IG13 G_M000_IG11: vxorps xmm0, xmm0, xmm0 vmovsd qword ptr [ebp-58H], xmm0 call [System.ThrowHelper:ThrowNotSupportedException()] int3 G_M000_IG12: call [System.Linq.ThrowHelper:ThrowNoElementsException()] int3 G_M000_IG13: mov ecx, esi call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG16 G_M000_IG14: cmp gword ptr [ebp-60H], 0 je SHORT G_M000_IG15 mov ecx, gword ptr [ebp-60H] call [System.IDisposable:Dispose():this] G_M000_IG15: pop eax jmp eax G_M000_IG16: vmovsd xmm0, qword ptr [ebp-30H] vmovsd qword ptr [ebp-30H], xmm0 fld qword ptr [ebp-30H] G_M000_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG18: mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG19: call [System.Linq.ThrowHelper:ThrowNoElementsException()] int3 G_M000_IG20: vxorps xmm0, xmm0, xmm0 vmovsd qword ptr [ebp-50H], xmm0 call [System.ThrowHelper:ThrowNotSupportedException()] int3 ; Total bytes of code 418 1140: JIT compiled System.Linq.Enumerable:Average[double,double,double](System.Collections.Generic.IEnumerable`1[double]) [Tier-0 switched to FullOpts, IL size=209, code size=418] ; Assembly listing for method System.Linq.Enumerable:Sum[double,double](System.ReadOnlySpan`1[double]):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp sub esp, 8 vzeroupper G_M000_IG02: vxorps xmm0, xmm0, xmm0 mov eax, bword ptr [ebp+08H] mov edx, dword ptr [ebp+0CH] xor ecx, ecx test edx, edx jle SHORT G_M000_IG04 align [7 bytes for IG03] G_M000_IG03: vaddsd xmm0, xmm0, qword ptr [eax+8*ecx] inc ecx cmp ecx, edx jl SHORT G_M000_IG03 G_M000_IG04: vmovsd qword ptr [ebp-08H], xmm0 fld qword ptr [ebp-08H] G_M000_IG05: mov esp, ebp pop ebp ret 8 ; Total bytes of code 56 1141: JIT compiled System.Linq.Enumerable:Sum[double,double](System.ReadOnlySpan`1[double]) [Tier-0 switched to FullOpts, IL size=73, code size=56] ; Assembly listing for method System.Double:TryConvertFrom[int](int,byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 56 vzeroupper mov dword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: G_M000_IG03: G_M000_IG04: mov eax, dword ptr [ebp-04H] mov dword ptr [ebp-14H], eax vxorps xmm0, xmm0, xmm0 vcvtsi2sd xmm0, xmm0, dword ptr [ebp-14H] mov eax, bword ptr [ebp-08H] vmovsd qword ptr [eax], xmm0 mov eax, 1 G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 46 1142: JIT compiled System.Double:TryConvertFrom[int](int,byref) [Tier0, IL size=391, code size=46] ; Assembly listing for method System.Linq.Enumerable:Sum[double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 vzeroupper mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Linq.Enumerable:Sum[double,double,double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]):double] fstp qword ptr [ebp-10H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd qword ptr [ebp-10H], xmm0 fld qword ptr [ebp-10H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 47 1143: JIT compiled System.Linq.Enumerable:Sum[double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]) [Tier0, IL size=8, code size=47] ; Assembly listing for method System.Linq.Enumerable:Sum[double,double,double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 40 vzeroupper xor eax, eax mov dword ptr [ebp-10H], eax mov esi, edx G_M000_IG02: test ecx, ecx je G_M000_IG10 test esi, esi je G_M000_IG11 vxorps xmm0, xmm0, xmm0 vmovsd qword ptr [ebp-20H], xmm0 call [System.Collections.Generic.IEnumerable`1[double]:GetEnumerator():System.Collections.Generic.IEnumerator`1[double]:this] mov ecx, eax mov gword ptr [ebp-24H], ecx G_M000_IG03: call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG05 G_M000_IG04: mov ecx, gword ptr [ebp-24H] call [System.Collections.Generic.IEnumerator`1[double]:get_Current():double:this] fstp qword ptr [ebp-2CH] vmovsd xmm0, qword ptr [ebp-2CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [esi+04H] call [esi+0CH]System.Func`2[double,double]:Invoke(double):double:this fstp qword ptr [ebp-2CH] vmovsd xmm0, qword ptr [ebp-2CH] vaddsd xmm0, xmm0, qword ptr [ebp-20H] vmovsd qword ptr [ebp-20H], xmm0 mov ecx, gword ptr [ebp-24H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG04 G_M000_IG05: mov ecx, gword ptr [ebp-24H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG08 G_M000_IG06: cmp gword ptr [ebp-24H], 0 je SHORT G_M000_IG07 mov ecx, gword ptr [ebp-24H] call [System.IDisposable:Dispose():this] G_M000_IG07: pop eax jmp eax G_M000_IG08: vmovsd xmm0, qword ptr [ebp-20H] vmovsd qword ptr [ebp-20H], xmm0 fld qword ptr [ebp-20H] G_M000_IG09: lea esp, [ebp-04H] pop esi pop ebp ret G_M000_IG10: mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG11: mov ecx, 15 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 ; Total bytes of code 197 1144: JIT compiled System.Linq.Enumerable:Sum[double,double,double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]) [Tier-0 switched to FullOpts, IL size=112, code size=197] ; Assembly listing for method System.SZArrayHelper:GetEnumerator[double]():System.Collections.Generic.IEnumerator`1[double]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-08H], ecx mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx+04H], 0 je SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-08H] call [System.SZGenericArrayEnumerator`1[double]:.ctor(double[]):this] mov eax, gword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, 0xD1FFAB1E mov edx, 59 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov eax, gword ptr [D1FFAB1EH] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 88 1145: JIT compiled System.SZArrayHelper:GetEnumerator[double]() [Tier0, IL size=24, code size=88] ; Assembly listing for method System.SZGenericArrayEnumerator`1[double]:.ctor(double[]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.SZGenericArrayEnumeratorBase:.ctor(System.Array):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 1146: JIT compiled System.SZGenericArrayEnumerator`1[double]:.ctor(double[]) [Tier0, IL size=8, code size=28] ; Assembly listing for method System.SZGenericArrayEnumerator`1[double]:get_Current():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-08H], ecx mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-0CH], ecx mov ecx, dword ptr [ebp-08H] mov eax, gword ptr [ebp-0CH] cmp ecx, dword ptr [eax+04H] jb SHORT G_M000_IG03 mov ecx, dword ptr [ebp-08H] call [System.ThrowHelper:ThrowInvalidOperationException_EnumCurrent(int)] G_M000_IG03: mov eax, gword ptr [ebp-0CH] mov edx, dword ptr [ebp-08H] cmp edx, dword ptr [eax+04H] jae SHORT G_M000_IG05 lea eax, bword ptr [eax+8*edx+08H] vmovsd xmm0, qword ptr [eax] vmovsd qword ptr [ebp-14H], xmm0 fld qword ptr [ebp-14H] G_M000_IG04: mov esp, ebp pop ebp ret G_M000_IG05: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 92 1147: JIT compiled System.SZGenericArrayEnumerator`1[double]:get_Current() [Tier0, IL size=39, code size=92] ; Assembly listing for method Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_0:b__0(double):double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: vmovsd xmm0, qword ptr [ebp+08H] mov eax, gword ptr [ebp-04H] vsubsd xmm0, xmm0, qword ptr [eax+04H] sub esp, 8 vmovsd qword ptr [esp], xmm0 vmovsd xmm0, qword ptr [@RWD00] sub esp, 8 vmovsd qword ptr [esp], xmm0 call System.Math:Pow(double,double):double fstp qword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-0CH] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret 8 RWD00 dq 4000000000000000h ; 2 ; Total bytes of code 76 1148: JIT compiled Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_0:b__0(double) [Tier0, IL size=23, code size=76] ; Assembly listing for method Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_0:g__CalcCentralMoment|1(int):double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_1:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp-04H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-0CH] mov eax, dword ptr [ebp-08H] mov dword ptr [ecx+08H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+0CH] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-14H] call [System.Linq.Enumerable:Average[double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]):double] fstp qword ptr [ebp-20H] vmovsd xmm0, qword ptr [ebp-20H] vmovsd qword ptr [ebp-20H], xmm0 fld qword ptr [ebp-20H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 151 1149: JIT compiled Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_0:g__CalcCentralMoment|1(int) [Tier0, IL size=44, code size=151] ; Assembly listing for method Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_1:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 1150: JIT compiled Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_1:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:Average[double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 vzeroupper mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Linq.Enumerable:Average[double,double,double,double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]):double] fstp qword ptr [ebp-10H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd qword ptr [ebp-10H], xmm0 fld qword ptr [ebp-10H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 47 1151: JIT compiled System.Linq.Enumerable:Average[double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]) [Tier0, IL size=8, code size=47] ; Assembly listing for method System.Linq.Enumerable:Average[double,double,double,double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 5 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 64 vzeroupper xor eax, eax mov dword ptr [ebp-18H], eax mov esi, edx G_M000_IG02: test ecx, ecx je G_M000_IG13 test esi, esi je G_M000_IG14 call [System.Collections.Generic.IEnumerable`1[double]:GetEnumerator():System.Collections.Generic.IEnumerator`1[double]:this] mov ecx, eax mov gword ptr [ebp-44H], ecx G_M000_IG03: call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je G_M000_IG07 mov ecx, gword ptr [ebp-44H] call [System.Collections.Generic.IEnumerator`1[double]:get_Current():double:this] fstp qword ptr [ebp-4CH] vmovsd xmm0, qword ptr [ebp-4CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [esi+04H] call [esi+0CH]System.Func`2[double,double]:Invoke(double):double:this fstp qword ptr [ebp-4CH] vmovsd xmm0, qword ptr [ebp-4CH] vmovsd qword ptr [ebp-28H], xmm0 xor edi, edi mov ebx, 1 mov ecx, gword ptr [ebp-44H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG05 G_M000_IG04: mov ecx, gword ptr [ebp-44H] call [System.Collections.Generic.IEnumerator`1[double]:get_Current():double:this] fstp qword ptr [ebp-4CH] vmovsd xmm0, qword ptr [ebp-4CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [esi+04H] call [esi+0CH]System.Func`2[double,double]:Invoke(double):double:this fstp qword ptr [ebp-4CH] vmovsd xmm0, qword ptr [ebp-4CH] vaddsd xmm0, xmm0, qword ptr [ebp-28H] vmovsd qword ptr [ebp-28H], xmm0 add ebx, 1 adc edi, 0 mov ecx, gword ptr [ebp-44H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG04 G_M000_IG05: vmovsd xmm0, qword ptr [ebp-28H] vmovsd qword ptr [ebp-38H], xmm0 push edi push ebx lea ecx, [ebp-40H] call [System.Double:TryConvertFrom[long](long,byref):bool] test eax, eax je SHORT G_M000_IG06 vmovsd xmm0, qword ptr [ebp-40H] vmovsd xmm1, qword ptr [ebp-38H] vdivsd xmm0, xmm1, xmm0 vmovsd qword ptr [ebp-30H], xmm0 jmp SHORT G_M000_IG08 G_M000_IG06: vxorps xmm0, xmm0, xmm0 vmovsd qword ptr [ebp-40H], xmm0 call [System.ThrowHelper:ThrowNotSupportedException()] int3 G_M000_IG07: call [System.Linq.ThrowHelper:ThrowNoElementsException()] int3 G_M000_IG08: mov ecx, gword ptr [ebp-44H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG11 G_M000_IG09: cmp gword ptr [ebp-44H], 0 je SHORT G_M000_IG10 mov ecx, gword ptr [ebp-44H] call [System.IDisposable:Dispose():this] G_M000_IG10: pop eax jmp eax G_M000_IG11: vmovsd xmm0, qword ptr [ebp-30H] vmovsd qword ptr [ebp-30H], xmm0 fld qword ptr [ebp-30H] G_M000_IG12: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG13: mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG14: mov ecx, 15 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 ; Total bytes of code 335 1152: JIT compiled System.Linq.Enumerable:Average[double,double,double,double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]) [Tier-0 switched to FullOpts, IL size=168, code size=335] ; Assembly listing for method Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_1:b__2(double):double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: vmovsd xmm0, qword ptr [ebp+08H] mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+04H] vsubsd xmm0, xmm0, qword ptr [eax+04H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov eax, gword ptr [ebp-04H] vxorps xmm0, xmm0, xmm0 vcvtsi2sd xmm0, xmm0, dword ptr [eax+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 call [Perfolizer.Mathematics.Common.MathExtensions:Pow(double,double):double] fstp qword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-0CH] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 84 1153: JIT compiled Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_1:b__2(double) [Tier0, IL size=26, code size=84] ; Assembly listing for method Perfolizer.Mathematics.Common.MathExtensions:Pow(double,double):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [ebp+10H] sub esp, 8 vmovsd qword ptr [esp], xmm0 vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 call System.Math:Pow(double,double):double fstp qword ptr [ebp-08H] vmovsd xmm0, qword ptr [ebp-08H] vmovsd qword ptr [ebp-08H], xmm0 fld qword ptr [ebp-08H] G_M000_IG03: mov esp, ebp pop ebp ret 16 ; Total bytes of code 62 1154: JIT compiled Perfolizer.Mathematics.Common.MathExtensions:Pow(double,double) [Tier0, IL size=8, code size=62] ; Assembly listing for method System.Double:TryConvertFrom[long](long,byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 60 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: G_M000_IG03: G_M000_IG04: G_M000_IG05: mov eax, dword ptr [ebp+08H] mov edx, dword ptr [ebp+0CH] mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], edx push dword ptr [ebp-14H] push dword ptr [ebp-18H] call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-3CH] mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-3CH] vmovsd qword ptr [eax], xmm0 mov eax, 1 G_M000_IG06: mov esp, ebp pop ebp ret 8 ; Total bytes of code 61 1155: JIT compiled System.Double:TryConvertFrom[long](long,byref) [Tier0, IL size=391, code size=61] ; Assembly listing for method Perfolizer.Mathematics.Common.Moments:.ctor(double,double,double,double):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, bword ptr [ebp-04H] vxorps ymm0, ymm0, ymm0 vmovdqu ymmword ptr [ecx], ymm0 vmovdqu xmmword ptr [ecx+18H], xmm0 mov ecx, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+20H] vmovsd qword ptr [ecx], xmm0 mov ecx, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+18H] vmovsd qword ptr [ecx+08H], xmm0 mov ecx, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+10H] vmovsd qword ptr [ecx+10H], xmm0 mov ecx, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+08H] vmovsd qword ptr [ecx+18H], xmm0 mov ecx, bword ptr [ebp-04H] call [Perfolizer.Mathematics.Common.Moments:get_Variance():double:this] fstp qword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-0CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 call System.Math:Sqrt(double):double fstp qword ptr [ebp-0CH] mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-0CH] vmovsd qword ptr [eax+20H], xmm0 G_M000_IG03: mov esp, ebp pop ebp ret 32 ; Total bytes of code 131 1156: JIT compiled Perfolizer.Mathematics.Common.Moments:.ctor(double,double,double,double) [Tier0, IL size=54, code size=131] ; Assembly listing for method Perfolizer.Mathematics.Common.Moments:get_Variance():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+08H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1157: JIT compiled Perfolizer.Mathematics.Common.Moments:get_Variance() [Tier0, IL size=7, code size=32] ; Assembly listing for method Perfolizer.Mathematics.Common.Moments:get_Mean():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 1158: JIT compiled Perfolizer.Mathematics.Common.Moments:get_Mean() [Tier0, IL size=7, code size=31] ; Assembly listing for method Perfolizer.Mathematics.Common.Moments:get_StandardDeviation():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+20H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1159: JIT compiled Perfolizer.Mathematics.Common.Moments:get_StandardDeviation() [Tier0, IL size=7, code size=32] ; Assembly listing for method Perfolizer.Mathematics.Common.Moments:get_Skewness():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+10H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1160: JIT compiled Perfolizer.Mathematics.Common.Moments:get_Skewness() [Tier0, IL size=7, code size=32] ; Assembly listing for method Perfolizer.Mathematics.Common.Moments:get_Kurtosis():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+18H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1161: JIT compiled Perfolizer.Mathematics.Common.Moments:get_Kurtosis() [Tier0, IL size=7, code size=32] ; Assembly listing for method Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:FromQuartiles(Perfolizer.Mathematics.QuantileEstimators.Quartiles,double):Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST_ALIGN8 mov gword ptr [ebp-04H], eax sub esp, 40 vmovdqu xmm0, xmmword ptr [ebp+10H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp+20H] vmovdqu xmmword ptr [esp+10H], xmm0 vmovq xmm0, qword ptr [ebp+30H] vmovq qword ptr [esp+20H], xmm0 vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp-04H] call [Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:.ctor(Perfolizer.Mathematics.QuantileEstimators.Quartiles,double):this] mov eax, gword ptr [ebp-04H] G_M000_IG03: mov esp, ebp pop ebp ret 48 ; Total bytes of code 91 1162: JIT compiled Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:FromQuartiles(Perfolizer.Mathematics.QuantileEstimators.Quartiles,double) [Tier0, IL size=8, code size=91] ; Assembly listing for method Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:.ctor(Perfolizer.Mathematics.QuantileEstimators.Quartiles,double):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [Perfolizer.Mathematics.OutlierDetection.OutlierDetector:.ctor():this] lea ecx, [ebp+10H] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q1():double:this] fstp qword ptr [ebp-1CH] vmovsd xmm0, qword ptr [ebp-1CH] vmovsd qword ptr [ebp-0CH], xmm0 vmovsd xmm0, qword ptr [ebp-0CH] vmovsd qword ptr [ebp-1CH], xmm0 lea ecx, [ebp+10H] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_InterquartileRange():double:this] fstp qword ptr [ebp-24H] vmovsd xmm0, qword ptr [ebp-24H] vmulsd xmm0, xmm0, qword ptr [ebp+08H] vmovsd xmm1, qword ptr [ebp-1CH] vsubsd xmm0, xmm1, xmm0 mov ecx, gword ptr [ebp-04H] vmovsd qword ptr [ecx+04H], xmm0 lea ecx, [ebp+10H] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q3():double:this] fstp qword ptr [ebp-1CH] vmovsd xmm0, qword ptr [ebp-1CH] vmovsd qword ptr [ebp-14H], xmm0 lea ecx, [ebp+10H] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_InterquartileRange():double:this] fstp qword ptr [ebp-1CH] vmovsd xmm0, qword ptr [ebp-1CH] vmulsd xmm0, xmm0, qword ptr [ebp+08H] vaddsd xmm0, xmm0, qword ptr [ebp-14H] mov eax, gword ptr [ebp-04H] vmovsd qword ptr [eax+0CH], xmm0 G_M000_IG03: mov esp, ebp pop ebp ret 48 ; Total bytes of code 155 1163: JIT compiled Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:.ctor(Perfolizer.Mathematics.QuantileEstimators.Quartiles,double) [Tier0, IL size=53, code size=155] ; Assembly listing for method Perfolizer.Mathematics.OutlierDetection.OutlierDetector:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 1164: JIT compiled Perfolizer.Mathematics.OutlierDetection.OutlierDetector:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:get_LowerFence():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+04H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1165: JIT compiled Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:get_LowerFence() [Tier0, IL size=7, code size=32] ; Assembly listing for method Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:get_UpperFence():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+0CH] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1166: JIT compiled Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:get_UpperFence() [Tier0, IL size=7, code size=32] ; Assembly listing for method System.Linq.Enumerable+WhereArrayIterator`1[double]:.ctor(double[],System.Func`2[double,bool]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable+Iterator`1[double]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+14H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 55 1167: JIT compiled System.Linq.Enumerable+WhereArrayIterator`1[double]:.ctor(double[],System.Func`2[double,bool]) [Tier0, IL size=21, code size=55] ; Assembly listing for method System.Linq.Enumerable+WhereArrayIterator`1[double]:ToArray():double[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 40 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov esi, ecx G_M000_IG02: mov edi, gword ptr [esi+14H] mov ecx, dword ptr [edi+04H] mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-24H], eax mov gword ptr [ebp-28H], eax mov dword ptr [ebp-20H], ecx xor ebx, ebx mov eax, dword ptr [edi+04H] mov dword ptr [ebp-34H], eax test eax, eax jle SHORT G_M000_IG08 G_M000_IG03: vmovsd xmm0, qword ptr [edi+8*ebx+08H] vmovsd qword ptr [ebp-30H], xmm0 mov edx, gword ptr [esi+18H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [edx+04H] call [edx+0CH]System.Func`2[double,bool]:Invoke(double):bool:this test eax, eax je SHORT G_M000_IG07 G_M000_IG04: mov eax, dword ptr [ebp-1CH] mov edx, gword ptr [ebp-24H] mov ecx, dword ptr [edx+04H] cmp ecx, eax ja SHORT G_M000_IG05 vmovsd xmm0, qword ptr [ebp-30H] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-28H] call [System.Collections.Generic.LargeArrayBuilder`1[double]:AddWithBufferAllocation(double):this] jmp SHORT G_M000_IG06 G_M000_IG05: vmovsd xmm0, qword ptr [ebp-30H] vmovsd qword ptr [edx+8*eax+08H], xmm0 inc eax mov dword ptr [ebp-1CH], eax G_M000_IG06: mov ecx, dword ptr [ebp-18H] inc ecx mov dword ptr [ebp-18H], ecx G_M000_IG07: inc ebx mov ecx, dword ptr [ebp-34H] cmp ecx, ebx jg SHORT G_M000_IG03 G_M000_IG08: lea ecx, [ebp-28H] call [System.Collections.Generic.LargeArrayBuilder`1[double]:ToArray():double[]:this] G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 182 1168: JIT compiled System.Linq.Enumerable+WhereArrayIterator`1[double]:ToArray() [Tier-0 switched to FullOpts, IL size=74, code size=182] ; Assembly listing for method Perfolizer.Mathematics.OutlierDetection.OutlierDetector:IsOutlier(double):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+10H]Perfolizer.Mathematics.OutlierDetection.OutlierDetector:IsLowerOutlier(double):bool:this test eax, eax jne SHORT G_M000_IG04 vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+14H]Perfolizer.Mathematics.OutlierDetection.OutlierDetector:IsUpperOutlier(double):bool:this G_M000_IG03: mov esp, ebp pop ebp ret 8 G_M000_IG04: mov eax, 1 G_M000_IG05: mov esp, ebp pop ebp ret 8 ; Total bytes of code 85 1169: JIT compiled Perfolizer.Mathematics.OutlierDetection.OutlierDetector:IsOutlier(double) [Tier0, IL size=19, code size=85] ; Assembly listing for method Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:IsLowerOutlier(double):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:get_LowerFence():double:this] fstp qword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-0CH] xor eax, eax vucomisd xmm0, qword ptr [ebp+08H] seta al G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 45 1170: JIT compiled Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:IsLowerOutlier(double) [Tier0, IL size=10, code size=45] ; Assembly listing for method Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:IsUpperOutlier(double):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:get_UpperFence():double:this] fstp qword ptr [ebp-0CH] vmovsd xmm1, qword ptr [ebp+08H] vmovsd xmm0, qword ptr [ebp-0CH] xor eax, eax vucomisd xmm1, xmm0 seta al G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 49 1171: JIT compiled Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:IsUpperOutlier(double) [Tier0, IL size=10, code size=49] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics:get_StandardDeviation():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+5CH] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1172: JIT compiled BenchmarkDotNet.Mathematics.Statistics:get_StandardDeviation() [Tier0, IL size=7, code size=32] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics:get_Mean():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+24H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1173: JIT compiled BenchmarkDotNet.Mathematics.Statistics:get_Mean() [Tier0, IL size=7, code size=32] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics:get_StandardError():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+4CH] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1174: JIT compiled BenchmarkDotNet.Mathematics.Statistics:get_StandardError() [Tier0, IL size=7, code size=32] ; Assembly listing for method BenchmarkDotNet.Mathematics.PercentileValues:.ctor(System.Collections.Generic.IReadOnlyList`1[double]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 vzeroupper mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+4CH] mov ecx, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-04H] xor edx, edx call [BenchmarkDotNet.Mathematics.PercentileValues:Percentile(int):double:this] fstp qword ptr [ebp-10H] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd qword ptr [ecx+04H], xmm0 mov ecx, gword ptr [ebp-04H] mov edx, 25 call [BenchmarkDotNet.Mathematics.PercentileValues:Percentile(int):double:this] fstp qword ptr [ebp-10H] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd qword ptr [ecx+0CH], xmm0 mov ecx, gword ptr [ebp-04H] mov edx, 50 call [BenchmarkDotNet.Mathematics.PercentileValues:Percentile(int):double:this] fstp qword ptr [ebp-10H] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd qword ptr [ecx+14H], xmm0 mov ecx, gword ptr [ebp-04H] mov edx, 67 call [BenchmarkDotNet.Mathematics.PercentileValues:Percentile(int):double:this] fstp qword ptr [ebp-10H] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd qword ptr [ecx+1CH], xmm0 mov ecx, gword ptr [ebp-04H] mov edx, 80 call [BenchmarkDotNet.Mathematics.PercentileValues:Percentile(int):double:this] fstp qword ptr [ebp-10H] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd qword ptr [ecx+24H], xmm0 mov ecx, gword ptr [ebp-04H] mov edx, 85 call [BenchmarkDotNet.Mathematics.PercentileValues:Percentile(int):double:this] fstp qword ptr [ebp-10H] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd qword ptr [ecx+2CH], xmm0 mov ecx, gword ptr [ebp-04H] mov edx, 90 call [BenchmarkDotNet.Mathematics.PercentileValues:Percentile(int):double:this] fstp qword ptr [ebp-10H] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd qword ptr [ecx+34H], xmm0 mov ecx, gword ptr [ebp-04H] mov edx, 95 call [BenchmarkDotNet.Mathematics.PercentileValues:Percentile(int):double:this] fstp qword ptr [ebp-10H] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd qword ptr [ecx+3CH], xmm0 G_M000_IG03: mov ecx, gword ptr [ebp-04H] mov edx, 100 call [BenchmarkDotNet.Mathematics.PercentileValues:Percentile(int):double:this] fstp qword ptr [ebp-10H] mov eax, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd qword ptr [eax+44H], xmm0 G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 309 1175: JIT compiled BenchmarkDotNet.Mathematics.PercentileValues:.ctor(System.Collections.Generic.IReadOnlyList`1[double]) [Tier0, IL size=139, code size=309] ; Assembly listing for method BenchmarkDotNet.Mathematics.PercentileValues:Percentile(int):double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Mathematics.PercentileValues:get_SortedValues():System.Collections.Generic.IReadOnlyList`1[double]:this] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp-08H] call [BenchmarkDotNet.Mathematics.PercentileValues:Percentile(System.Collections.Generic.IReadOnlyList`1[double],int):double] fstp qword ptr [ebp-14H] vmovsd xmm0, qword ptr [ebp-14H] vmovsd qword ptr [ebp-14H], xmm0 fld qword ptr [ebp-14H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 64 1176: JIT compiled BenchmarkDotNet.Mathematics.PercentileValues:Percentile(int) [Tier0, IL size=13, code size=64] ; Assembly listing for method BenchmarkDotNet.Mathematics.PercentileValues:get_SortedValues():System.Collections.Generic.IReadOnlyList`1[double]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+4CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 1177: JIT compiled BenchmarkDotNet.Mathematics.PercentileValues:get_SortedValues() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Mathematics.PercentileValues:Percentile(System.Collections.Generic.IReadOnlyList`1[double],int):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: cmp gword ptr [ebp-04H], 0 jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, 0x9CC2 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-14H] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-14H] call CORINFO_HELP_THROW G_M000_IG04: cmp dword ptr [ebp-08H], 0 jl SHORT G_M000_IG05 cmp dword ptr [ebp-08H], 100 jle SHORT G_M000_IG06 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov eax, dword ptr [ebp-08H] mov dword ptr [ecx+04H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, 0x9CDC mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-1CH], eax push gword ptr [ebp-0CH] mov ecx, 0x9CF2 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS push eax mov edx, gword ptr [ebp-1CH] mov ecx, gword ptr [ebp-10H] call [System.ArgumentOutOfRangeException:.ctor(System.String,System.Object,System.String):this] mov ecx, gword ptr [ebp-10H] call CORINFO_HELP_THROW G_M000_IG06: mov ecx, gword ptr [ebp-04H] call [System.Collections.Generic.IReadOnlyCollection`1[double]:get_Count():int:this] test eax, eax jne SHORT G_M000_IG08 vxorps xmm0, xmm0, xmm0 vmovsd qword ptr [ebp-24H], xmm0 fld qword ptr [ebp-24H] G_M000_IG07: mov esp, ebp pop ebp ret G_M000_IG08: vxorps xmm0, xmm0, xmm0 vcvtsi2sd xmm0, xmm0, dword ptr [ebp-08H] vdivsd xmm0, xmm0, qword ptr [@RWD00] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [D1FFAB1EH] mov edx, gword ptr [ebp-04H] call [Perfolizer.Mathematics.QuantileEstimators.IQuantileEstimator:GetQuantileFromSorted(System.Collections.Generic.IReadOnlyList`1[double],double):double:this] fstp qword ptr [ebp-24H] vmovsd xmm0, qword ptr [ebp-24H] vmovsd qword ptr [ebp-24H], xmm0 fld qword ptr [ebp-24H] G_M000_IG09: mov esp, ebp pop ebp ret RWD00 dq 4059000000000000h ; 100 ; Total bytes of code 279 1178: JIT compiled BenchmarkDotNet.Mathematics.PercentileValues:Percentile(System.Collections.Generic.IReadOnlyList`1[double],int) [Tier0, IL size=87, code size=279] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults+<>c:b__18_1(BenchmarkDotNet.Reports.Measurement):double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: lea ecx, [ebp+08H] call [BenchmarkDotNet.Reports.Measurement:get_Nanoseconds():double:this] fstp qword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-0CH] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret 32 ; Total bytes of code 43 1179: JIT compiled BenchmarkDotNet.Engines.RunResults+<>c:b__18_1(BenchmarkDotNet.Reports.Measurement) [Tier0, IL size=8, code size=43] ; Assembly listing for method System.SZArrayHelper:GetEnumerator[BenchmarkDotNet.Reports.Measurement]():System.Collections.Generic.IEnumerator`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-08H], ecx mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx+04H], 0 je SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-08H] call [System.SZGenericArrayEnumerator`1[BenchmarkDotNet.Reports.Measurement]:.ctor(BenchmarkDotNet.Reports.Measurement[]):this] mov eax, gword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, 0xD1FFAB1E mov edx, 60 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov eax, gword ptr [D1FFAB1EH] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 88 1180: JIT compiled System.SZArrayHelper:GetEnumerator[BenchmarkDotNet.Reports.Measurement]() [Tier0, IL size=24, code size=88] ; Assembly listing for method System.SZGenericArrayEnumerator`1[BenchmarkDotNet.Reports.Measurement]:.ctor(BenchmarkDotNet.Reports.Measurement[]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.SZGenericArrayEnumeratorBase:.ctor(System.Array):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 1181: JIT compiled System.SZGenericArrayEnumerator`1[BenchmarkDotNet.Reports.Measurement]:.ctor(BenchmarkDotNet.Reports.Measurement[]) [Tier0, IL size=8, code size=28] ; Assembly listing for method System.SZGenericArrayEnumerator`1[BenchmarkDotNet.Reports.Measurement]:get_Current():BenchmarkDotNet.Reports.Measurement:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 vzeroupper xor eax, eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-10H], ecx mov ecx, dword ptr [ebp-0CH] mov eax, gword ptr [ebp-10H] cmp ecx, dword ptr [eax+04H] jb SHORT G_M000_IG03 mov ecx, dword ptr [ebp-0CH] call [System.ThrowHelper:ThrowInvalidOperationException_EnumCurrent(int)] G_M000_IG03: mov eax, gword ptr [ebp-10H] mov edx, dword ptr [ebp-0CH] cmp edx, dword ptr [eax+04H] jae SHORT G_M000_IG05 imul ecx, edx, 32 lea eax, bword ptr [eax+ecx+08H] mov edx, bword ptr [ebp-08H] vmovdqu ymm0, ymmword ptr [eax] vmovdqu ymmword ptr [edx], ymm0 G_M000_IG04: vzeroupper mov esp, ebp pop ebp ret G_M000_IG05: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 100 1182: JIT compiled System.SZGenericArrayEnumerator`1[BenchmarkDotNet.Reports.Measurement]:get_Current() [Tier0, IL size=39, code size=100] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics:IsActualOutlier(double,int):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: cmp dword ptr [ebp-08H], 3 ja SHORT G_M000_IG03 mov eax, dword ptr [ebp-08H] lea ecx, [@RWD00] mov ecx, dword ptr [ecx+4*eax] lea edx, G_M000_IG02 add ecx, edx jmp ecx G_M000_IG03: jmp SHORT G_M000_IG12 G_M000_IG04: xor eax, eax G_M000_IG05: mov esp, ebp pop ebp ret 8 G_M000_IG06: vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Mathematics.Statistics:IsUpperOutlier(double):bool:this] G_M000_IG07: mov esp, ebp pop ebp ret 8 G_M000_IG08: vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Mathematics.Statistics:IsLowerOutlier(double):bool:this] G_M000_IG09: mov esp, ebp pop ebp ret 8 G_M000_IG10: vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Mathematics.Statistics:IsOutlier(double):bool:this] G_M000_IG11: mov esp, ebp pop ebp ret 8 G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov eax, dword ptr [ebp-08H] mov dword ptr [ecx+04H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, 0x9BE4 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-14H], eax push gword ptr [ebp-0CH] push 0 mov edx, gword ptr [ebp-14H] mov ecx, gword ptr [ebp-10H] call [System.ArgumentOutOfRangeException:.ctor(System.String,System.Object,System.String):this] mov ecx, gword ptr [ebp-10H] call CORINFO_HELP_THROW int3 RWD00 dd G_M000_IG04 - G_M000_IG02 dd G_M000_IG06 - G_M000_IG02 dd G_M000_IG08 - G_M000_IG02 dd G_M000_IG10 - G_M000_IG02 ; Total bytes of code 227 1183: JIT compiled BenchmarkDotNet.Mathematics.Statistics:IsActualOutlier(double,int) [Tier0, IL size=68, code size=227] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics:IsUpperOutlier(double):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 vzeroupper xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+8CH] mov gword ptr [ebp-08H], ecx vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+14H]Perfolizer.Mathematics.OutlierDetection.OutlierDetector:IsUpperOutlier(double):bool:this G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 62 1184: JIT compiled BenchmarkDotNet.Mathematics.Statistics:IsUpperOutlier(double) [Tier0, IL size=13, code size=62] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults+d__18:System.Collections.Generic.IEnumerator.get_Current():BenchmarkDotNet.Reports.Measurement:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 vzeroupper mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov edx, bword ptr [ebp-08H] vmovdqu ymm0, ymmword ptr [eax+24H] vmovdqu ymmword ptr [edx], ymm0 G_M000_IG03: vzeroupper mov esp, ebp pop ebp ret ; Total bytes of code 37 1185: JIT compiled BenchmarkDotNet.Engines.RunResults+d__18:System.Collections.Generic.IEnumerator.get_Current() [Tier0, IL size=7, code size=37] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults+d__18:System.IDisposable.Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; fully interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-18H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-18H] mov ecx, dword ptr [ecx+14H] mov dword ptr [ebp-1CH], ecx cmp dword ptr [ebp-1CH], -3 je SHORT G_M000_IG03 cmp dword ptr [ebp-1CH], 1 jne SHORT G_M000_IG06 G_M000_IG03: mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG04 jmp SHORT G_M000_IG05 G_M000_IG04: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, gword ptr [ebp-18H] call [BenchmarkDotNet.Engines.RunResults+d__18:<>m__Finally1():this] pop eax jmp eax G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 93 1186: JIT compiled BenchmarkDotNet.Engines.RunResults+d__18:System.IDisposable.Dispose() [Tier0, IL size=27, code size=93] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:ToOutputLine():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 56 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: push 6 lea ecx, [ebp-1CH] mov edx, 5 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] lea ecx, [ebp-1CH] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this] lea ecx, [ebp-1CH] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, bword ptr [ebp-04H] call [BenchmarkDotNet.Engines.GcStats:get_Gen0Collections():int:this] mov dword ptr [ebp-20H], eax mov edx, dword ptr [ebp-20H] lea ecx, [ebp-1CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this] lea ecx, [ebp-1CH] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, bword ptr [ebp-04H] call [BenchmarkDotNet.Engines.GcStats:get_Gen1Collections():int:this] mov dword ptr [ebp-24H], eax mov edx, dword ptr [ebp-24H] lea ecx, [ebp-1CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this] lea ecx, [ebp-1CH] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, bword ptr [ebp-04H] call [BenchmarkDotNet.Engines.GcStats:get_Gen2Collections():int:this] mov dword ptr [ebp-28H], eax mov edx, dword ptr [ebp-28H] lea ecx, [ebp-1CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this] lea ecx, [ebp-1CH] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, bword ptr [ebp-04H] call [BenchmarkDotNet.Engines.GcStats:get_AllocatedBytes():long:this] mov dword ptr [ebp-30H], eax mov dword ptr [ebp-2CH], edx push dword ptr [ebp-2CH] push dword ptr [ebp-30H] lea ecx, [ebp-1CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[long](long):this] lea ecx, [ebp-1CH] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, bword ptr [ebp-04H] call [BenchmarkDotNet.Engines.GcStats:get_TotalOperations():long:this] mov dword ptr [ebp-38H], eax mov dword ptr [ebp-34H], edx push dword ptr [ebp-34H] push dword ptr [ebp-38H] lea ecx, [ebp-1CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[long](long):this] lea ecx, [ebp-1CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 271 1187: JIT compiled BenchmarkDotNet.Engines.GcStats:ToOutputLine() [Tier0, IL size=154, code size=271] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:ToOutputLine():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 52 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: push 4 lea ecx, [ebp-1CH] mov edx, 3 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] lea ecx, [ebp-1CH] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this] lea ecx, [ebp-1CH] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, bword ptr [ebp-04H] call [BenchmarkDotNet.Engines.ThreadingStats:get_CompletedWorkItemCount():long:this] mov dword ptr [ebp-24H], eax mov dword ptr [ebp-20H], edx push dword ptr [ebp-20H] push dword ptr [ebp-24H] lea ecx, [ebp-1CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[long](long):this] lea ecx, [ebp-1CH] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, bword ptr [ebp-04H] call [BenchmarkDotNet.Engines.ThreadingStats:get_LockContentionCount():long:this] mov dword ptr [ebp-2CH], eax mov dword ptr [ebp-28H], edx push dword ptr [ebp-28H] push dword ptr [ebp-2CH] lea ecx, [ebp-1CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[long](long):this] lea ecx, [ebp-1CH] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, bword ptr [ebp-04H] call [BenchmarkDotNet.Engines.ThreadingStats:get_TotalOperations():long:this] mov dword ptr [ebp-34H], eax mov dword ptr [ebp-30H], edx push dword ptr [ebp-30H] push dword ptr [ebp-34H] lea ecx, [ebp-1CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[long](long):this] lea ecx, [ebp-1CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 201 1188: JIT compiled BenchmarkDotNet.Engines.ThreadingStats:ToOutputLine() [Tier0, IL size=104, code size=201] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:__TrickTheJIT__():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov edx, 123 call [System.Random:.ctor(int):this] push 10 mov ecx, gword ptr [ebp-08H] xor edx, edx mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+18H]System.Random:Next(int,int):int:this mov ecx, gword ptr [ebp-04H] mov dword ptr [ecx+30H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Autogenerated.Runnable_0:__ForDisassemblyDiagnoser__():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 78 1189: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:__TrickTheJIT__() [MinOpts, IL size=28, code size=78] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:__ForDisassemblyDiagnoser__():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx+30H], 11 jne SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] call [System.Collections.Sort`1[System.__Canon]:List():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 29 1190: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:__ForDisassemblyDiagnoser__() [MinOpts, IL size=17, code size=29] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 52 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-34H], xmm4 vmovdqu xmmword ptr [ebp-24H], xmm4 vmovdqu xmmword ptr [ebp-14H], xmm4 mov gword ptr [ebp-18H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-18H] call [BenchmarkDotNet.Engines.Engine:get_GlobalCleanupAction():System.Action:this] mov gword ptr [ebp-20H], eax mov ecx, gword ptr [ebp-20H] mov gword ptr [ebp-24H], ecx cmp gword ptr [ebp-20H], 0 jne SHORT G_M000_IG03 jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, gword ptr [ebp-24H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-24H] call [eax+0CH]System.Action:Invoke():this G_M000_IG04: jmp SHORT G_M000_IG06 G_M000_IG05: mov gword ptr [ebp-28H], eax mov ecx, gword ptr [ebp-28H] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ebp-18H] call [BenchmarkDotNet.Engines.Engine:get_Host():BenchmarkDotNet.Engines.IHost:this] mov gword ptr [ebp-30H], eax mov ecx, gword ptr [ebp-30H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Engines.IHost:SendError(System.String):this] mov ecx, gword ptr [ebp-18H] call [BenchmarkDotNet.Engines.Engine:get_Host():BenchmarkDotNet.Engines.IHost:this] mov gword ptr [ebp-2CH], eax mov ecx, gword ptr [ebp-1CH] mov eax, gword ptr [ebp-1CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+10H]System.Exception:get_Message():System.String:this mov gword ptr [ebp-34H], eax mov edx, gword ptr [ebp-34H] mov ecx, gword ptr [ebp-2CH] call [BenchmarkDotNet.Engines.IHost:SendError(System.String):this] call CORINFO_HELP_ENDCATCH G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 153 1191: JIT compiled BenchmarkDotNet.Engines.Engine:Dispose() [Tier0, IL size=56, code size=153] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_GlobalCleanupAction():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+2CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 1192: JIT compiled BenchmarkDotNet.Engines.Engine:get_GlobalCleanupAction() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0+<>c:<.ctor>b__3_0():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov esp, ebp pop ebp ret ; Total bytes of code 11 1193: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0+<>c:<.ctor>b__3_0() [Tier0, IL size=1, code size=11] ; Assembly listing for method BenchmarkDotNet.Engines.HostExtensions:AfterAll(BenchmarkDotNet.Engines.IHost) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, 4 call [BenchmarkDotNet.Engines.IHost:SendSignal(int):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 25 1194: JIT compiled BenchmarkDotNet.Engines.HostExtensions:AfterAll(BenchmarkDotNet.Engines.IHost) [Tier0, IL size=8, code size=25] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_IterationMode():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, dword ptr [ecx] G_M000_IG03: ret ; Total bytes of code 3 1195: JIT compiled BenchmarkDotNet.Reports.Measurement:get_IterationMode() [Tier1, IL size=7, code size=3] ; Assembly listing for method System.SZGenericArrayEnumeratorBase:Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: ret ; Total bytes of code 1 1196: JIT compiled System.SZGenericArrayEnumeratorBase:Dispose() [Tier1, IL size=1, code size=1] ; Assembly listing for method System.Runtime.CompilerServices.CastHelpers:IsInstanceOfAny(uint,System.Object):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 65872 ; 1 inlinees with PGO data; 8 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 16 mov eax, ecx G_M000_IG02: test edx, edx je G_M000_IG13 G_M000_IG03: mov esi, dword ptr [edx] mov dword ptr [ebp-14H], esi cmp esi, eax je G_M000_IG13 G_M000_IG04: mov edi, gword ptr [D1FFAB1EH] add edi, 8 mov bword ptr [ebp-1CH], edi mov ecx, esi rol ecx, 16 mov dword ptr [ebp-10H], eax xor ecx, eax imul ebx, ecx, 0xD1FFAB1E mov ecx, dword ptr [edi] shr ebx, cl xor ecx, ecx G_M000_IG05: mov dword ptr [ebp-18H], ebx lea edi, [ebx+01H] lea edi, [edi+2*edi] mov esi, bword ptr [ebp-1CH] lea edi, bword ptr [esi+4*edi] mov esi, dword ptr [edi] mov eax, dword ptr [edi+04H] and esi, -2 mov ebx, dword ptr [ebp-14H] cmp eax, ebx jne SHORT G_M000_IG09 G_M000_IG06: mov eax, dword ptr [ebp-10H] mov ebx, eax xor ebx, dword ptr [edi+08H] cmp ebx, 1 jbe SHORT G_M000_IG10 G_M000_IG07: test esi, esi je SHORT G_M000_IG17 G_M000_IG08: inc ecx mov esi, ecx add esi, dword ptr [ebp-18H] mov edi, bword ptr [ebp-1CH] and esi, dword ptr [edi+04H] cmp ecx, 8 jge SHORT G_M000_IG17 mov dword ptr [ebp-10H], eax mov ebx, esi jmp SHORT G_M000_IG05 G_M000_IG09: mov eax, dword ptr [ebp-10H] jmp SHORT G_M000_IG07 G_M000_IG10: cmp esi, dword ptr [edi] jne SHORT G_M000_IG17 G_M000_IG11: cmp ebx, 1 je SHORT G_M000_IG13 G_M000_IG12: test ebx, ebx jne SHORT G_M000_IG15 xor edx, edx G_M000_IG13: mov eax, edx G_M000_IG14: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG15: mov ecx, eax call System.Runtime.CompilerServices.CastHelpers:IsInstanceOfAny_NoCacheLookup(uint,System.Object):System.Object G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG17: mov ebx, 2 jmp SHORT G_M000_IG11 ; Total bytes of code 189 1197: JIT compiled System.Runtime.CompilerServices.CastHelpers:IsInstanceOfAny(uint,System.Object) [Tier1 with Static PGO, IL size=42, code size=189] ; Assembly listing for method System.MulticastDelegate:CtorClosed(System.Object,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 71259 G_M000_IG01: mov eax, edx G_M000_IG02: test eax, eax je SHORT G_M000_IG04 lea edx, bword ptr [ecx+04H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, dword ptr [esp+04H] mov dword ptr [ecx+0CH], eax G_M000_IG03: ret 4 G_M000_IG04: call [System.MulticastDelegate:ThrowNullThisInDelegateToInstance()] int3 ; Total bytes of code 31 1198: JIT compiled System.MulticastDelegate:CtorClosed(System.Object,int) [Tier1 with Static PGO, IL size=23, code size=31] ; Assembly listing for method System.IO.StreamWriter:WriteLine(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 1 inlinees with PGO data; 7 single block inlinees; 6 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 40 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov esi, ecx G_M000_IG02: mov ecx, gword ptr [esi+24H] test dword ptr [ecx+1CH], 0xD1FFAB1E je G_M000_IG28 test edx, edx jne SHORT G_M000_IG04 G_M000_IG03: xor edi, edi xor ebx, ebx jmp SHORT G_M000_IG05 align [0 bytes for IG07] G_M000_IG04: lea edi, bword ptr [edx+08H] mov ebx, dword ptr [edx+04H] G_M000_IG05: mov bword ptr [ebp-30H], edi mov ecx, gword ptr [esi+24H] test dword ptr [ecx+1CH], 0xD1FFAB1E je G_M000_IG28 cmp ebx, 4 jg SHORT G_M000_IG09 G_M000_IG06: mov ecx, dword ptr [esi+2CH] sub ecx, dword ptr [esi+28H] cmp ecx, ebx jl SHORT G_M000_IG09 xor ecx, ecx test ebx, ebx jle G_M000_IG16 mov eax, gword ptr [esi+20H] G_M000_IG07: mov gword ptr [ebp-34H], eax mov edx, eax mov eax, dword ptr [esi+28H] lea edi, [eax+01H] mov dword ptr [esi+28H], edi mov edi, bword ptr [ebp-30H] movzx edi, word ptr [edi+2*ecx] cmp eax, dword ptr [edx+04H] jae G_M000_IG30 mov word ptr [edx+2*eax+08H], di inc ecx cmp ecx, ebx mov eax, gword ptr [ebp-34H] jl SHORT G_M000_IG07 G_M000_IG08: jmp G_M000_IG16 G_M000_IG09: cmp byte ptr [esi+33H], 0 jne G_M000_IG29 mov eax, gword ptr [esi+20H] mov gword ptr [ebp-28H], eax mov edi, bword ptr [ebp-30H] mov bword ptr [ebp-10H], edi cmp dword ptr [eax+04H], 0 jbe G_M000_IG30 lea ecx, bword ptr [eax+08H] mov bword ptr [ebp-14H], ecx mov edx, bword ptr [ebp-14H] mov dword ptr [ebp-18H], edx mov dword ptr [ebp-1CH], edi mov ecx, dword ptr [esi+28H] test ebx, ebx jle SHORT G_M000_IG14 G_M000_IG10: cmp dword ptr [eax+04H], ecx jne SHORT G_M000_IG12 G_M000_IG11: push 0 mov ecx, esi xor edx, edx call [System.IO.StreamWriter:Flush(bool,bool):this] xor ecx, ecx xor eax, eax mov ecx, eax G_M000_IG12: mov eax, gword ptr [ebp-28H] mov edx, dword ptr [eax+04H] sub edx, ecx cmp edx, ebx jg G_M000_IG26 G_M000_IG13: mov dword ptr [ebp-24H], edx lea eax, [edx+edx] mov edi, eax sar edi, 31 test edi, edi jne G_M000_IG27 push eax mov edi, dword ptr [ebp-18H] mov dword ptr [ebp-20H], ecx lea ecx, [edi+2*ecx] mov edx, dword ptr [ebp-1CH] call [System.Buffer:Memmove(byref,byref,uint)] mov ecx, dword ptr [ebp-24H] add dword ptr [esi+28H], ecx mov edx, dword ptr [ebp-20H] add edx, ecx mov eax, dword ptr [ebp-1CH] lea eax, [eax+2*ecx] sub ebx, ecx test ebx, ebx mov dword ptr [ebp-1CH], eax mov ecx, edx jg SHORT G_M000_IG25 G_M000_IG14: xor ecx, ecx mov bword ptr [ebp-14H], ecx G_M000_IG15: mov bword ptr [ebp-10H], ecx G_M000_IG16: mov edi, gword ptr [esi+04H] mov gword ptr [ebp-2CH], edi xor ebx, ebx cmp dword ptr [edi+04H], 0 jle SHORT G_M000_IG20 G_M000_IG17: mov ecx, dword ptr [esi+28H] cmp ecx, dword ptr [esi+2CH] jne SHORT G_M000_IG19 G_M000_IG18: push 0 mov ecx, esi xor edx, edx call [System.IO.StreamWriter:Flush(bool,bool):this] G_M000_IG19: mov ecx, gword ptr [esi+20H] mov edx, dword ptr [esi+28H] mov eax, edx movzx edi, word ptr [edi+2*ebx+08H] cmp eax, dword ptr [ecx+04H] jae SHORT G_M000_IG30 mov word ptr [ecx+2*eax+08H], di inc edx mov dword ptr [esi+28H], edx inc ebx mov edi, gword ptr [ebp-2CH] cmp dword ptr [edi+04H], ebx jg SHORT G_M000_IG17 G_M000_IG20: cmp byte ptr [esi+30H], 0 je SHORT G_M000_IG22 G_M000_IG21: push 0 mov ecx, esi mov edx, 1 call [System.IO.StreamWriter:Flush(bool,bool):this] G_M000_IG22: xor eax, eax mov bword ptr [ebp-10H], eax G_M000_IG23: mov bword ptr [ebp-14H], eax G_M000_IG24: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG25: mov eax, gword ptr [ebp-28H] jmp G_M000_IG10 G_M000_IG26: mov edx, ebx jmp G_M000_IG13 G_M000_IG27: call CORINFO_HELP_OVERFLOW G_M000_IG28: call [System.IO.StreamWriter:ThrowAsyncIOInProgress()] int3 G_M000_IG29: mov ecx, esi call [System.IO.StreamWriter:g__ThrowObjectDisposedException|77_0():this] int3 G_M000_IG30: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 462 1199: JIT compiled System.IO.StreamWriter:WriteLine(System.String) [Tier1, IL size=20, code size=462] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:ToString():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 19 inlinees with PGO data; 27 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 40 vzeroupper xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov esi, ecx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax mov dword ptr [edi+14H], 0xD1FFAB1E mov ecx, 0xD1FFAB1E mov edx, 16 call CORINFO_HELP_NEWARR_1_VC lea edx, bword ptr [edi+04H] call CORINFO_HELP_ASSIGN_REF_EAX mov ebx, dword ptr [esi] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov dword ptr [eax+04H], ebx mov ecx, eax call [System.Enum:ToString():System.String:this] mov ebx, eax mov eax, dword ptr [esi+04H] mov dword ptr [ebp-10H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ecx, dword ptr [ebp-10H] mov dword ptr [eax+04H], ecx mov ecx, eax call [System.Enum:ToString():System.String:this] mov edx, eax mov ecx, ebx call [System.String:Concat(System.String,System.String):System.String] mov ecx, eax push 32 mov edx, 15 cmp dword ptr [ecx], ecx call [System.String:PadRight(int,ushort):System.String:this] mov edx, eax test edx, edx je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [edx+04H] push ecx add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] G_M000_IG04: mov ecx, dword ptr [edi+0CH] mov edx, gword ptr [edi+04H] cmp dword ptr [edx+04H], ecx jbe SHORT G_M000_IG09 G_M000_IG05: mov word ptr [edx+2*ecx+08H], 32 inc dword ptr [edi+0CH] G_M000_IG06: mov ebx, dword ptr [esi+0CH] mov ecx, gword ptr [D1FFAB1EH] test ebx, ebx jge SHORT G_M000_IG10 G_M000_IG07: test ecx, ecx je SHORT G_M000_IG13 G_M000_IG08: call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp SHORT G_M000_IG14 G_M000_IG09: push 1 mov ecx, edi mov edx, 32 call [System.Text.StringBuilder:Append(ushort,int):System.Text.StringBuilder:this] jmp SHORT G_M000_IG06 G_M000_IG10: mov ecx, ebx call [System.Number:UInt32ToDecStr(uint):System.String] G_M000_IG11: push 32 mov ecx, eax mov edx, 2 cmp dword ptr [ecx], ecx call [System.String:PadLeft(int,ushort):System.String:this] mov edx, eax test edx, edx je SHORT G_M000_IG16 G_M000_IG12: jmp SHORT G_M000_IG15 G_M000_IG13: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] G_M000_IG14: push gword ptr [eax+14H] mov ecx, ebx mov edx, -1 call [System.Number:NegativeInt32ToDecStr(int,int,System.String):System.String] jmp SHORT G_M000_IG11 G_M000_IG15: mov ecx, dword ptr [edx+04H] push ecx add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] G_M000_IG16: push 2 mov edx, 0xD1FFAB1E add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] lea ecx, bword ptr [esi+10H] mov ebx, dword ptr [ecx] mov eax, dword ptr [ecx+04H] mov ecx, gword ptr [D1FFAB1EH] mov dword ptr [ebp-24H], eax test eax, eax jge SHORT G_M000_IG21 G_M000_IG17: test ecx, ecx je SHORT G_M000_IG19 G_M000_IG18: call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp SHORT G_M000_IG20 G_M000_IG19: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] G_M000_IG20: push dword ptr [ebp-24H] push ebx mov edx, gword ptr [eax+14H] mov ecx, -1 call [System.Number:NegativeInt64ToDecStr(long,int,System.String):System.String] mov edx, eax jmp SHORT G_M000_IG22 G_M000_IG21: push dword ptr [ebp-24H] push ebx call [System.Number:UInt64ToDecStr(ulong):System.String] mov edx, eax G_M000_IG22: test edx, edx je SHORT G_M000_IG24 G_M000_IG23: mov ecx, dword ptr [edx+04H] push ecx add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] G_M000_IG24: mov ecx, dword ptr [edi+0CH] mov edx, gword ptr [edi+04H] cmp dword ptr [edx+04H], ecx jbe G_M000_IG37 G_M000_IG25: mov word ptr [edx+2*ecx+08H], 32 inc dword ptr [edi+0CH] G_M000_IG26: push 2 mov edx, 0xD1FFAB1E add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] push 2 mov edx, 0xD1FFAB1E add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] vmovsd xmm0, qword ptr [esi+18H] mov ecx, gword ptr [D1FFAB1EH] vmovsd qword ptr [ebp-20H], xmm0 test ecx, ecx je G_M000_IG36 G_M000_IG27: call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] G_M000_IG28: vmovsd xmm0, qword ptr [ebp-20H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov edx, eax mov ecx, 0xD1FFAB1E call [System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String] mov edx, eax test edx, edx je SHORT G_M000_IG30 G_M000_IG29: mov ecx, dword ptr [edx+04H] push ecx add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] G_M000_IG30: mov ecx, dword ptr [edi+0CH] mov edx, gword ptr [edi+04H] cmp dword ptr [edx+04H], ecx jbe G_M000_IG38 G_M000_IG31: mov word ptr [edx+2*ecx+08H], 32 inc dword ptr [edi+0CH] G_M000_IG32: push 2 mov edx, 0xD1FFAB1E add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] push 2 mov edx, 0xD1FFAB1E add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] vmovsd xmm0, qword ptr [esi+18H] vmovsd qword ptr [ebp-2CH], xmm0 add esi, 16 mov eax, dword ptr [esi] push dword ptr [esi+04H] push eax call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-34H] vmovsd xmm1, qword ptr [ebp-2CH] vmovsd xmm0, qword ptr [ebp-34H] vdivsd xmm0, xmm1, xmm0 sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-18H] call [Perfolizer.Horology.TimeInterval:FromNanoseconds(double):Perfolizer.Horology.TimeInterval] push gword ptr [D1FFAB1EH] push 0xD1FFAB1E push 0 lea ecx, [ebp-18H] xor edx, edx call [Perfolizer.Horology.TimeInterval:ToString(Perfolizer.Horology.TimeUnit,System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation):System.String:this] mov ecx, eax call [BenchmarkDotNet.Helpers.AsciiHelper:ToAscii(System.String):System.String] mov edx, eax test edx, edx je SHORT G_M000_IG34 G_M000_IG33: mov ecx, dword ptr [edx+04H] push ecx add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] G_M000_IG34: push 3 mov edx, 0xD1FFAB1E add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] mov ecx, edi call [System.Text.StringBuilder:ToString():System.String:this] G_M000_IG35: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG36: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] jmp G_M000_IG28 G_M000_IG37: push 1 mov ecx, edi mov edx, 32 call [System.Text.StringBuilder:Append(ushort,int):System.Text.StringBuilder:this] jmp G_M000_IG26 G_M000_IG38: push 1 mov ecx, edi mov edx, 32 call [System.Text.StringBuilder:Append(ushort,int):System.Text.StringBuilder:this] jmp G_M000_IG32 ; Total bytes of code 807 1200: JIT compiled BenchmarkDotNet.Reports.Measurement:ToString() [Tier1, IL size=304, code size=807] ; Assembly listing for method System.Text.StringBuilder:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push esi mov esi, ecx G_M000_IG02: mov dword ptr [esi+14H], 0xD1FFAB1E mov ecx, 0xD1FFAB1E mov edx, 16 call CORINFO_HELP_NEWARR_1_VC lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: pop esi ret ; Total bytes of code 35 1201: JIT compiled System.Text.StringBuilder:.ctor() [Tier1, IL size=31, code size=35] ; Assembly listing for method System.String:Concat(System.String,System.String):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 65118 ; 5 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 12 mov edi, ecx mov esi, edx G_M000_IG02: test edi, edi je SHORT G_M000_IG06 G_M000_IG03: mov ebx, dword ptr [edi+04H] test ebx, ebx je SHORT G_M000_IG06 G_M000_IG04: test esi, esi je SHORT G_M000_IG10 G_M000_IG05: jmp SHORT G_M000_IG12 G_M000_IG06: test esi, esi je SHORT G_M000_IG15 G_M000_IG07: mov edi, dword ptr [esi+04H] test edi, edi je SHORT G_M000_IG15 G_M000_IG08: mov eax, esi G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG10: mov eax, edi G_M000_IG11: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG12: mov ecx, dword ptr [esi+04H] mov eax, ecx test eax, eax je SHORT G_M000_IG10 G_M000_IG13: mov edx, ebx mov dword ptr [ebp-10H], edx mov dword ptr [ebp-14H], eax lea ecx, [eax+edx] call System.String:FastAllocateString(int):System.String mov gword ptr [ebp-18H], eax cmp dword ptr [eax+04H], ebx jl SHORT G_M000_IG18 lea ecx, bword ptr [eax+08H] lea edx, bword ptr [edi+08H] mov edi, dword ptr [ebp-10H] lea ebx, [edi+edi] push ebx call [System.Buffer:Memmove(byref,byref,uint)] mov ebx, gword ptr [ebp-18H] mov ecx, dword ptr [ebx+04H] sub ecx, edi mov edx, dword ptr [ebp-14H] cmp ecx, edx jl SHORT G_M000_IG17 lea ecx, bword ptr [ebx+2*edi+08H] add esi, 8 add edx, edx push edx mov edx, esi call [System.Buffer:Memmove(byref,byref,uint)] mov eax, ebx G_M000_IG14: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG15: mov eax, 0xD1FFAB1E G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG17: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG18: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW int3 ; Total bytes of code 224 1202: JIT compiled System.String:Concat(System.String,System.String) [Tier1 with Static PGO, IL size=73, code size=224] ; Assembly listing for method System.String:PadRight(int,ushort):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 2 inlinees with PGO data; 3 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 8 mov edi, ecx mov esi, edx G_M000_IG02: test esi, esi jl SHORT G_M000_IG07 mov ebx, dword ptr [edi+04H] mov edx, esi sub edx, ebx mov dword ptr [ebp-10H], edx test edx, edx jg SHORT G_M000_IG05 G_M000_IG03: mov eax, edi G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG05: mov ecx, esi call System.String:FastAllocateString(int):System.String mov esi, eax mov eax, esi cmp byte ptr [eax], al lea eax, bword ptr [esi+08H] mov bword ptr [ebp-14H], eax mov ecx, eax lea edx, bword ptr [edi+08H] lea edi, [ebx+ebx] push edi call [System.Buffer:Memmove(byref,byref,uint)] mov edi, bword ptr [ebp-14H] lea ecx, bword ptr [edi+2*ebx] movzx edx, word ptr [ebp+08H] push edx mov edx, dword ptr [ebp-10H] call [System.SpanHelpers:Fill[ushort](byref,uint,ushort)] mov eax, esi G_M000_IG06: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG07: mov ecx, 0x176D mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax mov edx, esi call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] int3 ; Total bytes of code 135 1203: JIT compiled System.String:PadRight(int,ushort) [Tier1, IL size=83, code size=135] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_IterationIndex():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, dword ptr [ecx+0CH] G_M000_IG03: ret ; Total bytes of code 4 1204: JIT compiled BenchmarkDotNet.Reports.Measurement:get_IterationIndex() [Tier1, IL size=7, code size=4] ; Assembly listing for method System.Int32:ToString(System.IFormatProvider):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 2 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi G_M000_IG02: mov esi, dword ptr [ecx] test esi, esi jge SHORT G_M000_IG07 G_M000_IG03: test edx, edx je SHORT G_M000_IG05 G_M000_IG04: mov ecx, edx call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp SHORT G_M000_IG06 G_M000_IG05: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] G_M000_IG06: push gword ptr [eax+14H] mov ecx, esi mov edx, -1 call [System.Number:NegativeInt32ToDecStr(int,int,System.String):System.String] jmp SHORT G_M000_IG08 G_M000_IG07: mov ecx, esi call [System.Number:UInt32ToDecStr(uint):System.String] G_M000_IG08: pop esi pop ebp ret ; Total bytes of code 59 1205: JIT compiled System.Int32:ToString(System.IFormatProvider) [Tier1, IL size=11, code size=59] ; Assembly listing for method System.Number:UInt32ToDecStr(uint):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: cmp ecx, 300 jae SHORT G_M000_IG05 G_M000_IG03: call [System.Number:UInt32ToDecStrForKnownSmallNumber(uint):System.String] G_M000_IG04: pop ebp ret G_M000_IG05: call [System.Number:UInt32ToDecStr_NoSmallNumberCheck(uint):System.String] G_M000_IG06: pop ebp ret ; Total bytes of code 27 1206: JIT compiled System.Number:UInt32ToDecStr(uint) [Tier1, IL size=22, code size=27] ; Assembly listing for method System.Number:UInt32ToDecStrForKnownSmallNumber(uint):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, gword ptr [D1FFAB1EH] cmp ecx, dword ptr [eax+04H] jae SHORT G_M000_IG05 mov eax, gword ptr [eax+4*ecx+08H] test eax, eax jne SHORT G_M000_IG04 G_M000_IG03: call [System.Number:g__CreateAndCacheString|70_0(uint):System.String] G_M000_IG04: pop ebp ret G_M000_IG05: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 35 1207: JIT compiled System.Number:UInt32ToDecStrForKnownSmallNumber(uint) [Tier1, IL size=18, code size=35] ; Assembly listing for method System.Int64:ToString(System.IFormatProvider):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 2 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi G_M000_IG02: mov esi, dword ptr [ecx] mov edi, dword ptr [ecx+04H] test edi, edi jge SHORT G_M000_IG07 G_M000_IG03: test edx, edx je SHORT G_M000_IG05 G_M000_IG04: mov ecx, edx call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp SHORT G_M000_IG06 G_M000_IG05: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] G_M000_IG06: push edi push esi mov edx, gword ptr [eax+14H] mov ecx, -1 call [System.Number:NegativeInt64ToDecStr(long,int,System.String):System.String] jmp SHORT G_M000_IG08 G_M000_IG07: push edi push esi call [System.Number:UInt64ToDecStr(ulong):System.String] G_M000_IG08: pop esi pop edi pop ebp ret ; Total bytes of code 64 1208: JIT compiled System.Int64:ToString(System.IFormatProvider) [Tier1, IL size=10, code size=64] ; Assembly listing for method System.Number:UInt64ToDecStr(ulong):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 5 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi push ebx push eax xor eax, eax mov dword ptr [ebp-0CH], eax G_M000_IG02: cmp dword ptr [ebp+08H], 300 mov ecx, dword ptr [ebp+0CH] sbb ecx, 0 jae SHORT G_M000_IG05 G_M000_IG03: mov ecx, dword ptr [ebp+08H] call [System.Number:UInt32ToDecStrForKnownSmallNumber(uint):System.String] G_M000_IG04: pop ecx pop ebx pop esi pop ebp ret 8 G_M000_IG05: mov ecx, 0xD1FFAB1E mov eax, dword ptr [ebp+08H] mov edx, dword ptr [ebp+0CH] or eax, 1 or edx, 0 jne SHORT G_M000_IG06 or eax, 1 lzcnt eax, eax xor eax, 31 jmp SHORT G_M000_IG07 G_M000_IG06: or edx, 1 xor eax, eax lzcnt eax, edx xor eax, 31 add eax, 32 G_M000_IG07: movzx ebx, byte ptr [ecx+eax] lea ecx, [8*ebx+D1FFAB1EH] mov eax, dword ptr [ecx] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ebp+08H], eax mov eax, dword ptr [ebp+0CH] sbb eax, ecx setb cl movzx ecx, cl sub ebx, ecx mov ecx, ebx call System.String:FastAllocateString(int):System.String mov esi, eax test esi, esi jne SHORT G_M000_IG08 xor ecx, ecx jmp SHORT G_M000_IG09 G_M000_IG08: lea ecx, bword ptr [esi+08H] mov bword ptr [ebp-0CH], ecx mov ecx, bword ptr [ebp-0CH] G_M000_IG09: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] lea ecx, [ecx+2*ebx] call [System.Number:UInt64ToDecChars[ushort](uint,ulong):uint] xor eax, eax mov bword ptr [ebp-0CH], eax mov eax, esi G_M000_IG10: pop ecx pop ebx pop esi pop ebp ret 8 ; Total bytes of code 175 1209: JIT compiled System.Number:UInt64ToDecStr(ulong) [Tier1, IL size=71, code size=175] ; Assembly listing for method System.Number:UInt64ToDecChars[ushort](uint,ulong):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 12 single block inlinees; 5 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx push eax mov esi, ecx G_M000_IG02: cmp dword ptr [ebp+0CH], 0 je G_M000_IG10 G_M000_IG03: mov eax, dword ptr [ebp+08H] mov edx, dword ptr [ebp+0CH] mov ecx, 0xD1FFAB1E cmp edx, ecx jb SHORT G_M000_IG04 mov edi, eax mov eax, edx xor edx, edx div edx:eax, ecx mov eax, edi G_M000_IG04: div edx:eax, ecx mov edi, edx push dword ptr [ebp+0CH] push dword ptr [ebp+08H] push 0 push 0xD1FFAB1E call CORINFO_HELP_ULDIV mov dword ptr [ebp+08H], eax mov dword ptr [ebp+0CH], edx mov ecx, 9 cmp edi, 100 jb G_M000_IG20 align [0 bytes for IG05] G_M000_IG05: add esi, -4 add ecx, -2 mov edx, 0xD1FFAB1E mov eax, edi mul edx:eax, edx shr edx, 5 imul eax, edx, 100 sub edi, eax mov eax, gword ptr [D1FFAB1EH] cmp byte ptr [eax], al lea eax, bword ptr [eax+4*edi+08H] mov eax, dword ptr [eax] mov dword ptr [esi], eax cmp edx, 100 jae G_M000_IG19 G_M000_IG06: test edx, edx je G_M000_IG18 G_M000_IG07: dec ecx mov eax, 0xD1FFAB1E mov dword ptr [ebp-10H], edx mul edx:eax, edx shr edx, 3 lea eax, [edx+4*edx] add eax, eax mov edi, dword ptr [ebp-10H] mov ebx, edi sub ebx, eax mov edi, edx add esi, -2 add ebx, 48 mov word ptr [esi], bx test edi, edi jne SHORT G_M000_IG17 G_M000_IG08: test ecx, ecx mov edx, edi jg SHORT G_M000_IG07 G_M000_IG09: cmp dword ptr [ebp+0CH], 0 jne G_M000_IG03 G_M000_IG10: mov ecx, esi mov esi, dword ptr [ebp+08H] cmp esi, 10 jb SHORT G_M000_IG21 G_M000_IG11: cmp esi, 100 jb SHORT G_M000_IG16 align [3 bytes for IG12] G_M000_IG12: add ecx, -4 mov edx, 0xD1FFAB1E mov eax, esi mul edx:eax, edx shr edx, 5 imul eax, edx, 100 sub esi, eax mov eax, gword ptr [D1FFAB1EH] cmp byte ptr [eax], al lea eax, bword ptr [eax+4*esi+08H] mov eax, dword ptr [eax] mov dword ptr [ecx], eax cmp edx, 100 jae SHORT G_M000_IG15 G_M000_IG13: cmp edx, 10 jb SHORT G_M000_IG14 add ecx, -4 mov eax, gword ptr [D1FFAB1EH] cmp byte ptr [eax], al lea edx, bword ptr [eax+4*edx+08H] mov eax, dword ptr [edx] mov dword ptr [ecx], eax jmp SHORT G_M000_IG22 G_M000_IG14: mov esi, edx jmp SHORT G_M000_IG21 G_M000_IG15: mov esi, edx jmp SHORT G_M000_IG12 G_M000_IG16: mov edx, esi jmp SHORT G_M000_IG13 G_M000_IG17: mov edx, edi jmp G_M000_IG07 G_M000_IG18: mov edi, edx jmp SHORT G_M000_IG08 G_M000_IG19: mov edi, edx jmp G_M000_IG05 G_M000_IG20: mov edx, edi jmp G_M000_IG06 G_M000_IG21: add ecx, -2 lea eax, [esi+30H] mov word ptr [ecx], ax G_M000_IG22: mov eax, ecx G_M000_IG23: pop ecx pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 345 1210: JIT compiled System.Number:UInt64ToDecChars[ushort](uint,ulong) [Tier1, IL size=35, code size=345] ; Assembly listing for method System.Number+Grisu3:TryRunDouble(double,int,byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 13 single block inlinees; 7 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 280 vzeroupper mov edi, ecx mov esi, edx vmovsd xmm0, qword ptr [ebp+08H] G_M000_IG02: vmovsd qword ptr [ebp-58H], xmm0 cmp dword ptr [ebp-54H], 0 jl SHORT G_M000_IG04 G_M000_IG03: jmp SHORT G_M000_IG05 G_M000_IG04: vxorps xmm0, xmm0, xmmword ptr [@RWD00] G_M000_IG05: cmp edi, -1 jne G_M000_IG12 G_M000_IG06: vmovsd qword ptr [ebp-70H], xmm0 mov ecx, dword ptr [ebp-70H] mov edx, dword ptr [ebp-6CH] mov eax, edx and eax, 0xD1FFAB1E shr edx, 20 and edx, 0x7FF mov dword ptr [ebp-60H], edx cmp dword ptr [ebp-60H], 0 je SHORT G_M000_IG07 or ecx, 0 or eax, 0xD1FFAB1E mov edx, dword ptr [ebp-60H] add edx, -0x433 mov dword ptr [ebp-60H], edx jmp SHORT G_M000_IG08 G_M000_IG07: mov dword ptr [ebp-60H], -0x432 G_M000_IG08: mov dword ptr [ebp-68H], ecx mov dword ptr [ebp-64H], eax lea ecx, [ebp-30H] push ecx lea ecx, [ebp-40H] push ecx lea ecx, [ebp-68H] mov edx, 52 call [System.Number+DiyFp:GetBoundaries(int,byref,byref):this] mov eax, dword ptr [ebp-68H] mov edx, dword ptr [ebp-64H] mov dword ptr [ebp-104H], eax mov dword ptr [ebp-100H], edx mov edi, dword ptr [ebp-60H] mov eax, dword ptr [ebp-104H] mov edx, dword ptr [ebp-100H] test edx, edx jne SHORT G_M000_IG09 xor ebx, ebx lzcnt ebx, eax add ebx, 32 jmp SHORT G_M000_IG10 G_M000_IG09: xor ebx, ebx lzcnt ebx, edx G_M000_IG10: mov eax, dword ptr [ebp-104H] mov edx, dword ptr [ebp-100H] mov ecx, ebx and ecx, 63 call CORINFO_HELP_LLSH sub edi, ebx mov dword ptr [ebp-118H], eax mov dword ptr [ebp-114H], edx mov edx, dword ptr [ebp-118H] mov ecx, dword ptr [ebp-114H] mov dword ptr [ebp-20H], edx mov dword ptr [ebp-1CH], ecx mov dword ptr [ebp-18H], edi lea edx, bword ptr [esi+0CH] mov edi, bword ptr [edx] mov ebx, dword ptr [edx+04H] mov edx, dword ptr [ebp-18H] add edx, 64 neg edx lea ecx, [edx-20H] push ecx lea ecx, [ebp-7CH] push ecx add edx, -60 lea ecx, [ebp-8CH] call [System.Number+Grisu3:GetCachedPowerForBinaryExponentRange(int,int,byref):System.Number+DiyFp] lea ecx, [ebp-8CH] push ecx lea ecx, [ebp-20H] lea edx, [ebp-9CH] call [System.Number+DiyFp:Multiply(byref):System.Number+DiyFp:this] lea ecx, [ebp-8CH] push ecx lea ecx, [ebp-30H] lea edx, [ebp-ACH] call [System.Number+DiyFp:Multiply(byref):System.Number+DiyFp:this] lea ecx, [ebp-8CH] push ecx lea ecx, [ebp-40H] lea edx, [ebp-BCH] call [System.Number+DiyFp:Multiply(byref):System.Number+DiyFp:this] lea edx, [ebp-BCH] push edx push ebx push edi lea edx, [ebp-10H] push edx lea edx, [ebp-C0H] push edx lea edx, [ebp-9CH] lea ecx, [ebp-ACH] call [System.Number+Grisu3:TryDigitGenShortest(byref,byref,byref,System.Span`1[ubyte],byref,byref):bool] mov edx, dword ptr [ebp-7CH] mov ecx, edx neg ecx add ecx, dword ptr [ebp-C0H] G_M000_IG11: jmp G_M000_IG17 G_M000_IG12: vmovsd qword ptr [ebp-C8H], xmm0 mov eax, dword ptr [ebp-C8H] mov edx, dword ptr [ebp-C4H] mov ecx, edx and ecx, 0xD1FFAB1E shr edx, 20 and edx, 0x7FF je SHORT G_M000_IG13 or eax, 0 or ecx, 0xD1FFAB1E add edx, -0x433 jmp SHORT G_M000_IG14 G_M000_IG13: mov edx, -0x432 G_M000_IG14: mov dword ptr [ebp-110H], eax mov dword ptr [ebp-10CH], ecx mov eax, dword ptr [ebp-110H] mov ecx, dword ptr [ebp-10CH] mov dword ptr [ebp-104H], eax mov dword ptr [ebp-100H], ecx mov dword ptr [ebp-108H], edx mov eax, dword ptr [ebp-104H] mov edx, dword ptr [ebp-100H] test edx, edx jne SHORT G_M000_IG15 xor ecx, ecx lzcnt ecx, eax add ecx, 32 jmp SHORT G_M000_IG16 G_M000_IG15: xor ecx, ecx lzcnt ecx, edx G_M000_IG16: mov eax, dword ptr [ebp-104H] mov edx, dword ptr [ebp-100H] mov dword ptr [ebp-CCH], ecx mov ebx, ecx and ebx, 63 mov ecx, ebx call CORINFO_HELP_LLSH mov ebx, dword ptr [ebp-108H] mov ecx, ebx sub ecx, dword ptr [ebp-CCH] mov dword ptr [ebp-120H], eax mov dword ptr [ebp-11CH], edx mov edx, dword ptr [ebp-120H] mov eax, dword ptr [ebp-11CH] mov dword ptr [ebp-50H], edx mov dword ptr [ebp-4CH], eax mov dword ptr [ebp-48H], ecx lea edx, bword ptr [esi+0CH] mov ebx, bword ptr [edx] mov eax, dword ptr [edx+04H] mov dword ptr [ebp-124H], eax mov edx, dword ptr [ebp-48H] add edx, 64 neg edx lea ecx, [edx-20H] push ecx lea ecx, [ebp-D8H] push ecx add edx, -60 lea ecx, [ebp-E8H] call [System.Number+Grisu3:GetCachedPowerForBinaryExponentRange(int,int,byref):System.Number+DiyFp] lea ecx, [ebp-E8H] push ecx lea ecx, [ebp-50H] lea edx, [ebp-F8H] call [System.Number+DiyFp:Multiply(byref):System.Number+DiyFp:this] push dword ptr [ebp-124H] push ebx lea ecx, [ebp-10H] push ecx lea ecx, [ebp-FCH] push ecx lea ecx, [ebp-F8H] mov edx, edi call [System.Number+Grisu3:TryDigitGenCounted(byref,int,System.Span`1[ubyte],byref,byref):bool] mov edx, dword ptr [ebp-D8H] mov ecx, edx neg ecx add ecx, dword ptr [ebp-FCH] G_M000_IG17: test eax, eax je SHORT G_M000_IG19 G_M000_IG18: add ecx, dword ptr [ebp-10H] mov dword ptr [esi+04H], ecx lea edx, bword ptr [esi+0CH] mov ecx, dword ptr [edx+04H] cmp dword ptr [ebp-10H], ecx jae SHORT G_M000_IG20 mov edx, bword ptr [edx] mov ecx, dword ptr [ebp-10H] mov byte ptr [edx+ecx], 0 mov edx, dword ptr [ebp-10H] mov dword ptr [esi], edx G_M000_IG19: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG20: call CORINFO_HELP_RNGCHKFAIL int3 RWD00 dq 8000000000000000h, 8000000000000000h ; Total bytes of code 801 1211: JIT compiled System.Number+Grisu3:TryRunDouble(double,int,byref) [Tier1, IL size=134, code size=801] ; Assembly listing for method System.Number+DiyFp:Normalize():System.Number+DiyFp:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 24 mov esi, ecx mov edi, edx G_M000_IG02: mov eax, esi mov edx, dword ptr [eax] mov ecx, dword ptr [eax+04H] mov dword ptr [ebp-24H], ecx mov dword ptr [ebp-20H], edx mov ebx, ecx xor eax, eax lzcnt eax, ebx xor ecx, ecx lzcnt ecx, dword ptr [ebp-20H] add ecx, 32 test ebx, ebx mov ebx, ecx cmovne ebx, eax mov ecx, ebx and ecx, 63 mov eax, edx mov edx, dword ptr [ebp-24H] call CORINFO_HELP_LLSH mov ecx, dword ptr [esi+08H] sub ecx, ebx mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-18H], edx mov eax, edi mov edx, dword ptr [ebp-1CH] mov dword ptr [eax], edx mov edx, dword ptr [ebp-18H] mov dword ptr [eax+04H], edx mov dword ptr [edi+08H], ecx G_M000_IG03: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 101 1212: JIT compiled System.Number+DiyFp:Normalize() [Tier1, IL size=37, code size=101] ; Assembly listing for method System.Number+Grisu3:TryRunCounted(byref,int,System.Span`1[ubyte],byref,byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 40 mov esi, ecx mov edi, edx G_M000_IG02: mov edx, dword ptr [esi+08H] add edx, 64 neg edx lea ecx, [edx-3CH] add edx, -32 push edx lea edx, [ebp-1CH] push edx mov edx, ecx lea ecx, [ebp-18H] call [System.Number+Grisu3:GetCachedPowerForBinaryExponentRange(int,int,byref):System.Number+DiyFp] lea edx, [ebp-18H] push edx lea edx, [ebp-2CH] mov ecx, esi call [System.Number+DiyFp:Multiply(byref):System.Number+DiyFp:this] push dword ptr [ebp+14H] push bword ptr [ebp+10H] push bword ptr [ebp+0CH] lea ecx, [ebp-30H] push ecx lea ecx, [ebp-2CH] mov edx, edi call [System.Number+Grisu3:TryDigitGenCounted(byref,int,System.Span`1[ubyte],byref,byref):bool] mov edx, dword ptr [ebp-1CH] neg edx add edx, dword ptr [ebp-30H] mov esi, bword ptr [ebp+08H] mov dword ptr [esi], edx G_M000_IG03: lea esp, [ebp-08H] pop esi pop edi pop ebp ret 16 ; Total bytes of code 103 1213: JIT compiled System.Number+Grisu3:TryRunCounted(byref,int,System.Span`1[ubyte],byref,byref) [Tier1, IL size=71, code size=103] ; Assembly listing for method System.Number+Grisu3:GetCachedPowerForBinaryExponentRange(int,int,byref):System.Number+DiyFp ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push esi sub esp, 8 vzeroupper G_M000_IG02: add edx, 63 vxorps xmm0, xmm0, xmm0 vcvtsi2sd xmm0, xmm0, edx vmulsd xmm0, xmm0, qword ptr [@RWD00] vroundsd xmm0, xmm0, xmm0, 10 vcvttsd2si eax, xmm0 add eax, 347 mov edx, eax sar edx, 31 and edx, 7 add eax, edx sar eax, 3 inc eax cmp eax, 87 jae SHORT G_M000_IG04 movsx edx, word ptr [2*eax+D1FFAB1EH] mov esi, bword ptr [esp+10H] mov dword ptr [esi], edx lea edx, [8*eax+D1FFAB1EH] mov esi, dword ptr [edx] mov edx, dword ptr [edx+04H] movsx eax, word ptr [2*eax+D1FFAB1EH] mov dword ptr [esp], esi mov dword ptr [esp+04H], edx mov edx, ecx mov esi, dword ptr [esp] mov dword ptr [edx], esi mov esi, dword ptr [esp+04H] mov dword ptr [edx+04H], esi mov dword ptr [ecx+08H], eax G_M000_IG03: add esp, 8 pop esi ret 8 G_M000_IG04: call CORINFO_HELP_RNGCHKFAIL int3 RWD00 dq 3FD34413509F79FFh ; 0.301029996 ; Total bytes of code 131 1214: JIT compiled System.Number+Grisu3:GetCachedPowerForBinaryExponentRange(int,int,byref) [Tier1, IL size=91, code size=131] ; Assembly listing for method System.Number+DiyFp:Multiply(byref):System.Number+DiyFp:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 80 mov bword ptr [ebp-5CH], edx mov edi, bword ptr [ebp+08H] G_M000_IG02: mov eax, ecx cmp dword ptr [eax], eax mov ebx, dword ptr [eax+04H] mov dword ptr [ebp-10H], ebx mov eax, dword ptr [ecx] mov dword ptr [ebp-14H], eax mov edx, edi cmp dword ptr [edx], edx mov edx, dword ptr [edx+04H] mov dword ptr [ebp-18H], edx mov bword ptr [ebp+08H], edi mov edi, dword ptr [edi] mov dword ptr [ebp-1CH], edi mov eax, ebx mul edx:eax, edx mov dword ptr [ebp-40H], eax mov dword ptr [ebp-44H], edx mov ebx, dword ptr [ebp-14H] mov edi, dword ptr [ebp-18H] mov eax, ebx mul edx:eax, edi mov edi, eax mov dword ptr [ebp-48H], edx mov edx, dword ptr [ebp-10H] mov ebx, dword ptr [ebp-1CH] mov eax, edx mul edx:eax, ebx mov dword ptr [ebp-4CH], eax mov dword ptr [ebp-50H], edx mov esi, dword ptr [ebp-14H] mov eax, esi mul edx:eax, ebx xor eax, eax mov esi, dword ptr [ebp-4CH] add edx, esi adc eax, 0 add edx, edi adc eax, 0 add edx, 0xD1FFAB1E adc eax, 0 mov edx, dword ptr [ecx+08H] mov edi, bword ptr [ebp+08H] mov ecx, dword ptr [edi+08H] lea edx, [edx+ecx+40H] mov ecx, dword ptr [ebp-50H] add ecx, dword ptr [ebp-40H] mov esi, dword ptr [ebp-44H] adc esi, 0 add ecx, dword ptr [ebp-48H] adc esi, 0 add eax, ecx adc esi, 0 mov dword ptr [ebp-3CH], eax mov dword ptr [ebp-38H], esi mov esi, bword ptr [ebp-5CH] mov eax, esi mov ecx, dword ptr [ebp-3CH] mov dword ptr [eax], ecx mov ecx, dword ptr [ebp-38H] mov dword ptr [eax+04H], ecx mov dword ptr [esi+08H], edx G_M000_IG03: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 191 1215: JIT compiled System.Number+DiyFp:Multiply(byref) [Tier1, IL size=136, code size=191] ; Assembly listing for method System.Number+Grisu3:TryDigitGenCounted(byref,int,System.Span`1[ubyte],byref,byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 136 xor eax, eax mov dword ptr [ebp-8CH], eax mov esi, edx mov edi, bword ptr [ebp+0CH] mov ebx, bword ptr [ebp+08H] G_M000_IG02: xor edx, edx mov dword ptr [ebp-48H], 1 mov dword ptr [ebp-4CH], edx mov bword ptr [ebp-88H], ecx mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-44H], ecx neg ecx and ecx, 63 mov dword ptr [ebp-40H], ecx mov dword ptr [ebp-60H], 1 xor ecx, ecx mov eax, dword ptr [ebp-60H] mov edx, ecx mov ecx, dword ptr [ebp-40H] call CORINFO_HELP_LLSH mov ecx, dword ptr [ebp-44H] mov dword ptr [ebp-38H], eax mov dword ptr [ebp-34H], edx mov dword ptr [ebp-3CH], ecx mov edx, bword ptr [ebp-88H] mov eax, edx mov ecx, dword ptr [eax] mov eax, dword ptr [eax+04H] mov dword ptr [ebp-64H], eax mov eax, ecx mov edx, dword ptr [ebp-64H] mov ecx, dword ptr [ebp-40H] call CORINFO_HELP_LRSZ mov ecx, eax mov dword ptr [ebp-18H], ecx mov eax, bword ptr [ebp-88H] mov edx, dword ptr [eax] mov dword ptr [ebp-90H], edx mov eax, dword ptr [eax+04H] mov dword ptr [ebp-94H], eax mov eax, dword ptr [ebp-38H] mov edx, dword ptr [ebp-34H] sub eax, 1 sbb edx, 0 mov dword ptr [ebp-58H], eax mov dword ptr [ebp-5CH], edx mov edx, dword ptr [ebp-90H] and edx, eax mov eax, dword ptr [ebp-94H] and eax, dword ptr [ebp-5CH] mov dword ptr [ebp-50H], edx mov dword ptr [ebp-54H], eax mov ecx, edx or ecx, eax jne SHORT G_M000_IG07 G_M000_IG03: cmp esi, 11 jge SHORT G_M000_IG04 lea ecx, [esi-01H] cmp ecx, 10 jae G_M000_IG21 mov ecx, dword ptr [ebp-18H] cmp ecx, dword ptr [4*esi+D1FFAB1EH] jae SHORT G_M000_IG07 G_M000_IG04: xor eax, eax mov dword ptr [edi], eax G_M000_IG05: mov dword ptr [ebx], eax G_M000_IG06: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG07: push ebx mov ecx, dword ptr [ebp-3CH] neg ecx neg ecx lea edx, [ecx+40H] mov ecx, dword ptr [ebp-18H] call [System.Number+Grisu3:BiggestPowerTen(uint,int,byref):uint] mov edx, eax xor eax, eax mov dword ptr [edi], eax cmp dword ptr [ebx], 0 jle G_M000_IG12 align [0 bytes for IG08] G_M000_IG08: mov eax, dword ptr [ebp-18H] mov ecx, edx xor edx, edx div edx:eax, ecx mov dword ptr [ebp-30H], eax mov dword ptr [ebp-24H], ecx mov edx, eax imul edx, ecx mov eax, dword ptr [ebp-18H] sub eax, edx mov dword ptr [ebp-18H], eax mov edx, dword ptr [edi] cmp edx, dword ptr [ebp+14H] jae G_M000_IG21 mov eax, bword ptr [ebp+10H] mov bword ptr [ebp-8CH], eax mov eax, dword ptr [ebp-30H] add eax, 48 mov ecx, bword ptr [ebp-8CH] mov byte ptr [ecx+edx], al inc dword ptr [edi] dec esi dec dword ptr [ebx] test esi, esi je SHORT G_M000_IG09 mov edx, 0xD1FFAB1E mov ecx, dword ptr [ebp-24H] mov eax, ecx mul edx:eax, edx mov ecx, edx shr ecx, 3 mov dword ptr [ebp-24H], ecx cmp dword ptr [ebx], 0 jg SHORT G_M000_IG11 G_M000_IG09: test esi, esi jne G_M000_IG14 push dword ptr [ebp+14H] push bword ptr [ebp+10H] mov esi, dword ptr [edi] xor edx, edx mov eax, dword ptr [ebp-18H] mov ecx, dword ptr [ebp-40H] call CORINFO_HELP_LLSH mov edi, dword ptr [ebp-50H] add eax, edi mov edi, dword ptr [ebp-54H] adc edx, edi push edx push eax xor edx, edx mov eax, dword ptr [ebp-24H] mov ecx, dword ptr [ebp-40H] call CORINFO_HELP_LLSH push edx push eax push 0 push 1 mov ecx, esi mov edx, ebx call [System.Number+Grisu3:TryRoundWeedCounted(System.Span`1[ubyte],int,ulong,ulong,ulong,byref):bool] G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG11: mov edx, dword ptr [ebp-24H] jmp G_M000_IG08 G_M000_IG12: mov dword ptr [ebp-24H], edx jmp SHORT G_M000_IG09 G_M000_IG13: push eax push edx push 0 push 10 call CORINFO_HELP_LMUL mov dword ptr [ebp-50H], eax mov dword ptr [ebp-54H], edx push dword ptr [ebp-4CH] push dword ptr [ebp-48H] push 0 push 10 call CORINFO_HELP_LMUL mov dword ptr [ebp-48H], eax mov dword ptr [ebp-4CH], edx mov eax, dword ptr [ebp-50H] mov edx, dword ptr [ebp-54H] mov ecx, dword ptr [ebp-40H] call CORINFO_HELP_LRSZ mov ecx, dword ptr [edi] cmp ecx, dword ptr [ebp+14H] jae G_M000_IG21 mov edx, bword ptr [ebp+10H] add eax, 48 mov byte ptr [edx+ecx], al inc dword ptr [edi] dec esi dec dword ptr [ebx] mov eax, dword ptr [ebp-58H] mov ecx, eax and ecx, dword ptr [ebp-50H] mov edx, dword ptr [ebp-5CH] mov eax, edx and eax, dword ptr [ebp-54H] mov dword ptr [ebp-50H], ecx mov dword ptr [ebp-54H], eax G_M000_IG14: test esi, esi jle SHORT G_M000_IG16 mov edx, dword ptr [ebp-50H] cmp dword ptr [ebp-48H], edx mov ecx, dword ptr [ebp-4CH] mov eax, dword ptr [ebp-54H] sbb ecx, eax jb SHORT G_M000_IG13 G_M000_IG15: mov dword ptr [ebp-50H], edx mov dword ptr [ebp-54H], eax G_M000_IG16: test esi, esi je SHORT G_M000_IG19 cmp dword ptr [ebp+14H], 0 jbe SHORT G_M000_IG21 mov eax, bword ptr [ebp+10H] mov byte ptr [eax], 0 xor eax, eax mov dword ptr [edi], eax G_M000_IG17: mov dword ptr [ebx], eax G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG19: push dword ptr [ebp+14H] push bword ptr [ebp+10H] mov edx, dword ptr [edi] push dword ptr [ebp-54H] push dword ptr [ebp-50H] push dword ptr [ebp-34H] push dword ptr [ebp-38H] push dword ptr [ebp-4CH] push dword ptr [ebp-48H] mov ecx, edx mov edx, ebx call [System.Number+Grisu3:TryRoundWeedCounted(System.Span`1[ubyte],int,ulong,ulong,ulong,byref):bool] G_M000_IG20: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG21: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 677 1216: JIT compiled System.Number+Grisu3:TryDigitGenCounted(byref,int,System.Span`1[ubyte],byref,byref) [Tier1, IL size=372, code size=677] ; Assembly listing for method System.Number:FindSection(System.ReadOnlySpan`1[ushort],int):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx push eax xor eax, eax mov dword ptr [ebp-10H], eax G_M000_IG02: test ecx, ecx jne SHORT G_M000_IG05 G_M000_IG03: xor eax, eax G_M000_IG04: pop ecx pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG05: mov eax, bword ptr [ebp+08H] mov bword ptr [ebp-10H], eax xor edx, edx align [0 bytes for IG06] G_M000_IG06: mov esi, dword ptr [ebp+0CH] cmp edx, esi jge G_M000_IG20 lea edi, [edx+01H] movzx edx, word ptr [eax+2*edx] mov ebx, edx cmp edx, 34 ja SHORT G_M000_IG07 test edx, edx je G_M000_IG22 cmp edx, 34 je SHORT G_M000_IG10 mov edx, edi jmp SHORT G_M000_IG06 G_M000_IG07: cmp edx, 39 je SHORT G_M000_IG10 cmp ebx, 59 je SHORT G_M000_IG17 cmp ebx, 92 mov edx, edi jne SHORT G_M000_IG06 G_M000_IG08: cmp edx, esi jge SHORT G_M000_IG06 G_M000_IG09: jmp SHORT G_M000_IG15 G_M000_IG10: cmp edi, esi jge SHORT G_M000_IG14 mov ebx, edx mov edx, edi mov edi, ebx movzx ebx, word ptr [eax+2*edx] test ebx, ebx je SHORT G_M000_IG06 G_M000_IG11: inc edx cmp ebx, edi jne SHORT G_M000_IG13 G_M000_IG12: mov edi, edx jmp SHORT G_M000_IG06 G_M000_IG13: mov ebx, edx mov edx, edi mov edi, ebx jmp SHORT G_M000_IG10 G_M000_IG14: mov edx, edi jmp SHORT G_M000_IG06 G_M000_IG15: movzx edi, word ptr [eax+2*edx] test edi, edi je SHORT G_M000_IG06 G_M000_IG16: inc edx jmp SHORT G_M000_IG06 G_M000_IG17: dec ecx mov edx, edi jne SHORT G_M000_IG06 G_M000_IG18: cmp edx, esi jge SHORT G_M000_IG22 movzx edi, word ptr [eax+2*edx] test edi, edi je SHORT G_M000_IG22 cmp edi, 59 je SHORT G_M000_IG22 mov eax, edx G_M000_IG19: pop ecx pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG20: xor eax, eax G_M000_IG21: pop ecx pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG22: xor eax, eax G_M000_IG23: pop ecx pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 201 1217: JIT compiled System.Number:FindSection(System.ReadOnlySpan`1[ushort],int) [Tier1, IL size=190, code size=201] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:GetAverageTime():Perfolizer.Horology.TimeInterval:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push esi sub esp, 16 vzeroupper mov esi, edx G_M000_IG02: vmovsd xmm0, qword ptr [ecx+18H] vmovsd qword ptr [esp+08H], xmm0 add ecx, 16 mov eax, dword ptr [ecx] push dword ptr [ecx+04H] push eax call CORINFO_HELP_LNG2DBL fstp qword ptr [esp] vmovsd xmm1, qword ptr [esp+08H] vmovsd xmm0, qword ptr [esp] vdivsd xmm0, xmm1, xmm0 sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, esi call [Perfolizer.Horology.TimeInterval:FromNanoseconds(double):Perfolizer.Horology.TimeInterval] G_M000_IG03: add esp, 16 pop esi ret ; Total bytes of code 73 1218: JIT compiled BenchmarkDotNet.Reports.Measurement:GetAverageTime() [Tier1, IL size=20, code size=73] ; Assembly listing for method Perfolizer.Horology.TimeInterval:FromNanoseconds(double):Perfolizer.Horology.TimeInterval ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [esp+04H] vmovsd qword ptr [ecx], xmm0 G_M000_IG03: ret 8 ; Total bytes of code 16 1219: JIT compiled Perfolizer.Horology.TimeInterval:FromNanoseconds(double) [Tier1, IL size=12, code size=16] ; Assembly listing for method Perfolizer.Horology.TimeInterval:op_Multiply(Perfolizer.Horology.TimeInterval,double):Perfolizer.Horology.TimeInterval ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [esp+0CH] vmulsd xmm0, xmm0, qword ptr [esp+04H] vmovsd qword ptr [ecx], xmm0 G_M000_IG03: ret 16 ; Total bytes of code 22 1220: JIT compiled Perfolizer.Horology.TimeInterval:op_Multiply(Perfolizer.Horology.TimeInterval,double) [Tier1, IL size=15, code size=22] ; Assembly listing for method Perfolizer.Horology.TimeInterval:.ctor(double):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [esp+04H] vmovsd qword ptr [ecx], xmm0 G_M000_IG03: ret 8 ; Total bytes of code 16 1221: JIT compiled Perfolizer.Horology.TimeInterval:.ctor(double) [Tier1, IL size=8, code size=16] ; Assembly listing for method Perfolizer.Horology.TimeInterval:ToString(System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: push edx push gword ptr [esp+08H+08H] push gword ptr [esp+04H+0CH] xor edx, edx call [Perfolizer.Horology.TimeInterval:ToString(Perfolizer.Horology.TimeUnit,System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation):System.String:this] G_M000_IG03: ret 8 ; Total bytes of code 20 1222: JIT compiled Perfolizer.Horology.TimeInterval:ToString(System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation) [Tier1, IL size=11, code size=20] ; Assembly listing for method Perfolizer.Horology.TimeInterval:ToString(Perfolizer.Horology.TimeUnit,System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 14 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 48 vzeroupper mov edi, ecx mov esi, edx mov ebx, gword ptr [ebp+10H] G_M000_IG02: test esi, esi jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E mov edx, 1 call CORINFO_HELP_NEWARR_1_ALIGN8 vmovsd xmm0, qword ptr [edi] vmovsd qword ptr [eax+08H], xmm0 mov ecx, eax call [Perfolizer.Horology.TimeUnit:GetBestTimeUnit(double[]):Perfolizer.Horology.TimeUnit] mov esi, eax G_M000_IG04: test ebx, ebx cmove ebx, gword ptr [D1FFAB1EH] mov edx, gword ptr [ebp+0CH] mov ecx, 0xD1FFAB1E test edx, edx cmove edx, ecx mov gword ptr [ebp+0CH], edx mov eax, gword ptr [ebp+08H] test eax, eax cmove eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp+08H], eax vmovsd xmm0, qword ptr [edi] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [D1FFAB1EH] mov edx, esi call [Perfolizer.Horology.TimeUnit:Convert(double,Perfolizer.Horology.TimeUnit,Perfolizer.Horology.TimeUnit):double] fstp qword ptr [ebp-3CH] vmovsd xmm0, qword ptr [ebp-3CH] vmovsd qword ptr [ebp-14H], xmm0 mov edi, gword ptr [ebp+08H] cmp byte ptr [edi+08H], 0 je G_M000_IG17 G_M000_IG05: mov ecx, gword ptr [esi+0CH] mov edx, dword ptr [edi+04H] cmp byte ptr [ecx], cl push 32 call [System.String:PadLeft(int,ushort):System.String:this] mov esi, eax vmovsd xmm0, qword ptr [ebp-14H] vmovsd qword ptr [ebp-1CH], xmm0 test ebx, ebx je G_M000_IG13 G_M000_IG06: mov ecx, ebx call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] G_M000_IG07: vmovsd xmm0, qword ptr [ebp-1CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp+0CH] mov edx, eax call [System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String] mov ebx, eax test ebx, ebx je G_M000_IG22 G_M000_IG08: mov edi, dword ptr [ebx+04H] test edi, edi je G_M000_IG22 G_M000_IG09: test esi, esi je SHORT G_M000_IG14 G_M000_IG10: mov ecx, dword ptr [esi+04H] test ecx, ecx je SHORT G_M000_IG14 G_M000_IG11: lea ecx, [edi+ecx+01H] call System.String:FastAllocateString(int):System.String mov gword ptr [ebp-2CH], eax cmp dword ptr [eax+04H], edi jl G_M000_IG25 lea ecx, bword ptr [eax+08H] lea edx, bword ptr [ebx+08H] mov ebx, edi add ebx, ebx push ebx call [System.Buffer:Memmove(byref,byref,uint)] mov ecx, edi mov eax, gword ptr [ebp-2CH] mov edx, dword ptr [eax+04H] sub edx, ecx cmp edx, 1 jl G_M000_IG26 lea ecx, bword ptr [eax+ebx+08H] mov edx, 0xD1FFAB1E add edx, 8 push 2 call [System.Buffer:Memmove(byref,byref,uint)] lea edx, [edi+01H] push esi mov ecx, gword ptr [ebp-2CH] call [System.String:FillStringChecked(System.String,int,System.String)] mov esi, gword ptr [ebp-2CH] mov eax, esi G_M000_IG12: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG13: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] jmp G_M000_IG07 G_M000_IG14: mov esi, edi lea ecx, [esi+01H] call System.String:FastAllocateString(int):System.String mov gword ptr [ebp-30H], eax mov edx, dword ptr [eax+04H] mov dword ptr [ebp-28H], edx cmp edi, edx jg G_M000_IG23 G_M000_IG15: lea edi, bword ptr [eax+08H] mov bword ptr [ebp-34H], edi mov ecx, edi add ebx, 8 lea edi, [esi+esi] push edi mov edx, ebx call [System.Buffer:Memmove(byref,byref,uint)] mov ebx, dword ptr [ebp-28H] sub ebx, esi test ebx, ebx jle G_M000_IG24 G_M000_IG16: mov ecx, edi add ecx, bword ptr [ebp-34H] mov edx, 0xD1FFAB1E add edx, 8 push 2 call [System.Buffer:Memmove(byref,byref,uint)] mov esi, gword ptr [ebp-30H] mov eax, esi jmp SHORT G_M000_IG12 G_M000_IG17: vmovsd xmm0, qword ptr [ebp-14H] vmovsd qword ptr [ebp-24H], xmm0 test ebx, ebx je SHORT G_M000_IG19 G_M000_IG18: mov ecx, ebx call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp SHORT G_M000_IG20 G_M000_IG19: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] G_M000_IG20: vmovsd xmm0, qword ptr [ebp-24H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp+0CH] mov edx, eax call [System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String] G_M000_IG21: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG22: mov edx, esi mov ecx, 0xD1FFAB1E call [System.String:Concat(System.String,System.String):System.String] jmp G_M000_IG12 G_M000_IG23: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG24: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG25: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG26: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW int3 ; Total bytes of code 647 1223: JIT compiled Perfolizer.Horology.TimeInterval:ToString(Perfolizer.Horology.TimeUnit,System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation) [Tier1, IL size=141, code size=647] ; Assembly listing for method Perfolizer.Horology.TimeUnit:Convert(double,Perfolizer.Horology.TimeUnit,Perfolizer.Horology.TimeUnit):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push esi sub esp, 16 vzeroupper mov esi, edx G_M000_IG02: add ecx, 4 mov eax, dword ptr [ecx] push dword ptr [ecx+04H] push eax call CORINFO_HELP_LNG2DBL fstp qword ptr [esp+08H] vmovsd xmm0, qword ptr [esp+08H] vmulsd xmm0, xmm0, qword ptr [esp+18H] vmovsd qword ptr [esp], xmm0 test esi, esi jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E mov edx, 1 call CORINFO_HELP_NEWARR_1_ALIGN8 vmovsd xmm1, qword ptr [esp+18H] vmovsd qword ptr [eax+08H], xmm1 mov ecx, eax call [Perfolizer.Horology.TimeUnit:GetBestTimeUnit(double[]):Perfolizer.Horology.TimeUnit] mov esi, eax G_M000_IG04: add esi, 4 mov eax, dword ptr [esi] push dword ptr [esi+04H] push eax call CORINFO_HELP_LNG2DBL fstp qword ptr [esp+08H] vmovsd xmm1, qword ptr [esp] vmovsd xmm0, qword ptr [esp+08H] vdivsd xmm0, xmm1, xmm0 vmovsd qword ptr [esp+08H], xmm0 fld qword ptr [esp+08H] G_M000_IG05: add esp, 16 pop esi ret 8 ; Total bytes of code 134 1224: JIT compiled Perfolizer.Horology.TimeUnit:Convert(double,Perfolizer.Horology.TimeUnit,Perfolizer.Horology.TimeUnit) [Tier1, IL size=37, code size=134] ; Assembly listing for method Perfolizer.Common.UnitPresentation:get_IsVisible():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: movzx eax, byte ptr [ecx+08H] G_M000_IG03: ret ; Total bytes of code 5 1225: JIT compiled Perfolizer.Common.UnitPresentation:get_IsVisible() [Tier1, IL size=7, code size=5] ; Assembly listing for method Perfolizer.Horology.TimeUnit:get_Name():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, gword ptr [ecx+0CH] G_M000_IG03: ret ; Total bytes of code 4 1226: JIT compiled Perfolizer.Horology.TimeUnit:get_Name() [Tier1, IL size=7, code size=4] ; Assembly listing for method Perfolizer.Common.UnitPresentation:get_MinUnitWidth():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, dword ptr [ecx+04H] G_M000_IG03: ret ; Total bytes of code 4 1227: JIT compiled Perfolizer.Common.UnitPresentation:get_MinUnitWidth() [Tier1, IL size=7, code size=4] ; Assembly listing for method System.String:PadLeft(int):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: push 32 call [System.String:PadLeft(int,ushort):System.String:this] G_M000_IG03: ret ; Total bytes of code 9 1228: JIT compiled System.String:PadLeft(int) [Tier1, IL size=10, code size=9] ; Assembly listing for method System.Number:NumberToString[ushort](byref,byref,ushort,int,System.Globalization.NumberFormatInfo) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 29 single block inlinees; 15 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 64 mov ebx, ecx mov esi, edx mov ecx, dword ptr [ebp+10H] mov edi, dword ptr [ebp+0CH] G_M000_IG02: xor edx, edx cmp byte ptr [esi+0AH], 3 sete dl mov dword ptr [ebp-10H], edx mov dword ptr [ebp+10H], ecx movzx ecx, cx mov dword ptr [ebp-30H], ecx cmp ecx, 82 ja SHORT G_M000_IG05 G_M000_IG03: lea edx, [ecx-43H] mov dword ptr [ebp-34H], edx cmp edx, 4 ja SHORT G_M000_IG04 lea edx, [@RWD00] mov eax, dword ptr [ebp-34H] mov edx, dword ptr [edx+4*eax] lea ecx, G_M000_IG02 add edx, ecx jmp edx G_M000_IG04: lea edx, [ecx-4EH] cmp edx, 4 ja G_M000_IG38 lea ecx, [@RWD20] mov ecx, dword ptr [ecx+4*edx] lea eax, G_M000_IG02 add ecx, eax jmp ecx G_M000_IG05: lea edx, [ecx-63H] cmp edx, 4 ja SHORT G_M000_IG06 lea ecx, [@RWD40] mov ecx, dword ptr [ecx+4*edx] lea eax, G_M000_IG02 add ecx, eax jmp ecx G_M000_IG06: lea edx, [ecx-6EH] cmp edx, 4 ja G_M000_IG38 lea ecx, [@RWD60] mov ecx, dword ptr [ecx+4*edx] lea eax, G_M000_IG02 add ecx, eax jmp ecx G_M000_IG07: test edi, edi jge SHORT G_M000_IG08 mov edi, gword ptr [ebp+08H] mov edx, dword ptr [edi+88H] mov eax, edx mov gword ptr [ebp+08H], edi mov edi, eax G_M000_IG08: mov edx, edi add edx, dword ptr [esi+04H] push dword ptr [ebp-10H] mov ecx, esi call [System.Number:RoundNumber(byref,int,bool)] push edi push gword ptr [ebp+08H] mov ecx, ebx mov edx, esi call [System.Number:FormatCurrency[ushort](byref,byref,int,System.Globalization.NumberFormatInfo)] jmp G_M000_IG36 G_M000_IG09: test edi, edi jge SHORT G_M000_IG10 mov edi, gword ptr [ebp+08H] mov edx, dword ptr [edi+84H] mov eax, edx mov gword ptr [ebp+08H], edi mov edi, eax G_M000_IG10: mov edx, edi add edx, dword ptr [esi+04H] push dword ptr [ebp-10H] mov ecx, esi call [System.Number:RoundNumber(byref,int,bool)] cmp byte ptr [esi+08H], 0 je SHORT G_M000_IG14 mov eax, gword ptr [ebp+08H] mov ecx, gword ptr [eax+14H] test ecx, ecx jne SHORT G_M000_IG11 xor edx, edx xor ecx, ecx jmp SHORT G_M000_IG12 G_M000_IG11: lea edx, bword ptr [ecx+08H] mov ecx, dword ptr [ecx+04H] G_M000_IG12: mov bword ptr [ebp-3CH], edx mov dword ptr [ebp-24H], ecx mov edx, dword ptr [ebx+04H] mov dword ptr [ebp-18H], edx lea ecx, bword ptr [ebx+08H] mov edx, bword ptr [ecx] mov bword ptr [ebp-38H], edx mov ecx, dword ptr [ecx+04H] cmp dword ptr [ebp-24H], 1 jne SHORT G_M000_IG13 mov edx, dword ptr [ebp-18H] cmp edx, ecx jae SHORT G_M000_IG13 mov ecx, bword ptr [ebp-3CH] movzx ecx, word ptr [ecx] mov eax, bword ptr [ebp-38H] mov word ptr [eax+2*edx], cx inc edx mov dword ptr [ebx+04H], edx jmp SHORT G_M000_IG14 G_M000_IG13: push dword ptr [ebp-24H] push bword ptr [ebp-3CH] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] G_M000_IG14: mov eax, gword ptr [ebp+08H] mov ecx, gword ptr [eax+18H] test ecx, ecx jne SHORT G_M000_IG15 xor edx, edx xor eax, eax jmp SHORT G_M000_IG16 G_M000_IG15: lea edx, bword ptr [ecx+08H] mov eax, dword ptr [ecx+04H] G_M000_IG16: xor ecx, ecx push edi push 0 push eax push edx push 0 push ecx mov ecx, ebx mov edx, esi call [System.Number:FormatFixed[ushort](byref,byref,int,int[],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort])] jmp G_M000_IG36 G_M000_IG17: test edi, edi jge SHORT G_M000_IG18 mov edi, gword ptr [ebp+08H] mov edx, dword ptr [edi+84H] mov eax, edx mov gword ptr [ebp+08H], edi mov edi, eax G_M000_IG18: mov edx, edi add edx, dword ptr [esi+04H] push dword ptr [ebp-10H] mov ecx, esi call [System.Number:RoundNumber(byref,int,bool)] push edi push gword ptr [ebp+08H] mov ecx, ebx mov edx, esi call [System.Number:FormatNumber[ushort](byref,byref,int,System.Globalization.NumberFormatInfo)] jmp G_M000_IG36 G_M000_IG19: mov ecx, 6 test edi, edi cmovl edi, ecx inc edi push dword ptr [ebp-10H] mov ecx, esi mov edx, edi call [System.Number:RoundNumber(byref,int,bool)] cmp byte ptr [esi+08H], 0 je SHORT G_M000_IG23 mov eax, gword ptr [ebp+08H] mov ecx, gword ptr [eax+14H] test ecx, ecx jne SHORT G_M000_IG20 xor edx, edx xor ecx, ecx jmp SHORT G_M000_IG21 G_M000_IG20: lea edx, bword ptr [ecx+08H] mov ecx, dword ptr [ecx+04H] G_M000_IG21: mov bword ptr [ebp-44H], edx mov dword ptr [ebp-28H], ecx mov edx, dword ptr [ebx+04H] mov dword ptr [ebp-1CH], edx lea ecx, bword ptr [ebx+08H] mov edx, bword ptr [ecx] mov bword ptr [ebp-40H], edx mov ecx, dword ptr [ecx+04H] cmp dword ptr [ebp-28H], 1 jne SHORT G_M000_IG22 mov edx, dword ptr [ebp-1CH] cmp edx, ecx jae SHORT G_M000_IG22 mov ecx, bword ptr [ebp-44H] movzx ecx, word ptr [ecx] mov eax, bword ptr [ebp-40H] mov word ptr [eax+2*edx], cx inc edx mov dword ptr [ebx+04H], edx jmp SHORT G_M000_IG23 G_M000_IG22: push dword ptr [ebp-28H] push bword ptr [ebp-44H] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] G_M000_IG23: push edi push gword ptr [ebp+08H] push dword ptr [ebp-30H] mov ecx, ebx mov edx, esi call [System.Number:FormatScientific[ushort](byref,byref,int,System.Globalization.NumberFormatInfo,ushort)] jmp G_M000_IG36 G_M000_IG24: xor eax, eax test edi, edi jg SHORT G_M000_IG25 cmp byte ptr [esi+0AH], 2 jne SHORT G_M000_IG26 cmp edi, -1 jne SHORT G_M000_IG26 mov dword ptr [ebp-14H], 1 lea ecx, bword ptr [esi+0CH] cmp dword ptr [ecx+04H], 0 jbe G_M000_IG39 mov ecx, bword ptr [ecx] cmp byte ptr [ecx], 0 jne SHORT G_M000_IG28 jmp G_M000_IG32 G_M000_IG25: mov dword ptr [ebp-14H], eax jmp SHORT G_M000_IG27 G_M000_IG26: mov edi, dword ptr [esi] mov dword ptr [ebp-14H], eax G_M000_IG27: push dword ptr [ebp-10H] mov ecx, esi mov edx, edi call [System.Number:RoundNumber(byref,int,bool)] G_M000_IG28: cmp byte ptr [esi+08H], 0 je SHORT G_M000_IG32 mov edx, gword ptr [ebp+08H] mov ecx, gword ptr [edx+14H] test ecx, ecx jne SHORT G_M000_IG29 xor ecx, ecx xor eax, eax jmp SHORT G_M000_IG30 G_M000_IG29: lea eax, bword ptr [ecx+08H] mov ecx, dword ptr [ecx+04H] mov edx, eax mov eax, ecx mov ecx, edx G_M000_IG30: mov bword ptr [ebp-4CH], ecx mov dword ptr [ebp-2CH], eax mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-20H], ecx lea eax, bword ptr [ebx+08H] mov ecx, bword ptr [eax] mov bword ptr [ebp-48H], ecx mov eax, dword ptr [eax+04H] cmp dword ptr [ebp-2CH], 1 jne SHORT G_M000_IG31 mov ecx, dword ptr [ebp-20H] cmp ecx, eax jae SHORT G_M000_IG31 mov eax, bword ptr [ebp-4CH] movzx eax, word ptr [eax] mov edx, bword ptr [ebp-48H] mov word ptr [edx+2*ecx], ax inc ecx mov dword ptr [ebx+04H], ecx jmp SHORT G_M000_IG32 G_M000_IG31: push dword ptr [ebp-2CH] push bword ptr [ebp-4CH] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] G_M000_IG32: push edi push gword ptr [ebp+08H] mov edi, dword ptr [ebp+10H] add edi, -2 movzx ecx, di push ecx push dword ptr [ebp-14H] mov ecx, ebx mov edx, esi call [System.Number:FormatGeneral[ushort](byref,byref,int,System.Globalization.NumberFormatInfo,ushort,bool)] jmp SHORT G_M000_IG36 G_M000_IG33: test edi, edi jge SHORT G_M000_IG34 mov edi, gword ptr [ebp+08H] mov edx, dword ptr [edi+A0H] mov eax, edx mov gword ptr [ebp+08H], edi mov edi, eax G_M000_IG34: lea edx, bword ptr [esi+04H] add dword ptr [edx], 2 mov edx, edi add edx, dword ptr [esi+04H] push dword ptr [ebp-10H] mov ecx, esi call [System.Number:RoundNumber(byref,int,bool)] push edi push gword ptr [ebp+08H] mov ecx, ebx mov edx, esi call [System.Number:FormatPercent[ushort](byref,byref,int,System.Globalization.NumberFormatInfo)] jmp SHORT G_M000_IG36 G_M000_IG35: mov ecx, dword ptr [ebp-30H] add ecx, -11 movzx eax, cx mov dword ptr [ebp+10H], eax jmp G_M000_IG24 G_M000_IG36: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG37: call CORINFO_HELP_OVERFLOW G_M000_IG38: call [System.ThrowHelper:ThrowFormatException_BadFormatSpecifier()] int3 G_M000_IG39: call CORINFO_HELP_RNGCHKFAIL int3 RWD00 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG38 - G_M000_IG02 dd G_M000_IG19 - G_M000_IG02 dd G_M000_IG09 - G_M000_IG02 dd G_M000_IG24 - G_M000_IG02 RWD20 dd G_M000_IG17 - G_M000_IG02 dd G_M000_IG38 - G_M000_IG02 dd G_M000_IG33 - G_M000_IG02 dd G_M000_IG38 - G_M000_IG02 dd G_M000_IG35 - G_M000_IG02 RWD40 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG38 - G_M000_IG02 dd G_M000_IG19 - G_M000_IG02 dd G_M000_IG09 - G_M000_IG02 dd G_M000_IG24 - G_M000_IG02 RWD60 dd G_M000_IG17 - G_M000_IG02 dd G_M000_IG38 - G_M000_IG02 dd G_M000_IG33 - G_M000_IG02 dd G_M000_IG38 - G_M000_IG02 dd G_M000_IG35 - G_M000_IG02 ; Total bytes of code 907 1229: JIT compiled System.Number:NumberToString[ushort](byref,byref,ushort,int,System.Globalization.NumberFormatInfo) [Tier1, IL size=503, code size=907] ; Assembly listing for method System.String:Concat(System.String,System.String,System.String):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 37082 ; 6 inlinees with PGO data; 3 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 12 mov edi, ecx mov esi, edx mov ebx, gword ptr [ebp+08H] G_M000_IG02: test edi, edi je G_M000_IG15 G_M000_IG03: mov eax, dword ptr [edi+04H] mov dword ptr [ebp-14H], eax test eax, eax je G_M000_IG15 G_M000_IG04: test esi, esi je G_M000_IG17 G_M000_IG05: cmp dword ptr [esi+04H], 0 je G_M000_IG17 G_M000_IG06: test ebx, ebx je G_M000_IG10 G_M000_IG07: cmp dword ptr [ebx+04H], 0 je G_M000_IG10 G_M000_IG08: mov edx, eax add edx, dword ptr [esi+04H] mov dword ptr [ebp-10H], edx mov ecx, edx add ecx, dword ptr [ebx+04H] call System.String:FastAllocateString(int):System.String mov gword ptr [ebp-18H], eax mov edx, dword ptr [ebp-14H] cmp dword ptr [eax+04H], edx jl SHORT G_M000_IG12 lea ecx, bword ptr [eax+08H] add edi, 8 add edx, edx push edx mov edx, edi call [System.Buffer:Memmove(byref,byref,uint)] mov edi, dword ptr [ebp-14H] mov ecx, dword ptr [esi+04H] mov eax, gword ptr [ebp-18H] mov edx, dword ptr [eax+04H] sub edx, edi cmp ecx, edx jg SHORT G_M000_IG13 lea ecx, bword ptr [eax+2*edi+08H] lea edx, bword ptr [esi+08H] mov esi, dword ptr [esi+04H] add esi, esi push esi call [System.Buffer:Memmove(byref,byref,uint)] mov esi, dword ptr [ebp-10H] mov ecx, dword ptr [ebx+04H] mov edi, gword ptr [ebp-18H] mov edx, dword ptr [edi+04H] sub edx, esi cmp ecx, edx jg SHORT G_M000_IG14 lea ecx, bword ptr [edi+2*esi+08H] lea edx, bword ptr [ebx+08H] mov eax, dword ptr [ebx+04H] add eax, eax push eax call [System.Buffer:Memmove(byref,byref,uint)] mov eax, edi G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG10: mov ecx, edi mov edx, esi call [System.String:Concat(System.String,System.String):System.String] G_M000_IG11: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG13: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG14: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG15: mov ecx, esi mov edx, ebx call [System.String:Concat(System.String,System.String):System.String] G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG17: mov ecx, edi mov edx, ebx call [System.String:Concat(System.String,System.String):System.String] G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 347 1230: JIT compiled System.String:Concat(System.String,System.String,System.String) [Tier1 with Static PGO, IL size=119, code size=347] ; Assembly listing for method BenchmarkDotNet.Helpers.AsciiHelper:ToAscii(System.String):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: test ecx, ecx jne SHORT G_M000_IG05 G_M000_IG03: xor eax, eax G_M000_IG04: ret G_M000_IG05: push 0xD1FFAB1E mov edx, 0xD1FFAB1E call [System.String:Replace(System.String,System.String):System.String:this] G_M000_IG06: ret ; Total bytes of code 24 1231: JIT compiled BenchmarkDotNet.Helpers.AsciiHelper:ToAscii(System.String) [Tier1, IL size=22, code size=24] ; Assembly listing for method System.String:Replace(System.String,System.String):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 2 inlinees with PGO data; 12 single block inlinees; 6 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 88 xor eax, eax mov dword ptr [ebp-20H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-10H], esp mov dword ptr [ebp-60H], 0xD1FFAB1E mov esi, ecx mov edi, edx mov ebx, gword ptr [ebp+08H] G_M000_IG02: test edi, edi je G_M000_IG28 G_M000_IG03: cmp dword ptr [edi+04H], 0 je G_M000_IG28 G_M000_IG04: mov edx, 0xD1FFAB1E test ebx, ebx cmove ebx, edx mov edx, -512 add edx, esp jb SHORT G_M000_IG05 xor edx, edx G_M000_IG05: test dword ptr [esp], esp sub esp, 0x1000 cmp esp, edx jae SHORT G_M000_IG05 mov esp, edx lea edx, [esp] mov dword ptr [ebp-10H], esp mov bword ptr [ebp-18H], edx mov dword ptr [ebp-14H], 128 xor edx, edx mov gword ptr [ebp-20H], edx G_M000_IG06: mov dword ptr [ebp-1CH], edx cmp dword ptr [edi+04H], 1 jne G_M000_IG18 G_M000_IG07: cmp dword ptr [ebx+04H], 1 jne SHORT G_M000_IG09 movzx edx, word ptr [edi+08H] movzx ecx, word ptr [ebx+08H] push ecx mov ecx, esi call [System.String:Replace(ushort,ushort):System.String:this] cmp dword ptr [ebp-60H], 0xD1FFAB1E je SHORT G_M000_IG08 call CORINFO_HELP_FAIL_FAST G_M000_IG08: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG09: movzx eax, word ptr [edi+08H] mov dword ptr [ebp-24H], eax xor edx, edx lea ecx, [eax-01H] cmp ecx, 254 mov gword ptr [ebp+08H], ebx jae SHORT G_M000_IG14 G_M000_IG10: lea ecx, bword ptr [esi+2*edx+08H] mov ebx, dword ptr [esi+04H] mov dword ptr [ebp-28H], edx sub ebx, edx push ebx movsx edx, ax call [System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short]](byref,short,int):int] mov ebx, eax mov dword ptr [ebp-2CH], ebx test ebx, ebx jl G_M000_IG23 mov eax, dword ptr [ebp-28H] lea edx, [eax+ebx] mov ecx, dword ptr [ebp-1CH] mov dword ptr [ebp-3CH], ecx mov ecx, bword ptr [ebp-18H] mov bword ptr [ebp-54H], ecx mov ecx, dword ptr [ebp-14H] mov dword ptr [ebp-48H], ecx mov ecx, dword ptr [ebp-3CH] cmp ecx, dword ptr [ebp-48H] jae SHORT G_M000_IG12 G_M000_IG11: mov ebx, bword ptr [ebp-54H] mov dword ptr [ebx+4*ecx], edx inc ecx mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG13 G_M000_IG12: lea ecx, [ebp-20H] call [System.Collections.Generic.ValueListBuilder`1[int]:AddWithResize(int):this] G_M000_IG13: mov eax, dword ptr [ebp-28H] mov ebx, dword ptr [ebp-2CH] lea eax, [eax+ebx+01H] mov edx, eax mov eax, dword ptr [ebp-24H] jmp SHORT G_M000_IG10 G_M000_IG14: lea ecx, bword ptr [esi+2*edx+08H] mov ebx, dword ptr [esi+04H] mov dword ptr [ebp-28H], edx sub ebx, edx push ebx movsx edx, ax call [System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int] mov ebx, eax mov dword ptr [ebp-30H], ebx test ebx, ebx jl G_M000_IG23 mov eax, dword ptr [ebp-28H] lea edx, [eax+ebx] mov ecx, dword ptr [ebp-1CH] mov dword ptr [ebp-40H], ecx mov ecx, bword ptr [ebp-18H] mov bword ptr [ebp-58H], ecx mov ecx, dword ptr [ebp-14H] mov dword ptr [ebp-4CH], ecx mov ecx, dword ptr [ebp-40H] cmp ecx, dword ptr [ebp-4CH] jae SHORT G_M000_IG16 G_M000_IG15: mov ebx, bword ptr [ebp-58H] mov dword ptr [ebx+4*ecx], edx inc ecx mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG17 G_M000_IG16: lea ecx, [ebp-20H] call [System.Collections.Generic.ValueListBuilder`1[int]:AddWithResize(int):this] G_M000_IG17: mov eax, dword ptr [ebp-28H] mov ebx, dword ptr [ebp-30H] lea eax, [eax+ebx+01H] mov edx, eax mov eax, dword ptr [ebp-24H] jmp SHORT G_M000_IG14 G_M000_IG18: xor eax, eax mov gword ptr [ebp+08H], ebx G_M000_IG19: lea ecx, bword ptr [esi+2*eax+08H] mov edx, dword ptr [esi+04H] mov dword ptr [ebp-34H], eax sub edx, eax lea ebx, bword ptr [edi+08H] push ebx push dword ptr [edi+04H] call [System.SpanHelpers:IndexOf(byref,int,byref,int):int] mov ebx, eax mov dword ptr [ebp-38H], ebx test ebx, ebx jl SHORT G_M000_IG23 mov eax, dword ptr [ebp-34H] lea edx, [eax+ebx] mov ecx, dword ptr [ebp-1CH] mov dword ptr [ebp-44H], ecx mov ecx, bword ptr [ebp-18H] mov bword ptr [ebp-5CH], ecx mov ecx, dword ptr [ebp-14H] mov dword ptr [ebp-50H], ecx mov ecx, dword ptr [ebp-44H] cmp ecx, dword ptr [ebp-50H] jae SHORT G_M000_IG21 G_M000_IG20: mov ebx, bword ptr [ebp-5CH] mov dword ptr [ebx+4*ecx], edx inc ecx mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG22 G_M000_IG21: lea ecx, [ebp-20H] call [System.Collections.Generic.ValueListBuilder`1[int]:AddWithResize(int):this] G_M000_IG22: mov eax, dword ptr [ebp-34H] add eax, dword ptr [ebp-38H] add eax, dword ptr [edi+04H] mov ebx, eax jmp SHORT G_M000_IG19 G_M000_IG23: cmp dword ptr [ebp-1CH], 0 jne SHORT G_M000_IG25 mov eax, esi cmp dword ptr [ebp-60H], 0xD1FFAB1E je SHORT G_M000_IG24 call CORINFO_HELP_FAIL_FAST G_M000_IG24: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG25: mov edx, dword ptr [edi+04H] mov ecx, dword ptr [ebp-1CH] cmp ecx, dword ptr [ebp-14H] ja SHORT G_M000_IG29 mov eax, bword ptr [ebp-18H] push gword ptr [ebp+08H] push ecx push eax mov ecx, esi call [System.String:ReplaceHelper(int,System.String,System.ReadOnlySpan`1[int]):System.String:this] mov edi, eax mov esi, gword ptr [ebp-20H] test esi, esi je SHORT G_M000_IG26 xor ecx, ecx mov gword ptr [ebp-20H], ecx mov ecx, 0xD1FFAB1E mov edx, 61 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov ecx, gword ptr [D1FFAB1EH] push 0 mov edx, esi cmp dword ptr [ecx], ecx call [System.Buffers.TlsOverPerCoreLockedStacksArrayPool`1[int]:Return(int[],bool):this] G_M000_IG26: mov eax, edi cmp dword ptr [ebp-60H], 0xD1FFAB1E je SHORT G_M000_IG27 call CORINFO_HELP_FAIL_FAST G_M000_IG27: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG28: mov ecx, 0x1783 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov edx, eax mov ecx, edi call [System.ArgumentException:ThrowNullOrEmptyException(System.String,System.String)] int3 G_M000_IG29: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 ; Total bytes of code 672 1232: JIT compiled System.String:Replace(System.String,System.String) [Tier1, IL size=353, code size=672] ; Assembly listing for method System.String:Replace(ushort,ushort):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 2 inlinees with PGO data; 9 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 20 mov esi, ecx mov edi, edx mov ebx, dword ptr [ebp+08H] G_M000_IG02: movzx eax, di mov dword ptr [ebp+08H], ebx movzx edx, bx cmp eax, edx jne SHORT G_M000_IG05 G_M000_IG03: mov eax, esi G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG05: lea ecx, bword ptr [esi+08H] mov bword ptr [ebp-20H], ecx mov eax, dword ptr [esi+04H] mov dword ptr [ebp-18H], eax mov edx, eax movsx ebx, di movzx ecx, bx dec ecx cmp ecx, 254 jae G_M000_IG12 movzx ecx, bx push edx movsx edx, cx mov ecx, bword ptr [ebp-20H] call [System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short]](byref,short,int):int] mov ebx, eax G_M000_IG06: test ebx, ebx jge SHORT G_M000_IG08 mov eax, esi G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG08: mov eax, dword ptr [ebp-18H] mov edx, eax sub edx, ebx mov dword ptr [ebp-10H], edx mov ecx, eax call System.String:FastAllocateString(int):System.String mov gword ptr [ebp-1CH], eax mov dword ptr [ebp-14H], ebx test ebx, ebx jle SHORT G_M000_IG09 cmp byte ptr [eax], al lea ecx, bword ptr [eax+08H] lea edx, bword ptr [esi+08H] add ebx, ebx push ebx call [System.Buffer:Memmove(byref,byref,uint)] mov eax, gword ptr [ebp-1CH] mov ebx, dword ptr [ebp-14H] G_M000_IG09: add ebx, ebx lea ecx, bword ptr [esi+ebx+08H] cmp byte ptr [eax], al lea edx, bword ptr [eax+ebx+08H] mov esi, dword ptr [ebp-18H] cmp esi, 8 jb SHORT G_M000_IG10 mov ebx, dword ptr [ebp-10H] sub esi, ebx and esi, 7 lea eax, [esi+esi] sub ecx, eax sub edx, eax add ebx, esi mov dword ptr [ebp-10H], ebx G_M000_IG10: movzx edi, di push edi movzx esi, word ptr [ebp+08H] push esi push dword ptr [ebp-10H] call [System.SpanHelpers:ReplaceValueType[ushort](byref,byref,ushort,ushort,uint)] mov eax, gword ptr [ebp-1CH] G_M000_IG11: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG12: push edx mov ecx, bword ptr [ebp-20H] mov edx, ebx call [System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int] mov ebx, eax jmp G_M000_IG06 ; Total bytes of code 248 1233: JIT compiled System.String:Replace(ushort,ushort) [Tier1, IL size=179, code size=248] ; Assembly listing for method System.Text.StringBuilder:ToString():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 2 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx G_M000_IG02: mov ecx, dword ptr [esi+10H] add ecx, dword ptr [esi+0CH] jne SHORT G_M000_IG05 G_M000_IG03: mov eax, 0xD1FFAB1E G_M000_IG04: pop ebx pop esi pop edi pop ebp ret G_M000_IG05: call System.String:FastAllocateString(int):System.String mov edi, eax G_M000_IG06: mov ecx, dword ptr [esi+0CH] test ecx, ecx jle SHORT G_M000_IG08 G_M000_IG07: mov edx, gword ptr [esi+04H] mov eax, dword ptr [esi+10H] lea ebx, [ecx+eax] cmp ebx, dword ptr [edi+04H] ja SHORT G_M000_IG11 cmp dword ptr [edx+04H], ecx jb SHORT G_M000_IG11 lea eax, bword ptr [edi+2*eax+08H] add edx, 8 add ecx, ecx push ecx mov ecx, eax call [System.Buffer:Memmove(byref,byref,uint)] G_M000_IG08: mov esi, gword ptr [esi+08H] test esi, esi jne SHORT G_M000_IG06 G_M000_IG09: mov eax, edi G_M000_IG10: pop ebx pop esi pop edi pop ebp ret G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0x17E22 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov edi, eax call [System.SR:get_ArgumentOutOfRange_IndexMustBeLessOrEqual():System.String] push eax mov edx, edi mov ecx, esi call [System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this] mov ecx, esi call CORINFO_HELP_THROW int3 ; Total bytes of code 145 1234: JIT compiled System.Text.StringBuilder:ToString() [Tier1, IL size=132, code size=145] ; Assembly listing for method System.Text.Ascii:NarrowUtf16ToAscii_Intrinsified(uint,uint,uint):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 9 single block inlinees; 14 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 16 vzeroupper G_M000_IG02: vmovups xmm0, xmmword ptr [ecx] vmovups xmm1, xmmword ptr [@RWD00] vptest xmm0, xmm1 je SHORT G_M000_IG05 G_M000_IG03: xor eax, eax G_M000_IG04: lea esp, [ebp-08H] pop esi pop edi pop ebp ret 4 G_M000_IG05: mov eax, edx vpackuswb xmm0, xmm0, xmm0 vmovups xmmword ptr [ebp-18H], xmm0 mov esi, dword ptr [ebp-18H] mov dword ptr [eax], esi mov esi, dword ptr [ebp-14H] mov dword ptr [eax+04H], esi mov esi, 8 test dl, 8 jne SHORT G_M000_IG06 vmovups xmm0, xmmword ptr [ecx+10H] vptest xmm0, xmm1 jne SHORT G_M000_IG08 vpackuswb xmm0, xmm0, xmm0 vmovups xmmword ptr [ebp-18H], xmm0 mov esi, dword ptr [ebp-18H] mov dword ptr [eax+08H], esi mov esi, dword ptr [ebp-14H] mov dword ptr [eax+0CH], esi G_M000_IG06: and edx, 15 mov esi, 16 sub esi, edx mov edx, dword ptr [ebp+08H] sub edx, 16 align [6 bytes for IG07] G_M000_IG07: vmovups xmm0, xmmword ptr [ecx+2*esi] lea edi, [esi+08H] vmovups xmm2, xmmword ptr [ecx+2*edi] vpor xmm3, xmm0, xmm2 vptest xmm3, xmm1 jne SHORT G_M000_IG10 vpackuswb xmm0, xmm0, xmm2 vmovups xmmword ptr [eax+esi], xmm0 add esi, 16 cmp esi, edx jbe SHORT G_M000_IG07 G_M000_IG08: mov eax, esi G_M000_IG09: lea esp, [ebp-08H] pop esi pop edi pop ebp ret 4 G_M000_IG10: vptest xmm0, xmm1 jne SHORT G_M000_IG08 vpackuswb xmm0, xmm0, xmm0 vmovups xmmword ptr [ebp-18H], xmm0 mov edx, dword ptr [ebp-18H] mov dword ptr [eax+esi], edx mov edx, dword ptr [ebp-14H] mov dword ptr [eax+esi+04H], edx mov esi, edi jmp SHORT G_M000_IG08 RWD00 dq FF80FF80FF80FF80h, FF80FF80FF80FF80h ; Total bytes of code 212 1235: JIT compiled System.Text.Ascii:NarrowUtf16ToAscii_Intrinsified(uint,uint,uint) [Tier1, IL size=251, code size=212] ; Assembly listing for method System.SpanHelpers:ReplaceValueType[ushort](byref,byref,ushort,ushort,uint) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx vzeroupper mov esi, dword ptr [ebp+08H] G_M000_IG02: cmp esi, 8 jae SHORT G_M000_IG09 G_M000_IG03: xor ebx, ebx mov dword ptr [ebp+08H], esi test esi, esi jbe SHORT G_M000_IG08 align [6 bytes for IG04] G_M000_IG04: movzx edi, word ptr [ecx+2*ebx] lea eax, bword ptr [edx+2*ebx] movzx esi, word ptr [ebp+10H] cmp edi, esi je SHORT G_M000_IG06 G_M000_IG05: jmp SHORT G_M000_IG07 G_M000_IG06: mov edi, dword ptr [ebp+0CH] movzx esi, di mov dword ptr [ebp+0CH], edi mov edi, esi G_M000_IG07: mov word ptr [eax], di inc ebx mov esi, dword ptr [ebp+08H] cmp ebx, esi mov dword ptr [ebp+08H], esi jb SHORT G_M000_IG04 G_M000_IG08: vzeroupper pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG09: xor ebx, ebx cmp esi, 16 jae SHORT G_M000_IG13 add esi, -8 movzx eax, word ptr [ebp+10H] vmovd xmm0, eax vpbroadcastw xmm0, xmm0 movzx eax, word ptr [ebp+0CH] vmovd xmm1, eax vpbroadcastw xmm1, xmm1 align [8 bytes for IG10] G_M000_IG10: vmovups xmm2, xmmword ptr [ecx+2*ebx] vpcmpeqw xmm3, xmm0, xmm2 vpblendvb xmm2, xmm2, xmm1, xmm3 vmovups xmmword ptr [edx+2*ebx], xmm2 add ebx, 8 cmp ebx, esi jb SHORT G_M000_IG10 G_M000_IG11: vmovups xmm2, xmmword ptr [ecx+2*esi] vpcmpeqw xmm0, xmm0, xmm2 vpblendvb xmm0, xmm2, xmm1, xmm0 vmovups xmmword ptr [edx+2*esi], xmm0 G_M000_IG12: vzeroupper pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG13: add esi, -16 movzx eax, word ptr [ebp+10H] vmovd xmm0, eax vpbroadcastw ymm0, ymm0 movzx eax, word ptr [ebp+0CH] vmovd xmm1, eax vpbroadcastw ymm1, ymm1 align [10 bytes for IG14] G_M000_IG14: vmovups ymm2, ymmword ptr [ecx+2*ebx] vpcmpeqw ymm3, ymm0, ymm2 vpblendvb ymm2, ymm2, ymm1, ymm3 vmovups ymmword ptr [edx+2*ebx], ymm2 add ebx, 16 cmp ebx, esi jb SHORT G_M000_IG14 G_M000_IG15: vmovups ymm2, ymmword ptr [ecx+2*esi] vpcmpeqw ymm0, ymm0, ymm2 vpblendvb ymm0, ymm2, ymm1, ymm0 vmovups ymmword ptr [edx+2*esi], ymm0 G_M000_IG16: vzeroupper pop ebx pop esi pop edi pop ebp ret 12 ; Total bytes of code 281 1236: JIT compiled System.SpanHelpers:ReplaceValueType[ushort](byref,byref,ushort,ushort,uint) [Tier1, IL size=347, code size=281] ; Assembly listing for method System.Number+Grisu3:BiggestPowerTen(uint,int,byref):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: inc edx imul eax, edx, 0x4D1 sar eax, 12 cmp eax, 10 jae SHORT G_M000_IG06 mov edx, dword ptr [4*eax+D1FFAB1EH] cmp ecx, edx jae SHORT G_M000_IG04 G_M000_IG03: dec eax cmp eax, 10 jae SHORT G_M000_IG06 mov edx, dword ptr [4*eax+D1FFAB1EH] G_M000_IG04: inc eax mov ecx, bword ptr [ebp+08H] mov dword ptr [ecx], eax mov eax, edx G_M000_IG05: pop ebp ret 4 G_M000_IG06: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 60 1237: JIT compiled System.Number+Grisu3:BiggestPowerTen(uint,int,byref) [Tier1, IL size=60, code size=60] ; Assembly listing for method System.Number:g__ShouldRoundUp|121_0(uint,int,ubyte,bool):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: movzx edx, byte ptr [ecx+edx] xor eax, eax test edx, edx sete al movzx ecx, byte ptr [esp+04H] or eax, ecx je SHORT G_M000_IG05 G_M000_IG03: xor eax, eax G_M000_IG04: ret 8 G_M000_IG05: xor eax, eax cmp edx, 53 setge al G_M000_IG06: ret 8 ; Total bytes of code 36 1238: JIT compiled System.Number:g__ShouldRoundUp|121_0(uint,int,ubyte,bool) [Tier1, IL size=24, code size=36] ; Assembly listing for method System.Object:GetHashCode():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int G_M000_IG03: ret ; Total bytes of code 6 1239: JIT compiled System.Object:GetHashCode() [Tier1, IL size=7, code size=6] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:WriteLine(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, gword ptr [ecx+04H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+3CH] call [eax+18H]System.IO.TextWriter:WriteLine(System.String):this G_M000_IG03: pop ebp ret ; Total bytes of code 16 1240: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:WriteLine(System.String) [Tier1, IL size=13, code size=16] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] cmp dword ptr [ecx], ecx call [System.IO.TextWriter:Dispose():this] mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] cmp dword ptr [ecx], ecx call [System.IO.TextReader:Dispose():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 39 1241: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:Dispose() [Tier0, IL size=23, code size=39]