; Assembly listing for method System.Runtime.CompilerServices.CastHelpers:StelemRef(System.Array,int,System.Object) ; Emitting BLENDED_CODE for X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 mov eax, dword ptr [eax+4*esi+08H] 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 mov eax, dword ptr [eax+4*edx+08H] 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 104 5: JIT compiled System.Number:UInt32ToDecChars[ushort](uint,uint) [Tier-0 switched to FullOpts, IL size=114, code size=104] ; Assembly listing for method System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String) ; Emitting BLENDED_CODE for X86 with AVX - 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 X86 with AVX - Windows ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 46470 ; 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 X86 with AVX - Windows ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 101192 ; 0 inlinees with PGO data; 19 single block inlinees; 10 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 mov dword ptr [ebp+08H], eax cmp eax, 32 jae G_M000_IG20 G_M000_IG03: mov eax, dword ptr [ebp+08H] sub eax, esi mov dword ptr [ebp-14H], eax cmp eax, 4 jb G_M000_IG14 G_M000_IG04: lea edi, [esi+eax-04H] mov dword ptr [ebp-18H], edi G_M000_IG05: mov ebx, esi mov dword ptr [ebp-20H], ebx mov edi, dword ptr [ecx+2*ebx] mov eax, dword ptr [ecx+2*ebx+04H] mov ebx, edi or ebx, eax test ebx, 0xD1FFAB1E jne G_M000_IG23 G_M000_IG06: mov dword ptr [ebp-10H], edx mov ebx, dword ptr [ebp-20H] add ebx, edx mov edx, edi mov byte ptr [ebx], dl mov edx, edi shr edx, 16 mov byte ptr [ebx+01H], dl mov edx, dword ptr [ebp-10H] lea edi, [edx+esi+02H] mov byte ptr [edi], al shr eax, 16 mov byte ptr [edi+01H], al add esi, 4 mov edi, dword ptr [ebp-18H] cmp esi, edi jbe SHORT G_M000_IG05 G_M000_IG07: mov eax, dword ptr [ebp-14H] test al, 2 je SHORT G_M000_IG09 G_M000_IG08: mov edi, esi mov ebx, dword ptr [ecx+2*edi] test ebx, 0xD1FFAB1E jne G_M000_IG24 add edi, edx mov byte ptr [edi], bl shr ebx, 16 mov byte ptr [edi+01H], bl add esi, 2 G_M000_IG09: test al, 1 je SHORT G_M000_IG12 G_M000_IG10: movzx ebx, word ptr [ecx+2*esi] cmp ebx, 127 ja SHORT G_M000_IG12 G_M000_IG11: mov byte ptr [edx+esi], bl inc esi G_M000_IG12: mov eax, esi G_M000_IG13: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG14: jmp SHORT G_M000_IG07 G_M000_IG15: mov ebx, edx vpackuswb xmm0, xmm0, xmm0 vmovsd qword ptr [ebx], xmm0 mov esi, 8 test dl, 8 jne SHORT G_M000_IG16 vmovups xmm0, xmmword ptr [eax+10H] vptest xmm0, xmm1 jne SHORT G_M000_IG18 vpackuswb xmm0, xmm0, xmm0 vmovsd qword ptr [ebx+08H], xmm0 G_M000_IG16: mov esi, edx and esi, 15 mov edi, 16 sub edi, esi mov esi, edi mov edi, dword ptr [ebp+08H] sub edi, 16 mov dword ptr [ebp-1CH], edi G_M000_IG17: vmovups xmm0, xmmword ptr [eax+2*esi] lea edi, [esi+08H] vmovups xmm2, xmmword ptr [eax+2*edi] vpor xmm3, xmm0, xmm2 vptest xmm3, xmm1 jne SHORT G_M000_IG19 vpackuswb xmm0, xmm0, xmm2 vmovups xmmword ptr [ebx+esi], xmm0 add esi, 16 mov edi, dword ptr [ebp-1CH] cmp esi, edi jbe SHORT G_M000_IG17 G_M000_IG18: jmp SHORT G_M000_IG21 G_M000_IG19: vptest xmm0, xmm1 jne SHORT G_M000_IG18 vpackuswb xmm0, xmm0, xmm0 vmovsd qword ptr [ebx+esi], xmm0 mov esi, edi jmp SHORT G_M000_IG18 G_M000_IG20: mov ebx, dword ptr [ecx] mov edi, dword ptr [ecx+04H] mov eax, ebx or eax, edi test eax, 0xD1FFAB1E mov eax, edi jne SHORT G_M000_IG22 mov eax, ecx vmovups xmm0, xmmword ptr [eax] vmovups xmm1, xmmword ptr [@RWD00] vptest xmm0, xmm1 je G_M000_IG15 xor esi, esi G_M000_IG21: jmp G_M000_IG03 G_M000_IG22: mov edi, ebx G_M000_IG23: test edi, 0xD1FFAB1E jne SHORT G_M000_IG25 lea ecx, [edx+esi] mov ebx, edi mov byte ptr [ecx], bl mov ebx, edi shr ebx, 16 mov byte ptr [ecx+01H], bl mov edi, eax add esi, 2 mov ebx, edi G_M000_IG24: test ebx, 0xFF80 je G_M000_IG11 jmp G_M000_IG12 G_M000_IG25: mov ebx, edi jmp SHORT G_M000_IG24 RWD00 dq FF80FF80FF80FF80h, FF80FF80FF80FF80h ; Total bytes of code 426 8: JIT compiled System.Text.Ascii:NarrowUtf16ToAscii(uint,uint,uint) [Tier-0 switched to FullOpts with Static PGO, IL size=528, code size=426] ; Assembly listing for method System.SpanHelpers:IndexOfNullByte(uint):int ; Emitting BLENDED_CODE for X86 with AVX - 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 X86 with AVX - Windows ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 65892 ; 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - Windows ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 65080 ; 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, 84 mov esi, ecx mov edi, edx G_M000_IG02: cmp dword ptr [ebp+10H], 0 je G_M000_IG24 G_M000_IG03: xor eax, eax mov ecx, bword ptr [ebp+0CH] movzx ecx, word ptr [ecx] test esi, 1 je SHORT G_M000_IG04 cmp ecx, 32 je G_M000_IG32 lea edx, [ecx-09H] cmp edx, 4 jbe G_M000_IG32 G_M000_IG04: xor edx, edx mov dword ptr [ebp-18H], edx test esi, 4 je SHORT G_M000_IG05 cmp byte ptr [edi+A9H], 0 je G_M000_IG35 cmp ecx, 45 je G_M000_IG33 cmp ecx, 43 je G_M000_IG34 G_M000_IG05: xor edi, edi mov dword ptr [ebp-1CH], edi G_M000_IG06: lea ebx, [ecx-30H] cmp ebx, 9 ja G_M000_IG24 cmp ecx, 48 je SHORT G_M000_IG15 G_M000_IG07: lea edi, [ecx-30H] inc eax xor ebx, ebx G_M000_IG08: cmp eax, dword ptr [ebp+10H] jb SHORT G_M000_IG12 G_M000_IG09: mov ebx, bword ptr [ebp+08H] cmp dword ptr [ebp-18H], 0 jne G_M000_IG23 G_M000_IG10: mov dword ptr [ebx], 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 ecx, bword ptr [ebp+0CH] movzx ecx, word ptr [ecx+2*eax] lea edx, [ecx-30H] cmp edx, 9 ja SHORT G_M000_IG14 G_M000_IG13: inc eax lea edx, [edi+4*edi] lea edi, [ecx+2*edx-30H] inc ebx cmp ebx, 8 jge G_M000_IG40 jmp SHORT G_M000_IG08 G_M000_IG14: mov dword ptr [ebp-10H], eax jmp G_M000_IG26 G_M000_IG15: inc eax cmp eax, dword ptr [ebp+10H] jae SHORT G_M000_IG09 G_M000_IG16: mov ecx, bword ptr [ebp+0CH] movzx ecx, word ptr [ecx+2*eax] cmp ecx, 48 je SHORT G_M000_IG15 lea ebx, [ecx-30H] cmp ebx, 9 ja SHORT G_M000_IG17 jmp SHORT G_M000_IG07 G_M000_IG17: mov dword ptr [ebp-10H], eax jmp G_M000_IG26 G_M000_IG18: mov ebx, 1 G_M000_IG19: add ebx, 0xD1FFAB1E cmp ebx, edi setb bl movzx ebx, bl or ecx, ebx movzx ecx, cl mov dword ptr [ebp-1CH], ecx cmp eax, dword ptr [ebp+10H] jae SHORT G_M000_IG22 jmp SHORT G_M000_IG21 G_M000_IG20: mov ebx, 1 inc eax mov dword ptr [ebp-10H], eax cmp eax, dword ptr [ebp+10H] mov dword ptr [ebp-1CH], ebx mov eax, dword ptr [ebp-10H] jae SHORT G_M000_IG25 G_M000_IG21: cmp eax, dword ptr [ebp+10H] jae G_M000_IG42 mov ecx, bword ptr [ebp+0CH] movzx ecx, word ptr [ecx+2*eax] lea ebx, [ecx-30H] cmp ebx, 9 jbe SHORT G_M000_IG20 mov dword ptr [ebp-10H], eax jmp SHORT G_M000_IG26 G_M000_IG22: cmp dword ptr [ebp-1CH], 0 jne SHORT G_M000_IG25 mov ebx, bword ptr [ebp+08H] cmp dword ptr [ebp-18H], 0 je G_M000_IG10 G_M000_IG23: neg edi jmp G_M000_IG10 G_M000_IG24: xor ecx, ecx mov ebx, bword ptr [ebp+08H] mov dword ptr [ebx], ecx mov eax, 1 jmp G_M000_IG11 G_M000_IG25: xor eax, eax mov ebx, bword ptr [ebp+08H] mov dword ptr [ebx], eax mov eax, 2 jmp G_M000_IG11 G_M000_IG26: call [System.Number:IsWhite(int):bool] test eax, eax je SHORT G_M000_IG27 test esi, 2 je SHORT G_M000_IG24 mov eax, dword ptr [ebp-10H] jmp SHORT G_M000_IG29 G_M000_IG27: mov esi, dword ptr [ebp-10H] jmp SHORT G_M000_IG31 G_M000_IG28: cmp eax, dword ptr [ebp+10H] jae G_M000_IG42 mov ecx, bword ptr [ebp+0CH] mov dword ptr [ebp-10H], eax movzx ecx, word ptr [ecx+2*eax] call [System.Number:IsWhite(int):bool] test eax, eax je SHORT G_M000_IG30 mov eax, dword ptr [ebp-10H] G_M000_IG29: inc eax cmp eax, dword ptr [ebp+10H] jl SHORT G_M000_IG28 mov dword ptr [ebp-10H], eax G_M000_IG30: mov esi, dword ptr [ebp-10H] cmp esi, dword ptr [ebp+10H] jae G_M000_IG22 G_M000_IG31: push dword ptr [ebp+10H] push bword ptr [ebp+0CH] mov ecx, esi call [System.Number:TrailingZeros(System.ReadOnlySpan`1[ushort],int):bool] test eax, eax jne G_M000_IG22 jmp G_M000_IG24 G_M000_IG32: inc eax cmp eax, dword ptr [ebp+10H] jae G_M000_IG24 mov ecx, bword ptr [ebp+0CH] mov dword ptr [ebp-10H], eax movzx ecx, word ptr [ecx+2*eax] mov dword ptr [ebp-14H], ecx call [System.Number:IsWhite(int):bool] test eax, eax mov eax, dword ptr [ebp-10H] jne SHORT G_M000_IG32 mov ecx, dword ptr [ebp-14H] jmp G_M000_IG04 G_M000_IG33: mov edx, 1 inc eax cmp eax, dword ptr [ebp+10H] jae G_M000_IG24 jmp G_M000_IG39 G_M000_IG34: inc eax cmp eax, dword ptr [ebp+10H] jae G_M000_IG24 mov edx, dword ptr [ebp-18H] jmp G_M000_IG39 G_M000_IG35: cmp byte ptr [edi+AAH], 0 je SHORT G_M000_IG36 mov dword ptr [ebp-14H], ecx cmp ecx, 45 mov ecx, dword ptr [ebp-14H] jne SHORT G_M000_IG36 mov dword ptr [ebp-18H], 1 inc eax cmp eax, dword ptr [ebp+10H] jae G_M000_IG24 mov edx, dword ptr [ebp-18H] jmp G_M000_IG39 G_M000_IG36: cmp eax, dword ptr [ebp+10H] jbe SHORT G_M000_IG37 call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG37: mov ebx, bword ptr [ebp+0CH] lea ebx, bword ptr [ebx+2*eax] mov bword ptr [ebp-40H], ebx mov ebx, dword ptr [ebp+10H] sub ebx, eax mov eax, bword ptr [ebp-40H] mov bword ptr [ebp+0CH], eax mov dword ptr [ebp+10H], ebx xor eax, eax xor ebx, ebx mov eax, gword ptr [edi+10H] mov gword ptr [ebp-38H], eax mov edi, gword ptr [edi+14H] mov gword ptr [ebp-3CH], edi test eax, eax je SHORT G_M000_IG38 cmp dword ptr [eax+04H], 0 sete al movzx eax, al test eax, eax jne SHORT G_M000_IG38 mov eax, bword ptr [ebp+0CH] mov bword ptr [ebp-4CH], eax mov edi, dword ptr [ebp+10H] mov dword ptr [ebp-28H], edi mov edi, gword ptr [ebp-38H] lea eax, bword ptr [edi+08H] mov edi, dword ptr [edi+04H] mov dword ptr [ebp-2CH], edi mov edi, bword ptr [ebp-4CH] mov bword ptr [ebp-50H], eax mov eax, dword ptr [ebp-2CH] cmp eax, dword ptr [ebp-28H] jg SHORT G_M000_IG38 mov dword ptr [ebp-14H], ecx add eax, eax push eax mov ecx, edi mov edx, bword ptr [ebp-50H] call [System.SpanHelpers:SequenceEqual(byref,byref,uint):bool] test eax, eax mov ecx, dword ptr [ebp-14H] je SHORT G_M000_IG38 mov edi, gword ptr [ebp-38H] mov ebx, dword ptr [edi+04H] mov dword ptr [ebp-10H], ebx cmp ebx, dword ptr [ebp+10H] jae G_M000_IG24 mov eax, dword ptr [ebp-10H] mov edx, dword ptr [ebp-18H] jmp G_M000_IG39 G_M000_IG38: mov edi, gword ptr [ebp-3CH] test edi, edi mov eax, ebx je G_M000_IG05 xor ebx, ebx cmp dword ptr [edi+04H], 0 sete bl test ebx, ebx mov gword ptr [ebp-3CH], edi jne G_M000_IG05 mov edi, bword ptr [ebp+0CH] mov bword ptr [ebp-48H], edi mov edi, dword ptr [ebp+10H] mov dword ptr [ebp-24H], edi mov edi, gword ptr [ebp-3CH] add edi, 8 mov bword ptr [ebp-44H], edi mov edi, gword ptr [ebp-3CH] mov edi, dword ptr [edi+04H] mov dword ptr [ebp-20H], edi mov edi, bword ptr [ebp-44H] mov bword ptr [ebp-58H], edi mov edi, dword ptr [ebp-20H] mov dword ptr [ebp-34H], edi mov edi, bword ptr [ebp-58H] mov bword ptr [ebp-54H], edi mov edi, dword ptr [ebp-34H] mov dword ptr [ebp-30H], edi mov edi, bword ptr [ebp-48H] mov bword ptr [ebp-60H], edi mov edi, bword ptr [ebp-54H] mov bword ptr [ebp-5CH], edi mov edi, dword ptr [ebp-30H] cmp edi, dword ptr [ebp-24H] jg G_M000_IG05 mov dword ptr [ebp-14H], ecx mov dword ptr [ebp-10H], eax add edi, edi push edi mov ecx, bword ptr [ebp-60H] mov edx, bword ptr [ebp-5CH] call [System.SpanHelpers:SequenceEqual(byref,byref,uint):bool] test eax, eax mov eax, dword ptr [ebp-10H] mov ecx, dword ptr [ebp-14H] je G_M000_IG05 mov edi, gword ptr [ebp-3CH] mov eax, 1 mov ecx, dword ptr [edi+04H] mov edi, ecx cmp edi, dword ptr [ebp+10H] mov edx, eax jae G_M000_IG24 mov eax, edi G_M000_IG39: cmp eax, dword ptr [ebp+10H] jae SHORT G_M000_IG42 mov ecx, bword ptr [ebp+0CH] movzx ecx, word ptr [ecx+2*eax] mov edi, ecx mov dword ptr [ebp-18H], edx mov ecx, edi jmp G_M000_IG05 G_M000_IG40: cmp eax, dword ptr [ebp+10H] jae G_M000_IG09 mov ecx, bword ptr [ebp+0CH] movzx ecx, word ptr [ecx+2*eax] mov ebx, ecx lea ecx, [ebx-30H] cmp ecx, 9 ja SHORT G_M000_IG41 inc eax xor ecx, ecx cmp edi, 0xD1FFAB1E setg cl lea edi, [edi+4*edi] lea edi, [ebx+2*edi-30H] cmp dword ptr [ebp-18H], 0 jne G_M000_IG18 xor ebx, ebx jmp G_M000_IG19 G_M000_IG41: mov dword ptr [ebp-10H], eax mov ecx, ebx jmp G_M000_IG26 G_M000_IG42: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 1055 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=1055] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:.cctor() ; Emitting BLENDED_CODE for X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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] lea edx, bword ptr [ecx+10H] call CORINFO_HELP_CHECKED_ASSIGN_REF_ESI mov dword ptr [ecx+14H], 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 113 50: JIT compiled System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext() [Tier-0 switched to FullOpts, IL size=146, code size=113] ; 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - Windows ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 11262 ; 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 8 inlinees with PGO data; 44 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 200 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 ecx, esi call [BenchmarkDotNet.Engines.IHost:WriteLine():this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-C4H], eax mov ecx, eax call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:.ctor():this] mov ecx, gword ptr [ebp-C4H] 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 SHORT G_M000_IG05 G_M000_IG04: mov ecx, gword ptr [ebp-ACH] call [System.Collections.Generic.IEnumerator`1[System.__Canon]:get_Current():System.__Canon: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, gword ptr [ebp-ACH] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG04 G_M000_IG05: mov ecx, gword ptr [ebp-ACH] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG08 G_M000_IG06: cmp gword ptr [ebp-ACH], 0 je SHORT G_M000_IG07 mov ecx, gword ptr [ebp-ACH] call [System.IDisposable:Dispose():this] G_M000_IG07: pop eax jmp eax G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-B4H], eax mov ecx, eax xor edx, edx call [BenchmarkDotNet.Jobs.Job:.ctor(System.String):this] mov eax, gword ptr [ebp-B4H] mov gword ptr [ebp-A8H], eax test byte ptr [D1FFAB1EH], 1 je G_M000_IG22 G_M000_IG09: mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-B8H], edx mov ecx, 0xD1FFAB1E 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-B8H] cmp byte ptr [eax], al lea edx, [ebp-A4H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_BOX_NULLABLE push eax mov edx, gword ptr [ebp-B8H] 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_IG23 G_M000_IG10: mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-BCH], 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-BCH] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-C8H], 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-C8H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-CCH], 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-CCH] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-D0H], 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-D0H] 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_IG12 G_M000_IG11: mov byte ptr [eax+0CH], 1 G_M000_IG12: 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-D4H], eax mov dword ptr [eax+10H], -2 call System.Environment:get_CurrentManagedThreadId():int mov ecx, gword ptr [ebp-D4H] 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_IG14 G_M000_IG13: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG14: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-C0H], eax mov ecx, 0xD1FFAB1E xor edx, edx call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov ecx, gword ptr [D1FFAB1EH] mov eax, gword ptr [ebp-C0H] 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-C0H] 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-C0H] 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-C0H] lea edx, bword ptr [ecx+18H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E G_M000_IG15: 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-C0H] 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-C0H] 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-C0H] 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-C0H] lea edx, bword ptr [ecx+28H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebx+04H] lea edx, bword ptr [ecx+30H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebx+08H] lea edx, bword ptr [ecx+34H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebx+0CH] lea edx, bword ptr [ecx+38H] G_M000_IG16: call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebx+10H] 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-C0H] call [BenchmarkDotNet.Engines.EngineFactory:CreateReadyToRun(BenchmarkDotNet.Engines.EngineParameters):BenchmarkDotNet.Engines.IEngine:this] mov gword ptr [ebp-B0H], eax G_M000_IG17: 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_IG18: mov ecx, gword ptr [ebp-B0H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG21 G_M000_IG19: cmp gword ptr [ebp-B0H], 0 je SHORT G_M000_IG20 mov ecx, gword ptr [ebp-B0H] call [System.IDisposable:Dispose():this] G_M000_IG20: pop eax jmp eax G_M000_IG21: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG22: mov ecx, 0xD1FFAB1E mov edx, 287 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M000_IG09 G_M000_IG23: mov ecx, 0xD1FFAB1E mov edx, 300 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M000_IG10 RWD00 dq 41ADCD6500000000h ; 250000000 ; Total bytes of code 1422 86: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:Run(BenchmarkDotNet.Engines.IHost,System.String) [Tier-0 switched to FullOpts, IL size=488, code size=1422] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:.ctor():this ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 96 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-60H], 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, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.Consumer:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+1CH] mov ecx, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-04H] call [System.Tests.Perf_SByte:.ctor():this] 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-50H], eax mov ecx, 0xD1FFAB1E mov edx, 6 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-54H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-54H] mov ecx, gword ptr [ebp-50H] 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-50H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-50H] mov gword ptr [ebp-14H], edx G_M000_IG03: mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp-14H] 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-18H], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ebp-18H] mov gword ptr [ebp-20H], ecx cmp gword ptr [ebp-18H], 0 jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-4CH], eax mov ecx, 0xD1FFAB1E mov edx, 6 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-58H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-58H] mov ecx, gword ptr [ebp-4CH] 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-4CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-4CH] mov gword ptr [ebp-20H], edx G_M000_IG04: mov edx, gword ptr [ebp-1CH] lea edx, bword ptr [edx+08H] mov ecx, gword ptr [ebp-20H] 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-24H], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-28H], ecx mov ecx, gword ptr [ebp-24H] mov gword ptr [ebp-2CH], ecx cmp gword ptr [ebp-24H], 0 jne SHORT G_M000_IG05 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-48H], eax mov ecx, 0xD1FFAB1E mov edx, 6 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-5CH], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-5CH] mov ecx, gword ptr [ebp-48H] 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-48H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-48H] mov gword ptr [ebp-2CH], edx G_M000_IG05: mov edx, gword ptr [ebp-28H] lea edx, bword ptr [edx+0CH] mov ecx, gword ptr [ebp-2CH] 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-30H], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-34H], ecx mov ecx, gword ptr [ebp-30H] mov gword ptr [ebp-38H], ecx cmp gword ptr [ebp-30H], 0 jne SHORT G_M000_IG06 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-44H], eax mov ecx, 0xD1FFAB1E mov edx, 6 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-44H] 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-44H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-44H] mov gword ptr [ebp-38H], edx G_M000_IG06: mov edx, gword ptr [ebp-34H] lea edx, bword ptr [edx+10H] mov ecx, gword ptr [ebp-38H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-3CH], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-3CH] 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+14H] mov ecx, gword ptr [ebp-3CH] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-40H], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-40H] 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 eax, gword ptr [ebp-40H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov byte ptr [eax+28H], -128 G_M000_IG07: mov esp, ebp pop ebp ret ; Total bytes of code 769 87: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:.ctor() [Tier0, IL size=210, code size=769] ; Assembly listing for method BenchmarkDotNet.Engines.Consumer:.ctor():this ; Emitting BLENDED_CODE for X86 with AVX - 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 BenchmarkDotNet.Engines.Consumer:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Tests.Perf_SByte:.ctor():this ; Emitting BLENDED_CODE for X86 with AVX - 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 89: JIT compiled System.Tests.Perf_SByte:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0+<>c:.cctor() ; Emitting BLENDED_CODE for X86 with AVX - 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 90: 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 X86 with AVX - 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 91: 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 X86 with AVX - 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 92: 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 X86 with AVX - 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 93: 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 X86 with AVX - 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 94: 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 X86 with AVX - 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 95: 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 X86 with AVX - 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 96: 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 X86 with AVX - 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 97: 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 X86 with AVX - 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 98: 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 X86 with AVX - 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 99: 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 X86 with AVX - 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 100: 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 X86 with AVX - 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 101: 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 X86 with AVX - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 6 single block inlinees; 5 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 72 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-54H], eax mov edx, ebx mov dword ptr [ebp-4CH], 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-54H] 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-4CH] jne SHORT G_M000_IG05 G_M000_IG06: mov eax, -1 G_M000_IG07: vzeroupper 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: vzeroupper 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-44H], 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-48H], ecx movzx edx, word ptr [eax+2*ecx] cmp edx, 127 jg G_M000_IG17 mov bword ptr [ebp-50H], edi mov eax, edx sar eax, 4 and edx, 15 add edx, dword ptr [ebp-44H] 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-48H] 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 vmovups xmm0, xmmword ptr [ebp-20H] vinserti128 ymm0, ymm0, xmmword ptr [ebp-20H], 1 vmovups ymmword ptr [ebp-40H], ymm0 lea edi, bword ptr [ebp-10H] test cl, 1 jne SHORT G_M000_IG15 lea ecx, [ebp-40H] push ecx mov ecx, bword ptr [ebp-50H] mov edx, esi call [System.Buffers.IndexOfAnyAsciiSearcher:IndexOfAnyVectorized[System.Buffers.IndexOfAnyAsciiSearcher+DontNegate,System.Buffers.IndexOfAnyAsciiSearcher+Default](byref,int,byref):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-50H] jmp SHORT G_M000_IG11 G_M000_IG14: mov bword ptr [ebp-50H], edi mov bword ptr [ebp+0CH], eax mov ebx, dword ptr [ebp+08H] jmp SHORT G_M000_IG12 G_M000_IG15: lea ecx, [ebp-40H] push ecx mov ecx, bword ptr [ebp-50H] mov edx, esi call [System.Buffers.IndexOfAnyAsciiSearcher:IndexOfAnyVectorized[System.Buffers.IndexOfAnyAsciiSearcher+DontNegate,System.Buffers.IndexOfAnyAsciiSearcher+Ssse3AndWasmHandleZeroInNeedle](byref,int,byref):int] G_M000_IG16: mov dword ptr [edi], eax mov eax, 1 mov edi, bword ptr [ebp-50H] 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: vzeroupper 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: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 365 102: 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=365] ; 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 X86 with AVX - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: vmovups xmm0, xmmword ptr [ebp+28H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 vmovups xmm0, xmmword ptr [ebp+18H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-14H] call [System.Buffers.IndexOfAnyAsciiSearcher+Default:PackSources(System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]):System.Runtime.Intrinsics.Vector128`1[ubyte]] 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]] 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_IG03: mov esp, ebp pop ebp ret 48 ; Total bytes of code 110 103: 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=45, code size=110] ; Assembly listing for method System.Buffers.IndexOfAnyAsciiSearcher+Default:PackSources(System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]):System.Runtime.Intrinsics.Vector128`1[ubyte] ; Emitting BLENDED_CODE for X86 with AVX - 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: G_M000_IG03: vmovups xmm0, xmmword ptr [ebp+18H] vpackuswb xmm0, xmm0, xmmword ptr [ebp+08H] mov eax, bword ptr [ebp-04H] vmovups xmmword ptr [eax], xmm0 G_M000_IG04: mov esp, ebp pop ebp ret 32 ; Total bytes of code 33 104: JIT compiled System.Buffers.IndexOfAnyAsciiSearcher+Default:PackSources(System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]) [Tier0, IL size=45, code size=33] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsMono():bool ; Emitting BLENDED_CODE for X86 with AVX - 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 105: 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 X86 with AVX - 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 106: 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 X86 with AVX - 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 107: 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 X86 with AVX - 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 108: 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 X86 with AVX - 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 109: 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 X86 with AVX - 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 110: 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 X86 with AVX - 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 111: 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 X86 with AVX - 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 112: 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 X86 with AVX - 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 113: 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 X86 with AVX - 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 114: 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 X86 with AVX - 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 115: 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 X86 with AVX - 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 116: 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 X86 with AVX - 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 117: 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 X86 with AVX - 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 118: 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 X86 with AVX - 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 119: 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 X86 with AVX - 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 120: 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 X86 with AVX - 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 121: 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 X86 with AVX - 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 122: 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 X86 with AVX - 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 123: 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 X86 with AVX - 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 124: 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 X86 with AVX - 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 mov eax, dword ptr [eax+4*edi+08H] 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 mov edx, dword ptr [eax+4*edx+08H] mov dword ptr [ecx], edx 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, 0x1447E 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, 0x14482 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, 0x14486 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 584 125: JIT compiled System.Version:TryFormatCore[ushort](System.Span`1[ushort],int,byref) [Tier-0 switched to FullOpts, IL size=331, code size=584] ; Assembly listing for method System.Diagnostics.FileVersionInfo:get_FileVersion():System.String:this ; Emitting BLENDED_CODE for X86 with AVX - 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 126: 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 X86 with AVX - 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 127: 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 X86 with AVX - 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 128: 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 X86 with AVX - 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 129: 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 X86 with AVX - 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 130: 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 X86 with AVX - 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 131: 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 X86 with AVX - 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 132: 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 X86 with AVX - 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 133: 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 X86 with AVX - 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 134: 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 X86 with AVX - 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 135: 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 X86 with AVX - 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 136: 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 X86 with AVX - 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 137: 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 X86 with AVX - 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 138: 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 X86 with AVX - 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 139: 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 X86 with AVX - 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 140: 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 X86 with AVX - 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 141: 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 X86 with AVX - 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 142: 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 X86 with AVX - 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 143: 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 X86 with AVX - 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 144: 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 X86 with AVX - 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 145: 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 X86 with AVX - 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 146: 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 X86 with AVX - 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 147: 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 X86 with AVX - 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 148: 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 X86 with AVX - 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 149: 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 X86 with AVX - 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 150: 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 X86 with AVX - 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 151: 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 X86 with AVX - 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 152: 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 X86 with AVX - 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 153: 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 X86 with AVX - 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 154: 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 X86 with AVX - 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 155: 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 X86 with AVX - 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 156: 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 X86 with AVX - 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 157: 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 X86 with AVX - 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 158: 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 X86 with AVX - 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 159: 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 X86 with AVX - 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 160: 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 X86 with AVX - 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 161: 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 X86 with AVX - 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 162: 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 X86 with AVX - 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 163: 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 X86 with AVX - 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 164: 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 X86 with AVX - 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 165: 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 X86 with AVX - 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 166: 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 X86 with AVX - 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 167: 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 X86 with AVX - 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 168: 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 X86 with AVX - 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 169: 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 X86 with AVX - 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 170: 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 X86 with AVX - 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 171: 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 X86 with AVX - 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 172: 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 X86 with AVX - 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 173: 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 X86 with AVX - 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 174: 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 X86 with AVX - 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 175: 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 X86 with AVX - 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 176: 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 X86 with AVX - 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 177: 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 X86 with AVX - 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 178: 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 X86 with AVX - 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 179: 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 X86 with AVX - 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 180: 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 X86 with AVX - 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 181: 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 X86 with AVX - 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 182: 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 X86 with AVX - 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 183: 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 X86 with AVX - 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 184: 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 X86 with AVX - 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 185: 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 X86 with AVX - 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 186: 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 X86 with AVX - 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 187: 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 X86 with AVX - 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 188: 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 X86 with AVX - 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 189: 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 X86 with AVX - 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 190: 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 X86 with AVX - 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 191: 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 X86 with AVX - 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 192: 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 X86 with AVX - 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 193: 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 X86 with AVX - 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 194: 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 X86 with AVX - 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_IsX86AesSupported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Bmi1Supported():bool ; Emitting BLENDED_CODE for X86 with AVX - 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_IsX86Bmi1Supported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Bmi2Supported():bool ; Emitting BLENDED_CODE for X86 with AVX - 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_IsX86Bmi2Supported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86FmaSupported():bool ; Emitting BLENDED_CODE for X86 with AVX - 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_IsX86FmaSupported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86LzcntSupported():bool ; Emitting BLENDED_CODE for X86 with AVX - 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_IsX86LzcntSupported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86PclmulqdqSupported():bool ; Emitting BLENDED_CODE for X86 with AVX - 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 200: 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 X86 with AVX - 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 201: 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 X86 with AVX - 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 202: 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 X86 with AVX - 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 203: 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 X86 with AVX - 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 204: 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 X86 with AVX - 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 205: 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 X86 with AVX - 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.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 X86 with AVX - 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 207: 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 X86 with AVX - 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 208: 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 X86 with AVX - 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 209: 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 X86 with AVX - 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 210: 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 X86 with AVX - 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 211: 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 X86 with AVX - 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 212: 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 X86 with AVX - 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 213: 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 X86 with AVX - 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 214: 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 X86 with AVX - 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 215: 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 X86 with AVX - 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 216: 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 X86 with AVX - 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 217: 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 X86 with AVX - 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 218: 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 X86 with AVX - 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 219: 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 X86 with AVX - 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 220: 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 X86 with AVX - 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 221: 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 X86 with AVX - 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 222: 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 X86 with AVX - 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 223: 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 X86 with AVX - 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 224: 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 X86 with AVX - 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 225: 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 X86 with AVX - 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 226: 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 X86 with AVX - 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 227: 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 X86 with AVX - 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 228: 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 X86 with AVX - 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 229: 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 X86 with AVX - 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 230: 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 X86 with AVX - 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 231: 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 X86 with AVX - 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 232: 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 X86 with AVX - 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 233: 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 X86 with AVX - 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 234: 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 X86 with AVX - 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 235: 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 X86 with AVX - 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 236: 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 X86 with AVX - 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 237: 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 X86 with AVX - 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 238: 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 X86 with AVX - 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 239: 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 X86 with AVX - 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 240: 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 X86 with AVX - 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 241: 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 X86 with AVX - 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 242: 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 X86 with AVX - 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 243: 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 X86 with AVX - 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 244: 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 X86 with AVX - 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.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 X86 with AVX - 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 246: 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 X86 with AVX - 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 247: 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 X86 with AVX - 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 248: 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 X86 with AVX - 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 249: 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 X86 with AVX - 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 250: 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 X86 with AVX - 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 251: 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 X86 with AVX - 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 252: 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 X86 with AVX - 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 253: 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 X86 with AVX - 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 254: 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 X86 with AVX - 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 255: 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 X86 with AVX - 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 256: 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 X86 with AVX - 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 257: 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 X86 with AVX - 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 258: 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 X86 with AVX - 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 259: 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 X86 with AVX - 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 260: 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 X86 with AVX - 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 261: 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 X86 with AVX - 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 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 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 469 262: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:AttachToOwner(BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic) [Tier-0 switched to FullOpts, IL size=165, code size=469] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:get_IsPropertyBag():bool:this ; Emitting BLENDED_CODE for X86 with AVX - 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 263: 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 X86 with AVX - 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 264: 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 X86 with AVX - 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 265: 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 X86 with AVX - 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 266: 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 X86 with AVX - 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 267: 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 X86 with AVX - 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 268: 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 X86 with AVX - 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 269: 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 X86 with AVX - 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 270: 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 X86 with AVX - 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 271: 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 X86 with AVX - 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 272: 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 X86 with AVX - 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 273: 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 X86 with AVX - 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 274: 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 X86 with AVX - 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 275: 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 X86 with AVX - 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 276: 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 X86 with AVX - 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 277: 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 X86 with AVX - 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 278: 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 X86 with AVX - 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 279: 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 X86 with AVX - 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.InfrastructureMode:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Jobs.AccuracyMode:.ctor():this ; Emitting BLENDED_CODE for X86 with AVX - 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 281: 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 X86 with AVX - 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 282: 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 X86 with AVX - 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 283: 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 X86 with AVX - 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 284: 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 X86 with AVX - 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 285: 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 X86 with AVX - 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 286: 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 X86 with AVX - 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 287: 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 X86 with AVX - 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 288: 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 X86 with AVX - 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 289: 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 X86 with AVX - 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 290: 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 X86 with AVX - 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 291: 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 X86 with AVX - 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 292: 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 X86 with AVX - 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 293: 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 X86 with AVX - 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 294: 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 X86 with AVX - 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 295: 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 X86 with AVX - 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 296: 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 X86 with AVX - 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 297: 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 X86 with AVX - 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 298: 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 X86 with AVX - 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 299: 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 X86 with AVX - 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 300: 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 X86 with AVX - 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 301: 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 X86 with AVX - 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 302: 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 X86 with AVX - 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 303: 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 X86 with AVX - 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 304: 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 X86 with AVX - 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 305: 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 X86 with AVX - 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 306: 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 X86 with AVX - 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 307: 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 X86 with AVX - 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 308: 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 X86 with AVX - 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 309: 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 X86 with AVX - 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 310: 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 X86 with AVX - 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 311: 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 X86 with AVX - 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 312: 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 X86 with AVX - 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 313: 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 X86 with AVX - 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 314: 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 X86 with AVX - 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 315: 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 X86 with AVX - 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 316: 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 X86 with AVX - 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 317: 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 X86 with AVX - 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 318: 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 X86 with AVX - 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 319: 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 X86 with AVX - 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 320: 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 X86 with AVX - 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 321: 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 X86 with AVX - 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 322: 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 X86 with AVX - 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 323: 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 X86 with AVX - 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 324: 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 X86 with AVX - 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 325: 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 X86 with AVX - 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 326: 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 X86 with AVX - 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 327: 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 X86 with AVX - 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 328: 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 X86 with AVX - 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 329: 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 X86 with AVX - 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 330: 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 X86 with AVX - 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 331: 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 X86 with AVX - 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 332: 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 X86 with AVX - 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 333: 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 X86 with AVX - 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 334: 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 X86 with AVX - 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 335: 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 X86 with AVX - 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 336: 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 X86 with AVX - 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 337: 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 X86 with AVX - 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 338: 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 X86 with AVX - 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 339: 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 X86 with AVX - 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 340: 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 X86 with AVX - 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 341: 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 X86 with AVX - 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 342: 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 X86 with AVX - 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 343: 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 X86 with AVX - 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 344: 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 X86 with AVX - 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 345: 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 X86 with AVX - 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 346: 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 X86 with AVX - 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 347: 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 X86 with AVX - 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 348: 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 X86 with AVX - 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 349: 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 X86 with AVX - 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 350: 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 X86 with AVX - 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 351: 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 X86 with AVX - 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 352: 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 X86 with AVX - 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 353: 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 X86 with AVX - 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 354: 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 X86 with AVX - 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 355: 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 X86 with AVX - 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 356: 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 X86 with AVX - 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 357: 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 X86 with AVX - 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 358: 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 X86 with AVX - 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 359: 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 X86 with AVX - 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 360: 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 X86 with AVX - 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 361: 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 X86 with AVX - 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 362: 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 X86 with AVX - 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 363: 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 X86 with AVX - 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 364: 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 X86 with AVX - 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 365: 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 X86 with AVX - 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 366: 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 X86 with AVX - 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 367: 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 X86 with AVX - 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 368: 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 X86 with AVX - 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 369: 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 X86 with AVX - 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 370: 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 X86 with AVX - 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 371: 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 X86 with AVX - 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 372: 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 X86 with AVX - 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 373: 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 X86 with AVX - 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 374: 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 X86 with AVX - 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 375: 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 X86 with AVX - 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 376: 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 X86 with AVX - 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 377: 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 X86 with AVX - 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 378: 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 X86 with AVX - 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 379: 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 X86 with AVX - 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 380: 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 X86 with AVX - 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 381: 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 X86 with AVX - 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 382: 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 X86 with AVX - 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 383: 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 X86 with AVX - 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 384: 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 X86 with AVX - 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 385: 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 X86 with AVX - 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 386: 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 X86 with AVX - 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 387: 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 X86 with AVX - 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 388: 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 X86 with AVX - 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 389: 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 X86 with AVX - 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 390: 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 X86 with AVX - 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 391: 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 X86 with AVX - 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 392: 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 X86 with AVX - 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 393: 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 X86 with AVX - 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 394: 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 X86 with AVX - 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 395: 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 X86 with AVX - 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 396: 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 X86 with AVX - 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 397: 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 X86 with AVX - 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 398: 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 X86 with AVX - 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 399: 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 X86 with AVX - 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 400: 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 X86 with AVX - 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_WarmupCount(int) [Tier0, IL size=13, code size=62] ; Assembly listing for method BenchmarkDotNet.Jobs.RunMode:set_IterationCount(int):this ; Emitting BLENDED_CODE for X86 with AVX - 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 402: 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 X86 with AVX - 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 403: 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 X86 with AVX - 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 404: 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 X86 with AVX - 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 405: 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 X86 with AVX - 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 406: 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 X86 with AVX - 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 407: 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 X86 with AVX - 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 408: 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 X86 with AVX - 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 409: 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 X86 with AVX - 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 410: 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 X86 with AVX - 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 411: 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 X86 with AVX - 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 412: 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 X86 with AVX - 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 413: 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 X86 with AVX - 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 414: 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 X86 with AVX - 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 415: 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 X86 with AVX - 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 416: 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 X86 with AVX - 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 417: 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 X86 with AVX - 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 418: 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 X86 with AVX - 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 419: 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 X86 with AVX - 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 420: 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 X86 with AVX - 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 421: 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 X86 with AVX - 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+DefaultPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:.ctor():this ; Emitting BLENDED_CODE for X86 with AVX - 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 423: 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 X86 with AVX - 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+DisplayPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+FolderPresenter:.ctor():this ; Emitting BLENDED_CODE for X86 with AVX - 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 425: 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 X86 with AVX - 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 426: 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 X86 with AVX - 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 427: 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 X86 with AVX - 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+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 X86 with AVX - 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 429: 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 X86 with AVX - 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 430: 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 X86 with AVX - 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 431: 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 X86 with AVX - 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 432: 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 X86 with AVX - 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 433: 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 X86 with AVX - 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 434: 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 X86 with AVX - 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 435: 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 X86 with AVX - 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 436: 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 X86 with AVX - 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 437: 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 X86 with AVX - 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 438: 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 X86 with AVX - 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 439: 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 X86 with AVX - 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 440: 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 X86 with AVX - 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 441: 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 X86 with AVX - 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+DefaultCharacteristicPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicPresenter:.ctor():this ; Emitting BLENDED_CODE for X86 with AVX - 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 443: 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 X86 with AVX - 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 444: 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 X86 with AVX - 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 445: 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 X86 with AVX - 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 446: 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 X86 with AVX - 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 447: 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 X86 with AVX - 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 448: 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 X86 with AVX - 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 449: 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 X86 with AVX - 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 450: 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 X86 with AVX - 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 451: 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 X86 with AVX - 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 452: JIT compiled BenchmarkDotNet.Helpers.DefaultCultureInfo:.cctor() [Tier0, IL size=41, code size=115] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this ; Emitting BLENDED_CODE for X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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 X86 with AVX - 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, 40 mov esi, ecx mov ebx, edx mov edi, gword ptr [ebp+08H] G_M000_IG02: mov bword ptr [ebp-18H], 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-1CH], 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-20H], eax mov ebx, gword ptr [edi+18H] test ebx, ebx jne SHORT G_M000_IG09 xor ebx, ebx mov bword ptr [ebp-28H], 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-28H], eax G_M000_IG10: mov eax, bword ptr [ebp-28H] mov bword ptr [ebp-24H], eax mov dword ptr [ebp-14H], 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-20H] push dword ptr [ebp-14H] push bword ptr [ebp-24H] push ebx push eax mov ecx, esi mov edx, bword ptr [ebp-18H] call [System.Number:FormatFixed[ushort](byref,byref,int,int[],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort])] jmp SHORT 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-30H], eax mov edx, dword ptr [esi+04H] mov eax, bword ptr [esi+08H] mov bword ptr [ebp-2CH], eax mov eax, dword ptr [esi+0CH] cmp ebx, 1 jne SHORT G_M000_IG16 cmp edx, eax jae SHORT G_M000_IG16 mov eax, bword ptr [ebp-30H] movzx eax, word ptr [eax] mov ebx, bword ptr [ebp-2CH] mov word ptr [ebx+2*edx], ax inc edx mov dword ptr [esi+04H], edx jmp SHORT G_M000_IG19 G_M000_IG16: push ebx push bword ptr [ebp-30H] 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 edx, bword ptr [esi+08H] mov bword ptr [ebp-34H], edx mov edx, dword ptr [esi+0CH] cmp ebx, edx jae SHORT G_M000_IG18 mov edx, bword ptr [ebp-34H] 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-1CH] 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 347 473: JIT compiled System.Number:FormatNumber[ushort](byref,byref,int,System.Globalization.NumberFormatInfo) [Tier-0 switched to FullOpts, IL size=128, code size=347] ; Assembly listing for method System.Number:FormatFixed[ushort](byref,byref,int,int[],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]) ; Emitting BLENDED_CODE for X86 with AVX - 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, 136 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-68H], edx mov ecx, bword ptr [edx+0CH] mov dword ptr [ebp-14H], ecx test eax, eax jle G_M000_IG37 G_M000_IG03: mov gword ptr [ebp+18H], ebx test ebx, ebx je G_M000_IG29 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-60H], ebx test ebx, ebx je G_M000_IG11 mov edi, gword ptr [ebp+18H] mov edi, dword ptr [edi+08H] mov dword ptr [ebp-5CH], edi cmp dword ptr [ebp-1CH], edi jle G_M000_IG10 align [0 bytes for IG04] G_M000_IG04: cmp edx, ebx jae G_M000_IG60 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-60H] dec ebx cmp ebx, edx jle SHORT G_M000_IG06 G_M000_IG05: inc edx G_M000_IG06: cmp edx, dword ptr [ebp-60H] jae G_M000_IG60 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_IG59 cmp eax, edi jg G_M000_IG09 G_M000_IG07: xor ebx, ebx test edi, edi cmovne ebx, dword ptr [ebp-5CH] 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-68H] 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 mov ebx, bword ptr [esi+08H] mov bword ptr [ebp-6CH], ebx mov ebx, dword ptr [esi+0CH] mov dword ptr [ebp-50H], ebx xor ebx, ebx mov dword ptr [ebp-8CH], ebx mov ebx, dword ptr [ebp-1CH] add ebx, dword ptr [ebp-48H] mov dword ptr [ebp-90H], ebx mov ebx, dword ptr [ebp-8CH] adc ebx, 0 mov dword ptr [ebp-8CH], ebx xor ebx, ebx mov dword ptr [ebp-94H], ebx mov ebx, dword ptr [ebp-90H] cmp dword ptr [ebp-50H], ebx mov ebx, dword ptr [ebp-94H] sbb ebx, dword ptr [ebp-8CH] jb SHORT G_M000_IG12 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-50H] ja G_M000_IG59 mov ebx, dword ptr [ebp-50H] sub ebx, dword ptr [ebp-48H] mov dword ptr [ebp-1CH], edi cmp ebx, edi jb G_M000_IG59 mov ebx, bword ptr [ebp-6CH] mov edi, dword ptr [ebp-48H] lea edi, bword ptr [ebx+2*edi] mov bword ptr [ebp-70H], edi mov ebx, dword ptr [ebp-1CH] mov dword ptr [ebp-54H], ebx mov edi, bword ptr [ebp-70H] mov bword ptr [ebp-44H], edi mov edi, dword ptr [ebp-54H] mov dword ptr [ebp-40H], edi mov dword ptr [ebp-1CH], ebx jmp SHORT G_M000_IG13 G_M000_IG09: mov ebx, dword ptr [ebp-60H] jmp G_M000_IG04 G_M000_IG10: jmp G_M000_IG07 align [0 bytes for IG19] G_M000_IG11: jmp G_M000_IG08 G_M000_IG12: 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_IG13: 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_IG23 G_M000_IG14: lea ecx, [edi-02H] cmp ebx, dword ptr [ebp-28H] jl SHORT G_M000_IG16 G_M000_IG15: mov dword ptr [ebp-3CH], edi mov edi, 48 jmp SHORT G_M000_IG17 G_M000_IG16: 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_IG17: mov eax, dword ptr [ebp-3CH] mov word ptr [eax], di mov edi, dword ptr [ebp-20H] test edi, edi jle SHORT G_M000_IG22 G_M000_IG18: mov eax, dword ptr [ebp-24H] inc eax mov dword ptr [ebp-20H], edi cmp eax, edi jne G_M000_IG28 mov dword ptr [ebp-30H], ebx test ebx, ebx mov dword ptr [ebp-24H], eax je G_M000_IG27 mov eax, dword ptr [ebp+0CH] lea edi, [eax-01H] test edi, edi jl SHORT G_M000_IG26 G_M000_IG19: lea ebx, [ecx-02H] mov dword ptr [ebp-64H], eax cmp edi, eax jae G_M000_IG60 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-64H] jns SHORT G_M000_IG25 G_M000_IG20: mov edi, dword ptr [ebp-60H] lea ecx, [edi-01H] mov edx, dword ptr [ebp-18H] cmp ecx, edx jle SHORT G_M000_IG21 inc edx cmp edx, edi jae G_M000_IG60 mov ecx, gword ptr [ebp+18H] mov eax, dword ptr [ecx+4*edx+08H] mov dword ptr [ebp-20H], eax G_M000_IG21: 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_IG22: dec ebx mov dword ptr [ebp-20H], edi jns SHORT G_M000_IG24 G_M000_IG23: mov edi, dword ptr [ebp-14H] add edi, dword ptr [ebp-28H] xor ecx, ecx mov bword ptr [ebp-2CH], ecx jmp G_M000_IG39 G_M000_IG24: mov edi, ecx jmp G_M000_IG14 G_M000_IG25: mov ecx, ebx jmp SHORT G_M000_IG19 G_M000_IG26: mov ebx, ecx jmp SHORT G_M000_IG20 G_M000_IG27: mov ebx, dword ptr [ebp-30H] mov edi, dword ptr [ebp-20H] jmp SHORT G_M000_IG22 G_M000_IG28: mov dword ptr [ebp-24H], eax mov edi, dword ptr [ebp-20H] jmp SHORT G_M000_IG22 G_M000_IG29: mov ecx, dword ptr [ebp-14H] cmp byte ptr [ecx], 0 jne SHORT G_M000_IG31 G_M000_IG30: mov edx, 48 jmp SHORT G_M000_IG32 G_M000_IG31: 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_IG32: movzx edx, dx mov ebx, dword ptr [esi+04H] mov dword ptr [ebp-4CH], ebx mov ebx, bword ptr [esi+08H] mov bword ptr [ebp-74H], ebx mov ebx, dword ptr [esi+0CH] mov dword ptr [ebp-58H], ebx mov ebx, dword ptr [ebp-4CH] cmp ebx, dword ptr [ebp-58H] jae SHORT G_M000_IG34 G_M000_IG33: mov edi, bword ptr [ebp-74H] mov word ptr [edi+2*ebx], dx inc ebx mov dword ptr [esi+04H], ebx jmp SHORT G_M000_IG35 G_M000_IG34: 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_IG35: dec eax mov ebx, eax mov dword ptr [ebp-10H], ebx test ebx, ebx mov dword ptr [ebp-14H], ecx mov eax, dword ptr [ebp-10H] jg SHORT G_M000_IG29 G_M000_IG36: mov dword ptr [ebp-10H], eax mov edi, dword ptr [ebp-14H] jmp SHORT G_M000_IG39 G_M000_IG37: mov edx, dword ptr [esi+04H] mov ebx, bword ptr [esi+08H] mov bword ptr [ebp-78H], ebx mov ebx, dword ptr [esi+0CH] cmp edx, ebx jae SHORT G_M000_IG38 mov ebx, bword ptr [ebp-78H] 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_IG39 G_M000_IG38: 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_IG39: mov ebx, dword ptr [ebp+1CH] test ebx, ebx jle G_M000_IG58 G_M000_IG40: mov ecx, bword ptr [ebp+10H] mov bword ptr [ebp-80H], ecx mov eax, dword ptr [ebp+14H] mov edx, dword ptr [esi+04H] mov ecx, bword ptr [esi+08H] mov bword ptr [ebp-7CH], ecx mov ecx, dword ptr [esi+0CH] cmp eax, 1 jne SHORT G_M000_IG41 cmp edx, ecx jae SHORT G_M000_IG41 mov ecx, bword ptr [ebp-80H] movzx eax, word ptr [ecx] mov ecx, bword ptr [ebp-7CH] mov word ptr [ecx+2*edx], ax inc edx mov dword ptr [esi+04H], edx jmp SHORT G_M000_IG42 G_M000_IG41: push eax push bword ptr [ebp-80H] mov ecx, esi call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] G_M000_IG42: mov ecx, dword ptr [ebp-10H] test ecx, ecx jge SHORT G_M000_IG49 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_IG45 G_M000_IG43: mov ecx, dword ptr [esi+04H] mov eax, bword ptr [esi+08H] mov bword ptr [ebp-84H], eax mov eax, dword ptr [esi+0CH] cmp ecx, eax jae SHORT G_M000_IG46 G_M000_IG44: mov eax, bword ptr [ebp-84H] mov word ptr [eax+2*ecx], 48 inc ecx mov dword ptr [esi+04H], ecx jmp SHORT G_M000_IG47 G_M000_IG45: mov ecx, dword ptr [ebp-34H] jmp SHORT G_M000_IG48 G_M000_IG46: mov ecx, esi mov edx, 48 call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] G_M000_IG47: 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_IG52 G_M000_IG48: sub ebx, ecx G_M000_IG49: test ebx, ebx jle SHORT G_M000_IG58 G_M000_IG50: cmp byte ptr [edi], 0 jne SHORT G_M000_IG53 G_M000_IG51: mov ecx, 48 jmp SHORT G_M000_IG54 G_M000_IG52: jmp SHORT G_M000_IG43 G_M000_IG53: mov ecx, edi lea edi, [ecx+01H] movzx ecx, byte ptr [ecx] G_M000_IG54: movzx edx, cx mov ecx, dword ptr [esi+04H] mov eax, bword ptr [esi+08H] mov bword ptr [ebp-88H], eax mov eax, dword ptr [esi+0CH] cmp ecx, eax jae SHORT G_M000_IG56 G_M000_IG55: mov eax, bword ptr [ebp-88H] mov word ptr [eax+2*ecx], dx inc ecx mov dword ptr [esi+04H], ecx jmp SHORT G_M000_IG57 G_M000_IG56: mov ecx, esi call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] G_M000_IG57: dec ebx test ebx, ebx jg SHORT G_M000_IG50 G_M000_IG58: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 24 G_M000_IG59: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG60: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 1092 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=1092] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this ; Emitting BLENDED_CODE for X86 with AVX - 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 X86 with AVX - 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 BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_FallbackValue():System.__Canon:this ; Emitting BLENDED_CODE for X86 with AVX - 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 477: 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 X86 with AVX - 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 478: 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 X86 with AVX - 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 479: 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 X86 with AVX - 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 480: 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 X86 with AVX - 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 481: 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 X86 with AVX - 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 482: 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 X86 with AVX - 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 483: 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 X86 with AVX - 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 484: 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 X86 with AVX - 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 485: 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 X86 with AVX - 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 486: 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 X86 with AVX - 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 487: 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 X86 with AVX - 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 488: 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 X86 with AVX - 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 489: 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 X86 with AVX - 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 490: 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 X86 with AVX - 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 491: 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 X86 with AVX - 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 492: 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 X86 with AVX - 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 493: 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 X86 with AVX - 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 494: 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 X86 with AVX - 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 495: 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 X86 with AVX - 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 496: 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 X86 with AVX - 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 497: 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 X86 with AVX - 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 498: 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 X86 with AVX - 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 499: 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 X86 with AVX - 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 500: 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 X86 with AVX - 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 501: 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 X86 with AVX - 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 502: 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 X86 with AVX - 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 503: 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 X86 with AVX - 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 504: 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 X86 with AVX - 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 505: 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 X86 with AVX - 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 506: 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 X86 with AVX - 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 507: 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 X86 with AVX - 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 508: 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 X86 with AVX - 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 509: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_GlobalSetupAction() [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 X86 with AVX - 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 510: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0+<>c:<.ctor>b__3_0() [Tier0, IL size=1, code size=11] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_NeedsJitting():bool:this ; Emitting BLENDED_CODE for X86 with AVX - 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 511: 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 X86 with AVX - 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 512: 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 X86 with AVX - 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 513: 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 X86 with AVX - 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 514: 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 X86 with AVX - 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 515: 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 X86 with AVX - 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 516: 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 X86 with AVX - 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 517: 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 X86 with AVX - 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 518: 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 X86 with AVX - 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 519: 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 X86 with AVX - 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 520: 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 X86 with AVX - 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 521: 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 X86 with AVX - 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 522: 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 X86 with AVX - 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 523: 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 X86 with AVX - 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 524: 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 X86 with AVX - 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 525: 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 X86 with AVX - 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 526: 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 X86 with AVX - 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 527: 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 X86 with AVX - 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 528: 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 X86 with AVX - 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 529: 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 X86 with AVX - 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 530: 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 X86 with AVX - 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 531: 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 X86 with AVX - 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 532: 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 X86 with AVX - 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 533: 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 X86 with AVX - 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 534: 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 X86 with AVX - 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 535: 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 X86 with AVX - 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 536: 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 X86 with AVX - 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 537: 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 X86 with AVX - 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 538: 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 X86 with AVX - 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 539: 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 X86 with AVX - 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 540: 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 X86 with AVX - 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.InfrastructureResolver+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver:.cctor() ; Emitting BLENDED_CODE for X86 with AVX - 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 542: 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 X86 with AVX - 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 543: 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 X86 with AVX - 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 544: 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 X86 with AVX - 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 545: 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 X86 with AVX - 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 546: 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 X86 with AVX - 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 547: 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 X86 with AVX - 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 548: 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 X86 with AVX - 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 549: 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 X86 with AVX - 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 550: 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 X86 with AVX - 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 551: 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 X86 with AVX - 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 552: 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 X86 with AVX - 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 553: 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 X86 with AVX - 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 554: 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 X86 with AVX - 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 555: 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 X86 with AVX - 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 556: 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 X86 with AVX - 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 557: 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 X86 with AVX - 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.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 X86 with AVX - 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 559: 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 X86 with AVX - 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 560: 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 X86 with AVX - 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 561: 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 X86 with AVX - 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 562: 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 X86 with AVX - 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__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 X86 with AVX - 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 564: 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 X86 with AVX - 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 565: 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 X86 with AVX - 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 566: 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 X86 with AVX - 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 567: 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 X86 with AVX - 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 568: 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 X86 with AVX - 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 569: 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 X86 with AVX - 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 570: 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 X86 with AVX - 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 571: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_HasInvocationCount() [Tier0, IL size=17, code size=47] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_HasUnrollFactor():bool:this ; Emitting BLENDED_CODE for X86 with AVX - 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 572: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_HasUnrollFactor() [Tier0, IL size=17, code size=47] ; Assembly listing for method BenchmarkDotNet.Engines.EngineFactory:CreateSingleActionEngine(BenchmarkDotNet.Engines.EngineParameters):BenchmarkDotNet.Engines.Engine ; Emitting BLENDED_CODE for X86 with AVX - 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 ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-10H], eax push 0 push 1 mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Jobs.JobExtensions:WithInvocationCount(BenchmarkDotNet.Jobs.Job,long):BenchmarkDotNet.Jobs.Job] mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-14H] mov edx, 1 call [BenchmarkDotNet.Jobs.JobExtensions:WithUnrollFactor(BenchmarkDotNet.Jobs.Job,int):BenchmarkDotNet.Jobs.Job] mov gword ptr [ebp-18H], eax mov ecx, gword ptr [ebp-18H] xor edx, edx call [BenchmarkDotNet.Jobs.JobExtensions:WithEvaluateOverhead(BenchmarkDotNet.Jobs.Job,bool):BenchmarkDotNet.Jobs.Job] mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_OverheadActionNoUnroll():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_WorkloadActionNoUnroll():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 129 573: JIT compiled BenchmarkDotNet.Engines.EngineFactory:CreateSingleActionEngine(BenchmarkDotNet.Engines.EngineParameters) [Tier0, IL size=44, code size=129] ; Assembly listing for method BenchmarkDotNet.Jobs.JobExtensions:WithInvocationCount(BenchmarkDotNet.Jobs.Job,long):BenchmarkDotNet.Jobs.Job ; Emitting BLENDED_CODE for X86 with AVX - 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-08H], 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 G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass28_0:.ctor():this] mov ecx, gword ptr [ebp-0CH] mov gword ptr [ebp-08H], ecx mov ecx, gword ptr [ebp-08H] add ecx, 4 mov bword ptr [ebp-14H], ecx mov ecx, bword ptr [ebp-14H] mov eax, dword ptr [ebp+08H] mov dword ptr [ecx], eax mov ecx, dword ptr [ebp+0CH] mov eax, bword ptr [ebp-14H] mov dword ptr [eax+04H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-08H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-10H] call [BenchmarkDotNet.Jobs.JobExtensions:WithCore(BenchmarkDotNet.Jobs.Job,System.Action`1[BenchmarkDotNet.Jobs.Job]):BenchmarkDotNet.Jobs.Job] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 125 574: JIT compiled BenchmarkDotNet.Jobs.JobExtensions:WithInvocationCount(BenchmarkDotNet.Jobs.Job,long) [Tier0, IL size=32, code size=125] ; Assembly listing for method BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass28_0:.ctor():this ; Emitting BLENDED_CODE for X86 with AVX - 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 575: JIT compiled BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass28_0:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Jobs.JobExtensions:WithCore(BenchmarkDotNet.Jobs.Job,System.Action`1[BenchmarkDotNet.Jobs.Job]):BenchmarkDotNet.Jobs.Job ; Emitting BLENDED_CODE for X86 with AVX - 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 edx, gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax jne SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-04H] call [BenchmarkDotNet.Jobs.Job:.ctor(BenchmarkDotNet.Characteristics.CharacteristicObject):this] mov ecx, gword ptr [ebp-18H] mov gword ptr [ebp-14H], ecx jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:get_Id():System.String:this] mov gword ptr [ebp-1CH], eax push gword ptr [ebp-04H] mov edx, gword ptr [ebp-1CH] mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Jobs.Job:.ctor(System.String,BenchmarkDotNet.Characteristics.CharacteristicObject):this] mov ecx, gword ptr [ebp-10H] mov gword ptr [ebp-14H], ecx G_M000_IG04: mov ecx, gword ptr [ebp-14H] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-08H] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-0CH] mov eax, gword ptr [ebp-08H] call [eax+0CH]System.Action`1[System.__Canon]:Invoke(System.__Canon):this mov eax, gword ptr [ebp-0CH] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 156 576: JIT compiled BenchmarkDotNet.Jobs.JobExtensions:WithCore(BenchmarkDotNet.Jobs.Job,System.Action`1[BenchmarkDotNet.Jobs.Job]) [Tier0, IL size=43, code size=156] ; Assembly listing for method BenchmarkDotNet.Jobs.Job:.ctor(BenchmarkDotNet.Characteristics.CharacteristicObject):this ; Emitting BLENDED_CODE for X86 with AVX - 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] xor edx, edx call [BenchmarkDotNet.Jobs.Job:.ctor(System.String,BenchmarkDotNet.Characteristics.CharacteristicObject):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 577: JIT compiled BenchmarkDotNet.Jobs.Job:.ctor(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=9, code size=30] ; Assembly listing for method BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass28_0:b__0(BenchmarkDotNet.Jobs.Job):this ; Emitting BLENDED_CODE for X86 with AVX - 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] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.Job:get_Run():BenchmarkDotNet.Jobs.RunMode:this] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-04H] add ecx, 4 mov bword ptr [ebp-10H], ecx mov ecx, bword ptr [ebp-10H] mov ecx, dword ptr [ecx] mov eax, bword ptr [ebp-10H] push dword ptr [eax+04H] push ecx mov ecx, gword ptr [ebp-0CH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.RunMode:set_InvocationCount(long):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 70 578: JIT compiled BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass28_0:b__0(BenchmarkDotNet.Jobs.Job) [Tier0, IL size=18, code size=70] ; Assembly listing for method BenchmarkDotNet.Jobs.Job:get_Run():BenchmarkDotNet.Jobs.RunMode:this ; Emitting BLENDED_CODE for X86 with AVX - 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 579: JIT compiled BenchmarkDotNet.Jobs.Job:get_Run() [Tier0, IL size=12, code size=28] ; Assembly listing for method BenchmarkDotNet.Jobs.RunMode:set_InvocationCount(long):this ; Emitting BLENDED_CODE for X86 with AVX - 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 [D1FFAB1EH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[long]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 36 580: JIT compiled BenchmarkDotNet.Jobs.RunMode:set_InvocationCount(long) [Tier0, IL size=13, code size=36] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[long]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,long):this ; Emitting BLENDED_CODE for X86 with AVX - 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+0CH] 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[long](BenchmarkDotNet.Characteristics.Characteristic`1[long],long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 38 581: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[long]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,long) [Tier0, IL size=9, code size=38] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[long](BenchmarkDotNet.Characteristics.Characteristic`1[long],long):this ; Emitting BLENDED_CODE for X86 with AVX - 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-0CH] add ecx, 4 mov bword ptr [ebp-10H], ecx mov ecx, bword ptr [ebp-10H] mov edx, dword ptr [ebp+08H] mov dword ptr [ecx], edx mov ecx, dword ptr [ebp+0CH] mov edx, bword ptr [ebp-10H] mov dword ptr [edx+04H], ecx 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 80 582: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[long](BenchmarkDotNet.Characteristics.Characteristic`1[long],long) [Tier0, IL size=14, code size=80] ; Assembly listing for method BenchmarkDotNet.Jobs.JobExtensions:WithUnrollFactor(BenchmarkDotNet.Jobs.Job,int):BenchmarkDotNet.Jobs.Job ; Emitting BLENDED_CODE for X86 with AVX - 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-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass29_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 dword ptr [ecx+04H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax 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-04H] mov edx, gword ptr [ebp-14H] call [BenchmarkDotNet.Jobs.JobExtensions:WithCore(BenchmarkDotNet.Jobs.Job,System.Action`1[BenchmarkDotNet.Jobs.Job]):BenchmarkDotNet.Jobs.Job] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 106 583: JIT compiled BenchmarkDotNet.Jobs.JobExtensions:WithUnrollFactor(BenchmarkDotNet.Jobs.Job,int) [Tier0, IL size=32, code size=106] ; Assembly listing for method BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass29_0:.ctor():this ; Emitting BLENDED_CODE for X86 with AVX - 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 584: JIT compiled BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass29_0:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass29_0:b__0(BenchmarkDotNet.Jobs.Job):this ; Emitting BLENDED_CODE for X86 with AVX - 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-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.Job:get_Run():BenchmarkDotNet.Jobs.RunMode:this] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] mov edx, dword ptr [edx+04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.RunMode:set_UnrollFactor(int):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 52 585: JIT compiled BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass29_0:b__0(BenchmarkDotNet.Jobs.Job) [Tier0, IL size=18, code size=52] ; Assembly listing for method BenchmarkDotNet.Jobs.JobExtensions:WithEvaluateOverhead(BenchmarkDotNet.Jobs.Job,bool):BenchmarkDotNet.Jobs.Job ; Emitting BLENDED_CODE for X86 with AVX - 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-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass58_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 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-04H] mov edx, gword ptr [ebp-14H] call [BenchmarkDotNet.Jobs.JobExtensions:WithCore(BenchmarkDotNet.Jobs.Job,System.Action`1[BenchmarkDotNet.Jobs.Job]):BenchmarkDotNet.Jobs.Job] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 106 586: JIT compiled BenchmarkDotNet.Jobs.JobExtensions:WithEvaluateOverhead(BenchmarkDotNet.Jobs.Job,bool) [Tier0, IL size=32, code size=106] ; Assembly listing for method BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass58_0:.ctor():this ; Emitting BLENDED_CODE for X86 with AVX - 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 587: JIT compiled BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass58_0:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass58_0:b__0(BenchmarkDotNet.Jobs.Job):this ; Emitting BLENDED_CODE for X86 with AVX - 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-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.Job:get_Accuracy():BenchmarkDotNet.Jobs.AccuracyMode:this] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] movzx edx, byte ptr [edx+04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.AccuracyMode:set_EvaluateOverhead(bool):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 53 588: JIT compiled BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass58_0:b__0(BenchmarkDotNet.Jobs.Job) [Tier0, IL size=18, code size=53] ; Assembly listing for method BenchmarkDotNet.Jobs.Job:get_Accuracy():BenchmarkDotNet.Jobs.AccuracyMode:this ; Emitting BLENDED_CODE for X86 with AVX - 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 589: JIT compiled BenchmarkDotNet.Jobs.Job:get_Accuracy() [Tier0, IL size=12, code size=28] ; Assembly listing for method BenchmarkDotNet.Jobs.AccuracyMode:set_EvaluateOverhead(bool):this ; Emitting BLENDED_CODE for X86 with AVX - 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, dword ptr [ebp-08H] movzx ecx, cl push ecx mov ecx, gword ptr [D1FFAB1EH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[bool]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,bool):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 40 590: JIT compiled BenchmarkDotNet.Jobs.AccuracyMode:set_EvaluateOverhead(bool) [Tier0, IL size=13, code size=40] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[bool]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,bool):this ; Emitting BLENDED_CODE for X86 with AVX - 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, dword ptr [ebp+08H] movzx ecx, cl push ecx mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],bool):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 39 591: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[bool]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,bool) [Tier0, IL size=9, code size=39] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],bool):this ; Emitting BLENDED_CODE for X86 with AVX - 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 byte ptr [ecx+04H], dl 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 592: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],bool) [Tier0, IL size=14, code size=60] ; 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 X86 with AVX - 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 593: 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 X86 with AVX - 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 594: 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 X86 with AVX - 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 595: 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 X86 with AVX - 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 596: 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 X86 with AVX - 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 597: 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 X86 with AVX - 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 598: 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 X86 with AVX - 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 599: 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 X86 with AVX - 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 600: 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 X86 with AVX - 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 601: 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 X86 with AVX - 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, 45 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 602: 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 X86 with AVX - 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 603: 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 X86 with AVX - 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 604: 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 X86 with AVX - 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 605: 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 X86 with AVX - 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[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 X86 with AVX - 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[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 X86 with AVX - 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 608: 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 X86 with AVX - 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 609: 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 X86 with AVX - 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 610: 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 X86 with AVX - 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 611: 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 X86 with AVX - 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 612: 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 X86 with AVX - 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 Perfolizer.Horology.DateTimeClock:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method Perfolizer.Horology.WindowsClock:.ctor():this ; Emitting BLENDED_CODE for X86 with AVX - 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 614: 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 X86 with AVX - 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 615: 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 X86 with AVX - 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 616: 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 X86 with AVX - 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 617: 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 X86 with AVX - 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 618: 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 X86 with AVX - 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 619: 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 X86 with AVX - 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 620: 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 X86 with AVX - 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 621: 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 X86 with AVX - 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 622: 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 X86 with AVX - 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 623: 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 X86 with AVX - 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 624: 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 X86 with AVX - 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 625: 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 X86 with AVX - 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 626: 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 X86 with AVX - 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 627: 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 X86 with AVX - 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 628: 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 X86 with AVX - 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 629: 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 X86 with AVX - 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 630: 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[bool]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):bool:this ; Emitting BLENDED_CODE for X86 with AVX - 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[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool]):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 631: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[bool]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=8, code size=30] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool]):bool:this ; Emitting BLENDED_CODE for X86 with AVX - 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] movzx eax, byte ptr [eax] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 53 632: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool]) [Tier0, IL size=13, code size=53] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[bool]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this ; Emitting BLENDED_CODE for X86 with AVX - 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[bool]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,bool,bool]: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] movzx eax, byte ptr [eax] mov ecx, gword ptr [ebp-10H] mov byte ptr [ecx+04H], al 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[bool]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,bool,bool]: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] movzx edx, byte ptr [eax] 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,bool,bool]:Invoke(System.__Canon,bool):bool:this mov edx, gword ptr [ebp-10H] mov byte ptr [edx+04H], al mov eax, gword ptr [ebp-10H] G_M000_IG05: mov esp, ebp pop ebp ret 4 ; Total bytes of code 193 633: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[bool]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object) [Tier0, IL size=58, code size=193] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[bool]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,bool,bool]:this ; Emitting BLENDED_CODE for X86 with AVX - 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 634: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[bool]:get_Resolver() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_10():bool:this ; Emitting BLENDED_CODE for X86 with AVX - 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 635: 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 X86 with AVX - 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 636: 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 X86 with AVX - 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 637: 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 X86 with AVX - 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 638: 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 X86 with AVX - 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 639: 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 X86 with AVX - 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 640: 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 X86 with AVX - 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 641: 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 X86 with AVX - 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 642: 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 X86 with AVX - 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 643: 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 X86 with AVX - 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 644: 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 X86 with AVX - 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 645: 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 X86 with AVX - 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 646: 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 X86 with AVX - 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 647: 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 X86 with AVX - 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 648: 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 X86 with AVX - 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 649: 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 X86 with AVX - 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 650: 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 X86 with AVX - 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 651: 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 X86 with AVX - 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 652: 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 X86 with AVX - 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 653: 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 X86 with AVX - 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 654: 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 X86 with AVX - 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 655: 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 X86 with AVX - 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 656: 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 X86 with AVX - 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 657: 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 X86 with AVX - 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 658: 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 X86 with AVX - 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 659: 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 X86 with AVX - 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 660: 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 X86 with AVX - 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 661: 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 X86 with AVX - 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 662: 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 X86 with AVX - 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 663: 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 X86 with AVX - 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 664: 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 X86 with AVX - 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 665: 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 X86 with AVX - 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 666: 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 X86 with AVX - 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 667: 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 X86 with AVX - 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 668: 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 X86 with AVX - 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 669: 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 X86 with AVX - 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 670: 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 X86 with AVX - 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 671: 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 X86 with AVX - 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 672: 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 X86 with AVX - 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 673: 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 X86 with AVX - 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 674: 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 X86 with AVX - 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 675: 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 X86 with AVX - 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 676: 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 X86 with AVX - 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 677: 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 X86 with AVX - 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 678: 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 X86 with AVX - 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 679: 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 X86 with AVX - 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 680: 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 X86 with AVX - 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 681: 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 X86 with AVX - 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 682: 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.EngineFactory:Jit(BenchmarkDotNet.Engines.Engine,int,int,int):Perfolizer.Horology.TimeInterval ; Emitting BLENDED_CODE for X86 with AVX - 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 683: 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 X86 with AVX - 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 684: 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 X86 with AVX - 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+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] G_M000_IG03: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] G_M000_IG04: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 395 685: 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 X86 with AVX - 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 686: 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 X86 with AVX - 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 687: 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 X86 with AVX - 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 688: 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 X86 with AVX - 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 689: 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 X86 with AVX - 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 690: 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 X86 with AVX - 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 691: 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 X86 with AVX - 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 692: 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 X86 with AVX - 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 693: 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 X86 with AVX - 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 694: 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 X86 with AVX - 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 695: 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 X86 with AVX - 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 696: 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 X86 with AVX - 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 697: 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 X86 with AVX - 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 698: 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 X86 with AVX - 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 699: 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 X86 with AVX - 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 700: 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 X86 with AVX - 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 701: 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 X86 with AVX - 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 702: 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 X86 with AVX - 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 703: 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 X86 with AVX - 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 704: 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 X86 with AVX - 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 705: 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 X86 with AVX - 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 706: 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 X86 with AVX - 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 707: 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 X86 with AVX - 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 708: 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 X86 with AVX - 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 709: 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 X86 with AVX - 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 710: 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 X86 with AVX - 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 711: 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:OverheadActionNoUnroll(long):this ; Emitting BLENDED_CODE for X86 with AVX - 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, 16 mov esi, ecx G_M000_IG02: movsx ebx, byte ptr [esi+28H] mov dword ptr [ebp-10H], ebx xor edi, edi xor eax, eax mov dword ptr [ebp-14H], eax cmp dword ptr [ebp+08H], 1 mov ecx, dword ptr [ebp+0CH] sbb ecx, 0 jl SHORT G_M000_IG04 G_M000_IG03: mov edx, gword ptr [esi+1CH] mov gword ptr [ebp-18H], edx mov ecx, gword ptr [esi+14H] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ecx+04H] mov edx, ebx mov ebx, gword ptr [ebp-1CH] call [ebx+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke(byte):System.String:this mov ebx, gword ptr [ebp-18H] lea edx, bword ptr [ebx+1CH] call CORINFO_HELP_ASSIGN_REF_EAX add edi, 1 mov ebx, dword ptr [ebp-14H] adc ebx, 0 cmp edi, dword ptr [ebp+08H] mov eax, ebx sbb eax, dword ptr [ebp+0CH] mov dword ptr [ebp-14H], ebx jl SHORT G_M000_IG05 G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG05: mov ebx, dword ptr [ebp-10H] jmp SHORT G_M000_IG03 ; Total bytes of code 108 712: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:OverheadActionNoUnroll(long) [Tier1, IL size=45, code size=108] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:__Overhead(byte):System.String:this ; Emitting BLENDED_CODE for X86 with AVX - 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: xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 18 713: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:__Overhead(byte) [Tier0, IL size=2, code size=18] ; Assembly listing for method Perfolizer.Horology.StartedClock:GetElapsed():Perfolizer.Horology.ClockSpan:this ; Emitting BLENDED_CODE for X86 with AVX - 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 714: 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 X86 with AVX - 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 715: 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 X86 with AVX - 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 716: 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 X86 with AVX - 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 717: 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 X86 with AVX - 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 718: 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 X86 with AVX - 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 719: 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 X86 with AVX - 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 720: 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 X86 with AVX - 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 721: 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 X86 with AVX - 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 722: 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 X86 with AVX - 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 723: 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 X86 with AVX - 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 724: 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 X86 with AVX - 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 725: 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 X86 with AVX - 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 726: 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 X86 with AVX - 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 727: 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 X86 with AVX - 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 728: 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 X86 with AVX - 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 729: 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 X86 with AVX - 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 730: 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 X86 with AVX - 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 731: 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 X86 with AVX - 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 732: 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 X86 with AVX - 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 733: 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 X86 with AVX - 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 734: 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 X86 with AVX - 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 735: 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 X86 with AVX - 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 736: 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 X86 with AVX - 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 737: 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 X86 with AVX - 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, 708 xor eax, eax mov dword ptr [ebp-6CH], eax mov dword ptr [ebp-8CH], eax mov dword ptr [ebp-1CCH], eax mov dword ptr [ebp-10H], 0xD1FFAB1E mov bword ptr [ebp-1E8H], edx mov ebx, ecx G_M000_IG02: mov eax, gword ptr [ebp+08H] mov gword ptr [ebp-2CCH], eax lea edi, bword ptr [ebp-1CCH] lea esi, bword ptr [ebp+0CH] movsd movsd xor esi, esi mov dword ptr [ebp-40H], esi mov edi, bword ptr [ebp-1E8H] mov eax, bword ptr [edi+0CH] mov dword ptr [ebp-58H], eax mov ecx, bword ptr [ebp-1CCH] mov bword ptr [ebp-228H], ecx mov edx, dword ptr [ebp-1C8H] mov dword ptr [ebp-1DCH], edx mov dword ptr [ebp-13CH], edx cmp byte ptr [eax], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, bword ptr [ebp-228H] mov bword ptr [ebp-22CH], ecx mov ecx, dword ptr [ebp-13CH] mov dword ptr [ebp-140H], ecx mov bword ptr [ebp-1E8H], 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-228H] mov bword ptr [ebp-22CH], ecx mov ecx, dword ptr [ebp-13CH] mov dword ptr [ebp-140H], ecx mov ecx, 2 mov bword ptr [ebp-1E8H], edi G_M000_IG05: push dword ptr [ebp-140H] push bword ptr [ebp-22CH] 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-1CCH] 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-1E0H], edx cmp edx, 5 ja SHORT G_M000_IG10 lea edx, [@RWD00] mov edi, dword ptr [ebp-1E0H] 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-1DCH] 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-1D0H], 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-1D0H], 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-1DCH] 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-1DCH] 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-2D0H], eax mov eax, dword ptr [ebp-48H] sub eax, dword ptr [ebp-2D0H] 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-1E8H] 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-1E8H] 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-1E8H] 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-1E8H] G_M000_IG43: push 0 mov bword ptr [ebp-1E8H], 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-1C8H] push bword ptr [ebp-1CCH] 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-1E8H] cmp byte ptr [edi+0AH], 3 je SHORT G_M000_IG48 mov bword ptr [ebp-1E8H], edi mov byte ptr [edi+08H], 0 G_M000_IG45: xor edi, edi mov eax, bword ptr [ebp-1E8H] 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-2D0H], eax xor eax, eax cmp edi, ecx mov edi, eax cmovl edi, dword ptr [ebp-2D0H] mov dword ptr [ebp-2CH], edi mov eax, dword ptr [ebp-30H] mov edi, ecx sub edi, eax mov dword ptr [ebp-2D0H], edi xor edi, edi cmp eax, ecx mov eax, edi cmovg eax, dword ptr [ebp-2D0H] 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-1E8H], edi jmp SHORT G_M000_IG45 G_M000_IG49: mov edi, bword ptr [ebp-1E8H] mov edi, dword ptr [edi+04H] mov dword ptr [ebp-1D8H], edi cmp edi, ecx cmovle edi, ecx mov dword ptr [ebp-34H], edi mov eax, dword ptr [ebp-1D8H] 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-224H], edi mov dword ptr [ebp-138H], 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-2CCH] mov ecx, gword ptr [ecx+1CH] cmp dword ptr [ecx+04H], 0 jle G_M000_IG60 mov ecx, gword ptr [ebp-2CCH] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-1ECH], ecx xor ecx, ecx mov dword ptr [ebp-70H], ecx xor ecx, ecx mov dword ptr [ebp-74H], ecx mov ecx, gword ptr [ebp-1ECH] 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-1ECH] 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-138H] 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-1F0H], 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-224H] call [System.Buffer:Memmove(byref,byref,uint)] mov edi, gword ptr [ebp-1F0H] lea edx, bword ptr [edi+08H] mov edi, dword ptr [edi+04H] mov eax, edx mov bword ptr [ebp-224H], eax G_M000_IG57: mov ecx, dword ptr [ebp-60H] mov dword ptr [ebp-138H], edi cmp ecx, edi jae G_M000_IG165 mov edi, bword ptr [ebp-224H] 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-1ECH] 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-1E8H] 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-1E8H], edi cmp dword ptr [edi+04H], 0 je G_M000_IG63 mov edi, gword ptr [ebp-2CCH] mov edi, gword ptr [edi+14H] mov gword ptr [ebp-1F4H], edi test edi, edi jne G_M000_IG73 xor edi, edi mov bword ptr [ebp-230H], edi xor edi, edi mov dword ptr [ebp-144H], edi G_M000_IG62: mov edi, bword ptr [ebp-230H] mov bword ptr [ebp-238H], edi mov edi, dword ptr [ebp-144H] mov dword ptr [ebp-B4H], edi mov edi, bword ptr [ebp-238H] mov bword ptr [ebp-240H], edi mov edi, dword ptr [ebp-B4H] mov dword ptr [ebp-150H], edi mov edi, dword ptr [ebx+04H] mov dword ptr [ebp-B8H], edi mov edi, bword ptr [ebx+08H] mov bword ptr [ebp-23CH], edi mov edi, dword ptr [ebx+0CH] mov dword ptr [ebp-14CH], edi cmp dword ptr [ebp-150H], 1 jne G_M000_IG74 mov edi, dword ptr [ebp-B8H] cmp edi, dword ptr [ebp-14CH] jae G_M000_IG74 mov edi, bword ptr [ebp-240H] movzx edi, word ptr [edi] mov ecx, bword ptr [ebp-23CH] 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-1CCH] 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-1E8H] 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-2CCH] 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-1E8H], edi jmp G_M000_IG63 G_M000_IG72: mov bword ptr [ebp-1E8H], edi jmp G_M000_IG63 G_M000_IG73: add edi, 8 mov bword ptr [ebp-1F8H], edi mov edi, gword ptr [ebp-1F4H] mov edi, dword ptr [edi+04H] mov dword ptr [ebp-B0H], edi mov edi, bword ptr [ebp-1F8H] mov bword ptr [ebp-234H], edi mov edi, dword ptr [ebp-B0H] mov dword ptr [ebp-148H], edi mov edi, bword ptr [ebp-234H] mov bword ptr [ebp-230H], edi mov edi, dword ptr [ebp-148H] mov dword ptr [ebp-144H], edi jmp G_M000_IG62 G_M000_IG74: push dword ptr [ebp-150H] push bword ptr [ebp-240H] 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 edi, dword ptr [ebx+04H] mov dword ptr [ebp-BCH], edi mov edi, bword ptr [ebx+08H] mov bword ptr [ebp-244H], edi mov edi, dword ptr [ebx+0CH] mov dword ptr [ebp-154H], edi mov edi, dword ptr [ebp-BCH] cmp edi, dword ptr [ebp-154H] jae SHORT G_M000_IG80 cmp edi, dword ptr [ebp-154H] jae G_M000_IG165 mov esi, bword ptr [ebp-244H] mov word ptr [esi+2*edi], dx inc edi mov dword ptr [ebx+04H], edi jmp SHORT G_M000_IG81 G_M000_IG80: mov dword ptr [ebp-5CH], ecx mov ecx, ebx 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-138H] jae G_M000_IG165 mov edx, bword ptr [ebp-224H] 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-2CCH] mov edx, gword ptr [edx+1CH] mov gword ptr [ebp-1FCH], edx test edx, edx jne SHORT G_M000_IG83 xor edx, edx mov bword ptr [ebp-248H], edx xor edx, edx mov dword ptr [ebp-158H], 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-200H], edx mov edx, gword ptr [ebp-1FCH] mov edx, dword ptr [edx+04H] mov dword ptr [ebp-C0H], edx mov edx, bword ptr [ebp-200H] mov bword ptr [ebp-24CH], edx mov edx, dword ptr [ebp-C0H] mov dword ptr [ebp-15CH], edx mov edx, bword ptr [ebp-24CH] mov bword ptr [ebp-248H], edx mov edx, dword ptr [ebp-15CH] mov dword ptr [ebp-158H], edx G_M000_IG84: mov edx, bword ptr [ebp-248H] mov bword ptr [ebp-250H], edx mov edx, dword ptr [ebp-158H] mov dword ptr [ebp-C4H], edx mov edx, bword ptr [ebp-250H] mov bword ptr [ebp-258H], edx mov edx, dword ptr [ebp-C4H] mov dword ptr [ebp-164H], edx mov edx, dword ptr [ebx+04H] mov dword ptr [ebp-C8H], edx mov edx, bword ptr [ebx+08H] mov bword ptr [ebp-254H], edx mov edx, dword ptr [ebx+0CH] mov dword ptr [ebp-160H], edx cmp dword ptr [ebp-164H], 1 jne SHORT G_M000_IG86 mov edx, dword ptr [ebp-C8H] cmp edx, dword ptr [ebp-160H] jae SHORT G_M000_IG85 cmp edx, dword ptr [ebp-160H] jae G_M000_IG165 cmp dword ptr [ebp-164H], 0 jbe G_M000_IG165 mov edx, bword ptr [ebp-258H] movzx edx, word ptr [edx] mov edi, bword ptr [ebp-254H] mov esi, dword ptr [ebp-C8H] 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-164H] push bword ptr [ebp-258H] 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-1E4H], edi cmp edi, 5 ja SHORT G_M000_IG92 lea edi, [@RWD44] mov esi, dword ptr [ebp-1E4H] 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-1DCH] 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-2CCH] 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-D0H], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-CCH], ecx mov ecx, bword ptr [ebx+08H] mov bword ptr [ebp-25CH], ecx mov ecx, dword ptr [ebx+0CH] mov dword ptr [ebp-168H], ecx mov ecx, dword ptr [ebp-CCH] cmp ecx, dword ptr [ebp-168H] jae SHORT G_M000_IG105 cmp ecx, dword ptr [ebp-168H] jae G_M000_IG165 mov edx, bword ptr [ebp-25CH] mov edi, dword ptr [ebp-D0H] 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-D0H] 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-138H] jae G_M000_IG165 mov edx, bword ptr [ebp-224H] 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-2CCH] mov edx, gword ptr [edx+1CH] mov gword ptr [ebp-204H], edx test edx, edx jne SHORT G_M000_IG109 xor edx, edx mov bword ptr [ebp-260H], edx xor edx, edx mov dword ptr [ebp-16CH], 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-208H], edx mov edx, gword ptr [ebp-204H] mov edx, dword ptr [edx+04H] mov dword ptr [ebp-D4H], edx mov edx, bword ptr [ebp-208H] mov bword ptr [ebp-264H], edx mov edx, dword ptr [ebp-D4H] mov dword ptr [ebp-170H], edx mov edx, bword ptr [ebp-264H] mov bword ptr [ebp-260H], edx mov edx, dword ptr [ebp-170H] mov dword ptr [ebp-16CH], edx G_M000_IG110: mov edx, bword ptr [ebp-260H] mov bword ptr [ebp-268H], edx mov edx, dword ptr [ebp-16CH] mov dword ptr [ebp-D8H], edx mov edx, bword ptr [ebp-268H] mov bword ptr [ebp-270H], edx mov edx, dword ptr [ebp-D8H] mov dword ptr [ebp-178H], edx mov edx, dword ptr [ebx+04H] mov dword ptr [ebp-DCH], edx mov edx, bword ptr [ebx+08H] mov bword ptr [ebp-26CH], edx mov edx, dword ptr [ebx+0CH] mov dword ptr [ebp-174H], edx cmp dword ptr [ebp-178H], 1 jne SHORT G_M000_IG111 mov edx, dword ptr [ebp-DCH] cmp edx, dword ptr [ebp-174H] jae SHORT G_M000_IG111 cmp edx, dword ptr [ebp-174H] jae G_M000_IG165 cmp dword ptr [ebp-178H], 0 jbe G_M000_IG165 mov edx, bword ptr [ebp-270H] movzx edx, word ptr [edx] mov edi, bword ptr [ebp-26CH] mov esi, dword ptr [ebp-DCH] 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-178H] push bword ptr [ebp-270H] 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-1DCH] 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-1DCH] 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-2CCH] mov ecx, gword ptr [ecx+18H] mov gword ptr [ebp-20CH], ecx test ecx, ecx jne SHORT G_M000_IG116 xor ecx, ecx mov bword ptr [ebp-274H], ecx xor ecx, ecx mov dword ptr [ebp-17CH], ecx jmp SHORT G_M000_IG117 G_M000_IG116: add ecx, 8 mov bword ptr [ebp-210H], ecx mov ecx, gword ptr [ebp-20CH] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-E0H], ecx mov ecx, bword ptr [ebp-210H] mov bword ptr [ebp-278H], ecx mov ecx, dword ptr [ebp-E0H] mov dword ptr [ebp-180H], ecx mov ecx, bword ptr [ebp-278H] mov bword ptr [ebp-274H], ecx mov ecx, dword ptr [ebp-180H] mov dword ptr [ebp-17CH], ecx G_M000_IG117: mov ecx, bword ptr [ebp-274H] mov bword ptr [ebp-27CH], ecx mov ecx, dword ptr [ebp-17CH] mov dword ptr [ebp-E4H], ecx mov ecx, bword ptr [ebp-27CH] mov bword ptr [ebp-284H], ecx mov ecx, dword ptr [ebp-E4H] mov dword ptr [ebp-188H], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-E8H], ecx mov ecx, bword ptr [ebx+08H] mov bword ptr [ebp-280H], ecx mov ecx, dword ptr [ebx+0CH] mov dword ptr [ebp-184H], ecx cmp dword ptr [ebp-188H], 1 jne SHORT G_M000_IG118 mov ecx, dword ptr [ebp-E8H] cmp ecx, dword ptr [ebp-184H] jae SHORT G_M000_IG118 cmp ecx, dword ptr [ebp-184H] jae G_M000_IG165 cmp dword ptr [ebp-188H], 0 jbe G_M000_IG165 mov ecx, bword ptr [ebp-284H] movzx ecx, word ptr [ecx] mov edi, bword ptr [ebp-280H] mov edx, dword ptr [ebp-E8H] 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-188H] push bword ptr [ebp-284H] 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-214H], ecx test ecx, ecx jne SHORT G_M000_IG121 xor ecx, ecx mov bword ptr [ebp-288H], ecx xor ecx, ecx mov dword ptr [ebp-18CH], ecx jmp SHORT G_M000_IG122 G_M000_IG121: add ecx, 8 mov bword ptr [ebp-218H], ecx mov ecx, gword ptr [ebp-214H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-ECH], ecx mov ecx, bword ptr [ebp-218H] mov bword ptr [ebp-28CH], ecx mov ecx, dword ptr [ebp-ECH] mov dword ptr [ebp-190H], ecx mov ecx, bword ptr [ebp-28CH] mov bword ptr [ebp-288H], ecx mov ecx, dword ptr [ebp-190H] mov dword ptr [ebp-18CH], ecx G_M000_IG122: mov ecx, bword ptr [ebp-288H] mov bword ptr [ebp-290H], ecx mov ecx, dword ptr [ebp-18CH] mov dword ptr [ebp-F0H], ecx mov ecx, bword ptr [ebp-290H] mov bword ptr [ebp-298H], ecx mov ecx, dword ptr [ebp-F0H] mov dword ptr [ebp-198H], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-F4H], ecx mov ecx, bword ptr [ebx+08H] mov bword ptr [ebp-294H], ecx mov ecx, dword ptr [ebx+0CH] mov dword ptr [ebp-194H], ecx cmp dword ptr [ebp-198H], 1 jne SHORT G_M000_IG123 mov ecx, dword ptr [ebp-F4H] cmp ecx, dword ptr [ebp-194H] jae SHORT G_M000_IG123 cmp ecx, dword ptr [ebp-194H] jae G_M000_IG165 cmp dword ptr [ebp-198H], 0 jbe G_M000_IG165 mov ecx, bword ptr [ebp-298H] movzx ecx, word ptr [ecx] mov edi, bword ptr [ebp-294H] mov edx, dword ptr [ebp-F4H] mov word ptr [edi+2*edx], cx inc edx mov dword ptr [ebx+04H], edx mov esi, dword ptr [ebp-1DCH] mov edi, dword ptr [ebp-88H] jmp G_M000_IG64 G_M000_IG123: push dword ptr [ebp-198H] push bword ptr [ebp-298H] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] mov esi, dword ptr [ebp-1DCH] mov edi, dword ptr [ebp-88H] jmp G_M000_IG64 G_M000_IG124: mov edx, gword ptr [ebp-2CCH] mov edx, gword ptr [edx+40H] mov gword ptr [ebp-21CH], edx test edx, edx jne SHORT G_M000_IG125 xor edx, edx mov bword ptr [ebp-29CH], edx xor edx, edx mov dword ptr [ebp-19CH], edx jmp SHORT G_M000_IG126 G_M000_IG125: add edx, 8 mov bword ptr [ebp-220H], edx mov edx, gword ptr [ebp-21CH] mov edx, dword ptr [edx+04H] mov dword ptr [ebp-F8H], edx mov edx, bword ptr [ebp-220H] mov bword ptr [ebp-2A0H], edx mov edx, dword ptr [ebp-F8H] mov dword ptr [ebp-1A0H], edx mov edx, bword ptr [ebp-2A0H] mov bword ptr [ebp-29CH], edx mov edx, dword ptr [ebp-1A0H] mov dword ptr [ebp-19CH], edx G_M000_IG126: mov edx, bword ptr [ebp-29CH] mov bword ptr [ebp-2A4H], edx mov edx, dword ptr [ebp-19CH] mov dword ptr [ebp-FCH], edx mov edx, bword ptr [ebp-2A4H] mov bword ptr [ebp-2ACH], edx mov edx, dword ptr [ebp-FCH] mov dword ptr [ebp-1A8H], edx mov edx, dword ptr [ebx+04H] mov dword ptr [ebp-100H], edx mov edx, bword ptr [ebx+08H] mov bword ptr [ebp-2A8H], edx mov edx, dword ptr [ebx+0CH] mov dword ptr [ebp-1A4H], edx cmp dword ptr [ebp-1A8H], 1 jne SHORT G_M000_IG127 mov edx, dword ptr [ebp-100H] cmp edx, dword ptr [ebp-1A4H] jae SHORT G_M000_IG127 cmp edx, dword ptr [ebp-1A4H] jae G_M000_IG165 cmp dword ptr [ebp-1A8H], 0 jbe G_M000_IG165 mov edx, bword ptr [ebp-2ACH] movzx edx, word ptr [edx] mov edi, bword ptr [ebp-2A8H] mov esi, dword ptr [ebp-100H] mov word ptr [edi+2*esi], dx inc esi mov dword ptr [ebx+04H], esi mov esi, dword ptr [ebp-1DCH] mov edi, dword ptr [ebp-88H] jmp G_M000_IG64 G_M000_IG127: push dword ptr [ebp-1A8H] push bword ptr [ebp-2ACH] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] mov esi, dword ptr [ebp-1DCH] mov edi, dword ptr [ebp-88H] jmp G_M000_IG64 G_M000_IG128: inc eax mov dword ptr [ebp-54H], eax mov esi, dword ptr [ebx+04H] mov dword ptr [ebp-104H], esi mov esi, bword ptr [ebx+08H] mov bword ptr [ebp-2B0H], esi mov esi, dword ptr [ebx+0CH] mov dword ptr [ebp-1ACH], esi mov esi, dword ptr [ebp-104H] cmp esi, dword ptr [ebp-1ACH] jae SHORT G_M000_IG129 cmp esi, dword ptr [ebp-1ACH] jae G_M000_IG165 mov edx, bword ptr [ebp-2B0H] mov word ptr [edx+2*esi], di inc esi mov dword ptr [ebx+04H], esi mov ecx, dword ptr [ebp-5CH] jmp SHORT G_M000_IG130 G_M000_IG129: mov ecx, ebx mov edx, edi 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-1DCH] 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-1DCH] 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-1DCH] 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-1DCH] 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-1D4H], 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-1D4H] mov dword ptr [ebp-10CH], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-108H], ecx mov ecx, bword ptr [ebx+08H] mov bword ptr [ebp-2B4H], ecx mov ecx, dword ptr [ebx+0CH] mov dword ptr [ebp-1B0H], ecx mov ecx, dword ptr [ebp-108H] 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-2B4H] mov edx, dword ptr [ebp-10CH] 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-10CH] 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-1DCH] 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 SHORT 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-114H], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-110H], ecx mov ecx, bword ptr [ebx+08H] mov bword ptr [ebp-2B8H], ecx mov ecx, dword ptr [ebx+0CH] mov dword ptr [ebp-1B4H], ecx mov ecx, dword ptr [ebp-110H] 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-2B8H] mov edi, dword ptr [ebp-114H] 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-114H] 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-1E8H] 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-2CCH] 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-11CH], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-118H], ecx mov ecx, bword ptr [ebx+08H] mov bword ptr [ebp-2BCH], ecx mov ecx, dword ptr [ebx+0CH] mov dword ptr [ebp-1B8H], ecx mov ecx, dword ptr [ebp-118H] 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-2BCH] mov edi, dword ptr [ebp-11CH] 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-11CH] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] G_M000_IG153: mov eax, dword ptr [ebp-54H] mov esi, dword ptr [ebp-1DCH] 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-124H], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-120H], ecx mov ecx, bword ptr [ebx+08H] mov bword ptr [ebp-2C0H], ecx mov ecx, dword ptr [ebx+0CH] mov dword ptr [ebp-1BCH], ecx mov ecx, dword ptr [ebp-120H] 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-2C0H] mov edx, dword ptr [ebp-124H] 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-124H] 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-12CH], ecx mov edi, dword ptr [ebx+04H] mov dword ptr [ebp-128H], edi mov edi, bword ptr [ebx+08H] mov bword ptr [ebp-2C4H], edi mov edi, dword ptr [ebx+0CH] mov dword ptr [ebp-1C0H], edi mov edi, dword ptr [ebp-128H] cmp edi, dword ptr [ebp-1C0H] jae SHORT G_M000_IG157 cmp edi, dword ptr [ebp-1C0H] jae G_M000_IG165 mov edx, bword ptr [ebp-2C4H] mov word ptr [edx+2*edi], cx inc edi mov dword ptr [ebx+04H], edi mov eax, dword ptr [ebp-54H] jmp SHORT G_M000_IG158 G_M000_IG157: 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] 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-134H], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-130H], ecx mov ecx, bword ptr [ebx+08H] mov bword ptr [ebp-2C8H], ecx mov ecx, dword ptr [ebx+0CH] mov dword ptr [ebp-1C4H], ecx mov ecx, dword ptr [ebp-130H] cmp ecx, dword ptr [ebp-1C4H] jae SHORT G_M000_IG161 cmp ecx, dword ptr [ebp-1C4H] jae SHORT G_M000_IG165 mov edi, bword ptr [ebp-2C8H] mov edx, dword ptr [ebp-134H] mov word ptr [edi+2*ecx], dx inc ecx mov dword ptr [ebx+04H], ecx mov esi, dword ptr [ebp-1DCH] mov edi, dword ptr [ebp-88H] jmp G_M000_IG64 G_M000_IG161: mov ecx, ebx mov edx, dword ptr [ebp-134H] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov esi, dword ptr [ebp-1DCH] 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 5754 738: 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=5754] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:GetAverageTime():Perfolizer.Horology.TimeInterval:this ; Emitting BLENDED_CODE for X86 with AVX - 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 739: 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 X86 with AVX - 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 740: 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 X86 with AVX - 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 741: 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 X86 with AVX - 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 742: 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 X86 with AVX - 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 743: 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 X86 with AVX - 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 744: 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 X86 with AVX - 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 745: 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 X86 with AVX - 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 746: 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 X86 with AVX - 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 747: 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 X86 with AVX - 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 748: 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 X86 with AVX - 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+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] G_M000_IG03: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] G_M000_IG04: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 395 749: 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 X86 with AVX - 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 750: 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 X86 with AVX - 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 751: 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 X86 with AVX - 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 752: JIT compiled BenchmarkDotNet.Engines.Engine:get_IterationSetupAction() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0+<>c:<.ctor>b__3_2():this ; Emitting BLENDED_CODE for X86 with AVX - 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 753: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0+<>c:<.ctor>b__3_2() [Tier0, IL size=1, code size=11] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:WorkloadJittingStart(long):this ; Emitting BLENDED_CODE for X86 with AVX - 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 754: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:WorkloadJittingStart(long) [Tier0, IL size=9, code size=33] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:WorkloadActionNoUnroll(long):this ; Emitting BLENDED_CODE for X86 with AVX - 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, 16 mov esi, ecx G_M000_IG02: movsx ebx, byte ptr [esi+28H] mov dword ptr [ebp-10H], ebx xor edi, edi xor eax, eax mov dword ptr [ebp-14H], eax cmp dword ptr [ebp+08H], 1 mov ecx, dword ptr [ebp+0CH] sbb ecx, 0 jl SHORT G_M000_IG04 G_M000_IG03: mov edx, gword ptr [esi+1CH] mov gword ptr [ebp-18H], edx mov ecx, gword ptr [esi+18H] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ecx+04H] mov edx, ebx mov ebx, gword ptr [ebp-1CH] call [ebx+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke(byte):System.String:this mov ebx, gword ptr [ebp-18H] lea edx, bword ptr [ebx+1CH] call CORINFO_HELP_ASSIGN_REF_EAX add edi, 1 mov ebx, dword ptr [ebp-14H] adc ebx, 0 cmp edi, dword ptr [ebp+08H] mov eax, ebx sbb eax, dword ptr [ebp+0CH] mov dword ptr [ebp-14H], ebx jl SHORT G_M000_IG05 G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG05: mov ebx, dword ptr [ebp-10H] jmp SHORT G_M000_IG03 ; Total bytes of code 108 755: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:WorkloadActionNoUnroll(long) [Tier1, IL size=45, code size=108] ; Assembly listing for method System.Tests.Perf_SByte:ToString(byte):System.String:this ; Emitting BLENDED_CODE for X86 with AVX - 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: lea ecx, [ebp-08H] call [System.SByte:ToString():System.String:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 25 756: JIT compiled System.Tests.Perf_SByte:ToString(byte) [Tier0, IL size=8, code size=25] ; Assembly listing for method System.Number:UInt32ToDecChars[ushort](uint,uint,int):uint ; Emitting BLENDED_CODE for X86 with AVX - 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 mov eax, dword ptr [eax+4*esi+08H] 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 135 757: JIT compiled System.Number:UInt32ToDecChars[ushort](uint,uint,int) [Tier-0 switched to FullOpts, IL size=123, code size=135] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:WorkloadJittingStop(long):this ; Emitting BLENDED_CODE for X86 with AVX - 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 758: 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 X86 with AVX - 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 759: JIT compiled BenchmarkDotNet.Engines.Engine:get_IterationCleanupAction() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0+<>c:<.ctor>b__3_3():this ; Emitting BLENDED_CODE for X86 with AVX - 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 760: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0+<>c:<.ctor>b__3_3() [Tier0, IL size=1, code size=11] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_Dummy3Action():System.Action:this ; Emitting BLENDED_CODE for X86 with AVX - 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 761: 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 X86 with AVX - 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+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] G_M000_IG03: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] G_M000_IG04: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+24H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 395 762: 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 X86 with AVX - 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 763: JIT compiled BenchmarkDotNet.Engines.Engine:WriteLine() [Tier0, IL size=12, code size=28] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_IterationTime():Perfolizer.Horology.TimeInterval:this ; Emitting BLENDED_CODE for X86 with AVX - 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] call [BenchmarkDotNet.Engines.EngineParameters:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-0CH], eax push gword ptr [D1FFAB1EH] push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-0CH] mov edx, bword ptr [ebp-08H] 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] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 59 764: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_IterationTime() [Tier0, IL size=22, code size=59] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass2_0`1[int]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Object:this ; Emitting BLENDED_CODE for X86 with AVX - 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 765: 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.Environments.EnvironmentResolver+<>c:<.ctor>b__2_2(BenchmarkDotNet.Characteristics.CharacteristicObject):int:this ; Emitting BLENDED_CODE for X86 with AVX - 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 0 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],int):int:this] mov dword ptr [ebp-0CH], eax cmp dword ptr [ebp-0CH], 0 je SHORT G_M000_IG04 mov eax, dword ptr [ebp-0CH] dec eax cmp eax, 1 jbe SHORT G_M000_IG06 G_M000_IG03: jmp SHORT G_M000_IG08 G_M000_IG04: mov eax, 16 G_M000_IG05: mov esp, ebp pop ebp ret G_M000_IG06: mov eax, 1 G_M000_IG07: mov esp, ebp pop ebp ret G_M000_IG08: 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 195 766: JIT compiled BenchmarkDotNet.Environments.EnvironmentResolver+<>c:<.ctor>b__2_2(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=72, code size=195] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int):int:this ; Emitting BLENDED_CODE for X86 with AVX - 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:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax jne 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, dword ptr [ebp+08H] mov dword ptr [ecx+04H], edx push gword ptr [ebp-0CH] 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 mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-10H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] mov eax, dword ptr [eax] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: 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] G_M000_IG05: mov esp, ebp pop ebp ret 4 ; Total bytes of code 121 767: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int) [Tier0, IL size=36, code size=121] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this ; Emitting BLENDED_CODE for X86 with AVX - 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 768: 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 X86 with AVX - 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 769: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Resolver() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineFactory:CreateMultiActionEngine(BenchmarkDotNet.Engines.EngineParameters):BenchmarkDotNet.Engines.Engine ; Emitting BLENDED_CODE for X86 with AVX - 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 770: JIT compiled BenchmarkDotNet.Engines.EngineFactory:CreateMultiActionEngine(BenchmarkDotNet.Engines.EngineParameters) [Tier0, IL size=25, code size=76] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_9():bool:this ; Emitting BLENDED_CODE for X86 with AVX - 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 771: JIT compiled BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_9() [Tier0, IL size=2, code size=16] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:OverheadActionUnroll(long):this ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 32 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: movsx ebx, byte ptr [esi+28H] xor edi, edi xor eax, eax mov dword ptr [ebp-10H], edi mov dword ptr [ebp-14H], eax cmp dword ptr [ebp+08H], 1 mov ecx, dword ptr [ebp+0CH] sbb ecx, 0 jl G_M000_IG06 G_M000_IG03: mov edx, gword ptr [esi+1CH] mov gword ptr [ebp-18H], edx mov ecx, gword ptr [esi+14H] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ecx+04H] mov edx, ebx mov edi, gword ptr [ebp-1CH] call [edi+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke(byte):System.String:this mov edi, gword ptr [ebp-18H] lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+14H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+14H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+14H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+14H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+14H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+14H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+14H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] G_M000_IG04: mov eax, gword ptr [esi+14H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+14H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+14H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+14H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+14H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+14H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+14H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+14H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, dword ptr [ebp-10H] add edi, 1 mov eax, dword ptr [ebp-14H] adc eax, 0 cmp edi, dword ptr [ebp+08H] mov edx, eax sbb edx, dword ptr [ebp+0CH] mov dword ptr [ebp-10H], edi G_M000_IG05: mov dword ptr [ebp-14H], eax jl G_M000_IG03 G_M000_IG06: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 447 772: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:OverheadActionUnroll(long) [Tier1, IL size=396, code size=447] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:WorkloadActionUnroll(long):this ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 32 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: movsx ebx, byte ptr [esi+28H] xor edi, edi xor eax, eax mov dword ptr [ebp-10H], edi mov dword ptr [ebp-14H], eax cmp dword ptr [ebp+08H], 1 mov ecx, dword ptr [ebp+0CH] sbb ecx, 0 jl G_M000_IG06 G_M000_IG03: mov edx, gword ptr [esi+1CH] mov gword ptr [ebp-18H], edx mov ecx, gword ptr [esi+18H] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ecx+04H] mov edx, ebx mov edi, gword ptr [ebp-1CH] call [edi+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke(byte):System.String:this mov edi, gword ptr [ebp-18H] lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+18H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+18H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+18H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+18H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+18H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+18H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+18H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] G_M000_IG04: mov eax, gword ptr [esi+18H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+18H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+18H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+18H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+18H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+18H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+18H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [esi+1CH] mov eax, gword ptr [esi+18H] mov ecx, gword ptr [eax+04H] mov edx, ebx call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke(byte):System.String:this lea edx, bword ptr [edi+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, dword ptr [ebp-10H] add edi, 1 mov eax, dword ptr [ebp-14H] adc eax, 0 cmp edi, dword ptr [ebp+08H] mov edx, eax sbb edx, dword ptr [ebp+0CH] mov dword ptr [ebp-10H], edi G_M000_IG05: mov dword ptr [ebp-14H], eax jl G_M000_IG03 G_M000_IG06: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 447 773: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:WorkloadActionUnroll(long) [Tier1, IL size=396, code size=447] ; Assembly listing for method BenchmarkDotNet.Engines.DeadCodeEliminationHelper:KeepAliveWithoutBoxing[Perfolizer.Horology.TimeInterval](Perfolizer.Horology.TimeInterval) ; Emitting BLENDED_CODE for X86 with AVX - 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 774: 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 X86 with AVX - 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 775: 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 X86 with AVX - 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, 45 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 776: 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 X86 with AVX - 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 777: 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 X86 with AVX - 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 778: 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 X86 with AVX - 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 779: 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 X86 with AVX - 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 780: 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 X86 with AVX - 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 781: 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 X86 with AVX - 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 782: 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 X86 with AVX - 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 783: 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 X86 with AVX - 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 784: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass6_0`1[long]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass6_0`1[long]:b__0(BenchmarkDotNet.Characteristics.IResolver):bool:this ; Emitting BLENDED_CODE for X86 with AVX - 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 785: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass6_0`1[long]:b__0(BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=13, code size=31] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_BenchmarkName():System.String:this ; Emitting BLENDED_CODE for X86 with AVX - 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 786: 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 X86 with AVX - 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 787: 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 X86 with AVX - 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 788: 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 X86 with AVX - 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 789: 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 X86 with AVX - 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 790: JIT compiled BenchmarkDotNet.Engines.EngineStage:get_TargetJob() [Tier0, IL size=12, code size=23] ; Assembly listing for method BenchmarkDotNet.Engines.EnginePilotStage:RunSpecific():BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:this ; Emitting BLENDED_CODE for X86 with AVX - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 6 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 160 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-4CH], xmm4 vmovdqu xmmword ptr [ebp-3CH], xmm4 vmovdqu xmmword ptr [ebp-2CH], xmm4 mov bword ptr [ebp-9CH], edx mov esi, ecx G_M000_IG02: mov ebx, dword ptr [esi+24H] mov eax, ebx sar eax, 31 mov dword ptr [ebp-90H], eax mov edx, ebx add edx, 4 mov ecx, eax adc ecx, 0 sub edx, 1 sbb ecx, 0 push ecx push edx push eax push ebx call CORINFO_HELP_LDIV push edx push eax push dword ptr [ebp-90H] push ebx call CORINFO_HELP_LMUL mov ebx, eax mov dword ptr [ebp-80H], edx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [eax+04H], 0xD1FFAB1E mov gword ptr [ebp-A0H], eax xor edx, edx xor ecx, ecx mov dword ptr [ebp-1CH], ecx G_M000_IG03: inc edx push 1 push 1 mov dword ptr [ebp-18H], edx push edx mov edi, dword ptr [ebp-80H] push edi push ebx push dword ptr [esi+24H] lea edx, [ebp-3CH] mov ecx, esi call [BenchmarkDotNet.Engines.EngineStage:RunIteration(int,int,int,long,int):BenchmarkDotNet.Reports.Measurement:this] vmovdqu ymm0, ymmword ptr [ebp-3CH] vmovdqu ymmword ptr [ebp-6CH], ymm0 mov eax, gword ptr [ebp-A0H] inc dword ptr [eax+0CH] mov ecx, gword ptr [eax+04H] mov gword ptr [ebp-A4H], ecx mov edx, dword ptr [eax+08H] cmp dword ptr [ecx+04H], edx jbe SHORT G_M000_IG05 G_M000_IG04: lea ecx, [edx+01H] mov dword ptr [eax+08H], ecx shl edx, 5 mov ecx, gword ptr [ebp-A4H] vmovdqu ymm0, ymmword ptr [ebp-6CH] vmovdqu ymmword ptr [ecx+edx+08H], ymm0 jmp SHORT G_M000_IG06 G_M000_IG05: sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp-6CH] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-5CH] vmovdqu xmmword ptr [esp+10H], xmm0 mov ecx, eax call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddWithResize(BenchmarkDotNet.Reports.Measurement):this] G_M000_IG06: vmovsd xmm0, qword ptr [ebp-24H] vmovsd qword ptr [ebp-44H], xmm0 mov edx, dword ptr [esi+28H] mov ecx, edx sar ecx, 31 mov dword ptr [ebp-88H], edx mov dword ptr [ebp-8CH], ecx push edi push ebx call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-ACH] vmovsd xmm0, qword ptr [ebp-ACH] vmulsd xmm0, xmm0, qword ptr [esi+14H] vdivsd xmm0, xmm0, qword ptr [ebp-44H] vroundsd xmm0, xmm0, xmm0, 4 sub esp, 8 vmovsd qword ptr [esp], xmm0 call CORINFO_HELP_DBL2LNG cmp dword ptr [ebp-88H], eax mov ecx, dword ptr [ebp-8CH] sbb ecx, edx jge SHORT G_M000_IG08 G_M000_IG07: jmp SHORT G_M000_IG09 G_M000_IG08: mov eax, dword ptr [ebp-88H] mov edx, dword ptr [ebp-8CH] G_M000_IG09: push edx push eax mov ecx, esi call [BenchmarkDotNet.Engines.EnginePilotStage:Autocorrect(long):long:this] mov dword ptr [ebp-84H], edx cmp eax, ebx mov ecx, edx sbb ecx, edi jge SHORT G_M000_IG11 G_M000_IG10: mov ecx, dword ptr [ebp-1CH] inc ecx mov dword ptr [ebp-1CH], ecx G_M000_IG11: mov ecx, eax sub ecx, ebx sbb edx, edi jns SHORT G_M000_IG13 G_M000_IG12: neg ecx adc edx, 0 neg edx js SHORT G_M000_IG17 G_M000_IG13: cmp ecx, 2 mov ecx, edx sbb ecx, 0 jl SHORT G_M000_IG15 G_M000_IG14: mov ecx, dword ptr [ebp-1CH] cmp ecx, 3 jge SHORT G_M000_IG15 mov ebx, eax mov edx, dword ptr [ebp-84H] mov edi, edx mov dword ptr [ebp-80H], edi mov dword ptr [ebp-1CH], ecx mov edx, dword ptr [ebp-18H] jmp G_M000_IG03 G_M000_IG15: mov ecx, gword ptr [esi+04H] call [BenchmarkDotNet.Engines.IEngine:WriteLine():this] mov dword ptr [ebp-7CH], ebx mov dword ptr [ebp-78H], edi mov esi, gword ptr [ebp-A0H] mov edi, bword ptr [ebp-9CH] mov edx, edi mov eax, dword ptr [ebp-7CH] mov dword ptr [edx], eax mov eax, dword ptr [ebp-78H] mov dword ptr [edx+04H], eax lea edx, bword ptr [edi+08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_ESI G_M000_IG16: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG17: call [System.Math:ThrowNegateTwosCompOverflow()] int3 ; Total bytes of code 520 791: JIT compiled BenchmarkDotNet.Engines.EnginePilotStage:RunSpecific() [Tier-0 switched to FullOpts, IL size=141, code size=520] ; Assembly listing for method BenchmarkDotNet.Engines.EngineStage:RunIteration(int,int,int,long,int):BenchmarkDotNet.Reports.Measurement:this ; Emitting BLENDED_CODE for X86 with AVX - 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 792: 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:WorkloadPilotStart(long):this ; Emitting BLENDED_CODE for X86 with AVX - 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, 7 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 793: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:WorkloadPilotStart(long) [Tier0, IL size=9, code size=33] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:WorkloadPilotStop(long):this ; Emitting BLENDED_CODE for X86 with AVX - 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, 8 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 794: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:WorkloadPilotStop(long) [Tier0, IL size=9, code size=33] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddWithResize(BenchmarkDotNet.Reports.Measurement):this ; Emitting BLENDED_CODE for X86 with AVX - 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 G_M000_IG02: mov edx, gword ptr [ebp-04H] mov edx, dword ptr [edx+08H] mov dword ptr [ebp-08H], edx mov edx, dword ptr [ebp-08H] inc edx mov ecx, gword ptr [ebp-04H] call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:Grow(int):this] mov eax, dword ptr [ebp-08H] inc eax mov edx, gword ptr [ebp-04H] mov dword ptr [edx+08H], eax 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_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 89 795: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddWithResize(BenchmarkDotNet.Reports.Measurement) [Tier0, IL size=39, code size=89] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:Grow(int):this ; Emitting BLENDED_CODE for X86 with AVX - 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, gword ptr [ecx+04H] cmp dword ptr [ecx+04H], 0 je SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov ecx, dword ptr [ecx+04H] add ecx, ecx mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG04 G_M000_IG03: mov dword ptr [ebp-10H], 4 G_M000_IG04: mov ecx, dword ptr [ebp-10H] mov dword ptr [ebp-0CH], ecx cmp dword ptr [ebp-0CH], 0xD1FFAB1E jbe SHORT G_M000_IG05 mov dword ptr [ebp-0CH], 0xD1FFAB1E G_M000_IG05: mov ecx, dword ptr [ebp-0CH] cmp ecx, dword ptr [ebp-08H] jge SHORT G_M000_IG06 mov ecx, dword ptr [ebp-08H] mov dword ptr [ebp-0CH], ecx G_M000_IG06: mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp-0CH] call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:set_Capacity(int):this] G_M000_IG07: mov esp, ebp pop ebp ret ; Total bytes of code 99 796: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:Grow(int) [Tier0, IL size=53, code size=99] ; Assembly listing for method BenchmarkDotNet.Engines.EnginePilotStage:Autocorrect(long):long:this ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, dword ptr [ebp+08H] mov edx, gword ptr [ebp-04H] mov edx, dword ptr [edx+24H] mov dword ptr [ebp-08H], edx mov edx, dword ptr [ebp-08H] sar edx, 31 add eax, dword ptr [ebp-08H] adc edx, dword ptr [ebp+0CH] sub eax, 1 sbb edx, 0 push edx push eax mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+24H] mov dword ptr [ebp-0CH], eax mov eax, dword ptr [ebp-0CH] sar eax, 31 push eax push dword ptr [ebp-0CH] call CORINFO_HELP_LDIV mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], edx push dword ptr [ebp-10H] push dword ptr [ebp-14H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+24H] mov dword ptr [ebp-18H], eax mov eax, dword ptr [ebp-18H] sar eax, 31 push eax push dword ptr [ebp-18H] call CORINFO_HELP_LMUL mov dword ptr [ebp-20H], eax mov dword ptr [ebp-1CH], edx mov eax, dword ptr [ebp-20H] mov edx, dword ptr [ebp-1CH] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 119 797: JIT compiled BenchmarkDotNet.Engines.EnginePilotStage:Autocorrect(long) [Tier0, IL size=29, code size=119] ; Assembly listing for method System.Number:Int32ToDecStr(int):System.String ; Emitting BLENDED_CODE for X86 with AVX - 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: test esi, esi jge SHORT G_M000_IG05 G_M000_IG03: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] push gword ptr [eax+14H] mov ecx, esi mov edx, -1 call [System.Number:NegativeInt32ToDecStr(int,int,System.String):System.String] G_M000_IG04: pop esi pop ebp ret G_M000_IG05: mov ecx, esi call [System.Number:UInt32ToDecStr(uint):System.String] G_M000_IG06: pop esi pop ebp ret ; Total bytes of code 46 798: JIT compiled System.Number:Int32ToDecStr(int) [Tier1, IL size=29, code size=46] ; Assembly listing for method System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo ; Emitting BLENDED_CODE for X86 with AVX - 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: call [System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo] mov ecx, eax cmp byte ptr [ecx+31H], 0 jne SHORT G_M000_IG05 G_M000_IG03: mov eax, gword ptr [ecx+0CH] test eax, eax je SHORT G_M000_IG05 G_M000_IG04: pop ebp ret G_M000_IG05: mov edx, 0xD1FFAB1E mov eax, dword ptr [ecx] mov eax, dword ptr [eax+30H] call [eax]System.Globalization.CultureInfo:GetFormat(System.Type):System.Object:this mov edx, eax mov eax, edx test eax, eax je SHORT G_M000_IG07 G_M000_IG06: mov ecx, 0xD1FFAB1E cmp dword ptr [eax], ecx jne SHORT G_M000_IG08 G_M000_IG07: pop ebp ret G_M000_IG08: call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 ; Total bytes of code 64 799: JIT compiled System.Globalization.NumberFormatInfo:get_CurrentInfo() [Tier1, IL size=48, code size=64] ; Assembly listing for method System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo ; Emitting BLENDED_CODE for X86 with AVX - 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, dword ptr FS:[0x002C] mov eax, dword ptr [eax+10H] cmp dword ptr [eax+F8H], 2 jl SHORT G_M000_IG06 mov eax, dword ptr [eax+F0H] mov eax, dword ptr [eax+08H] test eax, eax je SHORT G_M000_IG06 mov eax, bword ptr [eax] add eax, 8 G_M000_IG03: mov eax, gword ptr [eax+04H] test eax, eax jne SHORT G_M000_IG05 G_M000_IG04: mov eax, gword ptr [D1FFAB1EH] test eax, eax jne SHORT G_M000_IG05 mov eax, gword ptr [D1FFAB1EH] test eax, eax jne SHORT G_M000_IG05 call [System.Globalization.CultureInfo:InitializeUserDefaultCulture():System.Globalization.CultureInfo] G_M000_IG05: pop ebp ret G_M000_IG06: mov ecx, 2 call CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED jmp SHORT G_M000_IG03 ; Total bytes of code 84 800: JIT compiled System.Globalization.CultureInfo:get_CurrentCulture() [Tier1, IL size=37, code size=84] ; Assembly listing for method System.Number:NegativeInt32ToDecStr(int,int,System.String):System.String ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 1 inlinees with PGO data; 10 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 xor eax, eax mov dword ptr [ebp-14H], eax mov ebx, ecx mov esi, edx mov edi, gword ptr [ebp+08H] G_M000_IG02: mov ecx, 1 test esi, esi cmovle esi, ecx mov ecx, ebx neg ecx mov eax, ecx or eax, 1 lzcnt eax, eax xor eax, 31 lea eax, [8*eax+D1FFAB1EH] mov edx, dword ptr [eax] mov eax, dword ptr [eax+04H] add edx, ecx adc eax, 0 cmp esi, eax cmovge eax, esi add eax, dword ptr [edi+04H] mov dword ptr [ebp-10H], eax mov ecx, eax call System.String:FastAllocateString(int):System.String mov ecx, eax mov gword ptr [ebp-20H], ecx test ecx, ecx jne SHORT G_M000_IG04 G_M000_IG03: xor eax, eax jmp SHORT G_M000_IG05 align [0 bytes for IG06] G_M000_IG04: lea eax, bword ptr [ecx+08H] mov bword ptr [ebp-14H], eax mov eax, bword ptr [ebp-14H] mov ecx, gword ptr [ebp-20H] G_M000_IG05: mov edx, dword ptr [ebp-10H] lea eax, [eax+2*edx] neg ebx cmp ebx, 100 jb G_M000_IG14 G_M000_IG06: add eax, -4 mov dword ptr [ebp-1CH], eax add esi, -2 mov edx, 0xD1FFAB1E mov eax, ebx mul edx:eax, edx shr edx, 5 imul eax, edx, 100 sub ebx, eax mov eax, gword ptr [D1FFAB1EH] cmp byte ptr [eax], al mov eax, dword ptr [eax+4*ebx+08H] mov ebx, bword ptr [ebp-1CH] mov dword ptr [ebx], eax cmp edx, 100 jae SHORT G_M000_IG13 G_M000_IG07: test edx, edx je SHORT G_M000_IG09 G_M000_IG08: dec esi mov eax, 0xD1FFAB1E mov dword ptr [ebp-18H], edx mul edx:eax, edx shr edx, 3 lea eax, [edx+4*edx] add eax, eax mov ecx, dword ptr [ebp-18H] sub ecx, eax add ebx, -2 add ecx, 48 mov word ptr [ebx], cx test edx, edx jne SHORT G_M000_IG08 G_M000_IG09: test esi, esi jg SHORT G_M000_IG08 G_M000_IG10: mov ecx, gword ptr [ebp-20H] mov eax, ebx mov edx, dword ptr [edi+04H] dec edx js SHORT G_M000_IG16 cmp dword ptr [edi+04H], edx jle SHORT G_M000_IG15 align [0 bytes for IG11] G_M000_IG11: add eax, -2 movzx esi, word ptr [edi+2*edx+08H] mov word ptr [eax], si dec edx jns SHORT G_M000_IG11 G_M000_IG12: jmp SHORT G_M000_IG16 G_M000_IG13: mov eax, ebx mov ebx, edx jmp G_M000_IG06 G_M000_IG14: mov edx, ebx mov ebx, eax jmp SHORT G_M000_IG07 G_M000_IG15: add eax, -2 cmp edx, dword ptr [edi+04H] jae SHORT G_M000_IG18 movzx esi, word ptr [edi+2*edx+08H] mov word ptr [eax], si dec edx jns SHORT G_M000_IG15 G_M000_IG16: xor eax, eax mov bword ptr [ebp-14H], eax mov eax, ecx G_M000_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG18: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 305 801: JIT compiled System.Number:NegativeInt32ToDecStr(int,int,System.String) [Tier1, IL size=112, code size=305] ; Assembly listing for method System.Tests.Perf_SByte:ToString(byte):System.String:this ; Emitting BLENDED_CODE for X86 with AVX - 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: movsx ecx, dl call [System.Number:Int32ToDecStr(int):System.String] G_M000_IG03: ret ; Total bytes of code 10 802: JIT compiled System.Tests.Perf_SByte:ToString(byte) [Tier1, IL size=8, code size=10] ; Assembly listing for method System.SByte:ToString():System.String:this ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: movsx ecx, byte ptr [ecx] call [System.Number:Int32ToDecStr(int):System.String] G_M000_IG03: ret ; Total bytes of code 10 803: JIT compiled System.SByte:ToString() [Tier1, IL size=8, code size=10] ; Assembly listing for method System.Buffer:Memmove(byref,byref,uint) ; Emitting BLENDED_CODE for X86 with AVX - 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 147962 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 804: JIT compiled System.Buffer:Memmove(byref,byref,uint) [Tier1 with Static PGO, IL size=534, code size=259] ; Assembly listing for method System.Number+BigInteger:Compare(byref,byref):int ; Emitting BLENDED_CODE for X86 with AVX - 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 805: JIT compiled System.Number+BigInteger:Compare(byref,byref) [Tier1, IL size=97, code size=102] ; Assembly listing for method System.Text.StringBuilder:Append(System.String):System.Text.StringBuilder:this ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; PGO data available, but IL did not match ; 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: test edx, edx je SHORT G_M000_IG04 G_M000_IG03: push dword ptr [edx+04H] add edx, 8 mov ecx, esi call [System.Text.StringBuilder:Append(byref,int):this] G_M000_IG04: mov eax, esi G_M000_IG05: pop esi ret ; Total bytes of code 25 806: JIT compiled System.Text.StringBuilder:Append(System.String) [Tier1 with Static PGO, IL size=23, code size=25] ; Assembly listing for method System.Text.StringBuilder:Append(byref,int):this ; Emitting BLENDED_CODE for X86 with AVX - 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 138505 ; 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 807: 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:HeuristicDivide(byref,byref):uint ; Emitting BLENDED_CODE for X86 with AVX - 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 808: JIT compiled System.Number+BigInteger:HeuristicDivide(byref,byref) [Tier1, IL size=363, code size=333] ; Assembly listing for method System.UInt64:CreateTruncating[uint](uint):ulong ; Emitting BLENDED_CODE for X86 with AVX - 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 809: 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 X86 with AVX - 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 810: JIT compiled System.UInt64:TryConvertFromTruncating[uint](uint,byref) [Tier1, IL size=371, code size=17] ; Assembly listing for method System.Runtime.CompilerServices.CastHelpers:ChkCastClass(uint,System.Object):System.Object ; Emitting BLENDED_CODE for X86 with AVX - 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 139939 ; 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 811: 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.Number+BigInteger:Multiply10():this ; Emitting BLENDED_CODE for X86 with AVX - 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 812: JIT compiled System.Number+BigInteger:Multiply10() [Tier1, IL size=122, code size=135] ; Assembly listing for method System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():bool:this ; Emitting BLENDED_CODE for X86 with AVX - 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 edx, gword ptr [ebp-2CH] lea edx, bword ptr [edx+10H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-2CH] lea edx, bword ptr [edx+14H] call CORINFO_HELP_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 303 813: JIT compiled System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:MoveNext() [Tier1, IL size=124, code size=303] ; Assembly listing for method System.Runtime.CompilerServices.CastHelpers:IsInstanceOfClass(uint,System.Object):System.Object ; Emitting BLENDED_CODE for X86 with AVX - 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 167069 ; 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 814: 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.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String) ; Emitting BLENDED_CODE for X86 with AVX - 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 65993 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: mov eax, ecx G_M000_IG02: test eax, eax jl SHORT G_M000_IG04 G_M000_IG03: ret G_M000_IG04: mov ecx, edx mov edx, eax call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] int3 ; Total bytes of code 18 815: JIT compiled System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String) [Tier1 with Static PGO, IL size=22, code size=18] ; Assembly listing for method System.Int32:IsNegative(int):bool ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, ecx shr eax, 31 G_M000_IG03: ret ; Total bytes of code 6 816: JIT compiled System.Int32:IsNegative(int) [Tier1, IL size=5, code size=6] ; Assembly listing for method System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,uint,int,uint):this ; Emitting BLENDED_CODE for X86 with AVX - 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+FCH], 2 jl G_M000_IG15 mov edx, dword ptr [edx+F4H] mov eax, dword ptr [edx+08H] test eax, eax je G_M000_IG15 G_M000_IG08: mov dword ptr [eax+0A20H], 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+FCH], 2 jl G_M000_IG14 mov edx, dword ptr [edx+F4H] mov eax, dword ptr [edx+08H] test eax, eax je G_M000_IG14 G_M000_IG10: mov dword ptr [eax+0A20H], 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 817: JIT compiled System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,uint,int,uint) [Tier1, IL size=519, code size=995] ; Assembly listing for method System.Diagnostics.Tracing.EtwEventProvider:EventWriteTransfer(byref,int,uint,uint,int,uint):int:this ; Emitting BLENDED_CODE for X86 with AVX - 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 818: 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 X86 with AVX - 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 819: JIT compiled Interop+Advapi32:EventWriteTransfer(long,byref,uint,uint,int,uint) [Tier1, IL size=48, code size=261] ; Assembly listing for method System.String:CopyStringContent(System.String,int,System.String) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: mov eax, gword ptr [esp+04H] G_M000_IG02: cmp byte ptr [ecx], cl lea ecx, bword ptr [ecx+2*edx+08H] lea edx, bword ptr [eax+08H] mov eax, dword ptr [eax+04H] add eax, eax push eax call [System.Buffer:Memmove(byref,byref,uint)] G_M000_IG03: ret 4 ; Total bytes of code 28 820: JIT compiled System.String:CopyStringContent(System.String,int,System.String) [Tier1, IL size=31, code size=28] ; Assembly listing for method BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:get_PerfectInvocationCount():long:this ; Emitting BLENDED_CODE for ; Assembly listing for method System.GC:Collect() ; Emitting BLENDED_CODE for X86 with AVX - Windows X86 with AVX - Windows ; Tier-1 compilation ; optimized code ; Tier-0 compilation ; ebp based frame ; MinOpts code ; partially interruptible ; No PGO data ; ebp based frame ; partially interruptible G_M000_IG01: push ebp G_M000_IG01: push mov ebpebp, esp mov sub ebp, esp esp, 8 push edi push esi xor push ebx eax, eax sub mov dword ptr esp, 32[ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: G_M000_IG02: lea mov eax, bword ptr [ebp-04H] edi, [ mov bword ptr [ebp-08H], eax ebp-28H] mov eax, bword ptr call [ebp-08H] CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov eax, dword ptr mov [eax] dword ptr [ebp-14H], eax mov push 2 edx, bword ptr [ebp-08H] push -1 mov mov edx, dword ptr [edx+04H] dword ptr [ebp-20H] G_M000_IG03: , 0xD1FFAB1E mov esp, ebp pop ebp ret 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] ; Total bytes of code 35 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 821: JIT compiled BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:get_PerfectInvocationCount() [Tier0, IL size=7, code size=35] 822: JIT compiled System.GC:Collect() [Tier1, IL size=8, code size=95] ; Assembly listing for method BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:get_Measurements():System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for X86 with AVX - 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 823: JIT compiled BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:get_Measurements() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_EvaluateOverhead():bool:this ; Emitting BLENDED_CODE for X86 with AVX - 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 824: 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 X86 with AVX - 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 825: 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 X86 with AVX - 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 826: 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 X86 with AVX - 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 827: 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 X86 with AVX - 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 828: 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 X86 with AVX - 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 829: 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 X86 with AVX - 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 830: 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 X86 with AVX - 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 831: 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 X86 with AVX - 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 832: 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 X86 with AVX - 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 833: 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 X86 with AVX - 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 834: 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 X86 with AVX - 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 835: 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 X86 with AVX - 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 836: 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 X86 with AVX - 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 837: 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 X86 with AVX - 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 838: 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 X86 with AVX - 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 839: 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 X86 with AVX - 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 840: 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 X86 with AVX - 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 841: 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 X86 with AVX - 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 842: 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 X86 with AVX - 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 843: JIT compiled BenchmarkDotNet.Engines.StoppingResult:.ctor(bool,System.String) [Tier0, IL size=15, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:OverheadWarmupStart(long):this ; Emitting BLENDED_CODE for X86 with AVX - 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 844: 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 X86 with AVX - 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 845: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:OverheadWarmupStop(long) [Tier0, IL size=10, code size=33] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_IterationMode():int:this ; Emitting BLENDED_CODE for X86 with AVX - 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 846: JIT compiled BenchmarkDotNet.Engines.IterationData:get_IterationMode() [Tier1, IL size=7, code size=3] ; Assembly listing for method System.Gen2GcCallback:Finalize():this ; Emitting BLENDED_CODE for X86 with AVX - 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 847: JIT compiled System.Gen2GcCallback:Finalize() [Tier1, IL size=111, code size=218] ; Assembly listing for method System.Buffers.SharedArrayPool`1+<>c[ushort]:b__11_0(System.Object):bool:this ; Emitting BLENDED_CODE for X86 with AVX - 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.SharedArrayPool`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 848: JIT compiled System.Buffers.SharedArrayPool`1+<>c[ushort]:b__11_0(System.Object) [Tier1, IL size=12, code size=37] ; Assembly listing for method System.Buffers.SharedArrayPool`1[ushort]:Trim():bool:this ; Emitting BLENDED_CODE for X86 with AVX - 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.SharedArrayPool`1+Partition[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 849: JIT compiled System.Buffers.SharedArrayPool`1[ushort]:Trim() [Tier1, IL size=523, code size=825] ; Assembly listing for method System.Buffers.Utilities:GetMemoryPressure():int ; Emitting BLENDED_CODE for X86 with AVX - 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 850: 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 X86 with AVX - 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 851: 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 X86 with AVX - 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 852: 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 X86 with AVX - 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 853: 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 X86 with AVX - 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 854: 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 X86 with AVX - 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 855: 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 X86 with AVX - 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 856: 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 X86 with AVX - 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 857: 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 X86 with AVX - 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 858: 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 X86 with AVX - 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 859: JIT compiled System.Runtime.ConstrainedExecution.CriticalFinalizerObject:Finalize() [Tier1, IL size=10, code size=15] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:__Overhead(byte):System.String:this ; Emitting BLENDED_CODE for X86 with AVX - 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 860: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:__Overhead(byte) [Tier1, IL size=2, code size=3] ; Assembly listing for method System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this ; Emitting BLENDED_CODE for X86 with AVX - 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 861: 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 X86 with AVX - 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 862: 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 X86 with AVX - 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 863: JIT compiled Perfolizer.Horology.TimeUnit:get_NanosecondAmount() [Tier1, IL size=7, code size=9] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_IterationStage():int:this ; Emitting BLENDED_CODE for X86 with AVX - 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 864: JIT compiled BenchmarkDotNet.Engines.IterationData:get_IterationStage() [Tier1, IL size=7, code size=4] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Item(int):BenchmarkDotNet.Reports.Measurement:this ; Emitting BLENDED_CODE for X86 with AVX - 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 865: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Item(int) [Tier0, IL size=27, code size=79] ; Assembly listing for method System.Number:ExtractFractionAndBiasedExponent(double,byref):ulong ; Emitting BLENDED_CODE for X86 with AVX - 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 866: JIT compiled System.Number:ExtractFractionAndBiasedExponent(double,byref) [Tier1, IL size=69, code size=89] ; Assembly listing for method BenchmarkDotNet.Engines.EngineActualStage:RunOverhead(long,int):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for X86 with AVX - 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 867: 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 X86 with AVX - 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 868: 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 X86 with AVX - 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 869: 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 X86 with AVX - 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 870: 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 X86 with AVX - 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 871: 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 X86 with AVX - 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 872: 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 X86 with AVX - 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 873: 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 X86 with AVX - 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 874: 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 X86 with AVX - 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 875: 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 X86 with AVX - 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 876: 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 X86 with AVX - 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 877: 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 X86 with AVX - 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 878: 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 X86 with AVX - 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 879: 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 X86 with AVX - 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 880: 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 X86 with AVX - 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 881: 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 X86 with AVX - 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 882: 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 X86 with AVX - 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 883: 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 X86 with AVX - 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 884: 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 X86 with AVX - 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, 48 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov eax, gword ptr [D1FFAB1EH] G_M000_IG03: pop ebp ret ; Total bytes of code 25 885: 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 X86 with AVX - 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 886: 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 X86 with AVX - 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 887: 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 X86 with AVX - 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 888: 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 X86 with AVX - 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 889: 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 X86 with AVX - 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 890: 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 X86 with AVX - 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 891: 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 X86 with AVX - 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 892: 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 X86 with AVX - 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 893: 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 X86 with AVX - 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 894: 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 X86 with AVX - 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 895: 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 X86 with AVX - 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 896: 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 X86 with AVX - 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 897: 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 X86 with AVX - 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 898: 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 X86 with AVX - 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 899: 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 X86 with AVX - 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 900: 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 X86 with AVX - 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 901: 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 X86 with AVX - 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 902: 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 X86 with AVX - 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 903: 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 X86 with AVX - 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 904: 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 X86 with AVX - 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 905: 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 X86 with AVX - 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 906: 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 X86 with AVX - 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 907: 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 X86 with AVX - 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 908: 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 X86 with AVX - 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 909: 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 X86 with AVX - 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 910: 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 X86 with AVX - 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 911: 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 X86 with AVX - 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 912: 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 System.Number+BigInteger:SetUInt64(byref,ulong) ; Emitting BLENDED_CODE for X86 with AVX - 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 913: 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 X86 with AVX - 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 7390 ; 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 914: JIT compiled System.String:Ctor(System.ReadOnlySpan`1[ushort]) [Tier1 with Static PGO, IL size=55, code size=57] ; Assembly listing for method Perfolizer.Horology.Frequency:.ctor(double):this ; Emitting BLENDED_CODE for X86 with AVX - 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 915: JIT compiled Perfolizer.Horology.Frequency:.ctor(double) [Tier1, IL size=8, code size=16] ; Assembly listing for method Perfolizer.Horology.Frequency:get_Hertz():double:this ; Emitting BLENDED_CODE for X86 with AVX - 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 916: 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 X86 with AVX - 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 917: 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 X86 with AVX - 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 918: 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 X86 with AVX - 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 919: 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 X86 with AVX - 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 920: 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 X86 with AVX - 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 921: 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 X86 with AVX - 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 922: 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 X86 with AVX - 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 65308 ; 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_IG18 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_IG21 mov ecx, dword ptr [esi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+2CH] test edx, edx je SHORT G_M000_IG05 G_M000_IG04: mov dword ptr [ebp-1CH], edx jmp SHORT G_M000_IG06 G_M000_IG05: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-1CH], eax G_M000_IG06: mov ecx, gword ptr [ebp-2CH] mov edx, edi mov eax, dword ptr [ebp-1CH] nop call [eax] mov ecx, eax G_M000_IG07: 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_IG18 G_M000_IG08: cmp eax, dword ptr [ebx+04H] jae G_M000_IG22 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_IG13 G_M000_IG09: 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_IG20 G_M000_IG10: test edx, edx mov dword ptr [ebp-10H], eax mov ecx, dword ptr [ebp-14H] jge SHORT G_M000_IG12 G_M000_IG11: jmp SHORT G_M000_IG18 G_M000_IG12: mov eax, edx jmp SHORT G_M000_IG08 G_M000_IG13: 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+30H] test ecx, ecx je SHORT G_M000_IG15 G_M000_IG14: mov dword ptr [ebp-20H], ecx jmp SHORT G_M000_IG16 G_M000_IG15: mov ecx, dword ptr [ebp-28H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-20H], eax G_M000_IG16: 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_IG09 mov eax, dword ptr [ebp-18H] G_M000_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG18: mov eax, -1 G_M000_IG19: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG20: call [System.ThrowHelper:ThrowInvalidOperationException_ConcurrentOperationsNotSupported()] int3 G_M000_IG21: xor ecx, ecx jmp G_M000_IG07 G_M000_IG22: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 291 923: JIT compiled System.Collections.Generic.HashSet`1[System.__Canon]:FindItemIndex(System.__Canon) [Tier1 with Static PGO, IL size=260, code size=291] ; Assembly listing for method System.Collections.Generic.ObjectEqualityComparer`1[System.__Canon]:GetHashCode(System.__Canon):int:this ; Emitting BLENDED_CODE for X86 with AVX - 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 65904 ; 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_IG04 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_IG08 G_M000_IG04: mov ecx, gword ptr [ecx] cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG07 G_M000_IG05: call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int 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_IG06 G_M000_IG08: xor eax, eax G_M000_IG09: mov esp, ebp pop ebp ret ; Total bytes of code 72 924: 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.Reflection.CustomAttribute:IsCustomAttributeDefined(System.Reflection.RuntimeModule,int,System.RuntimeType,int,bool):bool ; Emitting BLENDED_CODE for X86 with AVX - 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 925: 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 X86 with AVX - 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 926: 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 X86 with AVX - 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 927: 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 X86 with AVX - 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 928: 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 X86 with AVX - 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_IG15 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_IG25 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_IG24 G_M000_IG10: 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_IG26 mov edx, dword ptr [edx+0CH] G_M000_IG11: 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_IG13 mov dword ptr [ebp-2CH], eax mov byte ptr [esi+08H], 0 G_M000_IG12: call [System.RuntimeTypeHandle:FreeGCHandle(System.Runtime.CompilerServices.QCallTypeHandle,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 ecx, ecx mov dword ptr [ebp-2CH], ecx mov ebx, gword ptr [ebp-18H] G_M000_IG15: mov ecx, dword ptr [ebx+08H] mov edx, gword ptr [ecx] mov edi, edx test edi, edi je SHORT G_M000_IG17 G_M000_IG16: mov ecx, 0xD1FFAB1E cmp dword ptr [edi], ecx jne G_M000_IG27 G_M000_IG17: test edi, edi jne SHORT G_M000_IG22 G_M000_IG18: 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_IG19 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_IG19: 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_IG21 G_M000_IG20: mov ecx, 0xD1FFAB1E cmp dword ptr [eax], ecx jne SHORT G_M000_IG28 G_M000_IG21: test eax, eax cmovne edi, eax G_M000_IG22: mov eax, edi mov ecx, bword ptr [ebp-38H] mov dword ptr [esi+0CH], ecx G_M000_IG23: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG24: mov ebx, gword ptr [ebp-18H] jmp G_M000_IG15 G_M000_IG25: xor edx, edx jmp G_M000_IG04 G_M000_IG26: xor edx, edx jmp G_M000_IG11 G_M000_IG27: call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 G_M000_IG28: call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 ; Total bytes of code 415 929: 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 X86 with AVX - 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 930: 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 X86 with AVX - 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 931: 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 X86 with AVX - 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 932: 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 X86 with AVX - 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, 0x17FF7 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 933: 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 X86 with AVX - 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_IG07 cmp eax, edx jl G_M000_IG07 add ecx, edi mov eax, ecx mov edi, 0x1F40 cmp eax, 0x1F40 cmovg eax, edi cmp edx, eax cmovl edx, eax add ecx, edx cmp ecx, edx jl G_M000_IG08 cmp edx, 0x400 jge SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov edi, eax jmp SHORT G_M000_IG05 G_M000_IG04: push 16 mov ecx, 0xD1FFAB1E call System.GC:AllocateNewArray(int,int,int):System.Array mov edi, eax G_M000_IG05: 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_IG06: pop esi pop edi pop ebp ret G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0x1800D 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_IG08: 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 265 934: JIT compiled System.Text.StringBuilder:ExpandByABlock(int) [Tier1, IL size=144, code size=265] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_Nanoseconds():double:this ; Emitting BLENDED_CODE for X86 with AVX - 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 935: JIT compiled BenchmarkDotNet.Reports.Measurement:get_Nanoseconds() [Tier1, IL size=7, code size=23] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_Operations():long:this ; Emitting BLENDED_CODE for X86 with AVX - 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 936: 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 X86 with AVX - 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 937: 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 X86 with AVX - 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 938: 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 X86 with AVX - 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 36008 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 939: 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 X86 with AVX - 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.SharedArrayPool`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 940: 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 X86 with AVX - 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_IG20 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_IG17 cmp dword ptr [ebp-18H], -1 jne SHORT G_M000_IG16 mov ebx, dword ptr [ebp-2CH] mov ecx, 17 cmp ebx, 17 cmovl ebx, ecx G_M000_IG16: 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_IG18 G_M000_IG17: 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_IG18: xor eax, eax cmp dword ptr [ebp-44H], 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 16 G_M000_IG20: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 489 941: 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 X86 with AVX - 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 942: 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 X86 with AVX - 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 943: JIT compiled System.Number:GetFloatingPointMaxDigitsAndPrecision(ushort,byref,System.Globalization.NumberFormatInfo,byref) [Tier1, IL size=248, code size=272] ; Assembly listing for method System.SpanHelpers:ClearWithoutReferences(byref,uint) ; Emitting BLENDED_CODE for X86 with AVX - 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 esi, 21 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_IG04: 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 mov word ptr [ecx+04H], 0 jmp G_M000_IG76 G_M000_IG10: xor eax, eax mov dword ptr [ecx], eax mov word ptr [ecx+04H], 0 mov byte ptr [ecx+06H], 0 jmp G_M000_IG76 G_M000_IG11: xor eax, eax mov dword ptr [ecx], eax G_M000_IG12: mov dword ptr [ecx+04H], eax jmp G_M000_IG76 G_M000_IG13: xor eax, eax mov dword ptr [ecx], eax G_M000_IG14: mov dword ptr [ecx+04H], eax mov byte ptr [ecx+08H], 0 jmp G_M000_IG76 G_M000_IG15: xor eax, eax mov dword ptr [ecx], eax G_M000_IG16: mov dword ptr [ecx+04H], eax mov word ptr [ecx+08H], 0 jmp G_M000_IG76 G_M000_IG17: xor eax, eax mov dword ptr [ecx], eax G_M000_IG18: mov dword ptr [ecx+04H], 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 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 mov word ptr [ecx+10H], 0 jmp G_M000_IG76 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_IG50: mov dword ptr [ecx+0CH], eax G_M000_IG51: mov dword ptr [ecx+10H], eax jmp G_M000_IG76 G_M000_IG52: xor eax, eax mov dword ptr [ecx], eax G_M000_IG53: mov dword ptr [ecx+04H], eax G_M000_IG54: mov dword ptr [ecx+08H], eax G_M000_IG55: mov dword ptr [ecx+0CH], eax G_M000_IG56: mov dword ptr [ecx+10H], eax mov byte ptr [ecx+14H], 0 jmp G_M000_IG76 G_M000_IG57: xor eax, eax mov dword ptr [ecx], eax G_M000_IG58: mov dword ptr [ecx+04H], eax G_M000_IG59: mov dword ptr [ecx+08H], eax G_M000_IG60: mov dword ptr [ecx+0CH], eax G_M000_IG61: mov dword ptr [ecx+10H], eax mov word ptr [ecx+14H], 0 jmp G_M000_IG76 G_M000_IG62: cmp edx, 512 jae G_M000_IG75 xor eax, eax mov esi, ecx test esi, 3 je SHORT G_M000_IG64 mov esi, ecx test esi, 1 je SHORT G_M000_IG63 mov byte ptr [ecx], 0 mov eax, 1 mov esi, ecx test esi, 2 jne SHORT G_M000_IG64 G_M000_IG63: mov word ptr [ecx+eax], 0 add eax, 2 G_M000_IG64: mov esi, ecx dec esi test esi, 4 jne SHORT G_M000_IG65 xor esi, esi mov dword ptr [ecx+eax], esi add eax, 4 G_M000_IG65: lea esi, [edx-10H] sub edx, eax G_M000_IG66: lea edi, [eax+10H] xor ebx, ebx mov dword ptr [ecx+eax], ebx G_M000_IG67: mov dword ptr [ecx+eax+04H], ebx G_M000_IG68: mov dword ptr [ecx+eax+08H], ebx G_M000_IG69: mov dword ptr [ecx+eax+0CH], ebx mov eax, edi cmp eax, esi jbe SHORT G_M000_IG66 G_M000_IG70: test dl, 8 je SHORT G_M000_IG72 xor esi, esi mov dword ptr [ecx+eax], esi G_M000_IG71: mov dword ptr [ecx+eax+04H], esi add eax, 8 G_M000_IG72: test dl, 4 je SHORT G_M000_IG73 xor esi, esi mov dword ptr [ecx+eax], esi add eax, 4 G_M000_IG73: 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 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 944: JIT compiled System.SpanHelpers:ClearWithoutReferences(byref,uint) [Tier1, IL size=1369, code size=642] ; Assembly listing for method System.Number:RoundNumber(byref,int,bool) ; Emitting BLENDED_CODE for X86 with AVX - 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 945: 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 X86 with AVX - 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 946: 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 X86 with AVX - 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 947: JIT compiled BenchmarkDotNet.Reports.Measurement:get_IterationStage() [Tier1, IL size=7, code size=4] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:GcCollect():this ; Emitting BLENDED_CODE for X86 with AVX - 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 948: 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 X86 with AVX - 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 949: 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 X86 with AVX - 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 950: JIT compiled BenchmarkDotNet.Engines.Engine:ForceGcCollect() [Tier1, IL size=16, code size=209] ; Assembly listing for method System.GC:WaitForPendingFinalizers() ; Emitting BLENDED_CODE for X86 with AVX - 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 951: JIT compiled System.GC:WaitForPendingFinalizers() [Tier1, IL size=6, code size=91] ; Assembly listing for method System.Diagnostics.Tracing.EventSource:IsEnabled():bool:this ; Emitting BLENDED_CODE for X86 with AVX - 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 952: 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 X86 with AVX - 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 953: JIT compiled System.Diagnostics.Tracing.EventSource:WriteEvent(int,long) [Tier1, IL size=53, code size=79] ; Assembly listing for method Perfolizer.Horology.WindowsClock:GetTimestamp():long:this ; Emitting BLENDED_CODE for X86 with AVX - 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 954: JIT compiled Perfolizer.Horology.WindowsClock:GetTimestamp() [Tier1, IL size=10, code size=32] ; Assembly listing for method System.Number:Dragon4Double(double,int,bool,byref) ; Emitting BLENDED_CODE for X86 with AVX - 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 955: 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 X86 with AVX - 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 956: 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 X86 with AVX - 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 957: 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 X86 with AVX - 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 958: 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 X86 with AVX - 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 959: JIT compiled System.Number+BigInteger:ShiftLeft(uint) [Tier1, IL size=337, code size=202] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Count():int:this ; Emitting BLENDED_CODE for X86 with AVX - 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 960: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Count() [Tier1, IL size=7, code size=4] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:IsOutlier(int,double,double,double):bool ; Emitting BLENDED_CODE for X86 with AVX - 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 961: JIT compiled BenchmarkDotNet.Mathematics.MeasurementsStatistics:IsOutlier(int,double,double,double) [Tier1, IL size=65, code size=169] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_Host():BenchmarkDotNet.Engines.IHost:this ; Emitting BLENDED_CODE for X86 with AVX - 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 962: JIT compiled BenchmarkDotNet.Engines.Engine:get_Host() [Tier1, IL size=7, code size=4] ; Assembly listing for method System.IO.StreamWriter:Flush(bool,bool):this ; Emitting BLENDED_CODE for X86 with AVX - 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 963: 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 X86 with AVX - 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, 0x138AC 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, 0x138AC 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 964: 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 X86 with AVX - 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 965: 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 X86 with AVX - 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 966: 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 X86 with AVX - 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, 0x1388C 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, 0x13872 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, 0x138AC 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 967: 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 X86 with AVX - 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 968: 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 X86 with AVX - 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 969: 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 X86 with AVX - 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 970: 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 X86 with AVX - 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 971: 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 X86 with AVX - 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 972: 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 X86 with AVX - 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 973: 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 X86 with AVX - 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 974: 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 Microsoft.Win32.SafeHandles.SafeFileHandle:GetFileOptions():int:this ; Emitting BLENDED_CODE for X86 with AVX - 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 975: 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 X86 with AVX - 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 976: 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 X86 with AVX - 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 977: JIT compiled Microsoft.Win32.SafeHandles.SafeFileHandle:get_CanSeek() [Tier1, IL size=20, code size=52] ; Assembly listing for method Interop+Kernel32:WriteFile(System.Runtime.InteropServices.SafeHandle,uint,int,byref,uint):int ; Emitting BLENDED_CODE for X86 with AVX - 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 978: 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.Runtime.InteropServices.SafeHandle:DangerousAddRef(byref):this ; Emitting BLENDED_CODE for X86 with AVX - 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 131160 ; 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 979: 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 X86 with AVX - 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 130888 ; 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 980: JIT compiled System.Runtime.InteropServices.SafeHandle:InternalRelease(bool) [Tier1 with Static PGO, IL size=120, code size=217] ; Assembly listing for method System.IO.FileStream:Flush():this ; Emitting BLENDED_CODE for X86 with AVX - 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 981: 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 X86 with AVX - 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 982: JIT compiled System.IO.FileStream:Flush(bool) [Tier1, IL size=31, code size=48] ; Assembly listing for method System.IO.Strategies.OSFileStreamStrategy:get_IsClosed():bool:this ; Emitting BLENDED_CODE for X86 with AVX - 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 983: JIT compiled System.IO.Strategies.OSFileStreamStrategy:get_IsClosed() [Tier1, IL size=12, code size=10] ; Assembly listing for method System.IO.Strategies.OSFileStreamStrategy:Flush(bool):this ; Emitting BLENDED_CODE for X86 with AVX - 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 984: JIT compiled System.IO.Strategies.OSFileStreamStrategy:Flush(bool) [Tier1, IL size=23, code size=33] ; Assembly listing for method Perfolizer.Horology.StartedClock:GetElapsed():Perfolizer.Horology.ClockSpan:this ; Emitting BLENDED_CODE for X86 with AVX - 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, 52 vzeroupper mov esi, ecx mov edi, edx G_M000_IG02: mov ecx, esi mov ebx, dword ptr [ecx] mov eax, dword ptr [ecx+04H] mov dword ptr [ebp-38H], eax mov ecx, gword ptr [esi+08H] call [Perfolizer.Horology.IClock:GetTimestamp():long:this] mov dword ptr [ebp-3CH], eax mov dword ptr [ebp-40H], edx vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [ebp-2CH], xmm0 vmovdqu xmmword ptr [ebp-24H], xmm0 mov ecx, gword ptr [esi+08H] lea edx, [ebp-34H] call [Perfolizer.Horology.IClock:get_Frequency():Perfolizer.Horology.Frequency:this] mov dword ptr [ebp-2CH], ebx mov esi, dword ptr [ebp-38H] mov dword ptr [ebp-28H], esi mov esi, dword ptr [ebp-3CH] mov dword ptr [ebp-24H], esi mov esi, dword ptr [ebp-40H] mov dword ptr [ebp-20H], esi vmovsd xmm0, qword ptr [ebp-34H] vmovsd qword ptr [ebp-1CH], xmm0 vmovdqu xmm0, xmmword ptr [ebp-2CH] vmovdqu xmmword ptr [edi], xmm0 vmovdqu xmm0, xmmword ptr [ebp-24H] vmovdqu xmmword ptr [edi+08H], xmm0 G_M000_IG03: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 125 985: JIT compiled Perfolizer.Horology.StartedClock:GetElapsed() [Tier1, IL size=34, code size=125] ; Assembly listing for method Perfolizer.Horology.WindowsClock:get_Frequency():Perfolizer.Horology.Frequency:this ; Emitting BLENDED_CODE for X86 with AVX - 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: vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [@RWD00] vmovsd qword ptr [edx], xmm0 G_M000_IG03: ret RWD00 dq 416312D000000000h ; 10000000 ; Total bytes of code 16 986: JIT compiled Perfolizer.Horology.WindowsClock:get_Frequency() [Tier1, IL size=12, code size=16] ; Assembly listing for method Perfolizer.Horology.ClockSpan:.ctor(long,long,Perfolizer.Horology.Frequency):this ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: vzeroupper G_M000_IG02: mov eax, ecx mov edx, dword ptr [esp+14H] mov dword ptr [eax], edx mov edx, dword ptr [esp+18H] mov dword ptr [eax+04H], edx lea eax, bword ptr [ecx+08H] mov edx, dword ptr [esp+0CH] mov dword ptr [eax], edx mov edx, dword ptr [esp+10H] mov dword ptr [eax+04H], edx vmovsd xmm0, qword ptr [esp+04H] vmovsd qword ptr [ecx+10H], xmm0 G_M000_IG03: ret 24 ; Total bytes of code 48 987: JIT compiled Perfolizer.Horology.ClockSpan:.ctor(long,long,Perfolizer.Horology.Frequency) [Tier1, IL size=22, code size=48] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:IterationStop(int,int,long):this ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially 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 mov esi, dword ptr [ebp+10H] G_M000_IG02: cmp esi, 3 ja G_M000_IG11 lea eax, [@RWD00] mov eax, dword ptr [eax+4*esi] lea edi, G_M000_IG02 add eax, edi jmp eax G_M000_IG03: test edx, edx jne SHORT G_M000_IG04 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 4 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] jmp G_M000_IG10 G_M000_IG04: cmp edx, 1 jne G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 6 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] jmp SHORT G_M000_IG10 G_M000_IG05: cmp edx, 1 jne SHORT G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 8 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] jmp SHORT G_M000_IG10 G_M000_IG06: test edx, edx jne SHORT G_M000_IG07 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 10 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] jmp SHORT G_M000_IG10 G_M000_IG07: cmp edx, 1 jne SHORT G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 14 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] jmp SHORT G_M000_IG10 G_M000_IG08: test edx, edx jne SHORT G_M000_IG09 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 12 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] jmp SHORT G_M000_IG10 G_M000_IG09: cmp edx, 1 jne SHORT G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 16 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG10: pop esi pop edi pop ebp ret 12 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, 0xF932 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_IG08 - G_M000_IG02 ; Total bytes of code 275 988: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:IterationStop(int,int,long) [Tier1, IL size=125, code size=275] ; Assembly listing for method System.Diagnostics.Tracing.ActivityTracker:OnStop(System.String,System.String,int,byref,bool):this ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 1 inlinees with PGO data; 8 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 vzeroupper xor eax, eax mov dword ptr [ebp-14H], eax mov esi, ecx mov edi, bword ptr [ebp+0CH] G_M000_IG02: cmp gword ptr [esi+04H], 0 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: push dword ptr [ebp+10H] mov ecx, edx mov edx, gword ptr [ebp+14H] call [System.Diagnostics.Tracing.ActivityTracker:NormalizeActivityName(System.String,System.String,int):System.String] mov ebx, eax xor ecx, ecx cmp byte ptr [ebp+08H], 0 cmovne ecx, gword ptr [D1FFAB1EH] mov eax, ecx mov gword ptr [ebp-18H], eax test eax, eax je SHORT G_M000_IG05 movzx ecx, byte ptr [eax+6DH] jmp SHORT G_M000_IG06 align [0 bytes for IG23] G_M000_IG05: xor ecx, ecx G_M000_IG06: movzx edx, cl mov dword ptr [ebp-10H], edx test edx, edx je SHORT G_M000_IG09 cmp byte ptr [eax], al push 0xD1FFAB1E push ebx mov ecx, eax mov edx, 23 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String):this] mov ecx, gword ptr [esi+04H] cmp byte ptr [ecx], cl call [System.Threading.ExecutionContext:GetLocalValue(System.Threading.IAsyncLocal):System.Object] mov ecx, eax test ecx, ecx je SHORT G_M000_IG08 G_M000_IG07: mov edx, 0xD1FFAB1E cmp dword ptr [ecx], edx jne G_M000_IG35 G_M000_IG08: call [System.Diagnostics.Tracing.ActivityTracker+ActivityInfo:LiveActivities(System.Diagnostics.Tracing.ActivityTracker+ActivityInfo):System.String] push 0xD1FFAB1E push eax mov ecx, gword ptr [ebp-18H] mov edx, 23 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String):this] mov eax, gword ptr [ebp-18H] G_M000_IG09: mov ecx, gword ptr [esi+04H] mov gword ptr [ebp-28H], ecx cmp byte ptr [ecx], cl mov edx, dword ptr FS:[0x002C] mov edx, dword ptr [edx+10H] cmp dword ptr [edx+F8H], 3 jl G_M000_IG21 mov edx, dword ptr [edx+F0H] mov edx, dword ptr [edx+0CH] test edx, edx je G_M000_IG20 mov edx, bword ptr [edx] add edx, 8 G_M000_IG10: mov edx, gword ptr [edx+0CH] test edx, edx jne SHORT G_M000_IG12 G_M000_IG11: call [System.Threading.Thread:InitializeCurrentThread():System.Threading.Thread] mov edx, eax mov eax, gword ptr [ebp-18H] G_M000_IG12: mov edx, gword ptr [edx+04H] test edx, edx je G_M000_IG37 G_M000_IG13: mov edx, gword ptr [edx+04H] cmp dword ptr [edx], 0xD1FFAB1E jne G_M000_IG38 lea eax, [ebp-14H] push eax mov ecx, edx mov edx, gword ptr [ebp-28H] call [System.Threading.AsyncLocalValueMap+MultiElementAsyncLocalValueMap:TryGetValue(System.Threading.IAsyncLocal,byref):bool:this] G_M000_IG14: mov edx, gword ptr [ebp-14H] G_M000_IG15: xor ecx, ecx mov gword ptr [ebp-14H], ecx mov eax, edx test eax, eax je SHORT G_M000_IG17 G_M000_IG16: mov ecx, 0xD1FFAB1E cmp dword ptr [eax], ecx jne G_M000_IG39 G_M000_IG17: mov gword ptr [ebp-1CH], eax xor edx, edx mov gword ptr [ebp-20H], edx mov ecx, ebx mov edx, eax call [System.Diagnostics.Tracing.ActivityTracker:FindActiveActivity(System.String,System.Diagnostics.Tracing.ActivityTracker+ActivityInfo):System.Diagnostics.Tracing.ActivityTracker+ActivityInfo] test eax, eax jne SHORT G_M000_IG22 G_M000_IG18: vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [edi], xmm0 cmp dword ptr [ebp-10H], 0 je SHORT G_M000_IG19 mov ebx, gword ptr [ebp-18H] cmp byte ptr [ebx], bl push 0xD1FFAB1E push 0xD1FFAB1E mov ecx, ebx mov edx, 23 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String):this] G_M000_IG19: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG20: jmp G_M000_IG36 G_M000_IG21: jmp G_M000_IG36 G_M000_IG22: vmovups xmm0, xmmword ptr [eax+2CH] mov bword ptr [ebp+0CH], edi vmovups xmmword ptr [edi], xmm0 mov ecx, gword ptr [ebp-1CH] mov edi, bword ptr [ebp+0CH] jmp SHORT G_M000_IG26 G_M000_IG23: cmp dword ptr [ecx+28H], 0 jne SHORT G_M000_IG25 test byte ptr [ecx+24H], 8 je SHORT G_M000_IG24 mov edx, gword ptr [ebp-20H] test edx, edx mov gword ptr [ebp-20H], edx jne SHORT G_M000_IG25 mov edx, ecx mov gword ptr [ebp-20H], edx jmp SHORT G_M000_IG25 G_M000_IG24: mov dword ptr [ecx+28H], 1 G_M000_IG25: mov ecx, gword ptr [ecx+18H] G_M000_IG26: cmp ecx, eax je G_M000_IG34 G_M000_IG27: test ecx, ecx jne SHORT G_M000_IG23 G_M000_IG28: mov bword ptr [ebp+0CH], edi G_M000_IG29: mov gword ptr [ebp-24H], eax lea ecx, bword ptr [eax+28H] mov edi, 1 xor eax, eax lock cmpxchg dword ptr [ecx], edi test eax, eax mov eax, gword ptr [ebp-18H] mov edi, bword ptr [ebp+0CH] jne G_M000_IG09 G_M000_IG30: mov ecx, gword ptr [ebp-24H] mov ebx, gword ptr [ebp-20H] test ebx, ebx jne SHORT G_M000_IG33 mov ebx, gword ptr [ecx+18H] G_M000_IG31: mov ecx, gword ptr [esi+04H] xor edx, edx cmp gword ptr [ecx+04H], 0 setne dl push edx mov edx, ebx call [System.Threading.ExecutionContext:SetLocalValue(System.Threading.IAsyncLocal,System.Object,bool)] cmp dword ptr [ebp-10H], 0 je SHORT G_M000_IG32 mov ecx, ebx call [System.Diagnostics.Tracing.ActivityTracker+ActivityInfo:LiveActivities(System.Diagnostics.Tracing.ActivityTracker+ActivityInfo):System.String] mov ebx, gword ptr [ebp-18H] cmp byte ptr [ebx], bl push 0xD1FFAB1E push eax mov ecx, ebx mov edx, 23 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String):this] push 0 mov ecx, edi mov edx, 0xD1FFAB1E call [System.Guid:ToString(System.String,System.IFormatProvider):System.String:this] push 0xD1FFAB1E push eax mov ecx, ebx mov edx, 23 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String):this] G_M000_IG32: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG33: jmp SHORT G_M000_IG31 G_M000_IG34: mov bword ptr [ebp+0CH], edi jmp G_M000_IG29 G_M000_IG35: mov ecx, edx mov edx, eax call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 G_M000_IG36: mov ecx, 3 call CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED mov edx, eax mov eax, gword ptr [ebp-18H] jmp G_M000_IG10 G_M000_IG37: xor edx, edx jmp G_M000_IG15 G_M000_IG38: mov bword ptr [ebp+0CH], edi lea edi, [ebp-14H] push edi mov ecx, edx mov edx, gword ptr [ebp-28H] call [System.Threading.IAsyncLocalValueMap:TryGetValue(System.Threading.IAsyncLocal,byref):bool:this] mov edi, bword ptr [ebp+0CH] jmp G_M000_IG14 G_M000_IG39: call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 ; Total bytes of code 699 989: JIT compiled System.Diagnostics.Tracing.ActivityTracker:OnStop(System.String,System.String,int,byref,bool) [Tier1, IL size=322, code size=699] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_Index():int:this ; Emitting BLENDED_CODE for X86 with AVX - 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 990: JIT compiled BenchmarkDotNet.Engines.IterationData:get_Index() [Tier1, IL size=7, code size=4] ; Assembly listing for method Perfolizer.Horology.ClockSpan:GetNanoseconds():double:this ; Emitting BLENDED_CODE for X86 with AVX - 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: sub esp, 16 vzeroupper G_M000_IG02: call [Perfolizer.Horology.ClockSpan:GetSeconds():double:this] fstp qword ptr [esp+08H] mov eax, gword ptr [D1FFAB1EH] add eax, 4 mov edx, dword ptr [eax] push dword ptr [eax+04H] push edx call CORINFO_HELP_LNG2DBL fstp qword ptr [esp] vmovsd xmm0, qword ptr [esp] vmulsd xmm0, xmm0, qword ptr [esp+08H] vmovsd qword ptr [esp+08H], xmm0 fld qword ptr [esp+08H] G_M000_IG03: add esp, 16 ret ; Total bytes of code 63 991: JIT compiled Perfolizer.Horology.ClockSpan:GetNanoseconds() [Tier1, IL size=19, code size=63] ; Assembly listing for method Perfolizer.Horology.ClockSpan:GetSeconds():double:this ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially 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 sub esp, 8 vzeroupper mov esi, ecx G_M000_IG02: lea eax, bword ptr [esi+08H] mov edx, dword ptr [eax] mov eax, dword ptr [eax+04H] mov ecx, esi mov edi, dword ptr [ecx] mov ecx, dword ptr [ecx+04H] sub edx, edi sbb eax, ecx cmp edx, 1 mov ecx, eax sbb ecx, 0 jl SHORT G_M000_IG04 G_M000_IG03: jmp SHORT G_M000_IG05 G_M000_IG04: xor edx, edx xor eax, eax G_M000_IG05: push eax push edx call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-10H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd xmm1, qword ptr [esi+10H] vdivsd xmm0, xmm0, xmm1 vmovsd qword ptr [ebp-10H], xmm0 fld qword ptr [ebp-10H] G_M000_IG06: lea esp, [ebp-08H] pop esi pop edi pop ebp ret ; Total bytes of code 87 992: JIT compiled Perfolizer.Horology.ClockSpan:GetSeconds() [Tier1, IL size=48, code size=87] ; Assembly listing for method System.Math:Max(long,long):long ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, dword ptr [esp+0CH] cmp eax, dword ptr [esp+04H] mov eax, dword ptr [esp+10H] sbb eax, dword ptr [esp+08H] jge SHORT G_M000_IG05 G_M000_IG03: mov eax, dword ptr [esp+04H] mov edx, dword ptr [esp+08H] G_M000_IG04: ret 16 G_M000_IG05: mov eax, dword ptr [esp+0CH] mov edx, dword ptr [esp+10H] G_M000_IG06: ret 16 ; Total bytes of code 40 993: JIT compiled System.Math:Max(long,long) [Tier1, IL size=8, code size=40] ; Assembly listing for method Perfolizer.Horology.Frequency:op_Implicit(double):Perfolizer.Horology.Frequency ; Emitting BLENDED_CODE for X86 with AVX - 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: 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 994: JIT compiled Perfolizer.Horology.Frequency:op_Implicit(double) [Tier1, IL size=7, code size=16] ; Assembly listing for method Perfolizer.Horology.Frequency:op_Division(Perfolizer.Horology.Frequency,Perfolizer.Horology.Frequency):double ; Emitting BLENDED_CODE for X86 with AVX - 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: sub esp, 8 vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [esp+14H] vdivsd xmm0, xmm0, qword ptr [esp+0CH] vmovsd qword ptr [esp], xmm0 fld qword ptr [esp] G_M000_IG03: add esp, 8 ret 16 ; Total bytes of code 32 995: JIT compiled Perfolizer.Horology.Frequency:op_Division(Perfolizer.Horology.Frequency,Perfolizer.Horology.Frequency) [Tier1, IL size=26, code size=32] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:.ctor(int,int,int,int,long,double):this ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: push esi vzeroupper G_M000_IG02: lea eax, bword ptr [ecx+10H] mov esi, dword ptr [esp+10H] mov dword ptr [eax], esi mov esi, dword ptr [esp+14H] mov dword ptr [eax+04H], esi vmovsd xmm0, qword ptr [esp+08H] vmovsd qword ptr [ecx+18H], xmm0 mov dword ptr [ecx+08H], edx mov eax, dword ptr [esp+20H] mov dword ptr [ecx], eax mov eax, dword ptr [esp+1CH] mov dword ptr [ecx+04H], eax mov eax, dword ptr [esp+18H] mov dword ptr [ecx+0CH], eax G_M000_IG03: pop esi ret 28 ; Total bytes of code 58 996: JIT compiled BenchmarkDotNet.Reports.Measurement:.ctor(int,int,int,int,long,double) [Tier1, IL size=46, code size=58] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:ToString():System.String:this ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 26 inlinees with PGO data; 28 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: push dword ptr [edx+04H] 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: push dword ptr [edx+04H] add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] G_M000_IG16: mov edx, 0xD1FFAB1E mov ecx, gword ptr [edi+04H] mov eax, dword ptr [edi+0CH] lea ebx, [eax+02H] cmp dword ptr [ecx+04H], ebx jb SHORT G_M000_IG21 G_M000_IG17: lea ecx, bword ptr [ecx+2*eax+08H] mov word ptr [ecx], 58 mov word ptr [ecx+02H], 32 add eax, 2 mov dword ptr [edi+0CH], eax G_M000_IG18: 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_IG27 G_M000_IG19: test ecx, ecx je SHORT G_M000_IG25 G_M000_IG20: call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp SHORT G_M000_IG26 G_M000_IG21: push 2 mov ecx, edi call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] jmp SHORT G_M000_IG18 G_M000_IG22: push 1 mov ecx, edi mov edx, 32 call [System.Text.StringBuilder:Append(ushort,int):System.Text.StringBuilder:this] G_M000_IG23: mov edx, 0xD1FFAB1E mov ebx, gword ptr [edi+04H] mov eax, dword ptr [edi+0CH] lea ecx, [eax+02H] cmp dword ptr [ebx+04H], ecx jb G_M000_IG40 G_M000_IG24: jmp SHORT G_M000_IG35 G_M000_IG25: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] G_M000_IG26: 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_IG28 G_M000_IG27: push dword ptr [ebp-24H] push ebx call [System.Number:UInt64ToDecStr(ulong):System.String] mov edx, eax G_M000_IG28: test edx, edx je SHORT G_M000_IG30 G_M000_IG29: push dword ptr [edx+04H] 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 SHORT G_M000_IG22 G_M000_IG31: mov word ptr [edx+2*ecx+08H], 32 inc dword ptr [edi+0CH] jmp SHORT G_M000_IG23 G_M000_IG32: push 1 mov ecx, edi mov edx, 32 call [System.Text.StringBuilder:Append(ushort,int):System.Text.StringBuilder:this] G_M000_IG33: mov edx, 0xD1FFAB1E mov ebx, gword ptr [edi+04H] mov eax, dword ptr [edi+0CH] lea ecx, [eax+02H] cmp dword ptr [ebx+04H], ecx jb SHORT G_M000_IG41 G_M000_IG34: jmp G_M000_IG56 G_M000_IG35: lea edx, bword ptr [ebx+2*eax+08H] mov word ptr [edx], 111 mov word ptr [edx+02H], 112 add eax, 2 mov dword ptr [edi+0CH], eax G_M000_IG36: mov edx, 0xD1FFAB1E mov ecx, gword ptr [edi+04H] mov eax, dword ptr [edi+0CH] lea ebx, [eax+02H] cmp dword ptr [ecx+04H], ebx jb SHORT G_M000_IG44 G_M000_IG37: lea ecx, bword ptr [ecx+2*eax+08H] mov word ptr [ecx], 44 mov word ptr [ecx+02H], 32 add eax, 2 mov dword ptr [edi+0CH], eax G_M000_IG38: vmovsd xmm0, qword ptr [esi+18H] mov ecx, gword ptr [D1FFAB1EH] vmovsd qword ptr [ebp-20H], xmm0 test ecx, ecx je G_M000_IG48 G_M000_IG39: call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp G_M000_IG49 G_M000_IG40: push 2 mov ecx, edi call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] jmp SHORT G_M000_IG36 G_M000_IG41: push 2 mov ecx, edi call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] G_M000_IG42: mov edx, 0xD1FFAB1E mov eax, gword ptr [edi+04H] mov ecx, dword ptr [edi+0CH] lea ebx, [ecx+02H] cmp dword ptr [eax+04H], ebx jb SHORT G_M000_IG45 G_M000_IG43: jmp G_M000_IG60 G_M000_IG44: push 2 mov ecx, edi call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] jmp SHORT G_M000_IG38 G_M000_IG45: push 2 mov ecx, edi call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] G_M000_IG46: 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_IG54 G_M000_IG47: jmp SHORT G_M000_IG53 G_M000_IG48: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] G_M000_IG49: 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_IG51 G_M000_IG50: push dword ptr [edx+04H] add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] G_M000_IG51: mov ecx, dword ptr [edi+0CH] mov edx, gword ptr [edi+04H] cmp dword ptr [edx+04H], ecx jbe G_M000_IG32 G_M000_IG52: mov word ptr [edx+2*ecx+08H], 32 inc dword ptr [edi+0CH] jmp G_M000_IG33 G_M000_IG53: push dword ptr [edx+04H] add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] G_M000_IG54: mov edx, 0xD1FFAB1E mov esi, gword ptr [edi+04H] mov ebx, dword ptr [edi+0CH] lea ecx, [ebx+03H] cmp dword ptr [esi+04H], ecx jb SHORT G_M000_IG57 G_M000_IG55: jmp SHORT G_M000_IG61 G_M000_IG56: lea edx, bword ptr [ebx+2*eax+08H] mov word ptr [edx], 110 mov word ptr [edx+02H], 115 add eax, 2 mov dword ptr [edi+0CH], eax jmp G_M000_IG42 G_M000_IG57: push 3 mov ecx, edi call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] G_M000_IG58: mov ecx, edi call [System.Text.StringBuilder:ToString():System.String:this] G_M000_IG59: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG60: lea edx, bword ptr [eax+2*ecx+08H] mov word ptr [edx], 44 mov word ptr [edx+02H], 32 add ecx, 2 mov dword ptr [edi+0CH], ecx jmp G_M000_IG46 G_M000_IG61: lea ecx, bword ptr [esi+2*ebx+08H] push 6 call [System.Buffer:Memmove(byref,byref,uint)] add ebx, 3 mov dword ptr [edi+0CH], ebx jmp SHORT G_M000_IG58 ; Total bytes of code 1022 997: JIT compiled BenchmarkDotNet.Reports.Measurement:ToString() [Tier1, IL size=304, code size=1022] ; Assembly listing for method System.Text.StringBuilder:.ctor():this ; Emitting BLENDED_CODE for X86 with AVX - 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 998: JIT compiled System.Text.StringBuilder:.ctor() [Tier1, IL size=31, code size=35] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_IterationMode():int:this ; Emitting BLENDED_CODE for X86 with AVX - 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 999: JIT compiled BenchmarkDotNet.Reports.Measurement:get_IterationMode() [Tier1, IL size=7, code size=3] ; Assembly listing for method System.String:Concat(System.String,System.String):System.String ; Emitting BLENDED_CODE for X86 with AVX - 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 10376 ; 3 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 push eax mov edi, ecx mov esi, edx G_M000_IG02: test edi, edi je SHORT G_M000_IG08 G_M000_IG03: cmp dword ptr [edi+04H], 0 jne SHORT G_M000_IG10 G_M000_IG04: test esi, esi je SHORT G_M000_IG17 G_M000_IG05: cmp dword ptr [esi+04H], 0 je SHORT G_M000_IG17 G_M000_IG06: mov eax, esi G_M000_IG07: pop ecx pop ebx pop esi pop edi pop ebp ret G_M000_IG08: test esi, esi jne SHORT G_M000_IG05 G_M000_IG09: jmp SHORT G_M000_IG17 G_M000_IG10: test esi, esi je SHORT G_M000_IG12 G_M000_IG11: cmp dword ptr [esi+04H], 0 jne SHORT G_M000_IG14 G_M000_IG12: mov eax, edi G_M000_IG13: pop ecx pop ebx pop esi pop edi pop ebp ret G_M000_IG14: mov ebx, dword ptr [edi+04H] mov ecx, ebx add ecx, dword ptr [esi+04H] jns SHORT G_M000_IG15 call [System.ThrowHelper:ThrowOutOfMemoryException_StringTooLong()] int3 G_M000_IG15: call System.String:FastAllocateString(int):System.String mov gword ptr [ebp-10H], eax push edi mov ecx, eax xor edx, edx call [System.String:CopyStringContent(System.String,int,System.String)] push esi mov ecx, gword ptr [ebp-10H] mov edx, ebx call [System.String:CopyStringContent(System.String,int,System.String)] mov eax, gword ptr [ebp-10H] G_M000_IG16: pop ecx pop ebx pop esi pop edi pop ebp ret G_M000_IG17: mov eax, 0xD1FFAB1E G_M000_IG18: pop ecx pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 131 1000: JIT compiled System.String:Concat(System.String,System.String) [Tier1 with Static PGO, IL size=84, code size=131] ; Assembly listing for method System.String:PadRight(int,ushort):System.String:this ; Emitting BLENDED_CODE for X86 with AVX - 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 1001: 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 X86 with AVX - 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 1002: 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 X86 with AVX - 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 1003: 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 X86 with AVX - 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 1004: 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 X86 with AVX - 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 1005: 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 X86 with AVX - 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 1006: 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 X86 with AVX - 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 1007: 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 X86 with AVX - 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 mov eax, dword ptr [eax+4*edi+08H] 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 [0 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 mov eax, dword ptr [eax+4*esi+08H] 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 mov edx, dword ptr [eax+4*edx+08H] mov dword ptr [ecx], edx 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 328 1008: JIT compiled System.Number:UInt64ToDecChars[ushort](uint,ulong) [Tier1, IL size=35, code size=328] ; Assembly listing for method System.Number+Grisu3:TryRunDouble(double,int,byref):bool ; Emitting BLENDED_CODE for X86 with AVX - 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 mov edi, bword ptr [esi+0CH] mov ebx, dword ptr [esi+10H] 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 mov ebx, bword ptr [esi+0CH] mov eax, dword ptr [esi+10H] 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 797 1009: JIT compiled System.Number+Grisu3:TryRunDouble(double,int,byref) [Tier1, IL size=134, code size=797] ; Assembly listing for method System.Number+DiyFp:Normalize():System.Number+DiyFp:this ; Emitting BLENDED_CODE for X86 with AVX - 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 1010: 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 X86 with AVX - 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 1011: 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 X86 with AVX - 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 1012: 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 X86 with AVX - 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 1013: 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 X86 with AVX - 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 1014: 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+Grisu3:BiggestPowerTen(uint,int,byref):uint ; Emitting BLENDED_CODE for X86 with AVX - 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 1015: JIT compiled System.Number+Grisu3:BiggestPowerTen(uint,int,byref) [Tier1, IL size=60, code size=60] ; Assembly listing for method System.Number:FindSection(System.ReadOnlySpan`1[ushort],int):int ; Emitting BLENDED_CODE for X86 with AVX - 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 1016: 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 X86 with AVX - 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 1017: 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 X86 with AVX - 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 1018: 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 X86 with AVX - 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 1019: 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 X86 with AVX - 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 1020: 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 X86 with AVX - 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 1021: 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 X86 with AVX - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 2 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, 32 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-2CH] vmovsd xmm0, qword ptr [ebp-2CH] vmovsd qword ptr [ebp-14H], xmm0 mov edi, gword ptr [ebp+08H] cmp byte ptr [edi+08H], 0 je SHORT G_M000_IG10 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 SHORT G_M000_IG07 G_M000_IG06: mov ecx, ebx call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp SHORT G_M000_IG08 G_M000_IG07: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] G_M000_IG08: 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 ecx, eax push esi mov edx, 0xD1FFAB1E call [System.String:Concat(System.String,System.String,System.String):System.String] G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG10: vmovsd xmm0, qword ptr [ebp-14H] vmovsd qword ptr [ebp-24H], xmm0 test ebx, ebx je SHORT G_M000_IG12 G_M000_IG11: mov ecx, ebx call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp SHORT G_M000_IG13 G_M000_IG12: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] G_M000_IG13: 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_IG14: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 ; Total bytes of code 305 1022: JIT compiled Perfolizer.Horology.TimeInterval:ToString(Perfolizer.Horology.TimeUnit,System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation) [Tier1, IL size=141, code size=305] ; Assembly listing for method Perfolizer.Horology.TimeUnit:Convert(double,Perfolizer.Horology.TimeUnit,Perfolizer.Horology.TimeUnit):double ; Emitting BLENDED_CODE for X86 with AVX - 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 1023: 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 X86 with AVX - 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 1024: 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 X86 with AVX - 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 1025: 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 X86 with AVX - 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 1026: 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 X86 with AVX - 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 1027: 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 X86 with AVX - 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, 56 mov edi, ecx mov esi, edx mov ebx, dword ptr [ebp+0CH] G_M000_IG02: movzx edx, byte ptr [esi+0AH] mov dword ptr [ebp-24H], edx xor ecx, ecx cmp edx, 3 sete cl mov dword ptr [ebp-10H], ecx movzx edx, word ptr [ebp+10H] mov dword ptr [ebp-28H], edx cmp edx, 82 ja SHORT G_M000_IG05 G_M000_IG03: lea ecx, [edx-43H] mov dword ptr [ebp-2CH], ecx cmp ecx, 4 ja SHORT G_M000_IG04 lea ecx, [@RWD00] mov eax, dword ptr [ebp-2CH] mov ecx, dword ptr [ecx+4*eax] lea edx, G_M000_IG02 add ecx, edx jmp ecx G_M000_IG04: lea ecx, [edx-4EH] cmp ecx, 4 ja G_M000_IG38 lea edx, [@RWD20] mov edx, dword ptr [edx+4*ecx] lea eax, G_M000_IG02 add edx, eax jmp edx G_M000_IG05: lea ecx, [edx-63H] cmp ecx, 4 ja SHORT G_M000_IG06 lea edx, [@RWD40] mov edx, dword ptr [edx+4*ecx] lea eax, G_M000_IG02 add edx, eax jmp edx G_M000_IG06: lea ecx, [edx-6EH] cmp ecx, 4 ja G_M000_IG38 lea edx, [@RWD60] mov edx, dword ptr [edx+4*ecx] lea eax, G_M000_IG02 add edx, eax jmp edx G_M000_IG07: test ebx, ebx jge SHORT G_M000_IG08 mov ebx, gword ptr [ebp+08H] mov edx, dword ptr [ebx+88H] mov eax, edx mov gword ptr [ebp+08H], ebx mov ebx, eax G_M000_IG08: mov edx, ebx add edx, dword ptr [esi+04H] push dword ptr [ebp-10H] mov ecx, esi call [System.Number:RoundNumber(byref,int,bool)] push ebx push gword ptr [ebp+08H] mov ecx, edi mov edx, esi call [System.Number:FormatCurrency[ushort](byref,byref,int,System.Globalization.NumberFormatInfo)] jmp G_M000_IG36 G_M000_IG09: test ebx, ebx jge SHORT G_M000_IG10 mov ebx, gword ptr [ebp+08H] mov edx, dword ptr [ebx+84H] mov eax, edx mov gword ptr [ebp+08H], ebx mov ebx, eax G_M000_IG10: mov edx, ebx 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-34H], edx mov dword ptr [ebp-18H], ecx mov edx, dword ptr [edi+04H] mov ecx, bword ptr [edi+08H] mov bword ptr [ebp-30H], ecx mov ecx, dword ptr [edi+0CH] cmp dword ptr [ebp-18H], 1 jne SHORT G_M000_IG13 cmp edx, ecx jae SHORT G_M000_IG13 mov ecx, bword ptr [ebp-34H] movzx ecx, word ptr [ecx] mov eax, bword ptr [ebp-30H] mov word ptr [eax+2*edx], cx inc edx mov dword ptr [edi+04H], edx jmp SHORT G_M000_IG14 G_M000_IG13: push dword ptr [ebp-18H] push bword ptr [ebp-34H] mov ecx, edi 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 ebx push 0 push eax push edx push 0 push ecx mov ecx, edi 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 ebx, ebx jge SHORT G_M000_IG18 mov ebx, gword ptr [ebp+08H] mov edx, dword ptr [ebx+84H] mov eax, edx mov gword ptr [ebp+08H], ebx mov ebx, eax G_M000_IG18: mov edx, ebx add edx, dword ptr [esi+04H] push dword ptr [ebp-10H] mov ecx, esi call [System.Number:RoundNumber(byref,int,bool)] push ebx push gword ptr [ebp+08H] mov ecx, edi 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 ebx, ebx cmovl ebx, ecx inc ebx push dword ptr [ebp-10H] mov ecx, esi mov edx, ebx 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-3CH], edx mov dword ptr [ebp-1CH], ecx mov edx, dword ptr [edi+04H] mov ecx, bword ptr [edi+08H] mov bword ptr [ebp-38H], ecx mov ecx, dword ptr [edi+0CH] cmp dword ptr [ebp-1CH], 1 jne SHORT G_M000_IG22 cmp edx, ecx jae SHORT G_M000_IG22 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 [edi+04H], edx jmp SHORT G_M000_IG23 G_M000_IG22: push dword ptr [ebp-1CH] push bword ptr [ebp-3CH] mov ecx, edi call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] G_M000_IG23: push ebx push gword ptr [ebp+08H] push dword ptr [ebp-28H] mov ecx, edi 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 ebx, ebx jg SHORT G_M000_IG25 cmp dword ptr [ebp-24H], 2 jne SHORT G_M000_IG26 cmp ebx, -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 SHORT G_M000_IG32 G_M000_IG25: mov dword ptr [ebp-14H], eax jmp SHORT G_M000_IG27 G_M000_IG26: mov ebx, dword ptr [esi] mov dword ptr [ebp-14H], eax G_M000_IG27: push dword ptr [ebp-10H] mov ecx, esi mov edx, ebx 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-44H], ecx mov dword ptr [ebp-20H], eax mov ecx, dword ptr [edi+04H] mov eax, bword ptr [edi+08H] mov bword ptr [ebp-40H], eax mov eax, dword ptr [edi+0CH] cmp dword ptr [ebp-20H], 1 jne SHORT G_M000_IG31 cmp ecx, eax jae SHORT G_M000_IG31 mov eax, bword ptr [ebp-44H] movzx eax, word ptr [eax] mov edx, bword ptr [ebp-40H] mov word ptr [edx+2*ecx], ax inc ecx mov dword ptr [edi+04H], ecx jmp SHORT G_M000_IG32 G_M000_IG31: push dword ptr [ebp-20H] push bword ptr [ebp-44H] mov ecx, edi call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] G_M000_IG32: push ebx push gword ptr [ebp+08H] mov ebx, dword ptr [ebp+10H] add ebx, -2 movzx ecx, bx push ecx push dword ptr [ebp-14H] mov ecx, edi 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 ebx, ebx jge SHORT G_M000_IG34 mov ebx, gword ptr [ebp+08H] mov edx, dword ptr [ebx+A0H] mov eax, edx mov gword ptr [ebp+08H], ebx mov ebx, eax G_M000_IG34: lea edx, bword ptr [esi+04H] add dword ptr [edx], 2 mov edx, ebx add edx, dword ptr [esi+04H] push dword ptr [ebp-10H] mov ecx, esi call [System.Number:RoundNumber(byref,int,bool)] push ebx push gword ptr [ebp+08H] mov ecx, edi mov edx, esi call [System.Number:FormatPercent[ushort](byref,byref,int,System.Globalization.NumberFormatInfo)] jmp SHORT G_M000_IG36 G_M000_IG35: mov edx, dword ptr [ebp-28H] add edx, -11 movzx eax, dx 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 881 1028: JIT compiled System.Number:NumberToString[ushort](byref,byref,ushort,int,System.Globalization.NumberFormatInfo) [Tier1, IL size=503, code size=881] ; Assembly listing for method System.String:Concat(System.String,System.String,System.String):System.String ; Emitting BLENDED_CODE for X86 with AVX - 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 4112 ; 3 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 push eax mov esi, ecx mov edi, edx mov ebx, gword ptr [ebp+08H] G_M000_IG02: test esi, esi je G_M000_IG13 G_M000_IG03: cmp dword ptr [esi+04H], 0 je G_M000_IG13 G_M000_IG04: test edi, edi je G_M000_IG15 G_M000_IG05: cmp dword ptr [edi+04H], 0 je G_M000_IG15 G_M000_IG06: test ebx, ebx je SHORT G_M000_IG08 G_M000_IG07: cmp dword ptr [ebx+04H], 0 jne SHORT G_M000_IG10 G_M000_IG08: mov ecx, esi mov edx, edi call [System.String:Concat(System.String,System.String):System.String] G_M000_IG09: pop ecx pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG10: mov ecx, dword ptr [esi+04H] xor eax, eax add ecx, dword ptr [edi+04H] adc eax, 0 add ecx, dword ptr [ebx+04H] adc eax, 0 cmp ecx, 0xD1FFAB1E sbb eax, 0 jl SHORT G_M000_IG11 call [System.ThrowHelper:ThrowOutOfMemoryException_StringTooLong()] int3 G_M000_IG11: call System.String:FastAllocateString(int):System.String mov gword ptr [ebp-10H], eax push esi mov ecx, eax xor edx, edx call [System.String:CopyStringContent(System.String,int,System.String)] mov edx, dword ptr [esi+04H] push edi mov ecx, gword ptr [ebp-10H] call [System.String:CopyStringContent(System.String,int,System.String)] mov edx, dword ptr [esi+04H] add edx, dword ptr [edi+04H] push ebx mov ecx, gword ptr [ebp-10H] call [System.String:CopyStringContent(System.String,int,System.String)] mov eax, gword ptr [ebp-10H] G_M000_IG12: pop ecx pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG13: mov ecx, edi mov edx, ebx call [System.String:Concat(System.String,System.String):System.String] G_M000_IG14: pop ecx pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG15: mov ecx, esi mov edx, ebx call [System.String:Concat(System.String,System.String):System.String] G_M000_IG16: pop ecx pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 208 1029: JIT compiled System.String:Concat(System.String,System.String,System.String) [Tier1 with Static PGO, IL size=137, code size=208] ; Assembly listing for method BenchmarkDotNet.Helpers.AsciiHelper:ToAscii(System.String):System.String ; Emitting BLENDED_CODE for X86 with AVX - 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 1030: 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 X86 with AVX - 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, 53 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov ecx, gword ptr [D1FFAB1EH] push 0 mov edx, esi cmp dword ptr [ecx], ecx call [System.Buffers.SharedArrayPool`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 1031: 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 X86 with AVX - 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 1032: 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 X86 with AVX - 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, 0x17FC7 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 1033: JIT compiled System.Text.StringBuilder:ToString() [Tier1, IL size=132, code size=145] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:WriteLine(System.String):this ; Emitting BLENDED_CODE for X86 with AVX - 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 ecx, gword ptr [ecx+0CH] call [BenchmarkDotNet.Engines.IHost:WriteLine(System.String):this] G_M000_IG03: pop ebp ret ; Total bytes of code 14 1034: JIT compiled BenchmarkDotNet.Engines.Engine:WriteLine(System.String) [Tier1, IL size=13, code size=14] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:WriteLine(System.String):this ; Emitting BLENDED_CODE for X86 with AVX - 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 1035: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:WriteLine(System.String) [Tier1, IL size=13, code size=16] ; Assembly listing for method System.IO.StreamWriter:WriteLine(System.String):this ; Emitting BLENDED_CODE for X86 with AVX - 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 1036: JIT compiled System.IO.StreamWriter:WriteLine(System.String) [Tier1, IL size=20, code size=462] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:Consume(byref):this ; Emitting BLENDED_CODE for X86 with AVX - 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: pop ebp ret ; Total bytes of code 5 1037: JIT compiled BenchmarkDotNet.Engines.Engine:Consume(byref) [Tier1, IL size=1, code size=5] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceInterval:get_Margin():double:this ; Emitting BLENDED_CODE for X86 with AVX - 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 1038: JIT compiled Perfolizer.Mathematics.Common.ConfidenceInterval:get_Margin() [Tier1, IL size=7, code size=23] ; Assembly listing for method BenchmarkDotNet.Engines.EngineStage:RunIteration(int,int,int,long,int):BenchmarkDotNet.Reports.Measurement:this ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 6 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, 64 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 esi, ecx mov edi, edx mov ebx, dword ptr [ebp+08H] G_M000_IG02: push dword ptr [ebp+10H] push dword ptr [ebp+0CH] mov eax, ebx mov edx, eax sar edx, 31 push edx push eax call CORINFO_HELP_LMOD or edx, eax jne SHORT G_M000_IG04 vxorps ymm0, ymm0, ymm0 vmovdqu ymmword ptr [ebp-44H], ymm0 mov ecx, gword ptr [esi+04H] mov esi, dword ptr [ebp+1CH] mov dword ptr [ebp-44H], esi mov esi, dword ptr [ebp+18H] mov dword ptr [ebp-40H], esi mov esi, dword ptr [ebp+14H] mov dword ptr [ebp-3CH], esi mov edx, dword ptr [ebp+0CH] mov eax, dword ptr [ebp+10H] mov dword ptr [ebp-34H], edx mov dword ptr [ebp-30H], eax mov dword ptr [ebp-2CH], ebx 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 mov edx, edi call [BenchmarkDotNet.Engines.IEngine:RunIteration(BenchmarkDotNet.Engines.IterationData):BenchmarkDotNet.Reports.Measurement:this] G_M000_IG03: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 24 G_M000_IG04: push 2 lea ecx, [ebp-24H] mov edx, 53 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] mov ecx, dword ptr [ebp-1CH] cmp ecx, dword ptr [ebp-10H] ja G_M000_IG09 mov edx, bword ptr [ebp-14H] lea edx, bword ptr [edx+2*ecx] mov eax, dword ptr [ebp-10H] sub eax, ecx mov ecx, edx cmp eax, 12 jb SHORT G_M000_IG05 mov edx, 0xD1FFAB1E push 24 call [System.Buffer:Memmove(byref,byref,uint)] mov ecx, dword ptr [ebp-1CH] add ecx, 12 mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG06 G_M000_IG05: lea ecx, [ebp-24H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this] G_M000_IG06: push dword ptr [ebp+10H] push dword ptr [ebp+0CH] lea ecx, [ebp-24H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[long](long):this] mov ecx, dword ptr [ebp-1CH] cmp ecx, dword ptr [ebp-10H] ja SHORT G_M000_IG09 mov edx, bword ptr [ebp-14H] lea edx, bword ptr [edx+2*ecx] mov eax, dword ptr [ebp-10H] sub eax, ecx mov ecx, edx cmp eax, 39 jb SHORT G_M000_IG07 mov edx, 0xD1FFAB1E push 78 call [System.Buffer:Memmove(byref,byref,uint)] mov ecx, dword ptr [ebp-1CH] add ecx, 39 mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG08 G_M000_IG07: lea ecx, [ebp-24H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this] G_M000_IG08: lea ecx, [ebp-24H] mov edx, ebx call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this] mov esi, dword ptr [ebp-1CH] cmp esi, dword ptr [ebp-10H] jbe SHORT G_M000_IG10 G_M000_IG09: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG10: mov ecx, bword ptr [ebp-14H] lea ecx, bword ptr [ecx+2*esi] mov edx, dword ptr [ebp-10H] sub edx, esi cmp edx, 2 jb SHORT G_M000_IG11 mov edx, 0xD1FFAB1E push 4 call [System.Buffer:Memmove(byref,byref,uint)] mov ecx, dword ptr [ebp-1CH] add ecx, 2 mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG12 G_M000_IG11: lea ecx, [ebp-24H] 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-24H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] mov edx, eax mov ecx, esi call [System.ArgumentOutOfRangeException:.ctor(System.String):this] mov ecx, esi call CORINFO_HELP_THROW int3 ; Total bytes of code 429 1039: JIT compiled BenchmarkDotNet.Engines.EngineStage:RunIteration(int,int,int,long,int) [Tier1, IL size=109, code size=429] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:.ctor(int,int,int,long,int):this ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov dword ptr [ecx], edx mov eax, dword ptr [esp+14H] mov dword ptr [ecx+04H], eax mov eax, dword ptr [esp+10H] mov dword ptr [ecx+08H], eax lea eax, bword ptr [ecx+10H] mov edx, dword ptr [esp+08H] mov dword ptr [eax], edx mov edx, dword ptr [esp+0CH] mov dword ptr [eax+04H], edx mov eax, dword ptr [esp+04H] mov dword ptr [ecx+18H], eax G_M000_IG03: ret 20 ; Total bytes of code 42 1040: JIT compiled BenchmarkDotNet.Engines.IterationData:.ctor(int,int,int,long,int) [Tier1, IL size=38, code size=42] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:RunIteration(BenchmarkDotNet.Engines.IterationData):BenchmarkDotNet.Reports.Measurement:this ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 39 single block inlinees; 4 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 280 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-64H], xmm4 vmovdqu xmmword ptr [ebp-54H], xmm4 vmovdqu xmmword ptr [ebp-44H], xmm4 vmovdqu xmmword ptr [ebp-34H], xmm4 mov dword ptr [ebp-10H], esp mov dword ptr [ebp-FCH], 0xD1FFAB1E mov bword ptr [ebp-F4H], edx mov ebx, ecx G_M000_IG02: lea edi, [ebp-120H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-10CH], eax mov edi, dword ptr [ebp+18H] mov eax, dword ptr [ebp+1CH] mov dword ptr [ebp-C8H], edi mov dword ptr [ebp-CCH], eax mov edx, dword ptr [ebp+20H] mov dword ptr [ebp-14H], edx push eax push edi lea ecx, bword ptr [ebx+04H] mov edx, dword ptr [ecx] push dword ptr [ecx+04H] push edx call CORINFO_HELP_LMUL mov dword ptr [ebp-D0H], eax mov dword ptr [ebp-D4H], edx mov ecx, dword ptr [ebp+08H] mov dword ptr [ebp-C4H], ecx xor eax, eax test ecx, ecx sete al mov dword ptr [ebp-20H], eax test eax, eax jne SHORT G_M000_IG04 G_M000_IG03: movzx edx, byte ptr [ebx+66H] jmp SHORT G_M000_IG05 G_M000_IG04: xor edi, edi mov edx, edi G_M000_IG05: movzx edx, dl mov dword ptr [ebp-24H], edx test eax, eax jne SHORT G_M000_IG07 G_M000_IG06: mov edi, gword ptr [ebx+10H] jmp SHORT G_M000_IG08 G_M000_IG07: mov edi, gword ptr [ebx+20H] G_M000_IG08: mov gword ptr [ebp-F8H], edi test eax, eax jne SHORT G_M000_IG10 G_M000_IG09: mov edi, gword ptr [ebx+30H] mov ecx, gword ptr [edi+04H] call [edi+0CH]System.Action:Invoke():this G_M000_IG10: mov gword ptr [ebp-F0H], ebx cmp byte ptr [ebx+64H], 0 je G_M000_IG23 G_M000_IG11: push 2 push -1 mov dword ptr [ebp-118H], 0xD1FFAB1E mov edi, esp mov dword ptr [ebp-114H], edi lea edi, G_M000_IG14 mov dword ptr [ebp-110H], edi mov byte ptr [esi+08H], 0 G_M000_IG12: mov edi, 0xD1FFAB1E G_M000_IG13: vzeroupper call edi ; 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-110H], eax mov dword ptr [ebp-118H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-114H], eax lea eax, G_M000_IG18 mov dword ptr [ebp-110H], eax mov byte ptr [esi+08H], 0 G_M000_IG16: mov eax, 0xD1FFAB1E G_M000_IG17: vzeroupper call eax ; System.GC:_WaitForPendingFinalizers() G_M000_IG18: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG19 call CORINFO_HELP_STOP_FOR_GC G_M000_IG19: xor eax, eax mov dword ptr [ebp-110H], eax push 2 push -1 mov dword ptr [ebp-118H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-114H], eax lea eax, G_M000_IG21 mov dword ptr [ebp-110H], eax mov byte ptr [esi+08H], 0 G_M000_IG20: vzeroupper call edi ; System.GC:_Collect(int,int) G_M000_IG21: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG22 call CORINFO_HELP_STOP_FOR_GC G_M000_IG22: xor ecx, ecx mov dword ptr [ebp-110H], ecx G_M000_IG23: mov edi, gword ptr [D1FFAB1EH] cmp byte ptr [edi+59H], 0 je SHORT G_M000_IG25 G_M000_IG24: push dword ptr [ebp+0CH] push dword ptr [ebp-D4H] push dword ptr [ebp-D0H] mov ecx, gword ptr [D1FFAB1EH] mov edx, dword ptr [ebp-C4H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineEventSource:IterationStart(int,int,long):this] G_M000_IG25: cmp dword ptr [ebp-24H], 0 je SHORT G_M000_IG29 G_M000_IG26: mov ebx, gword ptr [ebp-F0H] mov edi, gword ptr [ebx+58H] mov ecx, edi mov edx, 32 mov edi, dword ptr [edi] mov edi, dword ptr [edi+28H] call [edi+14H]System.Random:Next(int):int:this mov ecx, eax test ecx, ecx je SHORT G_M000_IG28 add ecx, 3 shr ecx, 2 G_M000_IG27: push 0 dec ecx jne SHORT G_M000_IG27 lea ecx, [esp] G_M000_IG28: mov dword ptr [ebp-10H], esp test eax, eax jl G_M000_IG55 jmp SHORT G_M000_IG30 G_M000_IG29: xor edi, edi xor edx, edx mov eax, edx mov ecx, edi mov ebx, gword ptr [ebp-F0H] G_M000_IG30: mov bword ptr [ebp-2CH], ecx mov dword ptr [ebp-28H], eax mov edi, gword ptr [ebx+44H] mov ecx, edi call [Perfolizer.Horology.IClock:GetTimestamp():long:this] mov dword ptr [ebp-D8H], eax mov dword ptr [ebp-DCH], edx push dword ptr [ebp-CCH] push dword ptr [ebp-C8H] mov ecx, dword ptr [ebp-14H] mov eax, ecx sar eax, 31 push eax push ecx call CORINFO_HELP_LDIV push edx push eax mov eax, gword ptr [ebp-F8H] mov ecx, gword ptr [eax+04H] call [eax+0CH]System.Action`1[long]:Invoke(long):this mov ecx, edi call [Perfolizer.Horology.IClock:GetTimestamp():long:this] mov dword ptr [ebp-E0H], eax mov dword ptr [ebp-E4H], edx vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [ebp-98H], xmm0 vmovdqu xmmword ptr [ebp-90H], xmm0 lea edx, [ebp-A0H] mov ecx, edi call [Perfolizer.Horology.IClock:get_Frequency():Perfolizer.Horology.Frequency:this] mov edi, dword ptr [ebp-D8H] mov dword ptr [ebp-98H], edi mov edi, dword ptr [ebp-DCH] mov dword ptr [ebp-94H], edi mov edi, dword ptr [ebp-E0H] mov dword ptr [ebp-90H], edi mov edi, dword ptr [ebp-E4H] mov dword ptr [ebp-8CH], edi vmovsd xmm0, qword ptr [ebp-A0H] vmovsd qword ptr [ebp-88H], xmm0 vmovdqu xmm0, xmmword ptr [ebp-98H] vmovdqu xmmword ptr [ebp-44H], xmm0 vmovdqu xmm0, xmmword ptr [ebp-90H] vmovdqu xmmword ptr [ebp-3CH], xmm0 mov ecx, gword ptr [D1FFAB1EH] cmp byte ptr [ecx+59H], 0 je SHORT G_M000_IG32 G_M000_IG31: push dword ptr [ebp+0CH] mov edi, dword ptr [ebp-D4H] push edi push dword ptr [ebp-D0H] mov ecx, gword ptr [D1FFAB1EH] mov edx, dword ptr [ebp-C4H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineEventSource:IterationStop(int,int,long):this] G_M000_IG32: cmp dword ptr [ebp-20H], 0 jne SHORT G_M000_IG34 G_M000_IG33: mov eax, gword ptr [ebx+34H] mov ecx, gword ptr [eax+04H] call [eax+0CH]System.Action:Invoke():this G_M000_IG34: cmp dword ptr [ebp-24H], 0 je SHORT G_M000_IG36 G_M000_IG35: mov ecx, ebx call [BenchmarkDotNet.Engines.Engine:RandomizeManagedHeapMemory():this] G_M000_IG36: mov gword ptr [ebp-F0H], ebx cmp byte ptr [ebx+64H], 0 je G_M000_IG50 G_M000_IG37: push 2 push -1 mov dword ptr [ebp-118H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-114H], eax lea eax, G_M000_IG40 mov dword ptr [ebp-110H], eax mov byte ptr [esi+08H], 0 G_M000_IG38: mov eax, 0xD1FFAB1E G_M000_IG39: vzeroupper call eax ; System.GC:_Collect(int,int) G_M000_IG40: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG41 call CORINFO_HELP_STOP_FOR_GC G_M000_IG41: xor eax, eax mov dword ptr [ebp-110H], eax mov dword ptr [ebp-118H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-114H], eax lea eax, G_M000_IG44 mov dword ptr [ebp-110H], eax mov byte ptr [esi+08H], 0 G_M000_IG42: mov eax, 0xD1FFAB1E G_M000_IG43: vzeroupper call eax ; System.GC:_WaitForPendingFinalizers() G_M000_IG44: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG45 call CORINFO_HELP_STOP_FOR_GC G_M000_IG45: xor eax, eax mov dword ptr [ebp-110H], eax push 2 push -1 mov dword ptr [ebp-118H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-114H], eax lea eax, G_M000_IG48 mov dword ptr [ebp-110H], eax mov byte ptr [esi+08H], 0 G_M000_IG46: mov eax, 0xD1FFAB1E G_M000_IG47: vzeroupper call eax ; System.GC:_Collect(int,int) G_M000_IG48: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG49 call CORINFO_HELP_STOP_FOR_GC G_M000_IG49: xor ecx, ecx mov dword ptr [ebp-110H], ecx G_M000_IG50: mov eax, dword ptr [ebp-C4H] mov dword ptr [ebp-68H], eax mov edx, dword ptr [ebp+0CH] mov dword ptr [ebp-6CH], edx mov ecx, dword ptr [ebp+10H] mov dword ptr [ebp-70H], ecx lea ecx, [ebp-44H] call [Perfolizer.Horology.ClockSpan:GetNanoseconds():double:this] fstp qword ptr [ebp-104H] vmovsd xmm0, qword ptr [ebp-104H] mov ecx, dword ptr [ebp-D0H] mov dword ptr [ebp-54H], ecx mov edi, dword ptr [ebp-D4H] mov dword ptr [ebp-50H], edi vmovsd qword ptr [ebp-4CH], xmm0 xor ecx, ecx mov dword ptr [ebp-5CH], ecx mov edi, dword ptr [ebp-68H] mov dword ptr [ebp-64H], edi mov edi, dword ptr [ebp-6CH] mov dword ptr [ebp-60H], edi mov edi, dword ptr [ebp-70H] mov dword ptr [ebp-58H], edi lea ecx, [ebp-64H] call [BenchmarkDotNet.Reports.Measurement:ToString():System.String:this] mov edx, eax mov ebx, gword ptr [ebp-F0H] mov ecx, gword ptr [ebx+0CH] call [BenchmarkDotNet.Engines.IHost:WriteLine(System.String):this] cmp dword ptr [ebp-60H], 0 jne SHORT G_M000_IG53 G_M000_IG51: mov ecx, gword ptr [ebx+48H] vmovdqu ymm0, ymmword ptr [ebp-64H] vmovdqu ymmword ptr [ebp-C0H], ymm0 inc dword ptr [ecx+0CH] mov eax, gword ptr [ecx+04H] mov edx, dword ptr [ecx+08H] mov edi, dword ptr [eax+04H] cmp edi, edx jbe SHORT G_M000_IG52 lea edi, [edx+01H] mov dword ptr [ecx+08H], edi shl edx, 5 vmovdqu ymm0, ymmword ptr [ebp-C0H] vmovdqu ymmword ptr [eax+edx+08H], ymm0 jmp SHORT G_M000_IG53 G_M000_IG52: sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp-C0H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-B0H] vmovdqu xmmword ptr [esp+10H], xmm0 call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddWithResize(BenchmarkDotNet.Reports.Measurement):this] G_M000_IG53: lea edx, [ebp-2CH] mov ecx, ebx call [BenchmarkDotNet.Engines.Engine:Consume(byref):this] mov edi, bword ptr [ebp-F4H] vmovdqu ymm0, ymmword ptr [ebp-64H] vmovdqu ymmword ptr [edi], ymm0 mov eax, bword ptr [ebp-11CH] mov dword ptr [esi+0CH], eax cmp dword ptr [ebp-FCH], 0xD1FFAB1E je SHORT G_M000_IG54 call CORINFO_HELP_FAIL_FAST G_M000_IG54: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 32 G_M000_IG55: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 ; Total bytes of code 1366 1041: JIT compiled BenchmarkDotNet.Engines.Engine:RunIteration(BenchmarkDotNet.Engines.IterationData) [Tier1, IL size=361, code size=1366] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_InvokeCount():long:this ; Emitting BLENDED_CODE for X86 with AVX - 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 1042: JIT compiled BenchmarkDotNet.Engines.IterationData:get_InvokeCount() [Tier1, IL size=7, code size=9] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_UnrollFactor():int:this ; Emitting BLENDED_CODE for X86 with AVX - 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+18H] G_M000_IG03: ret ; Total bytes of code 4 1043: JIT compiled BenchmarkDotNet.Engines.IterationData:get_UnrollFactor() [Tier1, IL size=7, code size=4] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_OperationsPerInvoke():long:this ; Emitting BLENDED_CODE for X86 with AVX - 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 1044: JIT compiled BenchmarkDotNet.Engines.Engine:get_OperationsPerInvoke() [Tier1, IL size=7, code size=9] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:IterationStart(int,int,long):this ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially 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 mov esi, dword ptr [ebp+10H] G_M000_IG02: cmp esi, 3 ja G_M000_IG11 lea eax, [@RWD00] mov eax, dword ptr [eax+4*esi] lea edi, G_M000_IG02 add eax, edi jmp eax G_M000_IG03: test edx, edx jne SHORT G_M000_IG04 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 3 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] jmp G_M000_IG10 G_M000_IG04: cmp edx, 1 jne G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 5 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] jmp SHORT G_M000_IG10 G_M000_IG05: cmp edx, 1 jne SHORT G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 7 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] jmp SHORT G_M000_IG10 G_M000_IG06: test edx, edx jne SHORT G_M000_IG07 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 9 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] jmp SHORT G_M000_IG10 G_M000_IG07: cmp edx, 1 jne SHORT G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 13 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] jmp SHORT G_M000_IG10 G_M000_IG08: test edx, edx jne SHORT G_M000_IG09 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 11 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] jmp SHORT G_M000_IG10 G_M000_IG09: cmp edx, 1 jne SHORT G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 15 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG10: pop esi pop edi pop ebp ret 12 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, 0xF932 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_IG08 - G_M000_IG02 ; Total bytes of code 275 1045: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:IterationStart(int,int,long) [Tier1, IL size=125, code size=275] ; Assembly listing for method System.Diagnostics.Tracing.ActivityTracker:OnStart(System.String,System.String,int,byref,byref,int,bool):this ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 16 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 56 vzeroupper mov esi, ecx mov edi, edx mov ebx, bword ptr [ebp+14H] G_M000_IG02: cmp gword ptr [esi+04H], 0 jne SHORT G_M000_IG10 G_M000_IG03: cmp byte ptr [esi+08H], 0 je SHORT G_M000_IG05 G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 24 G_M000_IG05: mov byte ptr [esi+08H], 1 cmp byte ptr [ebp+08H], 0 je SHORT G_M000_IG08 mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-3CH], edx cmp byte ptr [edx+59H], 0 je SHORT G_M000_IG08 G_M000_IG06: movzx ecx, byte ptr [edx+59H] mov dword ptr [ebp-14H], ecx push dword ptr [edx+50H] lea ecx, bword ptr [edx+04H] mov bword ptr [ebp-40H], ecx mov ecx, dword ptr [ecx] mov dword ptr [ebp-44H], ecx mov ecx, bword ptr [ebp-40H] push dword ptr [ecx+04H] push dword ptr [ebp-44H] push 4 push 0 push 128 push 0 mov edx, dword ptr [ebp-14H] mov ecx, gword ptr [ebp-3CH] call [System.Diagnostics.Tracing.EventSource:IsEnabledCommon(bool,int,long,int,long,ubyte):bool:this] test eax, eax je SHORT G_M000_IG08 G_M000_IG07: mov ecx, esi call [System.Diagnostics.Tracing.ActivityTracker:Enable():this] G_M000_IG08: cmp gword ptr [esi+04H], 0 jne SHORT G_M000_IG10 G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 24 G_M000_IG10: mov edx, gword ptr [esi+04H] cmp byte ptr [edx], dl mov ecx, edx call [System.Threading.ExecutionContext:GetLocalValue(System.Threading.IAsyncLocal):System.Object] mov edx, eax test edx, edx je SHORT G_M000_IG12 G_M000_IG11: mov ecx, 0xD1FFAB1E cmp dword ptr [edx], ecx jne G_M000_IG28 G_M000_IG12: mov gword ptr [ebp-2CH], edx push dword ptr [ebp+18H] mov ecx, edi mov edx, gword ptr [ebp+1CH] call [System.Diagnostics.Tracing.ActivityTracker:NormalizeActivityName(System.String,System.String,int):System.String] mov gword ptr [ebp-30H], eax xor ecx, ecx cmp byte ptr [ebp+08H], 0 cmovne ecx, gword ptr [D1FFAB1EH] mov edx, ecx mov gword ptr [ebp-34H], edx test edx, edx je SHORT G_M000_IG13 movzx ecx, byte ptr [edx+6DH] jmp SHORT G_M000_IG14 G_M000_IG13: xor ecx, ecx G_M000_IG14: movzx ecx, cl mov dword ptr [ebp-10H], ecx test ecx, ecx je G_M000_IG17 cmp byte ptr [edx], dl push 0xD1FFAB1E push eax mov ecx, edx mov edx, 23 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String):this] mov ecx, gword ptr [ebp-2CH] call [System.Diagnostics.Tracing.ActivityTracker+ActivityInfo:LiveActivities(System.Diagnostics.Tracing.ActivityTracker+ActivityInfo):System.String] push 0xD1FFAB1E push eax mov ecx, gword ptr [ebp-34H] mov edx, 23 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String):this] mov edx, gword ptr [ebp-34H] G_M000_IG15: mov eax, gword ptr [ebp-2CH] test eax, eax je G_M000_IG21 cmp dword ptr [eax+20H], 100 jl SHORT G_M000_IG18 vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [ebx], xmm0 mov edi, bword ptr [ebp+10H] vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [edi], xmm0 cmp dword ptr [ebp-10H], 0 je SHORT G_M000_IG16 cmp byte ptr [edx], dl push 0xD1FFAB1E push 0xD1FFAB1E mov ecx, edx mov edx, 23 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String):this] G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 24 G_M000_IG17: jmp SHORT G_M000_IG15 G_M000_IG18: test byte ptr [ebp+0CH], 4 jne SHORT G_M000_IG21 mov ecx, gword ptr [ebp-30H] mov gword ptr [ebp-2CH], eax mov edx, eax call [System.Diagnostics.Tracing.ActivityTracker:FindActiveActivity(System.String,System.Diagnostics.Tracing.ActivityTracker+ActivityInfo):System.Diagnostics.Tracing.ActivityTracker+ActivityInfo] test eax, eax mov eax, gword ptr [ebp-2CH] je SHORT G_M000_IG22 push gword ptr [ebp+1CH] push dword ptr [ebp+18H] push ebx push 1 mov ecx, esi mov edx, edi call [System.Diagnostics.Tracing.ActivityTracker:OnStop(System.String,System.String,int,byref,bool):this] mov ecx, gword ptr [esi+04H] cmp byte ptr [ecx], cl call [System.Threading.ExecutionContext:GetLocalValue(System.Threading.IAsyncLocal):System.Object] mov ecx, eax test ecx, ecx je SHORT G_M000_IG20 G_M000_IG19: mov edx, 0xD1FFAB1E cmp dword ptr [ecx], edx jne G_M000_IG29 G_M000_IG20: mov edi, ecx mov eax, edi mov edx, gword ptr [ebp-34H] G_M000_IG21: mov gword ptr [ebp-2CH], eax test eax, eax jne SHORT G_M000_IG23 push 0 push 1 mov ecx, 0xD1FFAB1E call System.Threading.Interlocked:ExchangeAdd(byref,long):long mov edi, eax add edi, 1 mov eax, edx adc eax, 0 mov dword ptr [ebp-18H], eax jmp SHORT G_M000_IG24 G_M000_IG22: mov edx, gword ptr [ebp-34H] jmp SHORT G_M000_IG21 G_M000_IG23: mov eax, gword ptr [ebp-2CH] lea edi, bword ptr [eax+0CH] push 0 push 1 mov ecx, edi call System.Threading.Interlocked:ExchangeAdd(byref,long):long mov edi, eax add edi, 1 mov eax, edx adc eax, 0 mov dword ptr [ebp-18H], eax G_M000_IG24: mov ecx, bword ptr [ebp+10H] call [System.Diagnostics.Tracing.EventSource:get_CurrentThreadActivityId():System.Guid] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-38H], eax mov ecx, bword ptr [ebp+10H] vmovups xmm0, xmmword ptr [ecx] lea edx, bword ptr [eax+14H] mov ecx, gword ptr [ebp-30H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, dword ptr [ebp+0CH] mov dword ptr [eax+24H], edx lea edx, bword ptr [eax+18H] mov ecx, gword ptr [ebp-2CH] call CORINFO_HELP_ASSIGN_REF_ECX lea edx, bword ptr [eax+04H] mov dword ptr [edx], edi mov edi, dword ptr [ebp-18H] mov dword ptr [edx+04H], edi test ecx, ecx jne SHORT G_M000_IG25 xor edx, edx jmp SHORT G_M000_IG26 G_M000_IG25: mov edx, dword ptr [ecx+20H] inc edx G_M000_IG26: mov dword ptr [eax+20H], edx vmovups xmmword ptr [eax+3CH], xmm0 lea edx, bword ptr [eax+1CH] push edx lea edx, bword ptr [eax+2CH] mov ecx, eax call [System.Diagnostics.Tracing.ActivityTracker+ActivityInfo:CreateActivityPathGuid(byref,byref):this] mov edi, gword ptr [ebp-38H] mov ecx, gword ptr [esi+04H] xor edx, edx cmp gword ptr [ecx+04H], 0 setne dl push edx mov edx, edi call [System.Threading.ExecutionContext:SetLocalValue(System.Threading.IAsyncLocal,System.Object,bool)] vmovups xmm0, xmmword ptr [edi+2CH] vmovups xmmword ptr [ebx], xmm0 cmp dword ptr [ebp-10H], 0 je SHORT G_M000_IG27 mov ecx, edi call [System.Diagnostics.Tracing.ActivityTracker+ActivityInfo:LiveActivities(System.Diagnostics.Tracing.ActivityTracker+ActivityInfo):System.String] mov edx, gword ptr [ebp-34H] cmp byte ptr [edx], dl push 0xD1FFAB1E push eax mov ecx, edx mov edx, 23 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String):this] push 0 mov ecx, ebx mov edx, 0xD1FFAB1E call [System.Guid:ToString(System.String,System.IFormatProvider):System.String:this] mov esi, eax push 0 mov ecx, bword ptr [ebp+10H] mov edx, 0xD1FFAB1E call [System.Guid:ToString(System.String,System.IFormatProvider):System.String:this] push 0xD1FFAB1E push esi push eax mov ecx, gword ptr [ebp-34H] mov edx, 24 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this] G_M000_IG27: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 24 G_M000_IG28: mov edx, eax call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 G_M000_IG29: mov ecx, edx mov edx, eax call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 ; Total bytes of code 787 1046: JIT compiled System.Diagnostics.Tracing.ActivityTracker:OnStart(System.String,System.String,int,byref,byref,int,bool) [Tier1, IL size=389, code size=787] ; Assembly listing for method System.Span`1[ubyte]:get_Empty():System.Span`1[ubyte] ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: xor eax, eax mov dword ptr [ecx], eax mov dword ptr [ecx+04H], eax G_M000_IG03: ret ; Total bytes of code 8 1047: JIT compiled System.Span`1[ubyte]:get_Empty() [Tier1, IL size=10, code size=8] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_Clock():Perfolizer.Horology.IClock:this ; Emitting BLENDED_CODE for X86 with AVX - 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+44H] G_M000_IG03: ret ; Total bytes of code 4 1048: JIT compiled BenchmarkDotNet.Engines.Engine:get_Clock() [Tier1, IL size=7, code size=4] ; Assembly listing for method Perfolizer.Horology.ClockExtensions:Start(Perfolizer.Horology.IClock):Perfolizer.Horology.StartedClock ; Emitting BLENDED_CODE for X86 with AVX - 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 sub esp, 16 mov esi, ecx mov edi, edx G_M000_IG02: mov ecx, edi call [Perfolizer.Horology.IClock:GetTimestamp():long:this] mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], edx mov edx, esi mov eax, dword ptr [ebp-18H] mov dword ptr [edx], eax mov eax, dword ptr [ebp-14H] mov dword ptr [edx+04H], eax lea edx, bword ptr [esi+08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EDI G_M000_IG03: lea esp, [ebp-08H] pop esi pop edi pop ebp ret ; Total bytes of code 54 1049: JIT compiled Perfolizer.Horology.ClockExtensions:Start(Perfolizer.Horology.IClock) [Tier1, IL size=13, code size=54] ; Assembly listing for method Perfolizer.Horology.StartedClock:.ctor(Perfolizer.Horology.IClock,long):this ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: mov eax, edx G_M000_IG02: lea edx, bword ptr [ecx+08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov eax, dword ptr [esp+04H] mov dword ptr [ecx], eax mov eax, dword ptr [esp+08H] mov dword ptr [ecx+04H], eax G_M000_IG03: ret 8 ; Total bytes of code 26 1050: JIT compiled Perfolizer.Horology.StartedClock:.ctor(Perfolizer.Horology.IClock,long) [Tier1, IL size=15, code size=26] ; Assembly listing for method BenchmarkDotNet.Engines.EngineWarmupStage:RunWorkload(long,int,int):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for X86 with AVX - 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 1051: 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 X86 with AVX - 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 1052: 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.FixedStoppingCriteria:.ctor(int):this ; Emitting BLENDED_CODE for X86 with AVX - 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+14H], edx push 1 lea ecx, [ebp-20H] mov edx, 47 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] 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 G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 127 1053: JIT compiled BenchmarkDotNet.Engines.FixedStoppingCriteria:.ctor(int) [Tier0, IL size=69, code size=127] ; Assembly listing for method BenchmarkDotNet.Engines.FixedStoppingCriteria:GetMaxIterationCount():int:this ; Emitting BLENDED_CODE for X86 with AVX - 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+14H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 1054: JIT compiled BenchmarkDotNet.Engines.FixedStoppingCriteria:GetMaxIterationCount() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.FixedStoppingCriteria:Evaluate(System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]):BenchmarkDotNet.Engines.StoppingResult:this ; Emitting BLENDED_CODE for X86 with AVX - 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, 12 mov gword ptr [ebp-0CH], ecx mov bword ptr [ebp-10H], edx G_M000_IG02: mov ecx, gword ptr [ebp+08H] call [System.Collections.Generic.IReadOnlyCollection`1[BenchmarkDotNet.Reports.Measurement]:get_Count():int:this] mov dword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.StoppingCriteriaBase:get_MaxIterationCount():int:this] cmp eax, dword ptr [ebp-14H] jle SHORT G_M000_IG04 mov esi, gword ptr [D1FFAB1EH] add esi, 4 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 G_M000_IG04: mov edx, gword ptr [ebp-0CH] mov edx, gword ptr [edx+10H] mov ecx, bword ptr [ebp-10H] call [BenchmarkDotNet.Engines.StoppingResult:CreateFinished(System.String):BenchmarkDotNet.Engines.StoppingResult] G_M000_IG05: lea esp, [ebp-08H] pop esi pop edi pop ebp ret 4 ; Total bytes of code 91 1055: JIT compiled BenchmarkDotNet.Engines.FixedStoppingCriteria:Evaluate(System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]) [Tier0, IL size=32, code size=91] ; Assembly listing for method BenchmarkDotNet.Engines.StoppingResult:CreateFinished(System.String):BenchmarkDotNet.Engines.StoppingResult ; Emitting BLENDED_CODE for X86 with AVX - 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-18H], eax mov bword ptr [ebp-0CH], ecx mov gword ptr [ebp-10H], edx G_M000_IG02: xor ecx, ecx mov dword ptr [ebp-18H], ecx mov dword ptr [ebp-14H], ecx push gword ptr [ebp-10H] lea ecx, [ebp-18H] mov edx, 1 call [BenchmarkDotNet.Engines.StoppingResult:.ctor(bool,System.String):this] mov edi, bword ptr [ebp-0CH] lea esi, bword ptr [ebp-18H] call CORINFO_HELP_ASSIGN_BYREF movsd G_M000_IG03: lea esp, [ebp-08H] pop esi pop edi pop ebp ret ; Total bytes of code 63 1056: JIT compiled BenchmarkDotNet.Engines.StoppingResult:CreateFinished(System.String) [Tier0, IL size=8, code size=63] ; Assembly listing for method BenchmarkDotNet.Engines.HostExtensions:BeforeMainRun(BenchmarkDotNet.Engines.IHost) ; Emitting BLENDED_CODE for X86 with AVX - 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 1057: JIT compiled BenchmarkDotNet.Engines.HostExtensions:BeforeMainRun(BenchmarkDotNet.Engines.IHost) [Tier0, IL size=8, code size=25] ; Assembly listing for method BenchmarkDotNet.Engines.EngineActualStage:RunWorkload(long,int,bool):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for X86 with AVX - 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 0 push dword ptr [ebp-08H] mov ecx, dword ptr [ebp+08H] movzx ecx, cl push ecx mov ecx, gword ptr [ebp-04H] mov edx, 1 call [BenchmarkDotNet.Engines.EngineActualStage:Run(long,int,bool,int,bool):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this] G_M000_IG03: mov esp, ebp pop ebp ret 12 ; Total bytes of code 50 1058: JIT compiled BenchmarkDotNet.Engines.EngineActualStage:RunWorkload(long,int,bool) [Tier0, IL size=12, code size=50] ; Assembly listing for method BenchmarkDotNet.Engines.EngineActualStage:Run(long,int,bool,int,bool):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for X86 with AVX - 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 dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, dword ptr [ebp+10H] movzx ecx, cl test ecx, ecx jne SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] cmp byte ptr [ecx], cl mov ecx, gword ptr [ebp-04H] add ecx, 32 call [System.Nullable`1[int]:get_HasValue():bool:this] test eax, eax jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] movzx ecx, cl test ecx, ecx je G_M000_IG08 G_M000_IG04: mov ecx, gword ptr [ebp-04H] mov eax, dword ptr [ecx+20H] mov dword ptr [ebp-10H], eax mov eax, dword ptr [ecx+24H] mov dword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-14H], ecx mov ecx, dword ptr [ebp+14H] 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] 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 lea ecx, [ebp-10H] call [System.Nullable`1[int]:GetValueOrDefault():int:this] mov dword ptr [ebp-34H], eax G_M000_IG06: push dword ptr [ebp-28H] push dword ptr [ebp-2CH] push dword ptr [ebp-34H] push dword ptr [ebp+0CH] mov ecx, gword ptr [ebp-24H] mov edx, dword ptr [ebp-30H] call [BenchmarkDotNet.Engines.EngineActualStage:RunSpecific(long,int,int,int):System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:this] G_M000_IG07: mov esp, ebp pop ebp ret 20 G_M000_IG08: push dword ptr [ebp+18H] push dword ptr [ebp+14H] push dword ptr [ebp+0CH] mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] call [BenchmarkDotNet.Engines.EngineActualStage:RunAuto(long,int,int):System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:this] G_M000_IG09: mov esp, ebp pop ebp ret 20 ; Total bytes of code 260 1059: JIT compiled BenchmarkDotNet.Engines.EngineActualStage:Run(long,int,bool,int,bool) [Tier0, IL size=69, code size=260] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Item(int):BenchmarkDotNet.Reports.Measurement:this ; Emitting BLENDED_CODE for X86 with AVX - 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 1060: 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:Multiply(byref,uint,byref) ; Emitting BLENDED_CODE for X86 with AVX - 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 1061: 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 X86 with AVX - 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 1062: 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 X86 with AVX - 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 1063: 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 X86 with AVX - 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 1064: 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 X86 with AVX - 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 1065: 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 X86 with AVX - 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 1066: 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 System.Number:g__ShouldRoundUp|121_0(uint,int,ubyte,bool):bool ; Emitting BLENDED_CODE for X86 with AVX - 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 1067: JIT compiled System.Number:g__ShouldRoundUp|121_0(uint,int,ubyte,bool) [Tier1, IL size=24, code size=36] ; Assembly listing for method BenchmarkDotNet.Engines.HostExtensions:AfterMainRun(BenchmarkDotNet.Engines.IHost) ; Emitting BLENDED_CODE for X86 with AVX - 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, 3 call [BenchmarkDotNet.Engines.IHost:SendSignal(int):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 25 1068: 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 X86 with AVX - 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 1069: 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 X86 with AVX - 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 1070: 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 X86 with AVX - 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 1071: 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 X86 with AVX - 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 1072: 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 X86 with AVX - 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 1073: 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 X86 with AVX - 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 1074: 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 X86 with AVX - 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 1075: 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 X86 with AVX - 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 1076: 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 X86 with AVX - 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 1077: 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 X86 with AVX - 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 1078: JIT compiled BenchmarkDotNet.Engines.GcStats:GetAllocatedBytes() [Tier0, IL size=50, code size=116] ; Assembly listing for method BenchmarkDotNet.Engines.ExceptionsStats:Stop():this ; Emitting BLENDED_CODE for X86 with AVX - 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 1079: 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 X86 with AVX - 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 1080: 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 X86 with AVX - 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 1081: 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 X86 with AVX - 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 1082: 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 X86 with AVX - 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 1083: 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 X86 with AVX - 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 1084: 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 X86 with AVX - 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 1085: 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 X86 with AVX - 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 1086: 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 X86 with AVX - 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 1087: 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 X86 with AVX - 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 1088: 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 X86 with AVX - 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 1089: 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 X86 with AVX - 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 1090: 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 X86 with AVX - 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 1091: 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 X86 with AVX - 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 1092: 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 X86 with AVX - 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 1093: 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 X86 with AVX - 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 1094: 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 X86 with AVX - 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 1095: 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 X86 with AVX - 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 1096: 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 X86 with AVX - 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 1097: 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 X86 with AVX - 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 1098: 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 X86 with AVX - 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 1099: 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 X86 with AVX - 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 1100: 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 X86 with AVX - 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 1101: 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 X86 with AVX - 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 1102: 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 X86 with AVX - 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 1103: 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 X86 with AVX - 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_IG12 xor eax, eax jmp G_M000_IG30 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 esi, eax test esi, esi jne SHORT G_M000_IG05 mov ecx, 0xD1FFAB1E mov edx, 56 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov esi, gword ptr [D1FFAB1EH] G_M000_IG05: 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_IG06 xor eax, eax jmp G_M000_IG30 G_M000_IG06: 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_IG20 test byte ptr [D1FFAB1EH], 1 je G_M000_IG19 G_M000_IG07: mov eax, gword ptr [D1FFAB1EH] test eax, eax mov gword ptr [ebp-74H], eax jne SHORT G_M000_IG08 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ecx, gword ptr [D1FFAB1EH] test ecx, ecx je G_M000_IG18 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_IG08: 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_IG09: vmovsd qword ptr [ebx+04H], xmm0 test byte ptr [D1FFAB1EH], 1 je G_M000_IG17 G_M000_IG10: mov esi, gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-6CH] mov ebx, ecx test esi, esi jne SHORT G_M000_IG11 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, gword ptr [D1FFAB1EH] test ecx, ecx je G_M000_IG18 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_IG11: 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_IG12: mov dword ptr [ecx+14H], -3 G_M000_IG13: mov ecx, gword ptr [ecx+10H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG21 G_M000_IG14: mov ecx, gword ptr [ebp-6CH] mov dword ptr [ecx+14H], -1 cmp gword ptr [ecx+10H], 0 je SHORT G_M000_IG15 mov ecx, gword ptr [ecx+10H] call [System.IDisposable:Dispose():this] mov ecx, gword ptr [ebp-6CH] G_M000_IG15: xor eax, eax mov gword ptr [ecx+10H], eax G_M000_IG16: jmp G_M000_IG30 G_M000_IG17: mov ecx, 0xD1FFAB1E mov edx, 0x407 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M000_IG10 G_M000_IG18: call [System.MulticastDelegate:ThrowNullThisInDelegateToInstance()] int3 G_M000_IG19: mov ecx, 0xD1FFAB1E mov edx, 0x407 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M000_IG07 G_M000_IG20: vxorps xmm0, xmm0, xmm0 jmp G_M000_IG09 G_M000_IG21: 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_IG13 G_M000_IG22: vmovsd xmm0, qword ptr [ebp-28H] vsubsd xmm0, xmm0, qword ptr [ecx+04H] vxorps xmm1, xmm1, xmm1 vucomisd xmm0, xmm1 jp SHORT G_M000_IG23 je SHORT G_M000_IG26 G_M000_IG23: vxorps xmm1, xmm1, xmm1 vucomisd xmm1, xmm0 ja SHORT G_M000_IG25 G_M000_IG24: vmovaps xmm1, xmm0 jmp SHORT G_M000_IG27 G_M000_IG25: vxorps xmm1, xmm1, xmm1 jmp SHORT G_M000_IG27 G_M000_IG26: vmovsd qword ptr [ebp-68H], xmm0 cmp dword ptr [ebp-64H], 0 jge SHORT G_M000_IG24 vxorps xmm1, xmm1, xmm1 G_M000_IG27: vmovsd xmm0, qword ptr [@RWD00] vucomisd xmm0, xmm1 jbe SHORT G_M000_IG28 vxorps xmm1, xmm1, xmm1 G_M000_IG28: 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_IG30 G_M000_IG29: mov ecx, gword ptr [ebp-6CH] call [BenchmarkDotNet.Engines.RunResults+d__18:System.IDisposable.Dispose():this] pop eax jmp eax G_M000_IG30: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret RWD00 dq 3FB999999999999Ah ; 0.1 ; Total bytes of code 775 1104: JIT compiled BenchmarkDotNet.Engines.RunResults+d__18:MoveNext() [Tier-0 switched to FullOpts, IL size=435, code size=775] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults:get_Overhead():System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for X86 with AVX - 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 1105: 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 X86 with AVX - 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 1106: 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 X86 with AVX - 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 1107: 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 X86 with AVX - 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 1108: 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 X86 with AVX - 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 1109: 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 X86 with AVX - 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 1110: 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 X86 with AVX - 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 1111: 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 X86 with AVX - 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 1112: 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 X86 with AVX - 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 edi, dword ptr [ecx+08H] mov ebx, edi mov ecx, 0xD1FFAB1E mov edx, 56 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-24H], ecx mov gword ptr [ebp-28H], ecx mov dword ptr [ebp-20H], ebx xor ebx, ebx test edi, edi jle G_M000_IG08 G_M000_IG03: mov ecx, gword ptr [esi+2CH] cmp ebx, dword ptr [ecx+08H] jae G_M000_IG10 mov ecx, gword ptr [ecx+04H] cmp ebx, dword ptr [ecx+04H] jae G_M000_IG11 mov eax, ebx 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 edi, dword ptr [ebp-1CH] mov eax, gword ptr [ebp-24H] mov ecx, dword ptr [eax+04H] cmp ecx, edi 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, edi shl ecx, 5 vmovdqu ymm0, ymmword ptr [ebp-48H] vmovdqu ymmword ptr [eax+ecx+08H], ymm0 inc edi mov dword ptr [ebp-1CH], edi G_M000_IG06: mov ecx, dword ptr [ebp-18H] inc ecx mov dword ptr [ebp-18H], ecx G_M000_IG07: inc ebx mov ecx, gword ptr [esi+2CH] cmp ebx, 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 280 1113: JIT compiled System.Linq.Enumerable+WhereListIterator`1[BenchmarkDotNet.Reports.Measurement]:ToArray() [Tier-0 switched to FullOpts, IL size=83, code size=280] ; Assembly listing for method System.Array+EmptyArray`1[BenchmarkDotNet.Reports.Measurement]:.cctor() ; Emitting BLENDED_CODE for X86 with AVX - 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 1114: JIT compiled System.Array+EmptyArray`1[BenchmarkDotNet.Reports.Measurement]:.cctor() [Tier0, IL size=12, code size=27] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults+<>c:b__5_0(BenchmarkDotNet.Reports.Measurement):bool:this ; Emitting BLENDED_CODE for X86 with AVX - 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 1115: 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 X86 with AVX - 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 1116: 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 X86 with AVX - 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 1117: 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 X86 with AVX - 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 1118: 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.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:ToArray():BenchmarkDotNet.Reports.Measurement[]:this ; Emitting BLENDED_CODE for X86 with AVX - 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 1119: 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 X86 with AVX - 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 1120: 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 X86 with AVX - 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 1121: 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 X86 with AVX - 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 1122: 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 X86 with AVX - 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 1123: JIT compiled BenchmarkDotNet.Engines.RunResults+<>c:b__7_0(BenchmarkDotNet.Reports.Measurement) [Tier0, IL size=9, code size=56] ; Assembly listing for method System.SZArrayHelper:get_Count[BenchmarkDotNet.Reports.Measurement]():int:this ; Emitting BLENDED_CODE for X86 with AVX - 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 1124: JIT compiled System.SZArrayHelper:get_Count[BenchmarkDotNet.Reports.Measurement]() [Tier0, IL size=11, code size=30] ; 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 X86 with AVX - 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 1125: 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 X86 with AVX - 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 1126: 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 X86 with AVX - 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 1127: 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 X86 with AVX - 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 1128: 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 X86 with AVX - 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 1129: 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 X86 with AVX - 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 1130: 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 X86 with AVX - 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 1131: 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 X86 with AVX - 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 1132: 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 X86 with AVX - 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 1133: 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 X86 with AVX - 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 1134: 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 X86 with AVX - 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 1135: 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 X86 with AVX - 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 1136: 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 X86 with AVX - 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 1137: 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 X86 with AVX - 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 1138: 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 X86 with AVX - 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 1139: 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 X86 with AVX - 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 1140: 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 X86 with AVX - 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 1141: 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 X86 with AVX - 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 1142: 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 X86 with AVX - 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 1143: 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 X86 with AVX - 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 1144: 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 X86 with AVX - 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 1145: 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 X86 with AVX - 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 1146: 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 X86 with AVX - 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 1147: 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 X86 with AVX - 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 1148: 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 X86 with AVX - 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 1149: 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 X86 with AVX - 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 1150: 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 X86 with AVX - 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 1151: 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 X86 with AVX - 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 1152: 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 X86 with AVX - 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 1153: 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 X86 with AVX - 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 1154: 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 X86 with AVX - 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 1155: 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 X86 with AVX - 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 1156: 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 X86 with AVX - 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 1157: 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 X86 with AVX - 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 1158: 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 X86 with AVX - 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 1159: 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 X86 with AVX - 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 1160: 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 X86 with AVX - 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 1161: 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 X86 with AVX - 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 1162: 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 X86 with AVX - 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 1163: 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 X86 with AVX - 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 1164: 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 X86 with AVX - 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 1165: 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 X86 with AVX - 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 1166: 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 X86 with AVX - 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 1167: 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 X86 with AVX - 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 1168: 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 X86 with AVX - 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 1169: 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 X86 with AVX - 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 1170: 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 X86 with AVX - 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 1171: 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 X86 with AVX - 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 1172: 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 X86 with AVX - 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 1173: 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 X86 with AVX - 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 1174: 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 X86 with AVX - 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 1175: 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 X86 with AVX - 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 1176: 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 X86 with AVX - 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 1177: 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 X86 with AVX - 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 1178: 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 X86 with AVX - 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 1179: 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 X86 with AVX - 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 1180: 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 X86 with AVX - 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 1181: 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 X86 with AVX - 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 1182: 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 X86 with AVX - 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 1183: 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 X86 with AVX - 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 1184: 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 X86 with AVX - 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 1185: 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 X86 with AVX - 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 1186: 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 X86 with AVX - 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 1187: 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 X86 with AVX - 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 1188: 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 X86 with AVX - 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 1189: 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 X86 with AVX - 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 1190: 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 X86 with AVX - 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 1191: 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 X86 with AVX - 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 1192: 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 X86 with AVX - 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 1193: 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 X86 with AVX - 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 1194: 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 X86 with AVX - 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 1195: 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 X86 with AVX - 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 1196: 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 X86 with AVX - 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 1197: 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 X86 with AVX - 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 1198: 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 X86 with AVX - 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 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-10H], ecx mov ecx, gword ptr [ebp-10H] 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-18H], xmm0 fld qword ptr [ebp-18H] G_M000_IG04: mov esp, ebp pop ebp ret G_M000_IG05: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 101 1199: JIT compiled System.SZGenericArrayEnumerator`1[double]:get_Current() [Tier0, IL size=39, code size=101] ; Assembly listing for method Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_0:b__0(double):double:this ; Emitting BLENDED_CODE for X86 with AVX - 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 1200: 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 X86 with AVX - 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 1201: 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 X86 with AVX - 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 1202: 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 X86 with AVX - 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 1203: 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 X86 with AVX - 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 1204: 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 X86 with AVX - 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 1205: 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 X86 with AVX - 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 1206: 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 X86 with AVX - 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 1207: 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 X86 with AVX - 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 1208: 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 X86 with AVX - 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 1209: 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 X86 with AVX - 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 1210: 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 X86 with AVX - 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 1211: 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 X86 with AVX - 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 1212: 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 X86 with AVX - 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 1213: 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 X86 with AVX - 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 1214: 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 X86 with AVX - 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 1215: 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 X86 with AVX - 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 1216: 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 X86 with AVX - 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 1217: 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 X86 with AVX - 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 1218: 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 X86 with AVX - 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 1219: 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 X86 with AVX - 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 1220: 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 X86 with AVX - 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 1221: 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 X86 with AVX - 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 1222: 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 X86 with AVX - 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 1223: 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 X86 with AVX - 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 1224: 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 X86 with AVX - 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 1225: 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 X86 with AVX - 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 1226: 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 X86 with AVX - 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 1227: 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 X86 with AVX - 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 1228: 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 X86 with AVX - 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 1229: 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 X86 with AVX - 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 1230: 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 X86 with AVX - 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 1231: 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 X86 with AVX - 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 1232: 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 X86 with AVX - 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 1233: 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 X86 with AVX - 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-10H], eax mov dword ptr [ebp-14H], 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-14H], ecx mov ecx, gword ptr [ebp-14H] 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 109 1234: JIT compiled System.SZGenericArrayEnumerator`1[BenchmarkDotNet.Reports.Measurement]:get_Current() [Tier0, IL size=39, code size=109] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics:IsActualOutlier(double,int):bool:this ; Emitting BLENDED_CODE for X86 with AVX - 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 1235: 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 X86 with AVX - 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 1236: 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 X86 with AVX - 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 1237: 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 X86 with AVX - 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 1238: 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 X86 with AVX - 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 1239: 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 X86 with AVX - 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 1240: 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 X86 with AVX - 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+20H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Autogenerated.Runnable_0:__ForDisassemblyDiagnoser__():System.String:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 78 1241: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:__TrickTheJIT__() [MinOpts, IL size=29, code size=78] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:__ForDisassemblyDiagnoser__():System.String:this ; Emitting BLENDED_CODE for X86 with AVX - 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, gword ptr [ebp-04H] cmp dword ptr [ecx+20H], 11 jne SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] movsx ecx, byte ptr [ecx+28H] mov dword ptr [ebp-08H], ecx mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] call [System.Tests.Perf_SByte:ToString(byte):System.String: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 55 1242: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:__ForDisassemblyDiagnoser__() [MinOpts, IL size=27, code size=55] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:Dispose():this ; Emitting BLENDED_CODE for X86 with AVX - 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 1243: 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 X86 with AVX - 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 1244: 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_1():this ; Emitting BLENDED_CODE for X86 with AVX - 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 1245: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0+<>c:<.ctor>b__3_1() [Tier0, IL size=1, code size=11] ; Assembly listing for method BenchmarkDotNet.Engines.HostExtensions:AfterAll(BenchmarkDotNet.Engines.IHost) ; Emitting BLENDED_CODE for X86 with AVX - 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 1246: JIT compiled BenchmarkDotNet.Engines.HostExtensions:AfterAll(BenchmarkDotNet.Engines.IHost) [Tier0, IL size=8, code size=25] ; Assembly listing for method System.Object:.ctor():this ; Emitting BLENDED_CODE for X86 with AVX - 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 1247: JIT compiled System.Object:.ctor() [Tier1, IL size=1, code size=1] ; Assembly listing for method System.SZGenericArrayEnumeratorBase:MoveNext():bool:this ; Emitting BLENDED_CODE for X86 with AVX - 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 65808 ; 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 1248: JIT compiled System.SZGenericArrayEnumeratorBase:MoveNext() [Tier1 with Static PGO, IL size=44, code size=29] ; Assembly listing for method System.MulticastDelegate:CtorClosed(System.Object,int):this ; Emitting BLENDED_CODE for X86 with AVX - 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 70355 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 1249: JIT compiled System.MulticastDelegate:CtorClosed(System.Object,int) [Tier1 with Static PGO, IL size=23, code size=31] ; Assembly listing for method System.Number+Grisu3:TryRoundWeedCounted(System.Span`1[ubyte],int,ulong,ulong,ulong,byref):bool ; Emitting BLENDED_CODE for X86 with AVX - 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, 20 mov edi, ecx mov esi, edx G_M000_IG02: mov eax, dword ptr [ebp+08H] cmp eax, dword ptr [ebp+10H] mov eax, dword ptr [ebp+0CH] sbb eax, dword ptr [ebp+14H] jae SHORT G_M000_IG04 G_M000_IG03: mov eax, dword ptr [ebp+10H] mov edx, dword ptr [ebp+14H] sub eax, dword ptr [ebp+08H] sbb edx, dword ptr [ebp+0CH] cmp dword ptr [ebp+08H], eax mov eax, dword ptr [ebp+0CH] sbb eax, edx jb SHORT G_M000_IG06 G_M000_IG04: xor eax, eax G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 32 G_M000_IG06: mov eax, dword ptr [ebp+10H] mov edx, dword ptr [ebp+14H] sub eax, dword ptr [ebp+18H] sbb edx, dword ptr [ebp+1CH] cmp dword ptr [ebp+18H], eax mov eax, dword ptr [ebp+1CH] sbb eax, edx jae SHORT G_M000_IG08 push dword ptr [ebp+1CH] push dword ptr [ebp+18H] push 0 push 2 call CORINFO_HELP_LMUL mov ebx, dword ptr [ebp+10H] mov ecx, dword ptr [ebp+14H] sub ebx, eax sbb ecx, edx mov dword ptr [ebp-20H], ecx push dword ptr [ebp+0CH] push dword ptr [ebp+08H] push 0 push 2 call CORINFO_HELP_LMUL cmp ebx, eax mov ecx, dword ptr [ebp-20H] sbb ecx, edx jb SHORT G_M000_IG08 mov eax, 1 G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 32 G_M000_IG08: mov eax, dword ptr [ebp+08H] cmp eax, dword ptr [ebp+18H] mov eax, dword ptr [ebp+0CH] sbb eax, dword ptr [ebp+1CH] jae SHORT G_M000_IG14 mov eax, dword ptr [ebp+18H] mov edx, dword ptr [ebp+1CH] sub eax, dword ptr [ebp+08H] sbb edx, dword ptr [ebp+0CH] cmp eax, dword ptr [ebp+10H] mov ecx, edx sbb ecx, dword ptr [ebp+14H] jae SHORT G_M000_IG09 mov ecx, dword ptr [ebp+10H] mov ebx, dword ptr [ebp+14H] sub ecx, eax sbb ebx, edx cmp eax, ecx sbb edx, ebx jb SHORT G_M000_IG14 G_M000_IG09: dec edi mov eax, dword ptr [ebp+24H] cmp edi, eax jae SHORT G_M000_IG16 mov edx, bword ptr [ebp+20H] lea ecx, bword ptr [edx+edi] inc byte ptr [ecx] test edi, edi jle SHORT G_M000_IG11 align [0 bytes for IG10] G_M000_IG10: cmp edi, eax jae SHORT G_M000_IG16 cmp byte ptr [edx+edi], 58 jne SHORT G_M000_IG11 mov byte ptr [edx+edi], 48 dec edi cmp edi, eax jae SHORT G_M000_IG16 lea ecx, bword ptr [edx+edi] inc byte ptr [ecx] test edi, edi jg SHORT G_M000_IG10 G_M000_IG11: cmp byte ptr [edx], 58 jne SHORT G_M000_IG12 mov byte ptr [edx], 49 inc dword ptr [esi] G_M000_IG12: mov eax, 1 G_M000_IG13: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 32 G_M000_IG14: xor eax, eax G_M000_IG15: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 32 G_M000_IG16: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 293 1250: JIT compiled System.Number+Grisu3:TryRoundWeedCounted(System.Span`1[ubyte],int,ulong,ulong,ulong,byref) [Tier1, IL size=166, code size=293] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:Dispose():this ; Emitting BLENDED_CODE for X86 with AVX - 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 1251: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:Dispose() [Tier0, IL size=23, code size=39]