; Assembly listing for method System.Runtime.CompilerServices.CastHelpers:StelemRef(System.Array,int,System.Object) (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 2 inlinees with PGO data; 0 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 (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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: 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.Guid:TryFormatCore[ushort](System.Span`1[ushort],byref,int):bool:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 3: JIT compiled System.Guid:TryFormatCore[ushort](System.Span`1[ushort],byref,int) [Tier0, IL size=894, code size=647] ; Assembly listing for method 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]] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 316 vzeroupper xor eax, eax mov dword ptr [ebp-8CH], eax mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: vmovups xmm0, xmmword ptr [@RWD00] vmovups xmmword ptr [ebp-18H], xmm0 vmovups xmm0, xmmword ptr [ebp+08H] vmovups xmmword ptr [ebp-28H], xmm0 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-DCH] call [System.HexConverter:AsciiToHexVector128(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]] vmovups xmm0, xmmword ptr [ebp-DCH] vmovups xmmword ptr [ebp-38H], xmm0 vmovups xmm0, xmmword ptr [ebp-CCH] vmovups xmmword ptr [ebp-48H], xmm0 vmovups xmm0, xmmword ptr [ebp-38H] vpshufb xmm0, xmm0, xmmword ptr [@RWD16] vmovups xmmword ptr [ebp-38H], xmm0 mov ecx, dword ptr [ebp-08H] movzx ecx, cl test ecx, ecx je G_M000_IG05 vmovups xmm0, xmmword ptr [ebp-38H] vpshufb xmm0, xmm0, xmmword ptr [@RWD32] vmovups xmmword ptr [ebp-58H], xmm0 vmovups xmm0, xmmword ptr [ebp-48H] vpshufb xmm0, xmm0, xmmword ptr [@RWD48] vmovups xmmword ptr [ebp-68H], xmm0 vmovups xmm0, xmmword ptr [@RWD64] vmovups xmmword ptr [ebp-88H], xmm0 G_M000_IG03: vmovups xmm0, xmmword ptr [ebp-38H] vpshufb xmm0, xmm0, xmmword ptr [@RWD80] vmovups xmmword ptr [ebp-9CH], xmm0 vmovups xmm0, xmmword ptr [ebp-48H] vpshufb xmm0, xmm0, xmmword ptr [@RWD96] vmovups xmmword ptr [ebp-ACH], xmm0 vmovups xmm0, xmmword ptr [ebp-9CH] vpor xmm0, xmm0, xmmword ptr [ebp-ACH] vpor xmm0, xmm0, xmmword ptr [ebp-88H] vmovups xmmword ptr [ebp-78H], xmm0 vxorps ymm0, ymm0, ymm0 vmovdqu ymmword ptr [ebp-13CH], ymm0 vmovdqu xmmword ptr [ebp-11CH], xmm0 vmovups xmm0, xmmword ptr [ebp-58H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 vmovups xmm0, xmmword ptr [ebp-68H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 vmovups xmm0, xmmword ptr [ebp-78H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-13CH] call [System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:.ctor(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):this] mov ecx, bword ptr [ebp-04H] vmovdqu ymm0, ymmword ptr [ebp-13CH] vmovdqu ymmword ptr [ecx], ymm0 vmovdqu xmm0, xmmword ptr [ebp-11CH] vmovdqu xmmword ptr [ecx+20H], xmm0 G_M000_IG04: mov esp, ebp pop ebp ret 16 G_M000_IG05: vxorps xmm0, xmm0, xmm0 vmovups xmmword ptr [ebp-BCH], xmm0 vxorps ymm0, ymm0, ymm0 vmovdqu ymmword ptr [ebp-10CH], ymm0 vmovdqu xmmword ptr [ebp-ECH], xmm0 vmovups xmm0, xmmword ptr [ebp-38H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 vmovups xmm0, xmmword ptr [ebp-48H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 vmovups xmm0, xmmword ptr [ebp-BCH] sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-10CH] call [System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:.ctor(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):this] mov eax, bword ptr [ebp-04H] vmovdqu ymm0, ymmword ptr [ebp-10CH] vmovdqu ymmword ptr [eax], ymm0 vmovdqu xmm0, xmmword ptr [ebp-ECH] vmovdqu xmmword ptr [eax+20H], xmm0 G_M000_IG06: mov esp, ebp pop ebp ret 16 RWD00 dq 3736353433323130h, 6665646362613938h RWD16 dq 0100030205040706h, 0D0C0F0E09080B0Ah RWD32 dq 0706050403020100h, 0D0CFF0B0A0908FFh RWD48 dq 07060504FF030201h, 0F0E0D0C0B0A0908h RWD64 dq 00002D000000002Dh, 2D000000002D0000h RWD80 dq 0D0CFF0B0A0908FFh, FFFFFFFFFFFF0F0Eh RWD96 dq FFFFFFFFFFFFFFFFh, FF03020100FFFFFFh ; Total bytes of code 498 4: JIT compiled System.Guid:FormatGuidVector128Utf8(System.Guid,bool) [Tier0, IL size=322, code size=498] ; Assembly listing for method System.HexConverter:AsciiToHexVector128(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 116 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: vmovups xmm0, xmmword ptr [ebp+18H] vpsrlq xmm0, xmm0, 4 vmovups xmmword ptr [ebp-14H], xmm0 vmovups xmm0, xmmword ptr [ebp-14H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 vmovups xmm0, xmmword ptr [ebp+18H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-24H] call [System.Runtime.Intrinsics.Vector128:UnpackLow(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):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+18H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-34H] call [System.Runtime.Intrinsics.Vector128:UnpackHigh(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte]] vmovups xmm0, xmmword ptr [ebp+08H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 vmovups xmm0, xmmword ptr [ebp-24H] vpand xmm0, xmm0, xmmword ptr [@RWD00] sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-44H] call [System.Runtime.Intrinsics.Vector128:ShuffleUnsafe(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte]] vxorps ymm0, ymm0, ymm0 vmovdqu ymmword ptr [ebp-64H], ymm0 vmovups xmm0, xmmword ptr [ebp+08H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 vmovups xmm0, xmmword ptr [ebp-34H] vpand xmm0, xmm0, xmmword ptr [@RWD00] sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-74H] call [System.Runtime.Intrinsics.Vector128:ShuffleUnsafe(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte]] vmovups xmm0, xmmword ptr [ebp-44H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 vmovups xmm0, xmmword ptr [ebp-74H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-64H] call [System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:.ctor(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):this] mov eax, bword ptr [ebp-04H] vmovdqu ymm0, ymmword ptr [ebp-64H] vmovdqu ymmword ptr [eax], ymm0 G_M000_IG03: vzeroupper mov esp, ebp pop ebp ret 32 RWD00 dq 0F0F0F0F0F0F0F0Fh, 0F0F0F0F0F0F0F0Fh ; Total bytes of code 248 5: JIT compiled System.HexConverter:AsciiToHexVector128(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]) [Tier0, IL size=78, code size=248] ; Assembly listing for method System.Runtime.Intrinsics.Vector128:ShuffleUnsafe(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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: vmovups xmm0, xmmword ptr [ebp+18H] vpshufb xmm0, xmm0, xmmword ptr [ebp+08H] mov eax, bword ptr [ebp-04H] vmovups xmmword ptr [eax], xmm0 G_M000_IG03: mov esp, ebp pop ebp ret 32 ; Total bytes of code 34 6: JIT compiled System.Runtime.Intrinsics.Vector128:ShuffleUnsafe(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]) [Tier0, IL size=41, code size=34] ; Assembly listing for method System.Number:UInt32ToDecChars[ushort](uint,uint):uint (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 44482 ; 7 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi mov esi, edx G_M000_IG02: cmp esi, 10 jae SHORT G_M000_IG05 G_M000_IG03: lea eax, [ecx-02H] lea edx, [esi+30H] mov word ptr [eax], dx G_M000_IG04: pop esi pop ebp ret G_M000_IG05: cmp esi, 100 jb SHORT G_M000_IG07 G_M000_IG06: 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 mov esi, edx jae SHORT G_M000_IG06 G_M000_IG07: cmp esi, 10 jb SHORT G_M000_IG03 G_M000_IG08: add ecx, -4 mov eax, gword ptr [D1FFAB1EH] cmp byte ptr [eax], al mov eax, dword ptr [eax+4*esi+08H] mov dword ptr [ecx], eax mov eax, ecx G_M000_IG09: pop esi pop ebp ret ; Total bytes of code 94 7: JIT compiled System.Number:UInt32ToDecChars[ushort](uint,uint) [Tier-0 switched to FullOpts with Static PGO, IL size=114, code size=94] ; Assembly listing for method System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String) (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 8: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 156775 ; 4 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 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_IG15 G_M000_IG08: 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_IG09: 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 align [0 bytes for IG10] G_M000_IG10: cmp eax, 0xFFFF jne SHORT G_M000_IG18 add edx, ebx adc ecx, 0 cmp esi, edi jbe SHORT G_M000_IG09 G_M000_IG11: mov eax, dword ptr [ebp-14H] jmp SHORT G_M000_IG15 G_M000_IG12: movzx edi, word ptr [esi] cmp edi, 127 jbe SHORT G_M000_IG14 G_M000_IG13: lea ebx, [edi+0001F800H] shr ebx, 16 add edx, ebx adc ecx, 0 add edi, -0xD800 cmp edi, 0x7FF jbe G_M000_IG21 G_M000_IG14: add esi, 2 G_M000_IG15: cmp esi, eax jb SHORT G_M000_IG12 G_M000_IG16: 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_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG18: 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_IG20 cmp eax, 0xFFFF jbe SHORT G_M000_IG19 movzx eax, ax add ebx, -2 add esi, -2 G_M000_IG19: popcnt eax, eax mov edi, dword ptr [ebp-10H] sub edi, eax add eax, eax sub edx, eax sbb ecx, 0 mov eax, 0xFFFF mov dword ptr [ebp-10H], edi mov edi, dword ptr [ebp-18H] jmp G_M000_IG10 G_M000_IG20: add esi, -16 mov eax, dword ptr [ebp-14H] cmp esi, eax jae G_M000_IG16 jmp G_M000_IG12 G_M000_IG21: sub edx, 2 sbb ecx, 0 mov edi, eax sub edi, esi cmp edi, 4 jb G_M000_IG16 mov edi, dword ptr [esi] add edi, 0xD1FFAB1E test edi, 0xD1FFAB1E jne G_M000_IG16 mov ebx, dword ptr [ebp-10H] dec ebx add edx, 2 adc ecx, 0 add esi, 2 mov dword ptr [ebp-10H], ebx jmp G_M000_IG14 RWD00 dq 0080008000800080h, 0080008000800080h RWD16 dq 7800780078007800h, 7800780078007800h RWD32 dq A000A000A000A000h, A000A000A000A000h ; Total bytes of code 420 9: JIT compiled System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(uint,int,byref,byref) [Tier-0 switched to FullOpts with Static PGO, IL size=972, code size=420] ; Assembly listing for method System.Text.Ascii:NarrowUtf16ToAscii(uint,uint,uint):uint (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 207771 ; 29 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, 16 vzeroupper mov dword ptr [ebp-10H], edx mov eax, dword ptr [ebp+08H] G_M000_IG02: xor esi, esi mov dword ptr [ebp+08H], eax cmp eax, 32 jae G_M000_IG25 G_M000_IG03: mov eax, dword ptr [ebp+08H] sub eax, esi mov dword ptr [ebp-14H], eax cmp eax, 4 jb G_M000_IG16 G_M000_IG04: lea edi, [esi+eax-04H] mov dword ptr [ebp-18H], edi G_M000_IG05: mov ebx, esi mov edi, dword ptr [ecx+2*ebx] mov eax, dword ptr [ecx+2*ebx+04H] mov edx, edi or edx, eax test edx, 0xD1FFAB1E jne G_M000_IG31 G_M000_IG06: add ebx, dword ptr [ebp-10H] 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_IG15 G_M000_IG07: test byte ptr [ebp-14H], 2 je SHORT G_M000_IG10 G_M000_IG08: mov edi, dword ptr [ecx+2*esi] test edi, 0xD1FFAB1E jne G_M000_IG33 G_M000_IG09: lea ebx, [edx+esi] mov eax, edi mov byte ptr [ebx], al mov eax, edi shr eax, 16 mov byte ptr [ebx+01H], al add esi, 2 G_M000_IG10: test byte ptr [ebp-14H], 1 je SHORT G_M000_IG13 G_M000_IG11: movzx edi, word ptr [ecx+2*esi] cmp edi, 127 ja SHORT G_M000_IG13 G_M000_IG12: mov ecx, edi mov byte ptr [edx+esi], cl inc esi G_M000_IG13: mov eax, esi G_M000_IG14: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG15: mov dword ptr [ebp-10H], edx jmp G_M000_IG05 G_M000_IG16: mov edx, dword ptr [ebp-10H] jmp SHORT G_M000_IG07 G_M000_IG17: mov edx, dword ptr [ebp-10H] mov edi, edx vpackuswb xmm0, xmm0, xmm0 vmovsd qword ptr [edi], xmm0 mov ebx, 8 test dl, 8 jne SHORT G_M000_IG19 G_M000_IG18: vmovups xmm0, xmmword ptr [esi+10H] vptest xmm0, xmm1 jne SHORT G_M000_IG24 vpackuswb xmm0, xmm0, xmm0 vmovsd qword ptr [edi+08H], xmm0 G_M000_IG19: mov ebx, edx and ebx, 15 mov dword ptr [ebp-1CH], ebx mov ebx, 16 sub ebx, dword ptr [ebp-1CH] mov dword ptr [ebp+08H], eax sub eax, 16 G_M000_IG20: vmovups xmm0, xmmword ptr [esi+2*ebx] vmovups xmm2, xmmword ptr [esi+2*ebx+10H] vpor xmm3, xmm0, xmm2 vptest xmm3, xmm1 jne SHORT G_M000_IG28 G_M000_IG21: vpackuswb xmm0, xmm0, xmm2 vmovups xmmword ptr [edi+ebx], xmm0 add ebx, 16 cmp ebx, eax jbe SHORT G_M000_IG20 G_M000_IG22: mov esi, ebx G_M000_IG23: mov dword ptr [ebp-10H], edx jmp G_M000_IG03 G_M000_IG24: mov dword ptr [ebp+08H], eax jmp SHORT G_M000_IG22 G_M000_IG25: 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_IG27 G_M000_IG26: mov eax, dword ptr [ebp+08H] jmp SHORT G_M000_IG30 G_M000_IG27: mov edi, ebx jmp SHORT G_M000_IG31 G_M000_IG28: vptest xmm0, xmm1 jne SHORT G_M000_IG22 G_M000_IG29: vpackuswb xmm0, xmm0, xmm0 vmovsd qword ptr [edi+ebx], xmm0 add ebx, 8 jmp SHORT G_M000_IG22 G_M000_IG30: mov esi, ecx vmovups xmm0, xmmword ptr [esi] vmovups xmm1, xmmword ptr [@RWD00] vptest xmm0, xmm1 jne SHORT G_M000_IG36 jmp G_M000_IG17 G_M000_IG31: test edi, 0xD1FFAB1E je SHORT G_M000_IG35 G_M000_IG32: mov edx, dword ptr [ebp-10H] G_M000_IG33: test edi, 0xFF80 je G_M000_IG12 G_M000_IG34: jmp G_M000_IG13 G_M000_IG35: mov edx, dword ptr [ebp-10H] 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 jmp SHORT G_M000_IG33 G_M000_IG36: xor esi, esi mov dword ptr [ebp+08H], eax mov edx, dword ptr [ebp-10H] jmp G_M000_IG23 RWD00 dq FF80FF80FF80FF80h, FF80FF80FF80FF80h ; Total bytes of code 465 10: JIT compiled System.Text.Ascii:NarrowUtf16ToAscii(uint,uint,uint) [Tier-0 switched to FullOpts with Static PGO, IL size=528, code size=465] ; Assembly listing for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:AddMethod(System.RuntimeType,int,int):System.Reflection.MethodBase:this (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 22719 ; 23 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, 68 xor eax, eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-34H], ecx mov gword ptr [ebp-38H], edx mov esi, dword ptr [ebp+0CH] mov edx, dword ptr [ebp+08H] G_M000_IG02: mov edi, gword ptr [ebp-34H] mov ecx, gword ptr [edi+04H] test ecx, ecx je SHORT G_M000_IG11 G_M000_IG03: mov dword ptr [ebp+08H], edx test edx, edx jne G_M000_IG25 G_M000_IG04: mov eax, ecx mov gword ptr [ebp-3CH], eax xor ecx, ecx mov edx, dword ptr [eax+04H] test edx, edx jle SHORT G_M000_IG18 G_M000_IG05: mov ebx, gword ptr [eax+4*ecx+08H] test ebx, ebx je SHORT G_M000_IG18 G_M000_IG06: cmp dword ptr [ebx], 0xD1FFAB1E jne SHORT G_M000_IG09 G_M000_IG07: cmp byte ptr [ebx], bl mov edi, ebx cmp dword ptr [edi], 0xD1FFAB1E jne G_M000_IG45 mov edi, dword ptr [edi+28H] G_M000_IG08: cmp edi, esi je SHORT G_M000_IG15 G_M000_IG09: inc ecx cmp edx, ecx jg SHORT G_M000_IG05 G_M000_IG10: jmp SHORT G_M000_IG18 G_M000_IG11: mov dword ptr [ebp+08H], edx jmp SHORT G_M000_IG18 G_M000_IG12: cmp edx, esi jne SHORT G_M000_IG17 G_M000_IG13: mov edx, gword ptr [ebp-44H] mov eax, edx G_M000_IG14: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG15: mov eax, ebx G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG17: inc ecx cmp eax, ecx jg G_M000_IG26 G_M000_IG18: xor ecx, ecx mov gword ptr [ebp-10H], ecx mov ecx, esi call System.RuntimeMethodHandle:GetAttributes(int):int mov edx, eax and eax, 7 mov dword ptr [ebp-2CH], eax mov dword ptr [ebp-14H], edx xor ecx, ecx test dl, 16 setne cl mov dword ptr [ebp-18H], ecx mov edi, gword ptr [ebp-34H] mov ecx, gword ptr [edi+08H] mov ebx, gword ptr [ebp-38H] cmp ebx, gword ptr [ecx+04H] setne cl movzx ecx, cl mov dword ptr [ebp-1CH], ecx mov ecx, 16 mov eax, 32 cmp dword ptr [ebp-2CH], 6 cmovne ecx, eax cmp dword ptr [ebp-1CH], 0 je G_M000_IG39 G_M000_IG19: or ecx, 2 cmp dword ptr [ebp-18H], 0 jne SHORT G_M000_IG23 G_M000_IG20: or ecx, 4 G_M000_IG21: mov dword ptr [ebp-20H], ecx mov ecx, dword ptr [ebp+08H] test ecx, ecx je G_M000_IG34 G_M000_IG22: jmp G_M000_IG42 G_M000_IG23: or ecx, 72 jmp SHORT G_M000_IG21 G_M000_IG24: jmp SHORT G_M000_IG29 G_M000_IG25: cmp dword ptr [ebp+08H], 1 jne SHORT G_M000_IG18 mov eax, ecx mov gword ptr [ebp-40H], eax xor ecx, ecx mov eax, dword ptr [eax+04H] test eax, eax jle G_M000_IG18 G_M000_IG26: mov edx, gword ptr [ebp-40H] mov edx, gword ptr [edx+4*ecx+08H] test edx, edx je G_M000_IG18 mov gword ptr [ebp-44H], edx cmp dword ptr [edx], 0xD1FFAB1E jne G_M000_IG17 cmp byte ptr [edx], dl cmp dword ptr [edx], 0xD1FFAB1E jne G_M000_IG46 mov edx, dword ptr [edx+28H] jmp G_M000_IG12 G_M000_IG27: cmp dword ptr [esi], edx je SHORT G_M000_IG24 G_M000_IG28: mov ecx, edx mov edx, esi call [CORINFO_HELP_CHKCASTARRAY] mov esi, eax G_M000_IG29: mov gword ptr [ebp-10H], esi G_M000_IG30: push 0 push 3 lea edx, [ebp-10H] mov ecx, gword ptr [ebp-34H] call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:Insert(byref,System.String,int):this] mov edx, gword ptr [ebp-10H] cmp dword ptr [edx+04H], 0 jbe G_M000_IG47 mov edx, gword ptr [ebp-10H] mov edx, gword ptr [edx+08H] mov eax, edx test eax, eax je SHORT G_M000_IG33 G_M000_IG31: cmp dword ptr [eax], 0xD1FFAB1E je SHORT G_M000_IG33 G_M000_IG32: mov ecx, 0xD1FFAB1E call [CORINFO_HELP_CHKCASTCLASS] G_M000_IG33: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG34: mov ecx, 0xD1FFAB1E mov edx, 1 call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [ebp-48H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, gword ptr [ebp-34H] mov ecx, gword ptr [edi+08H] mov edx, dword ptr [ebp-20H] mov dword ptr [eax+2CH], edx lea edx, bword ptr [eax+1CH] call CORINFO_HELP_ASSIGN_REF_EBX xor edx, edx mov gword ptr [eax+20H], edx mov dword ptr [eax+28H], esi lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_ECX mov esi, dword ptr [ebp-14H] mov dword ptr [eax+30H], esi mov esi, gword ptr [ebp-48H] lea edx, bword ptr [esi+08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edi, gword ptr [ebp-34H] mov ecx, dword ptr [edi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+14H] test edx, edx je SHORT G_M000_IG41 G_M000_IG35: cmp dword ptr [esi], edx je SHORT G_M000_IG37 G_M000_IG36: mov ecx, edx mov edx, esi call [CORINFO_HELP_CHKCASTARRAY] jmp SHORT G_M000_IG38 G_M000_IG37: mov eax, esi G_M000_IG38: mov gword ptr [ebp-10H], eax jmp G_M000_IG30 G_M000_IG39: cmp dword ptr [ebp-18H], 0 je G_M000_IG20 G_M000_IG40: or ecx, 8 jmp G_M000_IG21 G_M000_IG41: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax jmp SHORT G_M000_IG35 G_M000_IG42: cmp ecx, 1 jne G_M000_IG30 mov ecx, 0xD1FFAB1E mov edx, 1 call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [ebp-4CH], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-50H], eax push ebx mov edi, gword ptr [ebp-34H] push gword ptr [edi+08H] push dword ptr [ebp-14H] push dword ptr [ebp-20H] mov ecx, eax mov edx, esi call [System.Reflection.RuntimeConstructorInfo:.ctor(int,System.RuntimeType,System.RuntimeType+RuntimeTypeCache,int,int):this] mov esi, gword ptr [ebp-4CH] lea edx, bword ptr [esi+08H] mov ebx, gword ptr [ebp-50H] call CORINFO_HELP_ASSIGN_REF_EBX mov edi, gword ptr [ebp-34H] mov ecx, dword ptr [edi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+14H] test edx, edx je SHORT G_M000_IG44 G_M000_IG43: jmp G_M000_IG27 G_M000_IG44: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax jmp G_M000_IG27 G_M000_IG45: mov dword ptr [ebp-24H], ecx mov dword ptr [ebp-30H], edx mov ecx, edi call [System.IRuntimeMethodInfo:get_Value():int:this] mov edi, eax mov eax, gword ptr [ebp-3CH] mov ecx, dword ptr [ebp-24H] mov edx, dword ptr [ebp-30H] jmp G_M000_IG08 G_M000_IG46: mov dword ptr [ebp-30H], eax mov dword ptr [ebp-28H], ecx mov ecx, edx call [System.IRuntimeMethodInfo:get_Value():int:this] mov edx, eax mov eax, dword ptr [ebp-30H] mov ecx, dword ptr [ebp-28H] jmp G_M000_IG12 G_M000_IG47: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 772 11: JIT compiled System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:AddMethod(System.RuntimeType,int,int) [Tier-0 switched to FullOpts with Static PGO, IL size=354, code size=772] ; Assembly listing for method System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; fully interruptible ; PGO data available, but IL did not match ; 34 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 vzeroupper mov eax, dword ptr [ebp+08H] G_M000_IG02: cmp eax, 8 jge SHORT G_M000_IG12 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_IG11 movsx edi, word ptr [ecx+2*esi-02H] cmp edi, ebx je SHORT G_M000_IG10 movsx edi, word ptr [ecx+2*esi-04H] cmp edi, ebx je SHORT G_M000_IG09 movsx edi, word ptr [ecx+2*esi-06H] cmp edi, ebx je SHORT G_M000_IG08 add esi, -4 G_M000_IG04: test eax, eax jle G_M000_IG23 movsx ebx, dx G_M000_IG05: dec eax movsx edx, word ptr [ecx+2*esi] cmp edx, ebx je SHORT G_M000_IG11 G_M000_IG06: dec esi test eax, eax jg SHORT G_M000_IG05 G_M000_IG07: jmp G_M000_IG23 G_M000_IG08: lea eax, [esi-03H] jmp G_M000_IG22 G_M000_IG09: lea eax, [esi-02H] jmp G_M000_IG22 G_M000_IG10: lea eax, [esi-01H] jmp G_M000_IG22 G_M000_IG11: mov eax, esi jmp G_M000_IG22 G_M000_IG12: cmp eax, 16 jl SHORT G_M000_IG17 movsx ebx, dx vmovd xmm0, ebx vpbroadcastw ymm0, ymm0 lea edx, [eax-10H] test edx, edx jle SHORT G_M000_IG15 G_M000_IG13: vpcmpeqw ymm1, ymm0, ymmword ptr [ecx+2*edx] vptest ymm1, ymm1 jne SHORT G_M000_IG16 G_M000_IG14: add edx, -16 test edx, edx jg SHORT G_M000_IG13 G_M000_IG15: vpcmpeqw ymm1, ymm0, ymmword ptr [ecx] vptest ymm1, ymm1 je G_M000_IG23 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_IG22 G_M000_IG16: 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_IG22 G_M000_IG17: movsx ebx, dx vmovd xmm0, ebx vpbroadcastw xmm0, xmm0 add eax, -8 test eax, eax jle SHORT G_M000_IG20 G_M000_IG18: vpcmpeqw xmm1, xmm0, xmmword ptr [ecx+2*eax] vptest xmm1, xmm1 jne SHORT G_M000_IG21 G_M000_IG19: add eax, -8 test eax, eax jg SHORT G_M000_IG18 G_M000_IG20: vpcmpeqw xmm1, xmm0, xmmword ptr [ecx] vptest xmm1, xmm1 je SHORT G_M000_IG23 vpshufb xmm1, xmm1, xmmword ptr [@RWD00] vpmovmskb eax, xmm1 lzcnt eax, eax neg eax add eax, 31 jmp SHORT G_M000_IG22 G_M000_IG21: vpshufb xmm0, xmm1, xmmword ptr [@RWD00] vpmovmskb edx, xmm0 lzcnt edx, edx neg edx lea eax, [edx+eax+1FH] G_M000_IG22: vzeroupper pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG23: mov eax, -1 G_M000_IG24: vzeroupper pop ebx pop esi pop edi pop ebp ret 4 RWD00 dq 0F0D0B0907050301h, 8080808080808080h, 0F0D0B0907050301h, 8080808080808080h ; Total bytes of code 379 12: JIT compiled System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int) [Tier-0 switched to FullOpts with Static PGO, IL size=1128, code size=379] ; Assembly listing for method System.Text.Ascii:WidenAsciiToUtf16(uint,uint,uint):uint (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; fully interruptible ; PGO data available, but IL did not match ; 11 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, 16 vzeroupper mov eax, dword ptr [ebp+08H] G_M000_IG02: xor esi, esi cmp eax, 16 jb G_M000_IG09 G_M000_IG03: mov edi, edx cmp eax, 32 jb SHORT G_M000_IG07 lea ebx, [eax-20H] mov dword ptr [ebp-14H], ebx align [0 bytes for IG04] G_M000_IG04: vmovups ymm0, ymmword ptr [ecx+esi] vpmovmskb ebx, ymm0 test ebx, ebx jne G_M000_IG11 G_M000_IG05: 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 mov ebx, dword ptr [ebp-14H] cmp esi, ebx jbe SHORT G_M000_IG04 G_M000_IG06: jmp G_M000_IG11 align [8 bytes for IG10] G_M000_IG07: lea ebx, [eax-10H] G_M000_IG08: vmovups xmm0, xmmword ptr [ecx+esi] vptest xmm0, xmmword ptr [@RWD00] jne SHORT G_M000_IG11 vpmovzxbw xmm1, xmm0 vpsrldq xmm0, xmm0, 8 vpmovzxbw xmm0, xmm0 vmovups xmmword ptr [edi], xmm1 vmovups xmmword ptr [edi+10H], xmm0 add esi, 16 add edi, 32 cmp esi, ebx jbe SHORT G_M000_IG08 jmp SHORT G_M000_IG11 G_M000_IG09: cmp eax, 32 jb SHORT G_M000_IG11 mov edi, eax sub edi, 32 G_M000_IG10: mov ebx, esi vmovups ymm0, ymmword ptr [ecx+ebx] vxorps ymm1, ymm1, ymm1 vpcmpgtb ymm1, ymm1, ymm0 vptest ymm1, ymm1 jne SHORT G_M000_IG11 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_IG10 G_M000_IG11: sub eax, esi mov dword ptr [ebp-10H], eax cmp eax, 4 jb SHORT G_M000_IG15 G_M000_IG12: lea edi, [esi+eax-04H] mov dword ptr [ebp-18H], edi G_M000_IG13: mov ebx, dword ptr [ecx+esi] test ebx, 0xD1FFAB1E jne G_M000_IG20 G_M000_IG14: vmovd xmm0, ebx vpmovzxbw xmm0, xmm0 vmovd ebx, xmm0 vpextrd edi, xmm0, 1 mov dword ptr [ebp-1CH], edi lea edi, [edx+2*esi] mov dword ptr [edi], ebx mov ebx, dword ptr [ebp-1CH] mov dword ptr [edi+04H], ebx add esi, 4 mov edi, dword ptr [ebp-18H] cmp esi, edi jbe SHORT G_M000_IG13 G_M000_IG15: test al, 2 je SHORT G_M000_IG16 movzx ebx, word ptr [ecx+esi] test ebx, 0xD1FFAB1E jne SHORT G_M000_IG20 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_IG16: test byte ptr [ebp-10H], 1 je SHORT G_M000_IG17 movzx ebx, byte ptr [ecx+esi] test bl, 128 jne SHORT G_M000_IG17 mov word ptr [edx+2*esi], bx inc esi G_M000_IG17: mov eax, esi G_M000_IG18: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG19: movzx eax, bl mov word ptr [edx+2*esi], ax inc esi shr ebx, 8 G_M000_IG20: movzx eax, bl test al, 128 je SHORT G_M000_IG19 G_M000_IG21: jmp SHORT G_M000_IG17 RWD00 dq 8080808080808080h, 8080808080808080h ; Total bytes of code 402 13: JIT compiled System.Text.Ascii:WidenAsciiToUtf16(uint,uint,uint) [Tier-0 switched to FullOpts with Static PGO, IL size=608, code size=402] ; Assembly listing for method System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short]](byref,short,int):int (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; fully interruptible ; PGO data available, but IL did not match ; 16 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 vzeroupper mov eax, dword ptr [ebp+08H] G_M000_IG02: cmp eax, 8 jge G_M000_IG16 G_M000_IG03: xor esi, esi cmp eax, 4 jl SHORT G_M000_IG11 add eax, -4 movsx esi, word ptr [ecx] movsx edi, dx cmp esi, edi jne SHORT G_M000_IG05 xor eax, eax G_M000_IG04: vzeroupper pop esi pop edi pop ebp ret 4 G_M000_IG05: movsx esi, word ptr [ecx+02H] cmp esi, edi jne SHORT G_M000_IG07 mov eax, 1 G_M000_IG06: vzeroupper pop esi pop edi pop ebp ret 4 G_M000_IG07: movsx esi, word ptr [ecx+04H] cmp esi, edi jne SHORT G_M000_IG09 mov eax, 2 G_M000_IG08: vzeroupper pop esi pop edi pop ebp ret 4 G_M000_IG09: movsx esi, word ptr [ecx+06H] cmp esi, edi jne SHORT G_M000_IG10 mov eax, 3 jmp G_M000_IG27 G_M000_IG10: mov esi, 4 G_M000_IG11: test eax, eax jle G_M000_IG24 movsx edi, dx G_M000_IG12: dec eax movsx edx, word ptr [ecx+2*esi] cmp edx, edi je SHORT G_M000_IG15 G_M000_IG13: inc esi test eax, eax jg SHORT G_M000_IG12 G_M000_IG14: jmp G_M000_IG24 G_M000_IG15: mov eax, esi jmp G_M000_IG27 G_M000_IG16: mov esi, ecx cmp eax, 16 jle G_M000_IG25 movzx edx, dl vmovd xmm0, edx vpbroadcastb ymm0, ymm0 cmp eax, 32 jle SHORT G_M000_IG19 lea edx, bword ptr [esi+2*eax-40H] G_M000_IG17: vmovups ymm1, ymmword ptr [esi] vpackuswb ymm1, ymm1, ymmword ptr [esi+20H] vpcmpeqb ymm1, ymm0, ymm1 vptest ymm1, ymm1 jne SHORT G_M000_IG20 G_M000_IG18: add esi, 64 cmp esi, edx jb SHORT G_M000_IG17 G_M000_IG19: lea eax, bword ptr [ecx+2*eax-20H] cmp esi, eax mov edx, esi cmova edx, eax jmp SHORT G_M000_IG21 G_M000_IG20: mov eax, esi sub eax, ecx shr eax, 1 vpermq ymm0, ymm1, -40 vpmovmskb edx, ymm0 xor ecx, ecx tzcnt ecx, edx add eax, ecx jmp SHORT G_M000_IG27 G_M000_IG21: vmovups ymm1, ymmword ptr [edx] vpackuswb ymm1, ymm1, ymmword ptr [eax] vpcmpeqb ymm0, ymm0, ymm1 vptest ymm0, ymm0 je SHORT G_M000_IG24 vpermq ymm0, ymm0, -40 vpmovmskb esi, ymm0 tzcnt esi, esi cmp esi, 16 jge SHORT G_M000_IG23 G_M000_IG22: sub edx, ecx shr edx, 1 lea eax, [edx+esi] jmp SHORT G_M000_IG27 G_M000_IG23: mov edx, eax add esi, -16 jmp SHORT G_M000_IG22 G_M000_IG24: mov eax, -1 jmp SHORT G_M000_IG27 G_M000_IG25: movzx edx, dl vmovd xmm0, edx vpbroadcastb xmm0, xmm0 lea eax, bword ptr [esi+2*eax-10H] cmp ecx, eax mov edx, ecx cmova edx, eax vmovups xmm1, xmmword ptr [edx] vpackuswb xmm1, xmm1, xmmword ptr [eax] vpcmpeqb xmm0, xmm0, xmm1 vptest xmm0, xmm0 je SHORT G_M000_IG24 vpmovmskb esi, xmm0 tzcnt esi, esi cmp esi, 8 jge SHORT G_M000_IG28 G_M000_IG26: sub edx, ecx shr edx, 1 lea eax, [edx+esi] G_M000_IG27: vzeroupper pop esi pop edi pop ebp ret 4 G_M000_IG28: mov edx, eax add esi, -8 jmp SHORT G_M000_IG26 ; Total bytes of code 392 14: JIT compiled System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short]](byref,short,int) [Tier-0 switched to FullOpts with Static PGO, IL size=977, code size=392] ; Assembly listing for method (dynamicClass):InvokeStub_EventAttribute.set_Level(System.Object,System.Object,uint):System.Object (FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; FullOpts code ; 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 15: 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 (FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; FullOpts code ; 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 16: 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 (FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; FullOpts code ; 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 17: 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 (FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; FullOpts code ; 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 18: 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 (FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; FullOpts code ; 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 19: 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 (FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; FullOpts code ; 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 20: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 850 ; 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 mov eax, dword ptr [ebp+08H] G_M000_IG02: dec eax js SHORT G_M000_IG06 G_M000_IG03: mov ebx, edx and ebx, 15 add ecx, -2 cmp ebx, 10 jge SHORT G_M000_IG09 G_M000_IG04: mov edi, 48 G_M000_IG05: add edi, ebx mov word ptr [ecx], di shr edx, 4 dec eax jns SHORT G_M000_IG03 G_M000_IG06: test edx, edx jne SHORT G_M000_IG03 G_M000_IG07: mov eax, ecx G_M000_IG08: pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG09: mov esi, dword ptr [ebp+0CH] mov edi, esi mov dword ptr [ebp+0CH], esi jmp SHORT G_M000_IG05 ; Total bytes of code 64 21: JIT compiled System.Number:Int32ToHexChars[ushort](uint,uint,int,int) [Tier-0 switched to FullOpts with Static PGO, IL size=66, code size=64] ; Assembly listing for method System.SpanHelpers:IndexOfAnyInRangeUnsignedNumber[ushort,System.SpanHelpers+DontNegate`1[ushort]](byref,ushort,ushort,int):int (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 22: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; fully interruptible ; PGO data available, but IL did not match ; 12 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 vzeroupper mov ebx, dword ptr [ebp+0CH] mov eax, dword ptr [ebp+08H] G_M000_IG02: cmp eax, 8 jge SHORT G_M000_IG08 G_M000_IG03: movsx edx, dx movsx ebx, bx xor esi, esi test eax, eax jle G_M000_IG19 G_M000_IG04: movsx edi, word ptr [ecx+2*esi] sub edi, edx cmp edi, ebx jbe SHORT G_M000_IG07 G_M000_IG05: inc esi cmp esi, eax jl SHORT G_M000_IG04 G_M000_IG06: jmp G_M000_IG19 G_M000_IG07: mov eax, esi jmp G_M000_IG21 G_M000_IG08: mov esi, ecx cmp eax, 16 jle G_M000_IG16 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_IG11 lea edx, bword ptr [esi+2*eax-40H] G_M000_IG09: 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_IG12 G_M000_IG10: add esi, 64 cmp esi, edx jb SHORT G_M000_IG09 G_M000_IG11: lea eax, bword ptr [ecx+2*eax-20H] cmp esi, eax mov edx, esi cmova edx, eax jmp SHORT G_M000_IG13 G_M000_IG12: 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_IG21 G_M000_IG13: 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_IG19 vpermq ymm0, ymm0, -40 vpmovmskb ebx, ymm0 xor esi, esi tzcnt esi, ebx cmp esi, 16 jge SHORT G_M000_IG15 G_M000_IG14: sub edx, ecx shr edx, 1 lea eax, [edx+esi] jmp SHORT G_M000_IG21 G_M000_IG15: mov edx, eax add esi, -16 jmp SHORT G_M000_IG14 G_M000_IG16: 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_IG19 vpmovmskb esi, xmm0 tzcnt esi, esi cmp esi, 8 jge SHORT G_M000_IG18 G_M000_IG17: sub edx, ecx shr edx, 1 lea eax, [edx+esi] jmp SHORT G_M000_IG21 G_M000_IG18: mov edx, eax add esi, -8 jmp SHORT G_M000_IG17 G_M000_IG19: mov eax, -1 G_M000_IG20: vzeroupper pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG21: vzeroupper pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 368 23: JIT compiled System.PackedSpanHelpers:IndexOfAnyInRange[System.SpanHelpers+DontNegate`1[short]](byref,short,short,int) [Tier-0 switched to FullOpts with Static PGO, IL size=972, code size=368] ; Assembly listing for method BenchmarkDotNet.Autogenerated.UniqueProgramName:Main(System.String[]):int (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 24: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 25: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; fully 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 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 26: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 27: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 28: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 369583 ; 63 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, 68 mov gword ptr [ebp-34H], edx mov esi, ecx G_M000_IG02: mov edx, bword ptr [ebp+0CH] mov ecx, dword ptr [ebp+10H] test ecx, ecx je G_M000_IG34 G_M000_IG03: xor eax, eax mov bword ptr [ebp-50H], edx movzx ebx, word ptr [edx] test esi, 1 je SHORT G_M000_IG05 G_M000_IG04: cmp ebx, 32 je G_M000_IG37 lea edi, [ebx-09H] cmp edi, 4 jbe G_M000_IG37 G_M000_IG05: xor edi, edi xor edx, edx mov dword ptr [ebp-10H], esi test esi, 4 je G_M000_IG25 G_M000_IG06: mov edi, gword ptr [ebp-34H] cmp byte ptr [edi+A9H], 0 je G_M000_IG39 cmp ebx, 45 je G_M000_IG30 G_M000_IG07: cmp ebx, 43 je G_M000_IG38 G_M000_IG08: mov dword ptr [ebp-18H], edx G_M000_IG09: xor edi, edi mov dword ptr [ebp-1CH], edi G_M000_IG10: lea edx, [ebx-30H] cmp edx, 9 ja G_M000_IG34 G_M000_IG11: cmp ebx, 48 je G_M000_IG26 G_M000_IG12: lea edi, [ebx-30H] inc eax xor edx, edx G_M000_IG13: cmp eax, ecx jae G_M000_IG19 G_M000_IG14: mov ebx, bword ptr [ebp-50H] movzx ebx, word ptr [ebx+2*eax] lea esi, [ebx-30H] cmp esi, 9 ja G_M000_IG24 G_M000_IG15: inc eax lea edi, [edi+4*edi] lea edi, [ebx+2*edi-30H] inc edx cmp edx, 8 jl SHORT G_M000_IG13 G_M000_IG16: cmp eax, ecx jae SHORT G_M000_IG19 mov ebx, bword ptr [ebp-50H] movzx edx, word ptr [ebx+2*eax] lea esi, [edx-30H] cmp esi, 9 ja SHORT G_M000_IG23 inc eax xor ebx, ebx cmp edi, 0xD1FFAB1E setg bl lea edi, [edi+4*edi] lea edi, [edx+2*edi-30H] mov esi, dword ptr [ebp-18H] test esi, esi je G_M000_IG47 mov edx, 1 G_M000_IG17: add edx, 0xD1FFAB1E cmp edx, edi setb dl movzx edx, dl or edx, ebx movzx ebx, dl mov dword ptr [ebp-14H], eax mov dword ptr [ebp-30H], ecx cmp eax, ecx jb SHORT G_M000_IG22 G_M000_IG18: test ebx, ebx mov dword ptr [ebp-18H], esi jne G_M000_IG48 G_M000_IG19: mov ebx, bword ptr [ebp+08H] cmp dword ptr [ebp-18H], 0 jne G_M000_IG33 G_M000_IG20: mov dword ptr [ebx], edi xor eax, eax G_M000_IG21: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG22: mov dword ptr [ebp-20H], edi mov dword ptr [ebp-1CH], ebx jmp SHORT G_M000_IG32 G_M000_IG23: mov dword ptr [ebp-14H], eax mov dword ptr [ebp-30H], ecx mov ebx, edx jmp G_M000_IG35 G_M000_IG24: mov dword ptr [ebp-14H], eax mov dword ptr [ebp-30H], ecx jmp G_M000_IG35 G_M000_IG25: mov dword ptr [ebp-18H], edx jmp G_M000_IG09 G_M000_IG26: inc eax cmp eax, ecx jae SHORT G_M000_IG19 G_M000_IG27: mov ebx, bword ptr [ebp-50H] movzx edx, word ptr [ebx+2*eax] cmp edx, 48 mov bword ptr [ebp-50H], ebx je SHORT G_M000_IG26 G_M000_IG28: mov ebx, edx lea edx, [ebx-30H] cmp edx, 9 ja SHORT G_M000_IG29 jmp G_M000_IG12 G_M000_IG29: mov dword ptr [ebp-14H], eax mov dword ptr [ebp-30H], ecx jmp SHORT G_M000_IG35 G_M000_IG30: mov dword ptr [ebp-18H], 1 inc eax cmp eax, ecx jae SHORT G_M000_IG34 jmp G_M000_IG45 G_M000_IG31: mov ebx, 1 inc eax cmp eax, ecx mov dword ptr [ebp-14H], eax mov dword ptr [ebp-30H], ecx mov bword ptr [ebp-50H], edx mov dword ptr [ebp-1CH], ebx jae G_M000_IG48 G_M000_IG32: mov eax, dword ptr [ebp-14H] mov ecx, dword ptr [ebp-30H] cmp eax, ecx jae G_M000_IG53 mov edx, bword ptr [ebp-50H] movzx edi, word ptr [edx+2*eax] lea ebx, [edi-30H] cmp ebx, 9 jbe SHORT G_M000_IG31 mov dword ptr [ebp-14H], eax mov dword ptr [ebp-30H], ecx mov bword ptr [ebp-50H], edx mov dword ptr [ebp-18H], esi mov ebx, edi mov edi, dword ptr [ebp-20H] jmp SHORT G_M000_IG35 G_M000_IG33: neg edi jmp G_M000_IG20 G_M000_IG34: xor eax, eax mov ebx, bword ptr [ebp+08H] mov dword ptr [ebx], eax mov eax, 1 jmp G_M000_IG21 G_M000_IG35: mov ecx, ebx call [System.Number:IsWhite(int):bool] test eax, eax jne G_M000_IG49 G_M000_IG36: mov ebx, bword ptr [ebp-50H] mov bword ptr [ebp+0CH], ebx mov ebx, dword ptr [ebp-30H] mov dword ptr [ebp+10H], ebx push dword ptr [ebp+10H] push bword ptr [ebp+0CH] mov ecx, dword ptr [ebp-14H] call [System.Number:TrailingZeros(System.ReadOnlySpan`1[ushort],int):bool] test eax, eax mov ebx, dword ptr [ebp-1CH] mov esi, dword ptr [ebp-18H] jne G_M000_IG18 jmp SHORT G_M000_IG34 G_M000_IG37: inc eax mov dword ptr [ebp-30H], ecx cmp eax, ecx mov dword ptr [ebp-10H], esi jae SHORT G_M000_IG34 mov edi, gword ptr [ebp-34H] mov edx, bword ptr [ebp-50H] mov dword ptr [ebp-14H], eax movzx ebx, word ptr [edx+2*eax] mov ecx, ebx call [System.Number:IsWhite(int):bool] test eax, eax mov gword ptr [ebp-34H], edi mov eax, dword ptr [ebp-14H] mov ecx, dword ptr [ebp-30H] mov esi, dword ptr [ebp-10H] jne SHORT G_M000_IG37 jmp G_M000_IG05 G_M000_IG38: inc eax cmp eax, ecx mov dword ptr [ebp-18H], edx jae G_M000_IG34 jmp G_M000_IG45 G_M000_IG39: cmp byte ptr [edi+AAH], 0 je SHORT G_M000_IG40 cmp ebx, 45 jne SHORT G_M000_IG40 mov dword ptr [ebp-18H], 1 inc eax cmp eax, ecx jae G_M000_IG34 jmp G_M000_IG45 G_M000_IG40: cmp eax, ecx jbe SHORT G_M000_IG41 call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG41: mov dword ptr [ebp-18H], edx mov edx, bword ptr [ebp-50H] lea edx, bword ptr [edx+2*eax] sub ecx, eax mov bword ptr [ebp-50H], edx xor eax, eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-34H], edi mov edi, gword ptr [edi+10H] mov gword ptr [ebp-38H], edi mov edi, gword ptr [ebp-34H] mov edi, gword ptr [edi+14H] mov gword ptr [ebp-3CH], edi cmp gword ptr [ebp-38H], 0 je SHORT G_M000_IG44 mov edi, gword ptr [ebp-38H] xor edx, edx cmp dword ptr [edi+04H], 0 sete dl test edx, edx jne SHORT G_M000_IG44 lea edx, bword ptr [edi+08H] mov edi, dword ptr [edi+04H] mov dword ptr [ebp-30H], ecx cmp edi, ecx jg SHORT G_M000_IG43 add edi, edi push edi mov ecx, bword ptr [ebp-50H] call [System.SpanHelpers:SequenceEqual(byref,byref,uint):bool] test eax, eax je SHORT G_M000_IG42 mov edi, gword ptr [ebp-38H] mov eax, dword ptr [edi+04H] mov edi, eax mov dword ptr [ebp-14H], edi mov ebx, dword ptr [ebp-30H] cmp edi, ebx jae G_M000_IG34 mov ecx, ebx mov eax, dword ptr [ebp-14H] jmp G_M000_IG45 G_M000_IG42: mov ecx, dword ptr [ebp-30H] jmp SHORT G_M000_IG44 G_M000_IG43: mov ecx, dword ptr [ebp-30H] G_M000_IG44: mov edi, gword ptr [ebp-3CH] test edi, edi mov eax, dword ptr [ebp-14H] je G_M000_IG09 xor edx, edx cmp dword ptr [edi+04H], 0 sete dl test edx, edx jne G_M000_IG09 mov edx, dword ptr [ebp-18H] mov gword ptr [ebp-3CH], edi add edi, 8 mov bword ptr [ebp-40H], edi mov edi, gword ptr [ebp-3CH] mov edi, dword ptr [edi+04H] mov dword ptr [ebp-24H], edi mov edi, bword ptr [ebp-40H] mov bword ptr [ebp-48H], edi mov edi, dword ptr [ebp-24H] mov dword ptr [ebp-2CH], edi mov edi, bword ptr [ebp-48H] mov bword ptr [ebp-44H], edi mov edi, dword ptr [ebp-2CH] mov dword ptr [ebp-28H], edi mov edi, bword ptr [ebp-44H] mov bword ptr [ebp-4CH], edi mov edi, dword ptr [ebp-28H] mov dword ptr [ebp-30H], ecx cmp edi, ecx mov dword ptr [ebp-18H], edx jg SHORT G_M000_IG46 mov dword ptr [ebp-14H], eax add edi, edi push edi mov ecx, bword ptr [ebp-50H] mov edx, bword ptr [ebp-4CH] call [System.SpanHelpers:SequenceEqual(byref,byref,uint):bool] test eax, eax mov eax, dword ptr [ebp-14H] mov ecx, dword ptr [ebp-30H] je G_M000_IG09 mov edi, gword ptr [ebp-3CH] mov ebx, 1 mov eax, dword ptr [edi+04H] mov edi, eax cmp edi, ecx mov dword ptr [ebp-18H], ebx mov eax, edi jae G_M000_IG34 G_M000_IG45: cmp eax, ecx jae G_M000_IG53 mov ebx, bword ptr [ebp-50H] movzx edi, word ptr [ebx+2*eax] mov bword ptr [ebp-50H], ebx mov ebx, edi jmp G_M000_IG09 G_M000_IG46: mov ecx, dword ptr [ebp-30H] jmp G_M000_IG09 G_M000_IG47: xor edx, edx jmp G_M000_IG17 G_M000_IG48: xor eax, eax mov ebx, bword ptr [ebp+08H] mov dword ptr [ebx], eax mov eax, 2 jmp G_M000_IG21 G_M000_IG49: test byte ptr [ebp-10H], 2 je G_M000_IG34 mov eax, dword ptr [ebp-14H] mov ecx, dword ptr [ebp-30H] jmp SHORT G_M000_IG51 G_M000_IG50: mov dword ptr [ebp-30H], ecx cmp eax, ecx jae SHORT G_M000_IG53 mov edx, bword ptr [ebp-50H] mov dword ptr [ebp-14H], eax movzx ecx, word ptr [edx+2*eax] call [System.Number:IsWhite(int):bool] test eax, eax je SHORT G_M000_IG52 mov eax, dword ptr [ebp-14H] mov ecx, dword ptr [ebp-30H] G_M000_IG51: inc eax cmp eax, ecx jl SHORT G_M000_IG50 mov dword ptr [ebp-14H], eax mov dword ptr [ebp-30H], ecx G_M000_IG52: mov eax, dword ptr [ebp-14H] mov ecx, dword ptr [ebp-30H] cmp eax, ecx mov dword ptr [ebp-14H], eax mov dword ptr [ebp-30H], ecx mov ebx, dword ptr [ebp-1CH] mov esi, dword ptr [ebp-18H] jae G_M000_IG18 mov dword ptr [ebp-18H], esi mov dword ptr [ebp-1CH], ebx jmp G_M000_IG36 G_M000_IG53: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 1131 29: 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=1131] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 30: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:.cctor() [Tier0, IL size=13, code size=52] ; Assembly listing for method System.ArgumentOutOfRangeException:ThrowIfNegativeOrZero[int](int,System.String) (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 31: 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) (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 32: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 33: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 34: JIT compiled BenchmarkDotNet.Engines.Engine+Signals:ToMessage(int) [Tier0, IL size=12, code size=56] ; Assembly listing for method BenchmarkDotNet.Engines.Engine+Signals:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 G_M000_IG03: mov ecx, gword ptr [ebp-0CH] 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 35: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; 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 36: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 37: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 38: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; fully 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, 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 39: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 40: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 41: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 42: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 43: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 44: 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] (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 45: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 46: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 47: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 48: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 49: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 50: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 51: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 52: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 53: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; 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 54: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 55: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; 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 56: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 57: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 58: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 59: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 60: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; fully 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 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 61: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 62: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; fully interruptible ; PGO data available, but IL did not match ; 16 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 vzeroupper mov ebx, dword ptr [ebp+0CH] mov eax, dword ptr [ebp+08H] G_M000_IG02: cmp eax, 8 jge G_M000_IG20 G_M000_IG03: xor esi, esi 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+0CH], ebx movsx esi, bx xor ebx, ebx cmp edi, esi sete bl test bl, bl jne SHORT G_M000_IG04 movsx ebx, word ptr [ebp+0CH] 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 8 G_M000_IG06: mov dword ptr [ebp+0CH], ebx movsx esi, bx xor ebx, ebx cmp edi, esi sete bl test bl, bl jne SHORT G_M000_IG07 movsx ebx, word ptr [ebp+0CH] 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 8 G_M000_IG09: mov dword ptr [ebp+0CH], ebx movsx esi, bx xor ebx, ebx cmp edi, esi sete bl test bl, bl jne SHORT G_M000_IG10 movsx ebx, word ptr [ebp+0CH] 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 8 G_M000_IG12: mov dword ptr [ebp+0CH], ebx movsx esi, bx xor ebx, ebx cmp edi, esi sete bl test bl, bl jne SHORT G_M000_IG13 movsx ebx, word ptr [ebp+0CH] mov esi, 4 jmp SHORT G_M000_IG14 G_M000_IG13: mov eax, 3 jmp G_M000_IG31 G_M000_IG14: test eax, eax mov dword ptr [ebp+0CH], ebx jle G_M000_IG28 G_M000_IG15: dec eax movsx edi, word ptr [ecx+2*esi] movsx ebx, dx cmp edi, ebx je SHORT G_M000_IG19 G_M000_IG16: movsx ebx, word ptr [ebp+0CH] cmp edi, ebx sete bl movzx ebx, bl test bl, bl jne SHORT G_M000_IG19 G_M000_IG17: inc esi test eax, eax jg SHORT G_M000_IG15 G_M000_IG18: jmp G_M000_IG28 G_M000_IG19: mov eax, esi jmp G_M000_IG31 G_M000_IG20: mov edi, ecx cmp eax, 16 jle G_M000_IG29 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_IG23 lea edx, bword ptr [edi+2*eax-40H] G_M000_IG21: 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 SHORT G_M000_IG24 G_M000_IG22: add edi, 64 cmp edi, edx jb SHORT G_M000_IG21 G_M000_IG23: lea eax, bword ptr [ecx+2*eax-20H] cmp edi, eax mov edx, edi cmova edx, eax jmp SHORT G_M000_IG25 G_M000_IG24: mov eax, edi 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_IG31 G_M000_IG25: 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 SHORT G_M000_IG28 vpermq ymm0, ymm0, -40 vpmovmskb ebx, ymm0 xor edi, edi tzcnt edi, ebx cmp edi, 16 jge SHORT G_M000_IG27 G_M000_IG26: sub edx, ecx shr edx, 1 lea eax, [edx+edi] jmp SHORT G_M000_IG31 G_M000_IG27: mov edx, eax add edi, -16 jmp SHORT G_M000_IG26 G_M000_IG28: mov eax, -1 jmp SHORT G_M000_IG31 G_M000_IG29: 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 SHORT G_M000_IG28 vpmovmskb ebx, xmm0 xor esi, esi tzcnt esi, ebx cmp esi, 8 jge SHORT G_M000_IG32 G_M000_IG30: sub edx, ecx shr edx, 1 lea eax, [edx+esi] G_M000_IG31: vzeroupper pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG32: mov edx, eax add esi, -8 jmp SHORT G_M000_IG30 ; Total bytes of code 579 63: JIT compiled System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,int) [Tier-0 switched to FullOpts with Static PGO, IL size=1144, code size=579] ; Assembly listing for method BenchmarkDotNet.Autogenerated.UniqueProgramName+<>c:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 64: JIT compiled BenchmarkDotNet.Autogenerated.UniqueProgramName+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Autogenerated.UniqueProgramName+<>c:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 65: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 66: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 67: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 68: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 69: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 70: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 71: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 72: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 73: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 74: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 75: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 76: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 77: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 78: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 79: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 80: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 81: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 82: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 83: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 84: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 85: 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 (FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; FullOpts code ; 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 86: 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 (FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; FullOpts code ; 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 87: 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) (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 17 inlinees with PGO data; 36 single block inlinees; 1 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] vmovups xmm0, xmmword ptr [ebp-90H] vmovups xmmword ptr [ebp-78H], xmm0 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 byte ptr [ebp-A4H], 1 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+38H] lea edx, bword ptr [ecx+30H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebx+3CH] lea edx, bword ptr [ecx+34H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebx+40H] lea edx, bword ptr [ecx+38H] G_M000_IG16: call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebx+44H] 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 1411 88: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:Run(BenchmarkDotNet.Engines.IHost,System.String) [Tier-0 switched to FullOpts, IL size=488, code size=1411] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Tests.Perf_Guid:.ctor():this] mov ecx, 0xD1FFAB1E mov edx, 6 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-0CH], ecx mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-10H], ecx cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 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-50H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-50H] 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-10H], edx G_M000_IG03: mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+38H] mov ecx, gword ptr [ebp-10H] 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-14H], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-18H], ecx mov ecx, gword ptr [ebp-14H] mov gword ptr [ebp-1CH], ecx cmp gword ptr [ebp-14H], 0 jne SHORT G_M000_IG04 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-54H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-54H] 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-1CH], edx G_M000_IG04: mov edx, gword ptr [ebp-18H] lea edx, bword ptr [edx+3CH] mov ecx, gword ptr [ebp-1CH] 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-20H], 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 cmp gword ptr [ebp-20H], 0 jne SHORT G_M000_IG05 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-58H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-58H] 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-28H], edx G_M000_IG05: mov edx, gword ptr [ebp-24H] lea edx, bword ptr [edx+40H] mov ecx, gword ptr [ebp-28H] 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-2CH], ecx mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-30H], ecx mov ecx, gword ptr [ebp-2CH] mov gword ptr [ebp-34H], ecx cmp gword ptr [ebp-2CH], 0 jne SHORT G_M000_IG06 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-40H], 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-40H] 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-40H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-40H] mov gword ptr [ebp-34H], edx G_M000_IG06: mov edx, gword ptr [ebp-30H] lea edx, bword ptr [edx+44H] mov ecx, gword ptr [ebp-34H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-38H], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-38H] 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+48H] 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+4CH] mov eax, gword ptr [ebp-3CH] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG07: mov esp, ebp pop ebp ret ; Total bytes of code 723 89: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:.ctor() [Tier0, IL size=191, code size=723] ; Assembly listing for method System.Tests.Perf_Guid:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 52 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] vxorps xmm0, xmm0, xmm0 vmovups xmmword ptr [ebp-14H], xmm0 lea ecx, [ebp-14H] mov edx, 0xD1FFAB1E call [System.Guid:.ctor(System.String):this] mov ecx, gword ptr [ebp-04H] vmovdqu xmm0, xmmword ptr [ebp-14H] vmovdqu xmmword ptr [ecx+08H], xmm0 vxorps xmm0, xmm0, xmm0 vmovups xmmword ptr [ebp-24H], xmm0 lea ecx, [ebp-24H] mov edx, 0xD1FFAB1E call [System.Guid:.ctor(System.String):this] mov ecx, gword ptr [ebp-04H] vmovdqu xmm0, xmmword ptr [ebp-24H] vmovdqu xmmword ptr [ecx+18H], xmm0 vxorps xmm0, xmm0, xmm0 vmovups xmmword ptr [ebp-34H], xmm0 lea ecx, [ebp-34H] mov edx, 0xD1FFAB1E call [System.Guid:.ctor(System.String):this] mov ecx, gword ptr [ebp-04H] vmovdqu xmm0, xmmword ptr [ebp-34H] vmovdqu xmmword ptr [ecx+28H], xmm0 mov ecx, gword ptr [ebp-04H] cmp byte ptr [ecx], cl mov ecx, gword ptr [ebp-04H] add ecx, 8 call [System.Guid:ToByteArray():ubyte[]:this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 161 90: JIT compiled System.Tests.Perf_Guid:.ctor() [Tier0, IL size=72, code size=161] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0+<>c:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 91: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 92: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:WriteLine():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 93: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:WriteLine() [Tier0, IL size=12, code size=41] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 94: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:.ctor() [Tier0, IL size=131, code size=296] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:GetArchitecture():System.String (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 95: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:GetArchitecture() [Tier0, IL size=20, code size=72] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:GetCurrentPlatform():int (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 96: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:GetCurrentPlatform() [Tier0, IL size=75, code size=171] ; Assembly listing for method System.UInt64:CreateTruncating[uint](uint):ulong (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 97: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 98: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 99: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:GetRuntimeVersion() [Tier0, IL size=371, code size=848] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsWasm():bool (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 100: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsWasm() [Tier0, IL size=6, code size=11] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsOldMono():bool (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 101: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsOldMono() [Tier0, IL size=6, code size=27] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 102: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:.cctor() [Tier0, IL size=66, code size=98] ; Assembly listing for method System.Buffers.IndexOfAnyAsciiSearcher:IndexOfAnyVectorized[System.Buffers.IndexOfAnyAsciiSearcher+DontNegate,System.Buffers.IndexOfAnyAsciiSearcher+Default](byref,int,byref):int (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 9933 ; 20 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 vzeroupper mov esi, ecx G_M000_IG02: mov edi, esi cmp edx, 16 jle G_M000_IG10 G_M000_IG03: mov eax, bword ptr [ebp+08H] vmovups ymm0, ymmword ptr [eax] cmp edx, 32 jle SHORT G_M000_IG07 G_M000_IG04: lea eax, bword ptr [edi+2*edx-40H] vmovups ymm1, ymmword ptr [@RWD00] G_M000_IG05: vmovups ymm2, ymmword ptr [edi] vpackuswb ymm2, ymm2, ymmword ptr [edi+20H] vpshufb ymm3, ymm0, ymm2 vpsrld ymm2, ymm2, 4 vpand ymm2, ymm2, ymm1 vmovups ymm4, ymmword ptr [@RWD32] vpshufb ymm2, ymm4, ymm2 vpand ymm2, ymm3, ymm2 vptest ymm2, ymm2 jne G_M000_IG15 G_M000_IG06: add edi, 64 cmp edi, eax jb SHORT G_M000_IG05 G_M000_IG07: lea ebx, bword ptr [esi+2*edx-20H] cmp edi, ebx cmova edi, ebx vmovups ymm1, ymmword ptr [edi] vpackuswb ymm2, ymm1, ymmword ptr [ebx] vpshufb ymm0, ymm0, ymm2 vpsrld ymm1, ymm2, 4 vmovups ymm2, ymmword ptr [@RWD00] vpand ymm1, ymm1, ymm2 vmovups ymm2, ymmword ptr [@RWD32] vpshufb ymm1, ymm2, ymm1 vpand ymm0, ymm0, ymm1 vptest ymm0, ymm0 jne G_M000_IG16 G_M000_IG08: mov eax, -1 G_M000_IG09: vzeroupper pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG10: mov eax, bword ptr [ebp+08H] vmovups xmm0, xmmword ptr [eax] lea eax, bword ptr [edi+2*edx-10H] cmp esi, eax mov edx, esi cmova edx, eax vmovups xmm1, xmmword ptr [edx] vpackuswb xmm1, xmm1, xmmword ptr [eax] vpshufb xmm0, xmm0, xmm1 vpsrld xmm1, xmm1, 4 vpand xmm1, xmm1, xmmword ptr [@RWD00] vmovups xmm2, xmmword ptr [@RWD64] vpshufb xmm1, xmm2, xmm1 vpand xmm0, xmm0, xmm1 vptest xmm0, xmm0 je SHORT G_M000_IG08 G_M000_IG11: vxorps xmm1, xmm1, xmm1 vpcmpeqb xmm0, xmm0, xmm1 vpmovmskb ecx, xmm0 not ecx tzcnt ecx, ecx cmp ecx, 8 jge SHORT G_M000_IG14 G_M000_IG12: sub edx, esi shr edx, 1 lea eax, [edx+ecx] G_M000_IG13: vzeroupper pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG14: mov edx, eax add ecx, -8 jmp SHORT G_M000_IG12 G_M000_IG15: vpermq ymm0, ymm2, -40 sub esp, 32 vmovups ymmword ptr [esp], ymm0 call [System.Buffers.IndexOfAnyAsciiSearcher+DontNegate:ExtractMask(System.Runtime.Intrinsics.Vector256`1[ubyte]):uint] tzcnt eax, eax mov edx, edi sub edx, esi shr edx, 1 add eax, edx jmp SHORT G_M000_IG13 G_M000_IG16: vpermq ymm0, ymm0, -40 sub esp, 32 vmovups ymmword ptr [esp], ymm0 call [System.Buffers.IndexOfAnyAsciiSearcher+DontNegate:ExtractMask(System.Runtime.Intrinsics.Vector256`1[ubyte]):uint] tzcnt eax, eax cmp eax, 16 jge SHORT G_M000_IG18 G_M000_IG17: sub edi, esi shr edi, 1 add eax, edi jmp SHORT G_M000_IG13 G_M000_IG18: mov edi, ebx add eax, -16 jmp SHORT G_M000_IG17 RWD00 dq 0F0F0F0F0F0F0F0Fh, 0F0F0F0F0F0F0F0Fh, 0F0F0F0F0F0F0F0Fh, 0F0F0F0F0F0F0F0Fh RWD32 dq 8040201008040201h, 8040201008040201h, 8040201008040201h, 8040201008040201h RWD64 dq 8040201008040201h, 0000000000000000h ; Total bytes of code 379 103: JIT compiled System.Buffers.IndexOfAnyAsciiSearcher:IndexOfAnyVectorized[System.Buffers.IndexOfAnyAsciiSearcher+DontNegate,System.Buffers.IndexOfAnyAsciiSearcher+Default](byref,int,byref) [Tier-0 switched to FullOpts with Static PGO, IL size=444, code size=379] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsMono():bool (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 104: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsMono() [Tier0, IL size=6, code size=27] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsNewMono():bool (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 105: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsNewMono() [Tier0, IL size=6, code size=12] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsFullFramework():bool (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 106: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsFullFramework() [Tier0, IL size=2, code size=7] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsNetCore():bool (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 107: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; fully interruptible ; PGO data available, but IL did not match ; 16 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 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_IG31 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 G_M000_IG19: mov eax, edi jmp G_M000_IG31 G_M000_IG20: movsx esi, word ptr [ebp+0CH] mov edi, ecx cmp eax, 16 jle G_M000_IG29 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_IG23 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_IG24 G_M000_IG22: add edi, 64 cmp edi, edx jb SHORT G_M000_IG21 G_M000_IG23: lea eax, bword ptr [ecx+2*eax-20H] cmp edi, eax mov edx, edi cmova edx, eax jmp SHORT G_M000_IG25 G_M000_IG24: 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_IG31 G_M000_IG25: 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 SHORT G_M000_IG28 vpermq ymm0, ymm0, -40 vpmovmskb esi, ymm0 xor edi, edi tzcnt edi, esi cmp edi, 16 jge SHORT G_M000_IG27 G_M000_IG26: sub edx, ecx shr edx, 1 lea eax, [edx+edi] jmp SHORT G_M000_IG31 G_M000_IG27: mov edx, eax add edi, -16 jmp SHORT G_M000_IG26 G_M000_IG28: mov eax, -1 jmp SHORT G_M000_IG31 G_M000_IG29: 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 jge SHORT G_M000_IG32 G_M000_IG30: sub edx, ecx shr edx, 1 lea eax, [edx+esi] G_M000_IG31: vzeroupper pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG32: mov edx, eax add esi, -8 jmp SHORT G_M000_IG30 ; Total bytes of code 673 108: JIT compiled System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int) [Tier-0 switched to FullOpts with Static PGO, IL size=1297, code size=673] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:GetNetCoreVersion():System.String (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 109: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 110: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; fully interruptible ; PGO data available, but IL did not match ; 13 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 vzeroupper mov eax, dword ptr [ebp+08H] G_M000_IG02: cmp eax, 8 jge SHORT G_M000_IG08 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_IG16 movsx edi, word ptr [ecx+2*esi+02H] cmp edi, ebx je G_M000_IG16 movsx edi, word ptr [ecx+2*esi+04H] cmp edi, ebx je G_M000_IG16 movsx edi, word ptr [ecx+2*esi+06H] cmp edi, ebx je G_M000_IG16 add esi, 4 G_M000_IG04: test eax, eax jle G_M000_IG18 movsx ebx, dx G_M000_IG05: dec eax movsx edx, word ptr [ecx+2*esi] cmp edx, ebx je G_M000_IG16 G_M000_IG06: inc esi test eax, eax jg SHORT G_M000_IG05 G_M000_IG07: jmp G_M000_IG18 align [5 bytes for IG09] G_M000_IG08: cmp eax, 16 jl SHORT G_M000_IG12 movsx ebx, dx vmovd xmm0, ebx vpbroadcastw ymm0, ymm0 lea ebx, bword ptr [ecx+2*eax-20H] G_M000_IG09: vpcmpeqw ymm1, ymm0, ymmword ptr [ecx] vptest ymm1, ymm1 jne SHORT G_M000_IG16 add ecx, 32 cmp ecx, ebx jbe SHORT G_M000_IG09 G_M000_IG10: xor edx, edx mov ecx, 16 cmp edx, ecx jb SHORT G_M000_IG11 mov esi, eax mov eax, edx xor edx, edx div edx:eax, ecx mov eax, esi G_M000_IG11: div edx:eax, ecx or edx, 0 je SHORT G_M000_IG18 vpcmpeqw ymm0, ymm0, ymmword ptr [ebx] vptest ymm0, ymm0 je SHORT G_M000_IG18 jmp SHORT G_M000_IG16 align [0 bytes for IG13] G_M000_IG12: movsx ebx, dx vmovd xmm0, ebx vpbroadcastw xmm0, xmm0 mov edx, ecx lea ecx, bword ptr [edx+2*eax-10H] G_M000_IG13: vpcmpeqw xmm1, xmm0, xmmword ptr [edx] vptest xmm1, xmm1 jne SHORT G_M000_IG16 add edx, 16 cmp edx, ecx jbe SHORT G_M000_IG13 G_M000_IG14: xor edx, edx mov esi, 8 cmp edx, esi jb SHORT G_M000_IG15 mov edi, eax mov eax, edx xor edx, edx div edx:eax, esi mov eax, edi G_M000_IG15: div edx:eax, esi or edx, 0 je SHORT G_M000_IG18 vpcmpeqw xmm0, xmm0, xmmword ptr [ecx] vptest xmm0, xmm0 je SHORT G_M000_IG18 G_M000_IG16: mov eax, 1 G_M000_IG17: vzeroupper pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG18: xor eax, eax G_M000_IG19: vzeroupper pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 305 111: JIT compiled System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int) [Tier-0 switched to FullOpts with Static PGO, IL size=892, code size=305] ; Assembly listing for method System.Diagnostics.FileVersionInfo:.ctor(System.String):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 112: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 113: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 114: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 115: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 116: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 117: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 118: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 119: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 120: JIT compiled System.Diagnostics.FileVersionInfo:GetFixedFileInfo(uint) [Tier0, IL size=34, code size=109] ; Assembly listing for method System.Diagnostics.FileVersionInfo:HIWORD(uint):uint (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 121: JIT compiled System.Diagnostics.FileVersionInfo:HIWORD(uint) [Tier0, IL size=11, code size=22] ; Assembly listing for method System.Diagnostics.FileVersionInfo:LOWORD(uint):uint (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 122: JIT compiled System.Diagnostics.FileVersionInfo:LOWORD(uint) [Tier0, IL size=8, code size=19] ; Assembly listing for method BenchmarkDotNet.Environments.CoreRuntime:TryGetVersion(byref):bool (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 123: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 591 ; 26 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, 64 xor eax, eax mov dword ptr [ebp-28H], eax mov esi, edx G_M000_IG02: mov edi, bword ptr [ebp+0CH] mov ebx, dword ptr [ebp+10H] mov eax, esi cmp eax, 4 ja G_M000_IG34 cmp esi, 3 jb SHORT G_M000_IG05 G_M000_IG03: cmp dword ptr [ecx+0CH], -1 je G_M000_IG35 cmp esi, 4 jne SHORT G_M000_IG05 G_M000_IG04: cmp dword ptr [ecx+10H], -1 je G_M000_IG36 G_M000_IG05: xor eax, eax xor edx, edx mov dword ptr [ebp-10H], esi test esi, esi jle SHORT G_M000_IG09 G_M000_IG06: test edx, edx je SHORT G_M000_IG08 G_M000_IG07: test ebx, ebx je G_M000_IG28 mov word ptr [edi], 46 cmp ebx, 1 jb G_M000_IG32 add edi, 2 dec ebx inc eax mov dword ptr [ebp-14H], eax G_M000_IG08: mov dword ptr [ebp-18H], edx cmp edx, 2 ja SHORT G_M000_IG15 mov dword ptr [ebp-38H], ebx lea ebx, [@RWD00] mov edx, dword ptr [ebp-18H] mov ebx, dword ptr [ebx+4*edx] lea esi, G_M000_IG02 add ebx, esi jmp ebx G_M000_IG09: mov ecx, eax jmp SHORT G_M000_IG12 G_M000_IG10: xor eax, eax mov dword ptr [ebp-1CH], eax G_M000_IG11: xor ecx, ecx mov bword ptr [ebp-28H], ecx test al, al je G_M000_IG30 mov ecx, dword ptr [ebp-14H] add ecx, dword ptr [ebp-1CH] mov eax, dword ptr [ebp-1CH] cmp eax, ebx ja G_M000_IG32 lea edi, bword ptr [edi+2*eax] sub ebx, eax mov edx, dword ptr [ebp-18H] inc edx mov esi, dword ptr [ebp-10H] cmp edx, esi mov dword ptr [ebp-10H], esi jl SHORT G_M000_IG14 G_M000_IG12: mov esi, bword ptr [ebp+08H] mov dword ptr [esi], ecx mov eax, 1 G_M000_IG13: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG14: mov eax, ecx mov ecx, gword ptr [ebp-3CH] jmp G_M000_IG06 G_M000_IG15: mov gword ptr [ebp-3CH], ecx mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-14H], eax G_M000_IG16: mov dword ptr [ebp-20H], ecx mov bword ptr [ebp-44H], edi mov ecx, ebx mov dword ptr [ebp-24H], ecx mov ecx, bword ptr [ebp-44H] mov bword ptr [ebp-48H], ecx mov ecx, dword ptr [ebp-24H] mov dword ptr [ebp-34H], ecx mov ecx, bword ptr [ebp-48H] mov bword ptr [ebp-40H], ecx mov ecx, dword ptr [ebp-34H] mov dword ptr [ebp-30H], ecx mov ecx, dword ptr [ebp-20H] mov esi, bword ptr [ebp-40H] mov bword ptr [ebp-4CH], esi mov esi, ecx or esi, 1 lzcnt esi, esi xor esi, 31 lea esi, [8*esi+D1FFAB1EH] mov eax, dword ptr [esi] mov esi, dword ptr [esi+04H] add eax, ecx adc esi, 0 cmp esi, dword ptr [ebp-30H] jg G_M000_IG10 G_M000_IG17: mov dword ptr [ebp-1CH], esi mov eax, bword ptr [ebp-4CH] mov bword ptr [ebp-28H], eax lea esi, [eax+2*esi] cmp ecx, 10 jae SHORT G_M000_IG20 G_M000_IG18: lea eax, [ecx+30H] mov word ptr [esi-02H], ax G_M000_IG19: xor eax, eax mov bword ptr [ebp-28H], eax mov eax, 1 jmp G_M000_IG11 G_M000_IG20: cmp ecx, 100 jae SHORT G_M000_IG23 G_M000_IG21: cmp ecx, 10 jb SHORT G_M000_IG18 G_M000_IG22: lea eax, [esi-04H] mov dword ptr [ebp-2CH], eax mov esi, gword ptr [D1FFAB1EH] mov eax, esi cmp byte ptr [eax], al mov ecx, dword ptr [esi+4*ecx+08H] mov eax, bword ptr [ebp-2CH] mov dword ptr [eax], ecx jmp SHORT G_M000_IG19 G_M000_IG23: add esi, -4 mov eax, 0xD1FFAB1E mul edx:eax, ecx shr edx, 5 imul eax, edx, 100 sub ecx, eax mov eax, gword ptr [D1FFAB1EH] cmp byte ptr [eax], al mov eax, dword ptr [eax+4*ecx+08H] mov dword ptr [esi], eax cmp edx, 100 mov ecx, edx jae SHORT G_M000_IG23 G_M000_IG24: jmp SHORT G_M000_IG21 G_M000_IG25: mov esi, dword ptr [ecx+04H] mov dword ptr [ebp-18H], edx mov dword ptr [ebp-14H], eax mov gword ptr [ebp-3CH], ecx mov ecx, esi mov ebx, dword ptr [ebp-38H] jmp G_M000_IG16 G_M000_IG26: mov esi, dword ptr [ecx+08H] mov dword ptr [ebp-18H], edx mov dword ptr [ebp-14H], eax mov gword ptr [ebp-3CH], ecx mov ecx, esi mov ebx, dword ptr [ebp-38H] jmp G_M000_IG16 G_M000_IG27: mov esi, dword ptr [ecx+0CH] mov dword ptr [ebp-18H], edx mov dword ptr [ebp-14H], eax mov gword ptr [ebp-3CH], ecx mov ecx, esi mov ebx, dword ptr [ebp-38H] jmp G_M000_IG16 G_M000_IG28: xor eax, eax mov esi, bword ptr [ebp+08H] mov dword ptr [esi], eax G_M000_IG29: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG30: xor eax, eax mov esi, bword ptr [ebp+08H] mov dword ptr [esi], eax G_M000_IG31: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG32: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG33: call CORINFO_HELP_OVERFLOW G_M000_IG34: mov ecx, 0x146BC mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.Version:g__ThrowArgumentException|35_0[ushort](System.String)] int3 G_M000_IG35: mov ecx, 0x146C0 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.Version:g__ThrowArgumentException|35_0[ushort](System.String)] int3 G_M000_IG36: mov ecx, 0x146C4 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.Version:g__ThrowArgumentException|35_0[ushort](System.String)] int3 RWD00 dd G_M000_IG25 - G_M000_IG02 dd G_M000_IG26 - G_M000_IG02 dd G_M000_IG27 - G_M000_IG02 ; Total bytes of code 620 124: JIT compiled System.Version:TryFormatCore[ushort](System.Span`1[ushort],int,byref) [Tier-0 switched to FullOpts with Static PGO, IL size=331, code size=620] ; Assembly listing for method System.Diagnostics.FileVersionInfo:get_FileVersion():System.String:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 125: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 126: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 127: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 128: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 129: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 130: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 131: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 132: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 133: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 134: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 135: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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_IG10 xor eax, eax jmp G_M000_IG15 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_IG10 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_IG11 G_M000_IG06: mov eax, esi test eax, eax je SHORT G_M000_IG09 G_M000_IG07: 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] cmp dword ptr [eax], ecx je SHORT G_M000_IG09 G_M000_IG08: mov edx, esi call [CORINFO_HELP_CHKCASTANY] G_M000_IG09: 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_IG15 G_M000_IG10: mov ecx, gword ptr [ebp-1CH] mov dword ptr [ecx+14H], -3 G_M000_IG11: 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_IG12: 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_IG13: xor eax, eax jmp SHORT G_M000_IG15 G_M000_IG14: 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_IG15: lea esp, [ebp-04H] pop esi pop ebp ret ; Total bytes of code 237 136: JIT compiled System.Linq.Enumerable+d__65`1[System.__Canon]:MoveNext() [Tier-0 switched to FullOpts, IL size=144, code size=237] ; Assembly listing for method System.Linq.Enumerable+d__65`1[System.__Canon]:System.Collections.Generic.IEnumerator.get_Current():System.__Canon:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 137: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 138: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 139: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 140: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 141: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 142: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:HasRyuJit() [Tier0, IL size=59, code size=140] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_HasRyuJit(bool):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 143: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 144: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:GetJitInfo() [Tier0, IL size=92, code size=148] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsNativeAOT():bool (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 145: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsNativeAOT() [Tier0, IL size=51, code size=109] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsNetNative():bool (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 146: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsNetNative() [Tier0, IL size=17, code size=40] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsAot():bool (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 147: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 148: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 149: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 150: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 151: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 152: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 153: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 154: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_HasAttachedDebugger(bool) [Tier0, IL size=8, code size=25] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 155: JIT compiled BenchmarkDotNet.Engines.GcStats:.cctor() [Tier0, IL size=28, code size=98] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:CalculateAllocationQuantumSize():long (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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, 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 156: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 157: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 158: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 159: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 160: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 161: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 162: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 163: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 164: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 165: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 166: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 167: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 168: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 169: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 170: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 171: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetDebuggerFlag() [Tier0, IL size=20, code size=38] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_HasAttachedDebugger():bool:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 172: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_HasAttachedDebugger() [Tier0, IL size=7, code size=18] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+<>c:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 173: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+<>c:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 174: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 175: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 176: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 177: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 178: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 179: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 180: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 181: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 182: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 183: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 184: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetGcConcurrentFlag() [Tier0, IL size=20, code size=38] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_IsConcurrentGC():bool:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 185: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 186: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetGcServerFlag() [Tier0, IL size=20, code size=38] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_IsServerGC():bool:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 187: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 188: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 189: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 190: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 191: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 192: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 193: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, 1 G_M000_IG03: pop ebp ret ; Total bytes of code 10 194: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86AesSupported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Bmi1Supported():bool (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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_IsX86Bmi1Supported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Bmi2Supported():bool (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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_IsX86Bmi2Supported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86FmaSupported():bool (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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_IsX86FmaSupported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86LzcntSupported():bool (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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_IsX86LzcntSupported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86PclmulqdqSupported():bool (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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_IsX86PclmulqdqSupported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86PopcntSupported():bool (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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_IsX86PopcntSupported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86AvxVnniSupported():bool (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 201: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 202: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 203: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 204: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 205: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 206: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 207: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 208: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 209: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 210: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 211: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:.ctor(System.String) [Tier0, IL size=27, code size=84] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 212: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 213: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 214: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 215: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 216: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 217: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 218: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 219: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 220: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 221: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 222: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 223: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 224: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 225: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 226: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 227: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 228: 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]] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 229: 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]] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 230: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 231: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 232: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 233: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 234: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 235: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 236: JIT compiled BenchmarkDotNet.Jobs.EnvironmentMode:.ctor(System.String) [Tier0, IL size=24, code size=99] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 237: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 238: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 239: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 240: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 241: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 242: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:AssertNotFrozen() [Tier0, IL size=64, code size=190] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:get_Frozen():bool:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 243: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 244: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 245: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 246: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 247: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 248: 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) (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 249: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 250: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Jobs.GcMode:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 251: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 252: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 253: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 254: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 255: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 256: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 257: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 258: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 259: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 260: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 18 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, 96 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 eax, gword ptr [esi+04H] mov edi, eax mov gword ptr [ebp-6CH], edi push esi mov ecx, ebx mov edx, gword ptr [ebp+08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValueOnAttach(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] mov edx, dword ptr [edi+24H] 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 mov edi, gword ptr [ebp-6CH] mov gword ptr [ebp-50H], edi mov dword ptr [ebp-4CH], edx xor ecx, ecx mov dword ptr [ebp-48H], ecx mov dword ptr [ebp-44H], 2 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 482 261: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:AttachToOwner(BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic) [Tier-0 switched to FullOpts, IL size=165, code size=482] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:get_IsPropertyBag():bool:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; 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 262: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:get_IsPropertyBag() [Tier0, IL size=2, code size=13] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsRoot():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 263: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 264: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 265: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 266: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsNonFrozenRoot() [Tier0, IL size=13, code size=29] ; Assembly listing for method BenchmarkDotNet.Jobs.EnvironmentMode:set_Jit(int):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 267: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 268: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 269: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 270: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 271: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 272: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 273: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 274: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 275: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 276: JIT compiled BenchmarkDotNet.Jobs.EnvironmentMode:.ctor() [Tier0, IL size=8, code size=22] ; Assembly listing for method BenchmarkDotNet.Jobs.RunMode:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 277: JIT compiled BenchmarkDotNet.Jobs.RunMode:.ctor() [Tier0, IL size=8, code size=22] ; Assembly listing for method BenchmarkDotNet.Jobs.RunMode:.ctor(System.String):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 278: JIT compiled BenchmarkDotNet.Jobs.RunMode:.ctor(System.String) [Tier0, IL size=8, code size=28] ; Assembly listing for method BenchmarkDotNet.Jobs.InfrastructureMode:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 279: JIT compiled BenchmarkDotNet.Jobs.InfrastructureMode:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Jobs.AccuracyMode:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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.AccuracyMode:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Jobs.MetaMode:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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.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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 282: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 283: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 284: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 285: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 286: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 287: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper:GetAllCharacteristics(System.Type) [Tier0, IL size=38, code size=133] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 288: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 289: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 290: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 7 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 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_IG27 cmp dword ptr [esi], esi mov edi, 12 G_M000_IG04: test ebx, ebx jl G_M000_IG28 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_IG29 lea edx, bword ptr [edi+08H] call CORINFO_HELP_ASSIGN_REF_EDI mov dword ptr [ebp-10H], 1 cmp eax, 1 jle G_M000_IG18 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 G_M000_IG17 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 G_M000_IG22 G_M000_IG07: mov ecx, eax G_M000_IG08: 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_IG11 G_M000_IG09: 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 G_M000_IG23 G_M000_IG10: call [System.Collections.Generic.EqualityComparer`1[System.__Canon]:get_Default():System.Collections.Generic.EqualityComparer`1[System.__Canon]] G_M000_IG11: mov edx, dword ptr [ebp-18H] mov ecx, dword ptr [edx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx], 0xD1FFAB1E jne G_M000_IG19 G_M000_IG12: 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 G_M000_IG19 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 G_M000_IG24 G_M000_IG13: mov edx, eax call [CORINFO_HELP_CHKCASTANY] mov gword ptr [ebp+08H], eax G_M000_IG14: 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 G_M000_IG26 G_M000_IG15: 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_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG17: jmp G_M000_IG05 G_M000_IG18: mov eax, dword ptr [ebp-14H] jmp G_M000_IG06 G_M000_IG19: 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_IG25 G_M000_IG20: mov gword ptr [ebp+08H], eax G_M000_IG21: call [System.Collections.Generic.EqualityComparer`1[System.__Canon]:get_Default():System.Collections.Generic.EqualityComparer`1[System.__Canon]] cmp eax, gword ptr [ebp+08H] jne G_M000_IG14 mov byte ptr [esi+0DH], 1 jmp G_M000_IG14 G_M000_IG22: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov ecx, eax jmp G_M000_IG08 G_M000_IG23: mov ecx, edx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov ecx, eax jmp G_M000_IG10 G_M000_IG24: mov ecx, edx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov ecx, eax mov eax, gword ptr [ebp-20H] jmp G_M000_IG13 G_M000_IG25: mov gword ptr [ebp+08H], eax mov ecx, edx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov ecx, eax jmp SHORT G_M000_IG21 G_M000_IG26: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax jmp G_M000_IG15 G_M000_IG27: 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_IG28: 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_IG29: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 640 291: 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=640] ; Assembly listing for method System.Collections.HashHelpers:GetPrime(int):int (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 292: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 293: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 294: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 1 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, 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 295: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 296: 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]) (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 6 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, 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 297: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 298: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 299: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper:GetThisTypeCharacteristicsCore(System.Type) [Tier0, IL size=260, code size=1197] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 300: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 301: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 302: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 303: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 304: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 305: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 306: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 307: JIT compiled System.Linq.EmptyPartition`1[System.__Canon]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 308: JIT compiled System.Linq.Enumerable+SelectIListIterator`2[System.__Canon,System.__Canon]:.ctor(System.Collections.Generic.IList`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]) [Tier0, IL size=21, code size=55] ; 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 309: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 310: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 311: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 312: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 313: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 314: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 315: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 316: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 317: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 318: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 319: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 320: 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[] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 321: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 322: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 323: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 324: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 325: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 326: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 327: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 328: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 329: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 330: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 331: 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.Enumerable+SelectIListIterator`2[System.__Canon,System.__Canon]:MoveNext():bool:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 40 xor eax, eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-20H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-08H], ecx cmp dword ptr [ebp-08H], 1 je SHORT G_M000_IG03 cmp dword ptr [ebp-08H], 2 je SHORT G_M000_IG07 jmp G_M000_IG13 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-0CH], 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-0CH], eax G_M000_IG06: mov ecx, dword ptr [ebp-0CH] mov dword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+10H] mov eax, dword ptr [ebp-10H] nop call [eax] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, gword ptr [ebp-04H] mov dword ptr [ecx+0CH], 2 G_M000_IG07: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+18H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG12 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+10H], 0 je SHORT G_M000_IG09 G_M000_IG08: mov ecx, dword ptr [ebp-28H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG10 G_M000_IG09: mov ecx, dword ptr [ebp-28H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-14H], eax G_M000_IG10: mov ecx, dword ptr [ebp-14H] mov dword ptr [ebp-18H], ecx mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+14H] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+18H] mov eax, dword ptr [ebp-18H] nop call [eax] mov gword ptr [ebp-20H], eax mov edx, gword ptr [ebp-20H] mov ecx, gword ptr [ebp-1CH] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-1CH] call [eax+0CH]System.Func`2[System.__Canon,System.__Canon]:Invoke(System.__Canon):System.__Canon:this mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, 1 G_M000_IG11: mov esp, ebp pop ebp ret G_M000_IG12: 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[System.__Canon]:Dispose():this G_M000_IG13: xor eax, eax G_M000_IG14: mov esp, ebp pop ebp ret ; Total bytes of code 299 332: JIT compiled System.Linq.Enumerable+SelectIListIterator`2[System.__Canon,System.__Canon]:MoveNext() [Tier0, IL size=92, code size=299] ; Assembly listing for method System.Linq.EmptyPartition`1[System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; 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+SelectIListIterator`2[System.__Canon,System.__Canon]:Dispose():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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+18H], 0 je SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+18H] call [System.IDisposable:Dispose():this] mov ecx, gword ptr [ebp-04H] xor eax, eax mov gword ptr [ecx+18H], 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+SelectIListIterator`2[System.__Canon,System.__Canon]:Dispose() [Tier0, IL size=33, code size=49] ; Assembly listing for method System.Linq.EmptyPartition`1[System.__Canon]:System.IDisposable.Dispose():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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+ConcatIterator`1[System.__Canon]:Dispose():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 337: JIT compiled System.Linq.Enumerable+ConcatIterator`1[System.__Canon]:Dispose() [Tier0, IL size=33, code size=49] ; Assembly listing for method System.Linq.Enumerable:HashSetToArray[System.__Canon](System.Collections.Generic.HashSet`1[System.__Canon]):System.__Canon[] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 338: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 G_M000_IG02: mov esi, gword ptr [ebp+10H] mov edi, dword ptr [ebp+0CH] 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 edx, esi cmp dword ptr [ecx], ecx call [System.Linq.EnumerableSorter`1[System.__Canon]:Sort(System.__Canon[],int):int[]:this] xor ecx, ecx test edi, edi jle SHORT G_M000_IG06 test eax, eax je SHORT G_M000_IG05 cmp dword ptr [eax+04H], edi jl SHORT G_M000_IG05 align [12 bytes for IG03] G_M000_IG03: mov edx, bword ptr [ebp+08H] lea edx, bword ptr [edx+4*ecx] mov ebx, dword ptr [eax+4*ecx+08H] cmp ebx, dword ptr [esi+04H] jae SHORT G_M000_IG07 mov ebx, gword ptr [esi+4*ebx+08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EBX inc ecx cmp ecx, edi jl SHORT G_M000_IG03 G_M000_IG04: jmp SHORT G_M000_IG06 G_M000_IG05: mov edx, bword ptr [ebp+08H] lea edx, bword ptr [edx+4*ecx] cmp ecx, dword ptr [eax+04H] jae SHORT G_M000_IG07 mov ebx, dword ptr [eax+4*ecx+08H] cmp ebx, dword ptr [esi+04H] jae SHORT G_M000_IG07 mov ebx, gword ptr [esi+4*ebx+08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EBX inc ecx cmp ecx, edi jl SHORT G_M000_IG05 G_M000_IG06: pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG07: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 142 339: 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=142] ; 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 340: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.EnumerableSorter`1[System.__Canon]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp+10H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] mov eax, dword ptr [ebp+0CH] mov byte ptr [edx+14H], al mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 12 ; Total bytes of code 78 341: JIT compiled System.Linq.EnumerableSorter`2[System.__Canon,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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 342: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 343: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 344: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 345: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 346: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 347: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 348: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 349: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 350: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 351: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 352: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 353: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 354: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 355: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 356: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 357: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 5 inlinees with PGO data; 2 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_IG36 jmp G_M000_IG38 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_IG32 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 G_M000_IG31 G_M000_IG29: 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_IG30 mov dword ptr [ebp-2CH], 1 G_M000_IG30: cmp edi, 100 jbe G_M000_IG35 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_IG35 G_M000_IG31: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax jmp G_M000_IG29 G_M000_IG32: cmp byte ptr [ebp+10H], 0 je SHORT G_M000_IG33 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_IG34 G_M000_IG33: 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_IG34: xor eax, eax mov dword ptr [ebp-38H], eax mov dword ptr [ebp-1CH], 0 mov dword ptr [ebp-18H], 252 push G_M000_IG37 jmp SHORT G_M000_IG38 G_M000_IG35: 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 G_M000_IG45 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_IG40 G_M000_IG36: mov dword ptr [ebp-18H], 0 jmp G_M000_IG10 G_M000_IG37: mov dword ptr [ebp-18H], 0 jmp SHORT G_M000_IG43 G_M000_IG38: cmp byte ptr [ebp-34H], 0 je SHORT G_M000_IG39 mov ecx, gword ptr [ebp-4CH] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ebp-28H], ecx jae SHORT G_M000_IG45 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_IG39: pop eax jmp eax G_M000_IG40: mov eax, dword ptr [ebp-2CH] mov ebx, dword ptr [ebp-30H] mov ecx, eax or ecx, ebx je SHORT G_M000_IG41 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_IG41: mov edx, bword ptr [ebp+08H] mov esi, gword ptr [ebp+14H] call CORINFO_HELP_CHECKED_ASSIGN_REF_ESI mov eax, 1 G_M000_IG42: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 28 G_M000_IG43: mov eax, dword ptr [ebp-38H] G_M000_IG44: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 28 G_M000_IG45: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 919 358: 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=919] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:b__13_0(BenchmarkDotNet.Characteristics.Characteristic):bool:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 359: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 360: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 361: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 362: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 363: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 364: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 365: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject+<>c:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 366: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Jobs.AccuracyMode:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 367: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 368: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 369: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 370: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 371: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 372: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 373: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 374: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 375: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 376: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 377: JIT compiled BenchmarkDotNet.Jobs.InfrastructureMode:.cctor() [Tier0, IL size=121, code size=304] ; Assembly listing for method BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitToolchain:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 378: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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, 462 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 379: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 380: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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.InProcessEmitGenerator:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitBuilder:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 382: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 383: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 384: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 385: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 386: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 387: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 388: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 389: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 390: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 391: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 392: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 393: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 394: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 395: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 396: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 397: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 398: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 300 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx push dword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 62 399: JIT compiled BenchmarkDotNet.Jobs.RunMode:set_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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 400: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 401: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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_WarmupCount(int) [Tier0, IL size=13, code size=62] ; Assembly listing for method BenchmarkDotNet.Jobs.RunMode:set_IterationCount(int):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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_IterationCount(int) [Tier0, IL size=13, code size=62] ; Assembly listing for method BenchmarkDotNet.Jobs.RunMode:set_RunStrategy(int):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 300 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx push dword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 62 404: JIT compiled BenchmarkDotNet.Jobs.RunMode:set_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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 405: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 406: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 407: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 408: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 409: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 410: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 411: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 3 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx 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 412: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 413: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 414: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 415: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 416: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 417: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 418: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 419: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 420: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 421: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 422: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:.cctor() [Tier0, IL size=41, code size=164] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DefaultPresenter:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 423: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DefaultPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 424: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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+DisplayPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+FolderPresenter:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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+FolderPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+SourceCodePresenter:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 427: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 428: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 429: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 430: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 431: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 432: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 433: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 434: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 435: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 436: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 437: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 438: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 439: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 440: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 441: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter:.cctor() [Tier0, IL size=11, code size=35] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicPresenter:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 442: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicPresenter:.cctor() [Tier0, IL size=41, code size=164] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicPresenter:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 443: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicPresenter:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 444: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicPresenter+FolderCharacteristicPresenter:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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+FolderCharacteristicPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicPresenter+SourceCodeCharacteristicPresenter:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 446: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 447: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 448: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 449: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 450: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 451: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 452: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:ToPresentation(System.Object) [Tier0, IL size=50, code size=162] ; Assembly listing for method BenchmarkDotNet.Helpers.DefaultCultureInfo:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 453: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 454: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 455: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 456: JIT compiled Perfolizer.Horology.TimeInterval:ToString() [Tier0, IL size=18, code size=61] ; Assembly listing for method Perfolizer.Common.DefaultCultureInfo:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 457: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 458: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 459: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 460: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 461: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 3 inlinees with PGO data; 6 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 462: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 463: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 464: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 465: JIT compiled Perfolizer.Horology.TimeUnit:get_NanosecondAmount() [Tier0, IL size=7, code size=38] ; Assembly listing for method Perfolizer.Common.UnitPresentation:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 466: JIT compiled Perfolizer.Common.UnitPresentation:.cctor() [Tier0, IL size=25, code size=99] ; Assembly listing for method Perfolizer.Common.UnitPresentation:.ctor(bool,int):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 467: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 468: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 469: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 470: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 471: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 472: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 473: 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) (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 29 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, 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_IG27 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_IG23 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_IG17 jmp G_M000_IG22 G_M000_IG08: mov eax, gword ptr [edi+04H] mov gword ptr [ebp-20H], eax mov ebx, gword ptr [edi+18H] test ebx, ebx je SHORT G_M000_IG16 G_M000_IG09: lea eax, bword ptr [ebx+08H] mov ebx, dword ptr [ebx+04H] G_M000_IG10: mov bword ptr [ebp-24H], eax mov dword ptr [ebp-14H], ebx mov eax, gword ptr [edi+1CH] test eax, eax je SHORT G_M000_IG13 G_M000_IG11: lea ebx, bword ptr [eax+08H] mov eax, dword ptr [eax+04H] G_M000_IG12: push dword ptr [ebp+0CH] push gword ptr [ebp-20H] push dword ptr [ebp-14H] push bword ptr [ebp-24H] push eax push ebx 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_IG14 G_M000_IG13: xor eax, eax xor ebx, ebx mov ecx, eax mov eax, ebx mov ebx, ecx jmp SHORT G_M000_IG12 G_M000_IG14: mov ecx, dword ptr [ebp-10H] inc ecx mov ebx, gword ptr [ebp-1CH] cmp dword ptr [ebx+04H], ecx mov edx, ebx jg SHORT G_M000_IG06 G_M000_IG15: jmp SHORT G_M000_IG23 G_M000_IG16: xor ebx, ebx mov bword ptr [ebp-28H], ebx xor ebx, ebx mov eax, bword ptr [ebp-28H] jmp SHORT G_M000_IG10 G_M000_IG17: mov eax, gword ptr [edi+14H] test eax, eax je SHORT G_M000_IG24 G_M000_IG18: lea ebx, bword ptr [eax+08H] mov eax, dword ptr [eax+04H] G_M000_IG19: mov bword ptr [ebp-30H], ebx mov edx, dword ptr [esi+04H] mov ebx, bword ptr [esi+08H] mov bword ptr [ebp-2CH], ebx mov ebx, dword ptr [esi+0CH] cmp eax, 1 jne SHORT G_M000_IG21 G_M000_IG20: cmp edx, ebx jae SHORT G_M000_IG21 mov ebx, bword ptr [ebp-30H] movzx eax, word ptr [ebx] 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_IG14 G_M000_IG21: push eax 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_IG14 G_M000_IG22: 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_IG25 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_IG14 G_M000_IG23: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG24: xor eax, eax xor ebx, ebx mov ecx, eax mov eax, ebx mov ebx, ecx jmp SHORT G_M000_IG19 G_M000_IG25: mov ecx, esi mov edx, eax call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] jmp G_M000_IG14 G_M000_IG26: call CORINFO_HELP_OVERFLOW G_M000_IG27: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 347 474: 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]) (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 17 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, 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 [ebp+0CH] mov dword ptr [ebp-5CH], eax mov ecx, dword ptr [edx+04H] mov bword ptr [ebp-68H], edx mov edx, bword ptr [edx+0CH] mov dword ptr [ebp-14H], edx test ecx, ecx jle G_M000_IG34 G_M000_IG03: mov gword ptr [ebp+18H], ebx test ebx, ebx je G_M000_IG27 xor ebx, ebx mov dword ptr [ebp-18H], ecx xor edi, edi mov dword ptr [ebp-1CH], edi mov edi, gword ptr [ebp+18H] mov edi, dword ptr [edi+04H] mov dword ptr [ebp-64H], edi test edi, edi je SHORT G_M000_IG08 mov edi, gword ptr [ebp+18H] mov edi, dword ptr [edi+08H] mov dword ptr [ebp-60H], edi mov dword ptr [ebp-28H], edi cmp dword ptr [ebp-18H], edi jle SHORT G_M000_IG07 align [0 bytes for IG04] G_M000_IG04: cmp ebx, dword ptr [ebp-64H] jae G_M000_IG60 mov edi, gword ptr [ebp+18H] mov edi, dword ptr [edi+4*ebx+08H] test edi, edi je SHORT G_M000_IG07 mov edi, eax add edi, dword ptr [ebp-18H] mov dword ptr [ebp-18H], edi mov edi, dword ptr [ebp-64H] dec edi cmp edi, ebx jle SHORT G_M000_IG06 G_M000_IG05: inc ebx G_M000_IG06: cmp ebx, dword ptr [ebp-64H] jae G_M000_IG60 mov edi, gword ptr [ebp+18H] mov edx, dword ptr [ebp-28H] add edx, dword ptr [edi+4*ebx+08H] mov edi, edx or edi, dword ptr [ebp-18H] jl G_M000_IG54 cmp ecx, edx mov dword ptr [ebp-28H], edx jg SHORT G_M000_IG04 G_M000_IG07: xor edi, edi cmp dword ptr [ebp-28H], 0 cmovne edi, dword ptr [ebp-60H] mov dword ptr [ebp-1CH], edi G_M000_IG08: xor ebx, ebx xor edi, edi mov dword ptr [ebp-20H], edi mov edi, bword ptr [ebp-68H] mov edi, dword ptr [edi] cmp ecx, edi cmovl edi, ecx mov dword ptr [ebp-24H], edi mov edi, dword ptr [esi+04H] mov dword ptr [ebp-48H], edi mov edi, bword ptr [esi+08H] mov bword ptr [ebp-6CH], edi mov edi, dword ptr [esi+0CH] mov dword ptr [ebp-50H], edi xor edi, edi mov dword ptr [ebp-8CH], edi mov edi, dword ptr [ebp-18H] add edi, dword ptr [ebp-48H] mov dword ptr [ebp-90H], edi mov edi, dword ptr [ebp-8CH] adc edi, 0 mov dword ptr [ebp-8CH], edi xor edi, edi mov dword ptr [ebp-94H], edi mov edi, dword ptr [ebp-90H] cmp dword ptr [ebp-50H], edi mov edi, dword ptr [ebp-94H] sbb edi, dword ptr [ebp-8CH] jb G_M000_IG55 mov edx, dword ptr [ebp-18H] mov edi, edx add edi, dword ptr [ebp-48H] mov dword ptr [esi+04H], edi mov edi, dword ptr [ebp-48H] cmp edi, dword ptr [ebp-50H] ja G_M000_IG54 G_M000_IG09: mov edi, dword ptr [ebp-50H] sub edi, dword ptr [ebp-48H] mov dword ptr [ebp-18H], edx cmp edi, edx jb G_M000_IG54 G_M000_IG10: mov edi, bword ptr [ebp-6CH] mov edx, dword ptr [ebp-48H] lea edx, bword ptr [edi+2*edx] mov bword ptr [ebp-70H], edx mov edi, dword ptr [ebp-18H] mov dword ptr [ebp-54H], edi mov edx, bword ptr [ebp-70H] mov bword ptr [ebp-44H], edx mov edx, dword ptr [ebp-54H] mov dword ptr [ebp-40H], edx G_M000_IG11: mov edx, bword ptr [ebp-44H] mov bword ptr [ebp-2CH], edx lea edx, [edx+2*edi-02H] mov dword ptr [ebp-10H], ecx lea edi, [ecx-01H] test edi, edi jl G_M000_IG21 G_M000_IG12: lea ecx, [edx-02H] cmp edi, dword ptr [ebp-24H] jl SHORT G_M000_IG14 G_M000_IG13: mov dword ptr [ebp-3CH], edx mov edx, 48 mov dword ptr [ebp-30H], edi jmp SHORT G_M000_IG15 align [0 bytes for IG17] G_M000_IG14: mov dword ptr [ebp-3CH], edx mov edx, dword ptr [ebp-14H] mov dword ptr [ebp-30H], edi movzx edx, byte ptr [edx+edi] G_M000_IG15: mov edi, dword ptr [ebp-3CH] mov word ptr [edi], dx mov edi, dword ptr [ebp-1CH] test edi, edi jle SHORT G_M000_IG20 G_M000_IG16: mov edx, dword ptr [ebp-20H] inc edx mov dword ptr [ebp-20H], edx mov dword ptr [ebp-1CH], edi cmp edx, edi jne G_M000_IG26 cmp dword ptr [ebp-30H], 0 je SHORT G_M000_IG25 lea edi, [eax-01H] test edi, edi jl SHORT G_M000_IG24 G_M000_IG17: lea edx, [ecx-02H] 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 jns SHORT G_M000_IG23 G_M000_IG18: mov edi, dword ptr [ebp-64H] lea ecx, [edi-01H] cmp ecx, ebx jle SHORT G_M000_IG19 inc ebx cmp ebx, edi jae G_M000_IG60 mov eax, gword ptr [ebp+18H] mov ecx, dword ptr [eax+4*ebx+08H] mov dword ptr [ebp-1CH], ecx G_M000_IG19: xor eax, eax mov dword ptr [ebp-20H], eax mov ecx, edx mov eax, dword ptr [ebp-5CH] mov edi, dword ptr [ebp-1CH] G_M000_IG20: mov edx, dword ptr [ebp-30H] dec edx mov dword ptr [ebp-1CH], edi jns SHORT G_M000_IG22 G_M000_IG21: mov edi, dword ptr [ebp-14H] add edi, dword ptr [ebp-24H] xor ecx, ecx mov bword ptr [ebp-2CH], ecx jmp G_M000_IG35 G_M000_IG22: mov edi, edx mov edx, ecx jmp G_M000_IG12 G_M000_IG23: mov ecx, edx mov eax, dword ptr [ebp-5CH] jmp SHORT G_M000_IG17 G_M000_IG24: mov edx, ecx jmp SHORT G_M000_IG18 G_M000_IG25: mov edi, dword ptr [ebp-1CH] jmp SHORT G_M000_IG20 G_M000_IG26: mov edi, dword ptr [ebp-1CH] jmp SHORT G_M000_IG20 G_M000_IG27: mov edx, dword ptr [ebp-14H] cmp byte ptr [edx], 0 jne SHORT G_M000_IG29 G_M000_IG28: mov eax, 48 jmp SHORT G_M000_IG30 G_M000_IG29: mov eax, edx lea edx, [eax+01H] movzx eax, byte ptr [eax] G_M000_IG30: movzx eax, ax mov dword ptr [ebp-4CH], eax mov ebx, dword ptr [esi+04H] mov eax, bword ptr [esi+08H] mov bword ptr [ebp-74H], eax mov eax, dword ptr [esi+0CH] cmp ebx, eax jae G_M000_IG56 G_M000_IG31: mov eax, bword ptr [ebp-74H] mov edi, dword ptr [ebp-4CH] mov word ptr [eax+2*ebx], di inc ebx mov dword ptr [esi+04H], ebx G_M000_IG32: dec ecx mov ebx, ecx mov dword ptr [ebp-10H], ebx test ebx, ebx mov dword ptr [ebp-14H], edx mov ecx, dword ptr [ebp-10H] jg SHORT G_M000_IG27 G_M000_IG33: mov dword ptr [ebp-10H], ecx mov edi, dword ptr [ebp-14H] jmp SHORT G_M000_IG35 G_M000_IG34: mov eax, dword ptr [esi+04H] mov ebx, bword ptr [esi+08H] mov bword ptr [ebp-78H], ebx mov ebx, dword ptr [esi+0CH] cmp eax, ebx jae G_M000_IG57 mov ebx, bword ptr [ebp-78H] mov word ptr [ebx+2*eax], 48 inc eax mov dword ptr [esi+04H], eax mov dword ptr [ebp-10H], ecx mov edi, dword ptr [ebp-14H] G_M000_IG35: cmp dword ptr [ebp+1CH], 0 jle G_M000_IG53 G_M000_IG36: mov eax, bword ptr [ebp+10H] mov bword ptr [ebp-80H], eax mov edx, dword ptr [ebp+14H] mov dword ptr [ebp-58H], edx mov eax, dword ptr [esi+04H] mov edx, bword ptr [esi+08H] mov bword ptr [ebp-7CH], edx mov edx, dword ptr [esi+0CH] cmp dword ptr [ebp-58H], 1 jne SHORT G_M000_IG38 G_M000_IG37: cmp eax, edx jae SHORT G_M000_IG38 mov edx, bword ptr [ebp-80H] movzx edx, word ptr [edx] mov ebx, bword ptr [ebp-7CH] mov word ptr [ebx+2*eax], dx inc eax mov dword ptr [esi+04H], eax jmp SHORT G_M000_IG39 G_M000_IG38: push dword ptr [ebp-58H] push bword ptr [ebp-80H] mov ecx, esi call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] G_M000_IG39: mov ecx, dword ptr [ebp-10H] test ecx, ecx jge SHORT G_M000_IG44 mov eax, ecx neg eax mov ebx, dword ptr [ebp+1CH] cmp eax, ebx cmovg eax, ebx mov dword ptr [ebp-34H], eax xor edx, edx test eax, eax jle SHORT G_M000_IG48 G_M000_IG40: 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 G_M000_IG58 G_M000_IG41: mov eax, bword ptr [ebp-84H] mov word ptr [eax+2*ecx], 48 inc ecx mov dword ptr [esi+04H], ecx G_M000_IG42: inc edx mov eax, dword ptr [ebp-34H] cmp edx, eax jl SHORT G_M000_IG47 G_M000_IG43: sub ebx, eax mov dword ptr [ebp+1CH], ebx G_M000_IG44: mov ebx, dword ptr [ebp+1CH] test ebx, ebx jle SHORT G_M000_IG53 G_M000_IG45: cmp byte ptr [edi], 0 jne SHORT G_M000_IG49 G_M000_IG46: mov eax, 48 jmp SHORT G_M000_IG50 G_M000_IG47: jmp SHORT G_M000_IG40 G_M000_IG48: mov eax, dword ptr [ebp-34H] jmp SHORT G_M000_IG43 G_M000_IG49: mov eax, edi lea edi, [eax+01H] movzx eax, byte ptr [eax] G_M000_IG50: movzx edx, ax mov eax, dword ptr [esi+04H] mov ecx, bword ptr [esi+08H] mov bword ptr [ebp-88H], ecx mov ecx, dword ptr [esi+0CH] cmp eax, ecx jae G_M000_IG59 G_M000_IG51: mov ecx, bword ptr [ebp-88H] mov word ptr [ecx+2*eax], dx inc eax mov dword ptr [esi+04H], eax G_M000_IG52: dec ebx test ebx, ebx jg SHORT G_M000_IG45 G_M000_IG53: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 24 G_M000_IG54: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG55: mov dword ptr [ebp-10H], ecx mov edi, dword ptr [ebp-18H] push edi lea edx, [ebp-44H] mov ecx, esi call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendSpanWithGrow(int):System.Span`1[ushort]:this] mov eax, dword ptr [ebp-5CH] mov ecx, dword ptr [ebp-10H] jmp G_M000_IG11 G_M000_IG56: mov dword ptr [ebp-10H], ecx mov dword ptr [ebp-14H], edx mov ecx, esi mov edx, dword ptr [ebp-4CH] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov ecx, dword ptr [ebp-10H] mov edx, dword ptr [ebp-14H] jmp G_M000_IG32 G_M000_IG57: mov dword ptr [ebp-10H], ecx mov ecx, esi mov edx, 48 call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov edi, dword ptr [ebp-14H] jmp G_M000_IG35 G_M000_IG58: mov dword ptr [ebp-38H], edx mov ecx, esi mov edx, 48 call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov edx, dword ptr [ebp-38H] jmp G_M000_IG42 G_M000_IG59: mov ecx, esi call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] jmp G_M000_IG52 G_M000_IG60: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 1093 475: 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=1093] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 476: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 477: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+1CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 478: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_FallbackValue() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Jobs.Job:get_ResolvedId():System.String:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov edx, gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax jne SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Jobs.JobIdGenerator:GenerateRandomId(BenchmarkDotNet.Jobs.Job):System.String] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:get_Id():System.String:this] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 52 479: JIT compiled BenchmarkDotNet.Jobs.Job:get_ResolvedId() [Tier0, IL size=27, code size=52] ; Assembly listing for method BenchmarkDotNet.Jobs.JobIdGenerator:GenerateRandomId(BenchmarkDotNet.Jobs.Job):System.String (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 8 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 8 mov 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 jne G_M000_IG08 G_M000_IG03: cmp byte ptr [ebx], bl test byte ptr [D1FFAB1EH], 1 je G_M000_IG11 G_M000_IG04: 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_IG05: 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_IG05 G_M000_IG06: mov edx, esi mov ecx, 0xD1FFAB1E call [System.String:Concat(System.String,System.String):System.String] G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG08: cmp dword ptr [ebx+04H], 0 jne G_M000_IG03 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, 369 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M000_IG04 ; Total bytes of code 232 480: JIT compiled BenchmarkDotNet.Jobs.JobIdGenerator:GenerateRandomId(BenchmarkDotNet.Jobs.Job) [Tier-0 switched to FullOpts, IL size=101, code size=232] ; Assembly listing for method BenchmarkDotNet.Validators.ValidationErrorReporter:ReportIfAny(System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Validators.ValidationError],BenchmarkDotNet.Engines.IHost):bool (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi push ebx sub esp, 24 xor eax, eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov esi, edx G_M000_IG02: xor ebx, ebx call [System.Collections.Generic.IEnumerable`1[System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this] mov ecx, eax mov gword ptr [ebp-20H], ecx G_M000_IG03: call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG05 G_M000_IG04: mov ecx, gword ptr [ebp-20H] call [System.Collections.Generic.IEnumerator`1[System.__Canon]:get_Current():System.__Canon:this] mov edx, gword ptr [eax+04H] mov ecx, esi call [BenchmarkDotNet.Engines.IHost:SendError(System.String):this] mov ebx, 1 mov ecx, gword ptr [ebp-20H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG04 G_M000_IG05: mov ecx, gword ptr [ebp-20H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG08 G_M000_IG06: cmp gword ptr [ebp-20H], 0 je SHORT G_M000_IG07 mov ecx, gword ptr [ebp-20H] call [System.IDisposable:Dispose():this] G_M000_IG07: pop eax jmp eax G_M000_IG08: mov eax, ebx G_M000_IG09: lea esp, [ebp-08H] pop ebx pop esi pop ebp ret ; Total bytes of code 123 481: JIT compiled BenchmarkDotNet.Validators.ValidationErrorReporter:ReportIfAny(System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Validators.ValidationError],BenchmarkDotNet.Engines.IHost) [Tier-0 switched to FullOpts, IL size=54, code size=123] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__55:System.Collections.Generic.IEnumerable.GetEnumerator():System.Collections.Generic.IEnumerator`1[BenchmarkDotNet.Validators.ValidationError]:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] cmp dword ptr [eax+10H], -2 jne SHORT G_M000_IG03 mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+14H] mov dword ptr [ebp-10H], eax call System.Environment:get_CurrentManagedThreadId():int cmp eax, dword ptr [ebp-10H] jne SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] xor eax, eax mov dword ptr [ecx+10H], eax mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-08H], ecx jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] xor edx, edx call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__55:.ctor(int):this] mov edx, gword ptr [ebp-0CH] mov gword ptr [ebp-08H], edx G_M000_IG04: mov edx, gword ptr [ebp-04H] mov eax, gword ptr [edx+0CH] mov edx, gword ptr [ebp-08H] lea edx, bword ptr [edx+08H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-08H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 115 482: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__55:System.Collections.Generic.IEnumerable.GetEnumerator() [Tier0, IL size=55, code size=115] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__55:MoveNext():bool:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 44 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-2CH], xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+10H] mov dword ptr [ebp-08H], eax cmp dword ptr [ebp-08H], 2 ja SHORT G_M000_IG03 mov ecx, dword ptr [ebp-08H] lea eax, [@RWD00] mov eax, dword ptr [eax+4*ecx] lea edx, G_M000_IG02 add eax, edx jmp eax G_M000_IG03: xor eax, eax G_M000_IG04: mov esp, ebp pop ebp ret G_M000_IG05: mov ecx, gword ptr [ebp-04H] mov dword ptr [ecx+10H], -1 mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.Job:get_Environment():BenchmarkDotNet.Jobs.EnvironmentMode:this] mov ecx, eax cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.EnvironmentMode:get_Jit():int:this] cmp eax, 2 jne SHORT G_M000_IG08 call [BenchmarkDotNet.Portability.RuntimeInformation:HasRyuJit():bool] test eax, eax jne SHORT G_M000_IG08 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-2CH], eax push 0xD1FFAB1E push 0 mov ecx, gword ptr [ebp-2CH] mov edx, 1 call [BenchmarkDotNet.Validators.ValidationError:.ctor(bool,System.String,BenchmarkDotNet.Running.BenchmarkCase):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-2CH] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov dword ptr [eax+10H], 1 mov eax, 1 G_M000_IG06: mov esp, ebp pop ebp ret G_M000_IG07: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+10H], -1 G_M000_IG08: call [BenchmarkDotNet.Portability.RuntimeInformation:GetCurrentRuntime():BenchmarkDotNet.Environments.Runtime] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.Job:get_Environment():BenchmarkDotNet.Jobs.EnvironmentMode:this] mov ecx, eax cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.EnvironmentMode:get_Jit():int:this] cmp eax, 1 jne G_M000_IG11 mov edx, gword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax jne G_M000_IG11 push 1 lea ecx, [ebp-24H] mov edx, 51 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] lea ecx, [ebp-24H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] push 0xD1FFAB1E lea ecx, [ebp-24H] mov edx, gword ptr [ebp-0CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-28H], eax lea ecx, [ebp-24H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] push eax push 0 mov ecx, gword ptr [ebp-28H] mov edx, 1 call [BenchmarkDotNet.Validators.ValidationError:.ctor(bool,System.String,BenchmarkDotNet.Running.BenchmarkCase):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-28H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov dword ptr [eax+10H], 2 mov eax, 1 G_M000_IG09: mov esp, ebp pop ebp ret G_M000_IG10: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+10H], -1 G_M000_IG11: xor eax, eax G_M000_IG12: mov esp, ebp pop ebp ret RWD00 dd G_M000_IG05 - G_M000_IG02 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG10 - G_M000_IG02 ; Total bytes of code 399 483: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__55:MoveNext() [Tier0, IL size=195, code size=399] ; Assembly listing for method BenchmarkDotNet.Jobs.Job:get_Environment():BenchmarkDotNet.Jobs.EnvironmentMode:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [D1FFAB1EH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):System.__Canon:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 484: JIT compiled BenchmarkDotNet.Jobs.Job:get_Environment() [Tier0, IL size=12, code size=28] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):System.__Canon:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-10H], ecx mov ecx, dword ptr [ebp-10H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-10H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-10H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-0CH], eax G_M000_IG05: push dword ptr [ebp-0CH] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]):System.__Canon:this] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 87 485: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=8, code size=87] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]):System.__Canon:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-10H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue(BenchmarkDotNet.Characteristics.Characteristic):System.Object:this] mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-10H] mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call [CORINFO_HELP_CHKCASTANY] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 61 486: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]) [Tier0, IL size=13, code size=61] ; Assembly listing for method BenchmarkDotNet.Jobs.EnvironmentMode:get_Jit():int:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [D1FFAB1EH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):int:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 487: JIT compiled BenchmarkDotNet.Jobs.EnvironmentMode:get_Jit() [Tier0, IL size=12, code size=28] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):int:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int]):int:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 488: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=8, code size=30] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int]):int:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue(BenchmarkDotNet.Characteristics.Characteristic):System.Object:this] mov gword ptr [ebp-0CH], eax mov edx, gword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] mov eax, dword ptr [eax] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 52 489: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int]) [Tier0, IL size=13, code size=52] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int]:this] test eax, eax jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this] mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-14H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] mov eax, dword ptr [eax] mov ecx, gword ptr [ebp-10H] mov dword ptr [ecx+04H], eax mov eax, gword ptr [ebp-10H] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int]:this] mov gword ptr [ebp-0CH], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this] mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] push dword ptr [eax] mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-0CH] call [eax+0CH]System.Func`3[System.__Canon,int,int]:Invoke(System.__Canon,int):int:this mov edx, gword ptr [ebp-10H] mov dword ptr [edx+04H], eax mov eax, gword ptr [ebp-10H] G_M000_IG05: mov esp, ebp pop ebp ret 4 ; Total bytes of code 190 490: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object) [Tier0, IL size=58, code size=190] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int]:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 491: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Resolver() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:GetCurrentRuntime():BenchmarkDotNet.Environments.Runtime (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax G_M000_IG02: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsAot():bool] test eax, eax je SHORT G_M000_IG03 call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsMono():bool] test eax, eax je SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E mov edx, 394 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-08H], eax jmp G_M000_IG10 G_M000_IG03: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsWasm():bool] test eax, eax je SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E mov edx, 398 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-08H], eax jmp G_M000_IG10 G_M000_IG04: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsNewMono():bool] test eax, eax je SHORT G_M000_IG05 call [BenchmarkDotNet.Environments.MonoRuntime:GetCurrentVersion():BenchmarkDotNet.Environments.Runtime] mov gword ptr [ebp-08H], eax jmp G_M000_IG10 G_M000_IG05: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsOldMono():bool] test eax, eax je SHORT G_M000_IG06 mov ecx, 0xD1FFAB1E mov edx, 395 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-08H], eax jmp SHORT G_M000_IG10 G_M000_IG06: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsFullFramework():bool] test eax, eax je SHORT G_M000_IG07 call [BenchmarkDotNet.Environments.ClrRuntime:GetCurrentVersion():BenchmarkDotNet.Environments.ClrRuntime] mov gword ptr [ebp-08H], eax jmp SHORT G_M000_IG10 G_M000_IG07: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsNetCore():bool] test eax, eax je SHORT G_M000_IG08 call [BenchmarkDotNet.Environments.CoreRuntime:GetCurrentVersion():BenchmarkDotNet.Environments.CoreRuntime] mov gword ptr [ebp-08H], eax jmp SHORT G_M000_IG10 G_M000_IG08: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsNativeAOT():bool] test eax, eax je SHORT G_M000_IG09 call [BenchmarkDotNet.Environments.NativeAotRuntime:GetCurrentVersion():BenchmarkDotNet.Environments.NativeAotRuntime] mov gword ptr [ebp-08H], eax jmp SHORT G_M000_IG10 G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, 0x9148 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-0CH], eax mov edx, gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-04H] call [System.NotSupportedException:.ctor(System.String):this] mov ecx, gword ptr [ebp-04H] call CORINFO_HELP_THROW G_M000_IG10: mov eax, gword ptr [ebp-08H] G_M000_IG11: mov esp, ebp pop ebp ret ; Total bytes of code 283 492: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:GetCurrentRuntime() [Tier0, IL size=109, code size=283] ; Assembly listing for method BenchmarkDotNet.Environments.CoreRuntime:GetCurrentVersion():BenchmarkDotNet.Environments.CoreRuntime (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-14H], xmm4 xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsNetCore():bool] test eax, eax jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, 0xF2F7 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-10H] mov ecx, gword ptr [ebp-0CH] call [System.NotSupportedException:.ctor(System.String):this] mov ecx, gword ptr [ebp-0CH] call CORINFO_HELP_THROW G_M000_IG04: lea ecx, [ebp-04H] call [BenchmarkDotNet.Environments.CoreRuntime:TryGetVersion(byref):bool] test eax, eax jne SHORT G_M000_IG06 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, 0xF3C6 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-14H] mov ecx, gword ptr [ebp-08H] call [System.NotSupportedException:.ctor(System.String):this] mov ecx, gword ptr [ebp-08H] call CORINFO_HELP_THROW G_M000_IG06: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.CoreRuntime:FromVersion(System.Version):BenchmarkDotNet.Environments.CoreRuntime] G_M000_IG07: mov esp, ebp pop ebp ret ; Total bytes of code 158 493: JIT compiled BenchmarkDotNet.Environments.CoreRuntime:GetCurrentVersion() [Tier0, IL size=45, code size=158] ; Assembly listing for method BenchmarkDotNet.Environments.CoreRuntime:FromVersion(System.Version):BenchmarkDotNet.Environments.CoreRuntime (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 88 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-58H], xmm4 vmovdqu xmmword ptr [ebp-48H], xmm4 vmovdqu xmmword ptr [ebp-38H], xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 vmovdqu xmmword ptr [ebp-18H], xmm4 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-08H], ecx cmp gword ptr [ebp-08H], 0 je G_M000_IG10 mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Version:get_Major():int:this] cmp eax, 2 jne SHORT G_M000_IG03 mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Version:get_Minor():int:this] test eax, eax jne SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E mov edx, 393 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-44H], ecx jmp G_M000_IG11 G_M000_IG03: mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-0CH] cmp dword ptr [ecx], ecx call [System.Version:get_Major():int:this] cmp eax, 2 jne SHORT G_M000_IG04 mov ecx, gword ptr [ebp-0CH] cmp dword ptr [ecx], ecx call [System.Version:get_Minor():int:this] cmp eax, 1 jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E mov edx, 393 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-44H], ecx jmp G_M000_IG11 G_M000_IG04: mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-10H] cmp dword ptr [ecx], ecx call [System.Version:get_Major():int:this] cmp eax, 2 jne SHORT G_M000_IG05 mov ecx, gword ptr [ebp-10H] cmp dword ptr [ecx], ecx call [System.Version:get_Minor():int:this] cmp eax, 2 jne SHORT G_M000_IG05 mov ecx, 0xD1FFAB1E mov edx, 393 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-44H], ecx jmp G_M000_IG11 G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-14H], ecx mov ecx, gword ptr [ebp-14H] cmp dword ptr [ecx], ecx call [System.Version:get_Major():int:this] cmp eax, 3 jne SHORT G_M000_IG06 mov ecx, gword ptr [ebp-14H] cmp dword ptr [ecx], ecx call [System.Version:get_Minor():int:this] test eax, eax jne SHORT G_M000_IG06 mov ecx, 0xD1FFAB1E mov edx, 393 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-44H], ecx jmp G_M000_IG11 G_M000_IG06: mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-18H], ecx mov ecx, gword ptr [ebp-18H] cmp dword ptr [ecx], ecx call [System.Version:get_Major():int:this] cmp eax, 3 jne SHORT G_M000_IG07 mov ecx, gword ptr [ebp-18H] cmp dword ptr [ecx], ecx call [System.Version:get_Minor():int:this] cmp eax, 1 jne SHORT G_M000_IG07 mov ecx, 0xD1FFAB1E mov edx, 393 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-44H], ecx jmp G_M000_IG11 G_M000_IG07: mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ebp-1CH] cmp dword ptr [ecx], ecx call [System.Version:get_Major():int:this] cmp eax, 5 jne SHORT G_M000_IG08 mov ecx, gword ptr [ebp-1CH] cmp dword ptr [ecx], ecx call [System.Version:get_Minor():int:this] test eax, eax jne SHORT G_M000_IG08 mov ecx, 0xD1FFAB1E mov edx, 393 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] call [BenchmarkDotNet.Environments.CoreRuntime:GetPlatformSpecific(BenchmarkDotNet.Environments.CoreRuntime):BenchmarkDotNet.Environments.CoreRuntime] mov gword ptr [ebp-44H], eax jmp G_M000_IG11 G_M000_IG08: mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-20H], ecx mov ecx, gword ptr [ebp-20H] cmp dword ptr [ecx], ecx call [System.Version:get_Major():int:this] cmp eax, 6 jne SHORT G_M000_IG09 mov ecx, gword ptr [ebp-20H] cmp dword ptr [ecx], ecx call [System.Version:get_Minor():int:this] test eax, eax jne SHORT G_M000_IG09 mov ecx, 0xD1FFAB1E mov edx, 393 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] call [BenchmarkDotNet.Environments.CoreRuntime:GetPlatformSpecific(BenchmarkDotNet.Environments.CoreRuntime):BenchmarkDotNet.Environments.CoreRuntime] mov gword ptr [ebp-44H], eax jmp G_M000_IG11 G_M000_IG09: mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-24H], ecx mov ecx, gword ptr [ebp-24H] cmp dword ptr [ecx], ecx call [System.Version:get_Major():int:this] cmp eax, 7 jne SHORT G_M000_IG10 mov ecx, gword ptr [ebp-24H] cmp dword ptr [ecx], ecx call [System.Version:get_Minor():int:this] test eax, eax jne SHORT G_M000_IG10 mov ecx, 0xD1FFAB1E mov edx, 393 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] call [BenchmarkDotNet.Environments.CoreRuntime:GetPlatformSpecific(BenchmarkDotNet.Environments.CoreRuntime):BenchmarkDotNet.Environments.CoreRuntime] mov gword ptr [ebp-44H], eax jmp G_M000_IG11 G_M000_IG10: push 2 lea ecx, [ebp-3CH] mov edx, 4 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] lea ecx, [ebp-3CH] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [System.Version:get_Major():int:this] mov dword ptr [ebp-48H], eax mov edx, dword ptr [ebp-48H] lea ecx, [ebp-3CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this] lea ecx, [ebp-3CH] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [System.Version:get_Minor():int:this] mov dword ptr [ebp-4CH], eax mov edx, dword ptr [ebp-4CH] lea ecx, [ebp-3CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this] lea ecx, [ebp-3CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] mov gword ptr [ebp-40H], eax push 2 lea ecx, [ebp-3CH] mov edx, 6 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] lea ecx, [ebp-3CH] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [System.Version:get_Major():int:this] mov dword ptr [ebp-50H], eax mov edx, dword ptr [ebp-50H] lea ecx, [ebp-3CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this] lea ecx, [ebp-3CH] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this] mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [System.Version:get_Minor():int:this] mov dword ptr [ebp-54H], eax mov edx, dword ptr [ebp-54H] lea ecx, [ebp-3CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this] lea ecx, [ebp-3CH] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] mov gword ptr [ebp-58H], eax mov edx, gword ptr [ebp-58H] mov ecx, gword ptr [ebp-40H] call [BenchmarkDotNet.Environments.CoreRuntime:CreateForNewVersion(System.String,System.String):BenchmarkDotNet.Environments.CoreRuntime] mov gword ptr [ebp-44H], eax G_M000_IG11: mov eax, gword ptr [ebp-44H] G_M000_IG12: mov esp, ebp pop ebp ret ; Total bytes of code 840 494: JIT compiled BenchmarkDotNet.Environments.CoreRuntime:FromVersion(System.Version) [Tier0, IL size=374, code size=840] ; Assembly listing for method BenchmarkDotNet.Environments.CoreRuntime:CreateForNewVersion(System.String,System.String):BenchmarkDotNet.Environments.CoreRuntime (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-1CH], xmm4 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.String:IsNullOrEmpty(System.String):bool] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, 0xF2D9 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-14H] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-14H] call CORINFO_HELP_THROW G_M000_IG04: mov ecx, gword ptr [ebp-08H] call [System.String:IsNullOrEmpty(System.String):bool] test eax, eax je SHORT G_M000_IG06 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, 0x9228 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-1CH], eax mov edx, gword ptr [ebp-1CH] mov ecx, gword ptr [ebp-10H] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-10H] call CORINFO_HELP_THROW G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax push gword ptr [ebp-04H] push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, 1 call [BenchmarkDotNet.Environments.CoreRuntime:.ctor(int,System.String,System.String):this] mov eax, gword ptr [ebp-0CH] G_M000_IG07: mov esp, ebp pop ebp ret ; Total bytes of code 194 495: JIT compiled BenchmarkDotNet.Environments.CoreRuntime:CreateForNewVersion(System.String,System.String) [Tier0, IL size=47, code size=194] ; Assembly listing for method BenchmarkDotNet.Environments.CoreRuntime:.ctor(int,System.String,System.String):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: push gword ptr [ebp+0CH] push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] call [BenchmarkDotNet.Environments.Runtime:.ctor(int,System.String,System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 36 496: JIT compiled BenchmarkDotNet.Environments.CoreRuntime:.ctor(int,System.String,System.String) [Tier0, IL size=10, code size=36] ; Assembly listing for method BenchmarkDotNet.Environments.Runtime:.ctor(int,System.String,System.String):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov ecx, gword ptr [ebp+08H] call [System.String:IsNullOrEmpty(System.String):bool] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, 0x9228 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-14H] mov ecx, gword ptr [ebp-10H] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-10H] call CORINFO_HELP_THROW G_M000_IG04: mov ecx, gword ptr [ebp+0CH] call [System.String:IsNullOrEmpty(System.String):bool] test eax, eax je SHORT G_M000_IG06 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, 0xF2D9 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-0CH] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-0CH] call CORINFO_HELP_THROW G_M000_IG06: mov edx, gword ptr [ebp-04H] mov ecx, dword ptr [ebp-08H] mov dword ptr [edx+0CH], ecx mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov ecx, gword ptr [ebp+0CH] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX G_M000_IG07: mov esp, ebp pop ebp ret 8 ; Total bytes of code 206 497: JIT compiled BenchmarkDotNet.Environments.Runtime:.ctor(int,System.String,System.String) [Tier0, IL size=66, code size=206] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__55:System.IDisposable.Dispose():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov esp, ebp pop ebp ret ; Total bytes of code 11 498: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__55:System.IDisposable.Dispose() [Tier0, IL size=1, code size=11] ; Assembly listing for method BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], ecx G_M000_IG02: mov ecx, dword ptr [ebp-08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-0CH], eax G_M000_IG05: mov ecx, dword ptr [ebp-08H] call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov bword ptr [ebp-10H], eax mov ecx, dword ptr [ebp-0CH] call [System.Activator:CreateInstance[System.__Canon]():System.__Canon] mov ecx, eax cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this] mov edx, bword ptr [ebp-10H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 107 499: JIT compiled BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.cctor() [Tier0, IL size=21, code size=107] ; Assembly listing for method BenchmarkDotNet.Jobs.Job:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] xor edx, edx call [BenchmarkDotNet.Jobs.Job:.ctor(System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 22 500: JIT compiled BenchmarkDotNet.Jobs.Job:.ctor() [Tier0, IL size=8, code size=22] ; Assembly listing for method BenchmarkDotNet.Engines.EngineFactory:CreateReadyToRun(BenchmarkDotNet.Engines.EngineParameters):BenchmarkDotNet.Engines.IEngine:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 216 vzeroupper vxorps xmm4, xmm4, xmm4 mov eax, -192 vmovdqu xmmword ptr [ebp+eax-10H], xmm4 vmovdqu xmmword ptr [eax+ebp], xmm4 vmovdqu xmmword ptr [ebp+eax+10H], xmm4 add eax, 48 jne SHORT -5 instr mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_WorkloadActionNoUnroll():System.Action`1[long]:this] test eax, eax jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-98H], eax mov ecx, 0x4D2D mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-A0H], eax mov edx, gword ptr [ebp-A0H] mov ecx, gword ptr [ebp-98H] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-98H] call CORINFO_HELP_THROW G_M000_IG04: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_WorkloadActionUnroll():System.Action`1[long]:this] test eax, eax jne SHORT G_M000_IG06 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-94H], eax mov ecx, 0x4D03 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-A4H], eax mov edx, gword ptr [ebp-A4H] mov ecx, gword ptr [ebp-94H] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-94H] call CORINFO_HELP_THROW G_M000_IG06: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_Dummy1Action():System.Action:this] test eax, eax jne SHORT G_M000_IG08 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-90H], eax mov ecx, 0xF93E mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-A8H], eax mov edx, gword ptr [ebp-A8H] mov ecx, gword ptr [ebp-90H] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-90H] call CORINFO_HELP_THROW G_M000_IG08: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_Dummy2Action():System.Action:this] test eax, eax jne SHORT G_M000_IG10 G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-8CH], eax mov ecx, 0xF958 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-ACH], eax mov edx, gword ptr [ebp-ACH] mov ecx, gword ptr [ebp-8CH] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-8CH] call CORINFO_HELP_THROW G_M000_IG10: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_Dummy3Action():System.Action:this] test eax, eax jne SHORT G_M000_IG12 G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-88H], eax mov ecx, 0xF972 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-B0H], eax mov edx, gword ptr [ebp-B0H] mov ecx, gword ptr [ebp-88H] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-88H] call CORINFO_HELP_THROW G_M000_IG12: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_OverheadActionNoUnroll():System.Action`1[long]:this] test eax, eax jne SHORT G_M000_IG14 G_M000_IG13: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-84H], eax mov ecx, 0x4CBF mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-B4H], eax mov edx, gword ptr [ebp-B4H] mov ecx, gword ptr [ebp-84H] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-84H] call CORINFO_HELP_THROW G_M000_IG14: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_OverheadActionUnroll():System.Action`1[long]:this] test eax, eax jne SHORT G_M000_IG16 G_M000_IG15: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-80H], eax mov ecx, 0x4C95 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-B8H], eax mov edx, gword ptr [ebp-B8H] mov ecx, gword ptr [ebp-80H] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-80H] call CORINFO_HELP_THROW G_M000_IG16: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] test eax, eax jne SHORT G_M000_IG18 G_M000_IG17: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-7CH], eax mov ecx, 0xF98C mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-BCH], eax mov edx, gword ptr [ebp-BCH] mov ecx, gword ptr [ebp-7CH] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-7CH] call CORINFO_HELP_THROW G_M000_IG18: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_GlobalSetupAction():System.Action:this] mov gword ptr [ebp-2CH], eax mov ecx, gword ptr [ebp-2CH] mov gword ptr [ebp-30H], ecx cmp gword ptr [ebp-2CH], 0 jne SHORT G_M000_IG19 jmp SHORT G_M000_IG20 G_M000_IG19: mov ecx, gword ptr [ebp-30H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-30H] call [eax+0CH]System.Action:Invoke():this G_M000_IG20: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_NeedsJitting():bool:this] test eax, eax jne SHORT G_M000_IG21 mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.EngineFactory:CreateMultiActionEngine(BenchmarkDotNet.Engines.EngineParameters):BenchmarkDotNet.Engines.Engine] mov gword ptr [ebp-9CH], eax jmp G_M000_IG28 G_M000_IG21: xor ecx, ecx mov dword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_HasInvocationCount():bool:this] test eax, eax jne SHORT G_M000_IG22 mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_HasUnrollFactor():bool:this] test eax, eax je SHORT G_M000_IG23 G_M000_IG22: mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.EngineFactory:CreateMultiActionEngine(BenchmarkDotNet.Engines.EngineParameters):BenchmarkDotNet.Engines.Engine] mov gword ptr [ebp-34H], eax mov ecx, dword ptr [ebp-0CH] inc ecx mov dword ptr [ebp-38H], ecx mov ecx, dword ptr [ebp-0CH] inc ecx mov dword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_UnrollFactor():int:this] mov dword ptr [ebp-3CH], eax push dword ptr [ebp-38H] push dword ptr [ebp-3CH] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_UnrollFactor():int:this] push eax lea ecx, [ebp-44H] mov edx, gword ptr [ebp-34H] call [BenchmarkDotNet.Engines.EngineFactory:Jit(BenchmarkDotNet.Engines.Engine,int,int,int):Perfolizer.Horology.TimeInterval] push dword ptr [ebp-40H] push dword ptr [ebp-44H] call [BenchmarkDotNet.Engines.DeadCodeEliminationHelper:KeepAliveWithoutBoxing[Perfolizer.Horology.TimeInterval](Perfolizer.Horology.TimeInterval)] mov ecx, gword ptr [ebp-34H] mov gword ptr [ebp-9CH], ecx jmp G_M000_IG28 G_M000_IG23: mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.EngineFactory:CreateSingleActionEngine(BenchmarkDotNet.Engines.EngineParameters):BenchmarkDotNet.Engines.Engine] mov gword ptr [ebp-10H], eax mov ecx, dword ptr [ebp-0CH] inc ecx mov dword ptr [ebp-48H], ecx mov ecx, dword ptr [ebp-0CH] inc ecx mov dword ptr [ebp-0CH], ecx push dword ptr [ebp-48H] push 1 push 1 lea ecx, [ebp-18H] mov edx, gword ptr [ebp-10H] call [BenchmarkDotNet.Engines.EngineFactory:Jit(BenchmarkDotNet.Engines.Engine,int,int,int):Perfolizer.Horology.TimeInterval] lea edx, [ebp-50H] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_IterationTime():Perfolizer.Horology.TimeInterval:this] push dword ptr [ebp-4CH] push dword ptr [ebp-50H] push dword ptr [ebp-14H] push dword ptr [ebp-18H] call [Perfolizer.Horology.TimeInterval:op_Division(Perfolizer.Horology.TimeInterval,Perfolizer.Horology.TimeInterval):double] fstp qword ptr [ebp-D8H] vmovsd xmm0, qword ptr [ebp-D8H] vmovsd qword ptr [ebp-20H], xmm0 vmovsd xmm0, qword ptr [@RWD00] vucomisd xmm0, qword ptr [ebp-20H] jbe G_M000_IG25 vmovsd xmm0, qword ptr [@RWD08] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-6CH] call [Perfolizer.Horology.TimeInterval:FromSeconds(double):Perfolizer.Horology.TimeInterval] push dword ptr [ebp-14H] push dword ptr [ebp-18H] push dword ptr [ebp-68H] push dword ptr [ebp-6CH] call [Perfolizer.Horology.TimeInterval:op_LessThan(Perfolizer.Horology.TimeInterval,Perfolizer.Horology.TimeInterval):bool] test eax, eax je SHORT G_M000_IG25 mov ecx, dword ptr [ebp-0CH] inc ecx mov dword ptr [ebp-70H], ecx mov ecx, dword ptr [ebp-0CH] inc ecx mov dword ptr [ebp-0CH], ecx push dword ptr [ebp-70H] push 1 push 1 lea ecx, [ebp-18H] mov edx, gword ptr [ebp-10H] call [BenchmarkDotNet.Engines.EngineFactory:Jit(BenchmarkDotNet.Engines.Engine,int,int,int):Perfolizer.Horology.TimeInterval] lea edx, [ebp-78H] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_IterationTime():Perfolizer.Horology.TimeInterval:this] push dword ptr [ebp-74H] push dword ptr [ebp-78H] G_M000_IG24: push dword ptr [ebp-14H] push dword ptr [ebp-18H] call [Perfolizer.Horology.TimeInterval:op_Division(Perfolizer.Horology.TimeInterval,Perfolizer.Horology.TimeInterval):double] fstp qword ptr [ebp-D8H] vmovsd xmm0, qword ptr [ebp-D8H] vmovsd qword ptr [ebp-20H], xmm0 G_M000_IG25: vmovsd xmm0, qword ptr [@RWD00] vucomisd xmm0, qword ptr [ebp-20H] jbe SHORT G_M000_IG26 mov ecx, gword ptr [ebp-10H] mov gword ptr [ebp-9CH], ecx jmp G_M000_IG28 G_M000_IG26: mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-C4H], ecx mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-C0H], ecx mov ecx, 0xD1FFAB1E mov edx, 407 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov edx, gword ptr [ebp-C0H] mov ecx, gword ptr [ebp-C4H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver):int:this] mov dword ptr [ebp-24H], eax vmovsd xmm0, qword ptr [ebp-20H] sub esp, 8 vmovsd qword ptr [esp], xmm0 call System.Math:Ceiling(double):double fstp qword ptr [ebp-D8H] vmovsd xmm0, qword ptr [ebp-D8H] vcvttsd2si ecx, xmm0 cmp ecx, dword ptr [ebp-24H] jge G_M000_IG27 mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-C8H], eax mov ecx, gword ptr [ebp-C8H] mov edx, 1 call [BenchmarkDotNet.Jobs.JobExtensions:WithUnrollFactor(BenchmarkDotNet.Jobs.Job,int):BenchmarkDotNet.Jobs.Job] mov gword ptr [ebp-CCH], eax mov ecx, gword ptr [ebp-CCH] mov edx, 2 call [BenchmarkDotNet.Jobs.JobExtensions:WithMinInvokeCount(BenchmarkDotNet.Jobs.Job,int):BenchmarkDotNet.Jobs.Job] mov gword ptr [ebp-D0H], eax mov ecx, gword ptr [ebp-D0H] xor edx, edx call [BenchmarkDotNet.Jobs.JobExtensions:WithEvaluateOverhead(BenchmarkDotNet.Jobs.Job,bool):BenchmarkDotNet.Jobs.Job] mov gword ptr [ebp-28H], eax mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_OverheadActionNoUnroll():System.Action`1[long]:this] mov gword ptr [ebp-64H], eax push gword ptr [ebp-64H] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_WorkloadActionNoUnroll():System.Action`1[long]:this] push eax mov edx, gword ptr [ebp-28H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.EngineFactory:CreateEngine(BenchmarkDotNet.Engines.EngineParameters,BenchmarkDotNet.Jobs.Job,System.Action`1[long],System.Action`1[long]):BenchmarkDotNet.Engines.Engine] mov gword ptr [ebp-9CH], eax jmp SHORT G_M000_IG28 G_M000_IG27: mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.EngineFactory:CreateMultiActionEngine(BenchmarkDotNet.Engines.EngineParameters):BenchmarkDotNet.Engines.Engine] mov gword ptr [ebp-54H], eax mov ecx, dword ptr [ebp-0CH] inc ecx mov dword ptr [ebp-58H], ecx mov ecx, dword ptr [ebp-0CH] inc ecx mov dword ptr [ebp-0CH], ecx push dword ptr [ebp-58H] push dword ptr [ebp-24H] push dword ptr [ebp-24H] lea ecx, [ebp-60H] mov edx, gword ptr [ebp-54H] call [BenchmarkDotNet.Engines.EngineFactory:Jit(BenchmarkDotNet.Engines.Engine,int,int,int):Perfolizer.Horology.TimeInterval] push dword ptr [ebp-5CH] push dword ptr [ebp-60H] call [BenchmarkDotNet.Engines.DeadCodeEliminationHelper:KeepAliveWithoutBoxing[Perfolizer.Horology.TimeInterval](Perfolizer.Horology.TimeInterval)] mov eax, gword ptr [ebp-54H] mov gword ptr [ebp-9CH], eax G_M000_IG28: mov eax, gword ptr [ebp-9CH] G_M000_IG29: mov esp, ebp pop ebp ret RWD00 dq 3FF8000000000000h ; 1.5 RWD08 dq 4024000000000000h ; 10 ; Total bytes of code 1486 501: JIT compiled BenchmarkDotNet.Engines.EngineFactory:CreateReadyToRun(BenchmarkDotNet.Engines.EngineParameters) [Tier0, IL size=453, code size=1486] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_WorkloadActionNoUnroll():System.Action`1[long]:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+10H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 502: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_WorkloadActionNoUnroll() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_WorkloadActionUnroll():System.Action`1[long]:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+14H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 503: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_WorkloadActionUnroll() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_Dummy1Action():System.Action:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 504: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_Dummy1Action() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_Dummy2Action():System.Action:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+1CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 505: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_Dummy2Action() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_Dummy3Action():System.Action:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+20H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 506: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_Dummy3Action() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_OverheadActionNoUnroll():System.Action`1[long]:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+24H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 507: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_OverheadActionNoUnroll() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_OverheadActionUnroll():System.Action`1[long]:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+28H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 508: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_OverheadActionUnroll() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_TargetJob():BenchmarkDotNet.Jobs.Job:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+2CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 509: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_TargetJob() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_GlobalSetupAction():System.Action:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+30H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 510: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_GlobalSetupAction() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0+<>c:<.ctor>b__3_0():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 511: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 512: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_NeedsJitting() [Tier0, IL size=27, code size=85] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 513: JIT compiled BenchmarkDotNet.Engines.EngineParameters:.cctor() [Tier0, IL size=33, code size=139] ; Assembly listing for method BenchmarkDotNet.Running.BenchmarkRunnerClean:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 514: JIT compiled BenchmarkDotNet.Running.BenchmarkRunnerClean:.cctor() [Tier0, IL size=33, code size=139] ; Assembly listing for method BenchmarkDotNet.Environments.EnvironmentResolver:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 515: JIT compiled BenchmarkDotNet.Environments.EnvironmentResolver:.cctor() [Tier0, IL size=33, code size=146] ; Assembly listing for method BenchmarkDotNet.Environments.EnvironmentResolver:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 516: JIT compiled BenchmarkDotNet.Environments.EnvironmentResolver:.ctor() [Tier0, IL size=248, code size=850] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 517: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 518: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 519: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 520: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 521: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 522: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]) [Tier0, IL size=38, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 523: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 524: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 525: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Environments.EnvironmentResolver+<>c:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 526: JIT compiled BenchmarkDotNet.Environments.EnvironmentResolver+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Environments.EnvironmentResolver+<>c:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 527: JIT compiled BenchmarkDotNet.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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 528: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 529: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 530: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 531: JIT compiled BenchmarkDotNet.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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 532: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 533: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass2_0`1[int]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Environments.GcResolver:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 534: JIT compiled BenchmarkDotNet.Environments.GcResolver:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Environments.GcResolver:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 535: JIT compiled BenchmarkDotNet.Environments.GcResolver:.ctor() [Tier0, IL size=301, code size=1333] ; Assembly listing for method BenchmarkDotNet.Environments.GcResolver+<>c:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 536: JIT compiled BenchmarkDotNet.Environments.GcResolver+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Environments.GcResolver+<>c:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 537: JIT compiled BenchmarkDotNet.Environments.GcResolver+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver:.ctor(BenchmarkDotNet.Characteristics.IResolver[]):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 538: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver:.ctor(BenchmarkDotNet.Characteristics.IResolver[]) [Tier0, IL size=14, code size=39] ; Assembly listing for method BenchmarkDotNet.Environments.InfrastructureResolver:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 539: JIT compiled BenchmarkDotNet.Environments.InfrastructureResolver:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Environments.InfrastructureResolver:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 540: JIT compiled BenchmarkDotNet.Environments.InfrastructureResolver:.ctor() [Tier0, IL size=179, code size=678] ; Assembly listing for method BenchmarkDotNet.Environments.InfrastructureResolver+<>c:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 541: JIT compiled BenchmarkDotNet.Environments.InfrastructureResolver+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Environments.InfrastructureResolver+<>c:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 542: JIT compiled BenchmarkDotNet.Environments.InfrastructureResolver+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 543: JIT compiled BenchmarkDotNet.Engines.EngineResolver:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 544: JIT compiled BenchmarkDotNet.Engines.EngineResolver:.ctor() [Tier0, IL size=492, code size=2271] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver+<>c:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 545: JIT compiled BenchmarkDotNet.Engines.EngineResolver+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver+<>c:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 546: JIT compiled BenchmarkDotNet.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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 547: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 548: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 549: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 550: JIT compiled BenchmarkDotNet.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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 551: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]) [Tier0, IL size=38, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 552: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[double](BenchmarkDotNet.Characteristics.Characteristic`1[double],System.Func`1[double]):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 553: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 554: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 555: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 556: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 557: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 558: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 559: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 560: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 561: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 562: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 563: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 564: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 565: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.IResolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 566: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 567: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 568: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 569: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; 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 570: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 571: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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_HasInvocationCount() [Tier0, IL size=17, code size=47] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_HasUnrollFactor():bool:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 573: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 574: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 575: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 576: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 577: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 578: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 579: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 580: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; 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 581: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 582: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 583: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 584: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 585: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 586: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 587: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 588: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 589: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 590: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 591: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 592: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 593: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 594: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 595: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 596: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 597: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 598: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 599: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 600: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 601: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 602: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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, 48 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 603: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 604: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 605: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 606: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 607: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 608: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 609: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 610: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 611: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 612: JIT compiled Perfolizer.Horology.Chronometer:.cctor() [Tier0, IL size=76, code size=201] ; Assembly listing for method Perfolizer.Horology.StopwatchClock:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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.StopwatchClock:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method Perfolizer.Horology.DateTimeClock:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 614: JIT compiled Perfolizer.Horology.DateTimeClock:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method Perfolizer.Horology.WindowsClock:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 615: JIT compiled Perfolizer.Horology.WindowsClock:.ctor() [Tier0, IL size=7, code size=35] ; Assembly listing for method Perfolizer.Horology.WindowsClock:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 616: JIT compiled Perfolizer.Horology.WindowsClock:.cctor() [Tier0, IL size=16, code size=21] ; Assembly listing for method Perfolizer.Horology.WindowsClock:Initialize(byref):bool (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 617: JIT compiled Perfolizer.Horology.WindowsClock:Initialize(byref) [Tier0, IL size=51, code size=179] ; Assembly listing for method (dynamicClass):IL_STUB_PInvoke(byref):bool (FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; FullOpts code ; 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 618: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; 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 619: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 620: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 621: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 622: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 623: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 624: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 625: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 626: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 627: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 628: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 629: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 630: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 631: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 632: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 633: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 634: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 635: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; 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 636: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 637: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 638: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 639: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 640: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 641: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 642: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 643: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 644: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 645: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 646: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 647: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 648: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 649: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 650: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 651: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 652: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 653: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 654: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 655: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 656: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 657: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 658: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 659: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 660: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 661: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 662: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 663: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 664: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 665: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 666: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 667: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 668: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 669: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 670: JIT compiled Perfolizer.Horology.WindowsClock:get_Frequency() [Tier0, IL size=12, code size=89] ; Assembly listing for method Perfolizer.Horology.Frequency:.ctor(double):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 671: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 672: JIT compiled Perfolizer.Horology.Frequency:ToResolution() [Tier0, IL size=17, code size=75] ; Assembly listing for method Perfolizer.Horology.Frequency:get_Hertz():double:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 673: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 674: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 675: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 676: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 677: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 678: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 679: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 680: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 681: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 682: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 683: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 684: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 685: JIT compiled BenchmarkDotNet.Engines.Engine:get_Dummy1Action() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:Dummy1():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] G_M000_IG03: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] G_M000_IG04: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 395 686: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 687: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 688: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 689: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 690: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 691: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 692: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 693: JIT compiled BenchmarkDotNet.Engines.Engine:get_OverheadAction() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:GcCollect():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 694: JIT compiled BenchmarkDotNet.Engines.Engine:GcCollect() [Tier0, IL size=15, code size=34] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_ForceGcCleanups():bool:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 695: JIT compiled BenchmarkDotNet.Engines.Engine:get_ForceGcCleanups() [Tier0, IL size=7, code size=18] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:ForceGcCollect() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 696: JIT compiled BenchmarkDotNet.Engines.Engine:ForceGcCollect() [Tier0, IL size=16, code size=23] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 697: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 698: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 6770 ; 38 inlinees with PGO data; 3 single block inlinees; 4 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 12 vzeroupper mov eax, dword ptr [ebp+08H] G_M000_IG02: xor esi, esi cmp eax, 8 jb G_M000_IG09 G_M000_IG03: vmovups xmm0, xmmword ptr [ecx] vmovups xmm1, xmmword ptr [@RWD00] vptest xmm0, xmm1 jne G_M000_IG09 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 jb SHORT G_M000_IG06 G_M000_IG05: vmovups xmm0, xmmword ptr [ecx+2*esi] vptest xmm0, xmm1 jne SHORT G_M000_IG09 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_IG06: cmp esi, eax je SHORT G_M000_IG15 G_M000_IG07: mov esi, eax sub esi, 8 jmp SHORT G_M000_IG05 G_M000_IG08: mov edi, esi movzx ebx, word ptr [ecx+2*edi] cmp ebx, 127 mov dword ptr [ebp-14H], edi ja SHORT G_M000_IG15 jmp SHORT G_M000_IG11 G_M000_IG09: mov edi, eax sub edi, esi cmp edi, 2 jb SHORT G_M000_IG14 G_M000_IG10: mov edi, esi mov dword ptr [ebp-10H], edi mov ebx, dword ptr [ecx+2*edi] test ebx, 0xD1FFAB1E jne SHORT G_M000_IG14 lea edi, [ebx+D1FFAB1EH] mov dword ptr [ebp-18H], edi lea edi, [ebx+00050005H] xor edi, dword ptr [ebp-18H] and edi, 0xD1FFAB1E shr edi, 2 xor ebx, edi mov edi, dword ptr [ebp-10H] mov dword ptr [edx+2*edi], ebx add esi, 2 jmp SHORT G_M000_IG09 G_M000_IG11: lea edi, [ebx-61H] cmp edi, 25 ja SHORT G_M000_IG13 G_M000_IG12: add ebx, -32 G_M000_IG13: movzx edi, bx mov ebx, dword ptr [ebp-14H] mov word ptr [edx+2*ebx], di inc esi G_M000_IG14: cmp esi, eax jb SHORT G_M000_IG08 G_M000_IG15: mov eax, esi G_M000_IG16: 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 292 699: JIT compiled System.Text.Ascii:ChangeCase[ushort,ushort,System.Text.Ascii+ToUpperConversion](uint,uint,uint) [Tier-0 switched to FullOpts with Static PGO, IL size=900, code size=292] ; Assembly listing for method (dynamicClass):InvokeStub_EventSourceAttribute.set_Name(System.Object,System.Object,uint):System.Object (FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; FullOpts code ; 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 700: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; fully interruptible ; PGO data available, but IL did not match ; 34 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 vzeroupper mov eax, dword ptr [ebp+08H] G_M000_IG02: cmp eax, 8 jge SHORT G_M000_IG12 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_IG11 movsx edi, word ptr [ecx+2*esi+02H] cmp edi, ebx je SHORT G_M000_IG10 movsx edi, word ptr [ecx+2*esi+04H] cmp edi, ebx je SHORT G_M000_IG09 movsx edi, word ptr [ecx+2*esi+06H] cmp edi, ebx je SHORT G_M000_IG08 add esi, 4 G_M000_IG04: test eax, eax jle G_M000_IG25 movsx ebx, dx G_M000_IG05: dec eax movsx edx, word ptr [ecx+2*esi] cmp edx, ebx je SHORT G_M000_IG11 G_M000_IG06: inc esi test eax, eax jg SHORT G_M000_IG05 G_M000_IG07: jmp G_M000_IG25 G_M000_IG08: lea eax, [esi+03H] jmp G_M000_IG24 G_M000_IG09: lea eax, [esi+02H] jmp G_M000_IG24 G_M000_IG10: lea eax, [esi+01H] jmp G_M000_IG24 G_M000_IG11: mov eax, esi jmp G_M000_IG24 G_M000_IG12: cmp eax, 16 jl G_M000_IG18 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_IG13: vpcmpeqw ymm1, ymm0, ymmword ptr [edx] vptest ymm1, ymm1 jne SHORT G_M000_IG17 G_M000_IG14: add edx, 32 cmp edx, esi jbe SHORT G_M000_IG13 G_M000_IG15: xor edx, edx mov ecx, 16 cmp edx, ecx jb SHORT G_M000_IG16 mov edi, eax mov eax, edx xor edx, edx div edx:eax, ecx mov eax, edi G_M000_IG16: div edx:eax, ecx or edx, 0 je G_M000_IG25 vpcmpeqw ymm1, ymm0, ymmword ptr [esi] vptest ymm1, ymm1 je G_M000_IG25 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_IG24 G_M000_IG17: 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_IG24 G_M000_IG18: 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_IG19: vpcmpeqw xmm1, xmm0, xmmword ptr [edx] vptest xmm1, xmm1 jne SHORT G_M000_IG23 G_M000_IG20: add edx, 16 cmp edx, edi jbe SHORT G_M000_IG19 G_M000_IG21: xor edx, edx mov ecx, 8 cmp edx, ecx jb SHORT G_M000_IG22 mov ebx, eax mov eax, edx xor edx, edx div edx:eax, ecx mov eax, ebx G_M000_IG22: div edx:eax, ecx or edx, 0 je SHORT G_M000_IG25 vpcmpeqw xmm1, xmm0, xmmword ptr [edi] vptest xmm1, xmm1 je SHORT G_M000_IG25 shr esi, 1 vpshufb xmm1, xmm1, xmmword ptr [@RWD00] vpmovmskb eax, xmm1 tzcnt eax, eax add eax, esi jmp SHORT G_M000_IG24 G_M000_IG23: 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_IG24: vzeroupper pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG25: mov eax, -1 G_M000_IG26: vzeroupper pop ebx pop esi pop edi pop ebp ret 4 RWD00 dq 0F0D0B0907050301h, 8080808080808080h, 0F0D0B0907050301h, 8080808080808080h ; Total bytes of code 451 701: JIT compiled System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int) [Tier-0 switched to FullOpts with Static PGO, IL size=1212, code size=451] ; Assembly listing for method System.Number:TryParseBinaryIntegerStyle[ushort](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 11804 ; 59 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, 56 mov esi, ecx mov edi, edx G_M000_IG02: mov ebx, dword ptr [ebp+10H] test ebx, ebx je SHORT G_M000_IG11 xor eax, eax mov dword ptr [ebp-10H], eax mov ecx, bword ptr [ebp+0CH] movzx edx, word ptr [ecx] test esi, 1 jne G_M000_IG23 G_M000_IG03: xor ecx, ecx test esi, 4 jne G_M000_IG22 G_M000_IG04: and ecx, 1 mov dword ptr [ebp-1CH], ecx xor edi, edi lea ecx, [edx-30H] cmp ecx, 9 ja SHORT G_M000_IG11 G_M000_IG05: cmp edx, 48 jne SHORT G_M000_IG09 G_M000_IG06: mov eax, dword ptr [ebp-10H] inc eax cmp eax, ebx jb G_M000_IG21 G_M000_IG07: mov esi, bword ptr [ebp+08H] mov word ptr [esi], di xor eax, eax G_M000_IG08: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG09: add edx, -48 movzx edi, dx mov eax, dword ptr [ebp-10H] inc eax cmp eax, ebx jb SHORT G_M000_IG12 G_M000_IG10: cmp dword ptr [ebp-1CH], 0 jne G_M000_IG26 jmp SHORT G_M000_IG07 G_M000_IG11: mov esi, bword ptr [ebp+08H] mov word ptr [esi], 0 mov eax, 1 jmp SHORT G_M000_IG08 G_M000_IG12: mov edx, bword ptr [ebp+0CH] mov bword ptr [ebp-44H], edx movzx edx, word ptr [edx+2*eax] lea ecx, [edx-30H] cmp ecx, 9 ja SHORT G_M000_IG20 G_M000_IG13: inc eax lea edx, [edi+4*edi] add edx, edx movzx edi, dx movzx edx, cx add edx, edi movzx edi, dx cmp eax, ebx jae SHORT G_M000_IG10 G_M000_IG14: mov edx, bword ptr [ebp-44H] movzx ecx, word ptr [edx+2*eax] lea edx, [ecx-30H] cmp edx, 9 ja SHORT G_M000_IG19 G_M000_IG15: inc eax lea ecx, [edi+4*edi] add ecx, ecx movzx edi, cx mov ecx, edx movzx edx, cx lea ecx, [edi+edx] movzx edi, cx cmp eax, ebx jae SHORT G_M000_IG10 G_M000_IG16: mov ecx, bword ptr [ebp-44H] movzx edx, word ptr [ecx+2*eax] lea ecx, [edx-30H] cmp ecx, 9 ja SHORT G_M000_IG18 G_M000_IG17: inc eax lea edx, [edi+4*edi] add edx, edx movzx edi, dx movzx edx, cx lea ecx, [edi+edx] movzx edi, cx mov dword ptr [ebp-10H], eax cmp eax, ebx jb G_M000_IG27 jmp G_M000_IG10 G_M000_IG18: mov dword ptr [ebp-10H], eax jmp SHORT G_M000_IG24 G_M000_IG19: mov dword ptr [ebp-10H], eax mov edx, ecx jmp SHORT G_M000_IG24 G_M000_IG20: mov dword ptr [ebp-10H], eax jmp SHORT G_M000_IG24 G_M000_IG21: mov ecx, bword ptr [ebp+0CH] movzx edx, word ptr [ecx+2*eax] cmp edx, 48 mov dword ptr [ebp-10H], eax mov bword ptr [ebp-44H], ecx je G_M000_IG06 lea ecx, [edx-30H] cmp ecx, 9 jbe G_M000_IG09 xor ecx, ecx mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG24 G_M000_IG22: cmp byte ptr [edi+A9H], 0 je G_M000_IG32 cmp edx, 45 je G_M000_IG29 cmp edx, 43 je G_M000_IG31 jmp G_M000_IG04 G_M000_IG23: mov dword ptr [ebp-14H], edx mov ecx, edx call [System.Number:IsWhite(int):bool] test eax, eax jne G_M000_IG30 mov edx, dword ptr [ebp-14H] jmp G_M000_IG03 G_M000_IG24: mov ecx, edx call [System.Number:IsWhite(int):bool] test eax, eax jne G_M000_IG43 G_M000_IG25: mov dword ptr [ebp+10H], ebx push dword ptr [ebp+10H] push bword ptr [ebp+0CH] mov ecx, dword ptr [ebp-10H] call [System.Number:TrailingZeros(System.ReadOnlySpan`1[ushort],int):bool] test eax, eax jne G_M000_IG10 jmp G_M000_IG11 G_M000_IG26: mov esi, bword ptr [ebp+08H] mov word ptr [esi], 0 mov eax, 2 jmp G_M000_IG08 G_M000_IG27: mov edx, bword ptr [ebp-44H] mov eax, dword ptr [ebp-10H] movzx ecx, word ptr [edx+2*eax] lea edx, [ecx-30H] cmp edx, 9 mov edx, ecx ja SHORT G_M000_IG28 inc eax mov ecx, dword ptr [ebp-1CH] cmp edi, 0x1999 jg G_M000_IG39 cmp edi, 0x1999 jne G_M000_IG38 mov dword ptr [ebp-20H], ecx xor ecx, ecx cmp edx, 53 setg cl mov dword ptr [ebp-24H], ecx jmp G_M000_IG40 G_M000_IG28: mov dword ptr [ebp-10H], eax jmp G_M000_IG24 G_M000_IG29: mov edx, 1 mov eax, dword ptr [ebp-10H] inc eax cmp eax, ebx jae G_M000_IG11 jmp G_M000_IG36 G_M000_IG30: mov eax, dword ptr [ebp-10H] inc eax cmp eax, ebx jae G_M000_IG11 mov edx, bword ptr [ebp+0CH] mov dword ptr [ebp-10H], eax movzx edx, word ptr [edx+2*eax] mov dword ptr [ebp-14H], edx mov ecx, edx call [System.Number:IsWhite(int):bool] test eax, eax jne SHORT G_M000_IG30 mov edx, dword ptr [ebp-14H] jmp G_M000_IG03 G_M000_IG31: mov eax, dword ptr [ebp-10H] inc eax cmp eax, ebx jae G_M000_IG11 mov edx, ecx jmp G_M000_IG36 G_M000_IG32: cmp byte ptr [edi+AAH], 0 je SHORT G_M000_IG33 mov dword ptr [ebp-14H], edx cmp edx, 45 mov edx, dword ptr [ebp-14H] jne SHORT G_M000_IG33 mov ecx, 1 mov eax, dword ptr [ebp-10H] inc eax cmp eax, ebx mov dword ptr [ebp-18H], ecx jae G_M000_IG11 mov edx, dword ptr [ebp-18H] jmp G_M000_IG36 G_M000_IG33: mov eax, dword ptr [ebp-10H] cmp eax, ebx jbe SHORT G_M000_IG34 call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG34: mov dword ptr [ebp-18H], ecx mov ecx, bword ptr [ebp+0CH] lea ecx, bword ptr [ecx+2*eax] sub ebx, eax mov bword ptr [ebp+0CH], ecx xor eax, eax mov dword ptr [ebp-10H], eax mov ecx, gword ptr [edi+10H] mov gword ptr [ebp-30H], ecx mov edi, gword ptr [edi+14H] mov gword ptr [ebp-34H], edi test ecx, ecx je SHORT G_M000_IG35 cmp dword ptr [ecx+04H], 0 sete cl movzx ecx, cl test ecx, ecx jne SHORT G_M000_IG35 mov ecx, bword ptr [ebp+0CH] mov bword ptr [ebp-38H], ecx mov edi, gword ptr [ebp-30H] lea ecx, bword ptr [edi+08H] mov edi, dword ptr [edi+04H] mov dword ptr [ebp-2CH], edi mov edi, bword ptr [ebp-38H] mov bword ptr [ebp-3CH], ecx mov ecx, dword ptr [ebp-2CH] cmp ecx, ebx jg SHORT G_M000_IG35 mov dword ptr [ebp-14H], edx add ecx, ecx push ecx mov ecx, edi mov edx, bword ptr [ebp-3CH] call [System.SpanHelpers:SequenceEqual(byref,byref,uint):bool] test eax, eax mov edx, dword ptr [ebp-14H] je SHORT G_M000_IG35 mov edi, gword ptr [ebp-30H] mov eax, dword ptr [edi+04H] mov edi, eax cmp edi, ebx mov dword ptr [ebp-10H], edi jae G_M000_IG11 mov eax, dword ptr [ebp-10H] mov edx, dword ptr [ebp-18H] jmp SHORT G_M000_IG36 G_M000_IG35: mov edi, gword ptr [ebp-34H] test edi, edi mov ecx, dword ptr [ebp-18H] je G_M000_IG04 xor eax, eax cmp dword ptr [edi+04H], 0 sete al test eax, eax mov gword ptr [ebp-34H], edi jne G_M000_IG04 mov dword ptr [ebp-18H], ecx mov edi, bword ptr [ebp+0CH] mov eax, gword ptr [ebp-34H] add eax, 8 mov ecx, gword ptr [ebp-34H] mov ecx, dword ptr [ecx+04H] cmp ecx, ebx mov dword ptr [ebp-28H], ecx mov bword ptr [ebp-40H], eax jg SHORT G_M000_IG37 mov dword ptr [ebp-14H], edx mov eax, dword ptr [ebp-28H] add eax, eax push eax mov ecx, edi mov edx, bword ptr [ebp-40H] call [System.SpanHelpers:SequenceEqual(byref,byref,uint):bool] test eax, eax mov ecx, dword ptr [ebp-18H] mov edx, dword ptr [ebp-14H] je G_M000_IG04 mov edi, gword ptr [ebp-34H] mov ecx, 1 mov eax, dword ptr [edi+04H] mov edi, eax cmp edi, ebx mov eax, edi mov edx, ecx jae G_M000_IG11 G_M000_IG36: cmp eax, ebx jae G_M000_IG47 mov ecx, bword ptr [ebp+0CH] movzx ecx, word ptr [ecx+2*eax] mov edi, ecx mov dword ptr [ebp-10H], eax mov ecx, edx mov edx, edi jmp G_M000_IG04 G_M000_IG37: mov ecx, dword ptr [ebp-18H] jmp G_M000_IG04 G_M000_IG38: mov dword ptr [ebp-20H], ecx xor ecx, ecx mov dword ptr [ebp-24H], ecx jmp SHORT G_M000_IG40 G_M000_IG39: mov dword ptr [ebp-20H], ecx mov dword ptr [ebp-24H], 1 G_M000_IG40: mov ecx, dword ptr [ebp-20H] or ecx, dword ptr [ebp-24H] movzx ecx, cl mov dword ptr [ebp-1CH], ecx lea edi, [edi+4*edi] add edi, edi movzx edi, di add edx, -48 movzx edx, dx add edx, edi movzx edi, dx cmp eax, ebx jae G_M000_IG10 mov edx, bword ptr [ebp-44H] jmp SHORT G_M000_IG42 G_M000_IG41: mov ecx, 1 inc eax cmp eax, ebx mov dword ptr [ebp-1CH], ecx mov edx, bword ptr [ebp-44H] jae G_M000_IG26 G_M000_IG42: cmp eax, ebx jae SHORT G_M000_IG47 mov bword ptr [ebp-44H], edx movzx edx, word ptr [edx+2*eax] lea ecx, [edx-30H] cmp ecx, 9 jbe SHORT G_M000_IG41 mov dword ptr [ebp-10H], eax jmp G_M000_IG24 G_M000_IG43: test esi, 2 je G_M000_IG11 mov eax, bword ptr [ebp-44H] mov esi, dword ptr [ebp-10H] jmp SHORT G_M000_IG45 G_M000_IG44: cmp esi, ebx jae SHORT G_M000_IG47 mov bword ptr [ebp-44H], eax movzx ecx, word ptr [eax+2*esi] call [System.Number:IsWhite(int):bool] test eax, eax mov eax, bword ptr [ebp-44H] je SHORT G_M000_IG46 G_M000_IG45: inc esi cmp esi, ebx jl SHORT G_M000_IG44 G_M000_IG46: cmp esi, ebx jae G_M000_IG10 mov eax, esi mov dword ptr [ebp-10H], eax jmp G_M000_IG25 G_M000_IG47: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 1158 702: JIT compiled System.Number:TryParseBinaryIntegerStyle[ushort](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref) [Tier-0 switched to FullOpts with Static PGO, IL size=1142, code size=1158] ; Assembly listing for method (dynamicClass):InvokeStub_EventAttribute.set_Level(System.Object,System.Object,uint):System.Object (FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; FullOpts code ; 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 703: 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 (FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; FullOpts code ; 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 704: 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 (FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; FullOpts code ; 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 705: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 706: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 707: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; 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 708: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 709: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 710: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 711: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 712: 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 (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx G_M000_IG02: xor ecx, ecx xor edi, edi xor ebx, ebx cmp dword ptr [ebp+08H], 1 mov eax, dword ptr [ebp+0CH] sbb eax, 0 jl SHORT G_M000_IG04 G_M000_IG03: mov eax, gword ptr [esi+48H] mov ecx, gword ptr [eax+04H] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke():int:this mov ecx, eax add edi, 1 adc ebx, 0 cmp edi, dword ptr [ebp+08H] mov eax, ebx sbb eax, dword ptr [ebp+0CH] jl SHORT G_M000_IG03 G_M000_IG04: call [BenchmarkDotNet.Engines.DeadCodeEliminationHelper:KeepAliveWithoutBoxing[int](int)] G_M000_IG05: pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 66 713: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:OverheadActionNoUnroll(long) [Tier1, IL size=35, code size=66] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:__Overhead():int:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; 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 714: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:__Overhead() [Tier0, IL size=2, code size=13] ; Assembly listing for method BenchmarkDotNet.Engines.DeadCodeEliminationHelper:KeepAliveWithoutBoxing[int](int) (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 esp, ebp pop ebp ret ; Total bytes of code 11 715: JIT compiled BenchmarkDotNet.Engines.DeadCodeEliminationHelper:KeepAliveWithoutBoxing[int](int) [Tier0, IL size=1, code size=11] ; Assembly listing for method Perfolizer.Horology.StartedClock:GetElapsed():Perfolizer.Horology.ClockSpan:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 716: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 717: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 718: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; 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 719: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 720: JIT compiled BenchmarkDotNet.Engines.IterationData:get_Index() [Tier0, IL size=7, code size=17] ; Assembly listing for method Perfolizer.Horology.ClockSpan:GetNanoseconds():double:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 721: JIT compiled Perfolizer.Horology.ClockSpan:GetNanoseconds() [Tier0, IL size=19, code size=90] ; Assembly listing for method Perfolizer.Horology.ClockSpan:GetSeconds():double:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 722: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 723: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 724: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 725: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 726: JIT compiled BenchmarkDotNet.Reports.Measurement:ToString() [Tier0, IL size=304, code size=730] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_IterationMode():int:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 727: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 728: JIT compiled BenchmarkDotNet.Reports.Measurement:get_IterationStage() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 729: JIT compiled BenchmarkDotNet.Reports.Measurement:.cctor() [Tier0, IL size=89, code size=227] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement+<>c:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 730: JIT compiled BenchmarkDotNet.Reports.Measurement+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement+<>c:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 731: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 732: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 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 733: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 734: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 735: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 736: 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) (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 290 ; 6 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 vzeroupper mov eax, dword ptr [ebp+08H] G_M000_IG02: cmp edx, 16 jae G_M000_IG13 G_M000_IG03: xor edi, edi cmp edx, 8 jae SHORT G_M000_IG10 G_M000_IG04: test dl, 4 jne SHORT G_M000_IG09 G_M000_IG05: test dl, 2 jne SHORT G_M000_IG12 G_M000_IG06: test dl, 1 je SHORT G_M000_IG08 G_M000_IG07: mov word ptr [ecx+2*edi], ax G_M000_IG08: vzeroupper pop esi pop edi pop ebp ret 4 G_M000_IG09: mov word ptr [ecx+2*edi], ax mov word ptr [ecx+2*edi+02H], ax mov word ptr [ecx+2*edi+04H], ax mov word ptr [ecx+2*edi+06H], ax add edi, 4 jmp SHORT G_M000_IG05 G_M000_IG10: mov esi, edx and esi, -8 G_M000_IG11: mov word ptr [ecx+2*edi], ax mov word ptr [ecx+2*edi+02H], ax mov word ptr [ecx+2*edi+04H], ax mov word ptr [ecx+2*edi+06H], ax mov word ptr [ecx+2*edi+08H], ax mov word ptr [ecx+2*edi+0AH], ax mov word ptr [ecx+2*edi+0CH], ax mov word ptr [ecx+2*edi+0EH], ax add edi, 8 cmp edi, esi jb SHORT G_M000_IG11 jmp SHORT G_M000_IG04 G_M000_IG12: mov word ptr [ecx+2*edi], ax mov word ptr [ecx+2*edi+02H], ax add edi, 2 jmp SHORT G_M000_IG06 G_M000_IG13: 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 jae SHORT G_M000_IG18 G_M000_IG14: test al, 32 je SHORT G_M000_IG16 G_M000_IG15: vmovups ymmword ptr [ecx+edi], ymm0 G_M000_IG16: vmovups ymmword ptr [ecx+eax-20H], ymm0 G_M000_IG17: vzeroupper pop esi pop edi pop ebp ret 4 G_M000_IG18: vmovups ymmword ptr [ecx+edi], ymm0 vmovups ymmword ptr [ecx+edi+20H], ymm0 add edi, 64 cmp edi, esi jb SHORT G_M000_IG18 G_M000_IG19: jmp SHORT G_M000_IG14 ; Total bytes of code 217 737: JIT compiled System.SpanHelpers:Fill[ushort](byref,uint,ushort) [Tier-0 switched to FullOpts with Static PGO, IL size=865, code size=217] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_Operations():long:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 738: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 739: 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) (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 104 ; 99 inlinees with PGO data; 0 single block inlinees; 9 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 684 xor eax, eax mov dword ptr [ebp-6CH], eax mov dword ptr [ebp-8CH], eax mov dword ptr [ebp-1C8H], eax mov dword ptr [ebp-10H], 0xD1FFAB1E mov bword ptr [ebp-1D4H], edx mov ebx, ecx G_M000_IG02: mov eax, gword ptr [ebp+08H] mov gword ptr [ebp-2B4H], eax lea edi, bword ptr [ebp-1C8H] lea esi, bword ptr [ebp+0CH] movsd movsd mov esi, bword ptr [ebp-1C8H] mov bword ptr [ebp-2B0H], esi mov edi, dword ptr [ebp-1C4H] mov dword ptr [ebp-1C0H], edi xor eax, eax mov dword ptr [ebp-40H], eax mov edx, bword ptr [ebp-1D4H] mov ecx, bword ptr [edx+0CH] mov dword ptr [ebp-58H], ecx cmp byte ptr [ecx], 0 je G_M000_IG184 mov bword ptr [ebp-1D4H], edx xor eax, eax cmp byte ptr [edx+08H], 0 setne al G_M000_IG03: push edi push esi mov ecx, eax call [System.Number:FindSection(System.ReadOnlySpan`1[ushort],int):int] mov dword ptr [ebp-50H], eax G_M000_IG04: xor ecx, ecx mov dword ptr [ebp-28H], -1 mov dword ptr [ebp-2CH], 0xD1FFAB1E xor esi, esi mov dword ptr [ebp-30H], esi xor esi, esi mov dword ptr [ebp-38H], esi mov dword ptr [ebp-3CH], -1 xor esi, esi mov dword ptr [ebp-44H], esi G_M000_IG05: mov dword ptr [ebp-48H], esi mov esi, dword ptr [ebp-50H] mov eax, bword ptr [ebp-2B0H] mov bword ptr [ebp-6CH], eax mov dword ptr [ebp-68H], eax jmp SHORT G_M000_IG08 align [0 bytes for IG06] G_M000_IG06: cmp esi, 69 ja G_M000_IG71 lea edx, [esi-22H] cmp edx, 5 ja G_M000_IG19 mov dword ptr [ebp-54H], eax lea eax, [@RWD00] mov eax, dword ptr [eax+4*edx] lea edi, G_M000_IG02 add eax, edi jmp eax G_M000_IG07: mov esi, dword ptr [ebp-54H] mov edi, dword ptr [ebp-1C0H] G_M000_IG08: cmp esi, edi jge SHORT G_M000_IG10 G_M000_IG09: lea eax, [esi+01H] mov edx, dword ptr [ebp-68H] movzx esi, word ptr [edx+2*esi] test esi, esi je SHORT G_M000_IG10 cmp esi, 59 jne SHORT G_M000_IG06 G_M000_IG10: xor eax, eax mov bword ptr [ebp-6CH], eax mov edx, dword ptr [ebp-28H] test edx, edx jge SHORT G_M000_IG12 G_M000_IG11: mov edx, ecx G_M000_IG12: mov eax, dword ptr [ebp-3CH] test eax, eax jge G_M000_IG185 G_M000_IG13: mov eax, dword ptr [ebp-58H] cmp byte ptr [eax], 0 je G_M000_IG89 mov eax, bword ptr [ebp-1D4H] add eax, 4 mov esi, dword ptr [ebp-48H] add dword ptr [eax], esi cmp dword ptr [ebp-38H], 0 jne G_M000_IG87 mov eax, bword ptr [ebp-1D4H] mov dword ptr [ebp-24H], ecx mov esi, ecx add esi, dword ptr [eax+04H] mov dword ptr [ebp-28H], edx sub esi, edx G_M000_IG14: push 0 mov bword ptr [ebp-1D4H], eax mov ecx, eax mov edx, esi call [System.Number:RoundNumber(byref,int,bool)] mov esi, dword ptr [ebp-58H] cmp byte ptr [esi], 0 je G_M000_IG88 G_M000_IG15: mov eax, dword ptr [ebp-28H] mov edx, dword ptr [ebp-2CH] mov ecx, eax sub ecx, edx xor esi, esi cmp edx, eax cmovge ecx, esi mov edx, ecx mov dword ptr [ebp-2CH], edx mov esi, dword ptr [ebp-30H] mov ecx, eax sub ecx, esi mov dword ptr [ebp-2B8H], ecx xor ecx, ecx cmp esi, eax mov esi, ecx cmovg esi, dword ptr [ebp-2B8H] mov dword ptr [ebp-30H], esi cmp dword ptr [ebp-38H], 0 jne G_M000_IG91 mov ecx, bword ptr [ebp-1D4H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-1CCH], ecx cmp ecx, eax cmovle ecx, eax mov dword ptr [ebp-34H], ecx mov esi, dword ptr [ebp-1CCH] mov dword ptr [ebp-28H], eax sub esi, eax mov dword ptr [ebp-4CH], esi G_M000_IG16: mov edx, dword ptr [ebp-50H] lea eax, [ebp-20H] mov bword ptr [ebp-210H], eax mov dword ptr [ebp-13CH], 4 mov dword ptr [ebp-60H], -1 cmp dword ptr [ebp-44H], 0 jne G_M000_IG92 G_M000_IG17: mov eax, bword ptr [ebp-1D4H] cmp byte ptr [eax+08H], 0 jne G_M000_IG103 G_M000_IG18: xor eax, eax mov dword ptr [ebp-64H], eax mov eax, bword ptr [ebp-2B0H] mov bword ptr [ebp-8CH], eax mov dword ptr [ebp-88H], eax mov eax, dword ptr [ebp-58H] jmp SHORT G_M000_IG22 G_M000_IG19: lea edx, [esi-2CH] cmp edx, 4 jne G_M000_IG54 G_M000_IG20: mov esi, dword ptr [ebp-2CH] cmp esi, 0xD1FFAB1E je G_M000_IG37 G_M000_IG21: inc ecx mov edx, ecx mov dword ptr [ebp-2CH], esi mov dword ptr [ebp-30H], edx mov esi, eax jmp G_M000_IG08 G_M000_IG22: cmp edx, edi jge G_M000_IG38 G_M000_IG23: lea ecx, [edx+01H] mov esi, dword ptr [ebp-88H] movzx edx, word ptr [esi+2*edx] test edx, edx je G_M000_IG38 cmp edx, 59 je G_M000_IG38 mov esi, dword ptr [ebp-4CH] test esi, esi jg G_M000_IG67 G_M000_IG24: cmp edx, 69 ja G_M000_IG121 lea edi, [edx-22H] cmp edi, 5 ja G_M000_IG32 mov dword ptr [ebp-54H], ecx mov dword ptr [ebp-4CH], esi lea esi, [@RWD24] mov esi, dword ptr [esi+4*edi] lea ecx, G_M000_IG02 add esi, ecx jmp esi G_M000_IG25: mov ecx, dword ptr [ebp-54H] mov esi, dword ptr [ebp-4CH] jmp G_M000_IG33 G_M000_IG26: mov edx, eax lea eax, [edx+01H] movzx edx, byte ptr [edx] G_M000_IG27: movzx edx, dx G_M000_IG28: test edx, edx je SHORT G_M000_IG31 G_M000_IG29: mov dword ptr [ebp-54H], ecx mov dword ptr [ebp-90H], eax mov eax, dword ptr [ebx+04H] mov ecx, bword ptr [ebx+08H] mov bword ptr [ebp-240H], ecx mov ecx, dword ptr [ebx+0CH] cmp eax, ecx jae G_M000_IG125 cmp eax, ecx jae G_M000_IG186 mov ecx, bword ptr [ebp-240H] mov word ptr [ecx+2*eax], dx inc eax mov dword ptr [ebx+04H], eax G_M000_IG30: mov eax, dword ptr [ebp-44H] test eax, eax mov dword ptr [ebp-44H], eax mov eax, dword ptr [ebp-90H] mov ecx, dword ptr [ebp-54H] jne G_M000_IG126 G_M000_IG31: mov edi, dword ptr [ebp-34H] dec edi mov dword ptr [ebp-4CH], esi mov dword ptr [ebp-34H], edi mov edx, ecx mov edi, dword ptr [ebp-1C0H] jmp G_M000_IG22 G_M000_IG32: lea edi, [edx-2CH] cmp edi, 4 jne G_M000_IG51 G_M000_IG33: test esi, esi jl G_M000_IG48 G_M000_IG34: cmp byte ptr [eax], 0 jne G_M000_IG26 G_M000_IG35: mov edi, dword ptr [ebp-34H] cmp edi, dword ptr [ebp-30H] jg G_M000_IG50 G_M000_IG36: xor edx, edx mov dword ptr [ebp-34H], edi jmp G_M000_IG27 G_M000_IG37: mov dword ptr [ebp-2CH], ecx mov esi, dword ptr [ebp-2CH] jmp G_M000_IG21 G_M000_IG38: xor edx, edx mov bword ptr [ebp-8CH], edx mov esi, bword ptr [ebp-1D4H] cmp byte ptr [esi+08H], 0 jne G_M000_IG180 G_M000_IG39: cmp dword ptr [ebp-10H], 0xD1FFAB1E je SHORT G_M000_IG40 call CORINFO_HELP_FAIL_FAST G_M000_IG40: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG41: inc ecx mov esi, dword ptr [ebp-54H] mov edi, dword ptr [ebp-1C0H] jmp G_M000_IG08 G_M000_IG42: mov edi, dword ptr [ebp-34H] dec edi mov eax, dword ptr [ebp-4CH] dec eax mov dword ptr [ebp-34H], edi mov dword ptr [ebp-44H], esi mov esi, eax mov eax, dword ptr [ebp-90H] G_M000_IG43: mov dword ptr [ebp-4CH], esi test esi, esi jle G_M000_IG47 G_M000_IG44: mov dword ptr [ebp-90H], eax movzx eax, byte ptr [eax] mov dword ptr [ebp-1D0H], eax test eax, eax je G_M000_IG109 mov eax, dword ptr [ebp-90H] inc eax mov dword ptr [ebp-90H], eax mov esi, dword ptr [ebp-1D0H] G_M000_IG45: movzx esi, si mov dword ptr [ebp-C4H], esi mov esi, dword ptr [ebx+04H] mov dword ptr [ebp-C0H], esi mov esi, bword ptr [ebx+08H] mov bword ptr [ebp-228H], esi mov esi, dword ptr [ebx+0CH] mov dword ptr [ebp-150H], esi mov esi, dword ptr [ebp-C0H] cmp esi, dword ptr [ebp-150H] jae G_M000_IG110 cmp esi, dword ptr [ebp-150H] jae G_M000_IG186 mov edi, bword ptr [ebp-228H] mov eax, dword ptr [ebp-C4H] mov word ptr [edi+2*esi], ax inc esi mov dword ptr [ebx+04H], esi G_M000_IG46: mov esi, dword ptr [ebp-44H] test esi, esi jne G_M000_IG111 jmp G_M000_IG42 G_M000_IG47: mov esi, dword ptr [ebp-4CH] jmp G_M000_IG24 G_M000_IG48: inc esi mov edi, dword ptr [ebp-34H] cmp edi, dword ptr [ebp-2CH] jg G_M000_IG124 mov edx, 48 G_M000_IG49: movzx edx, dx mov dword ptr [ebp-34H], edi jmp G_M000_IG28 G_M000_IG50: mov edx, 48 mov dword ptr [ebp-34H], edi jmp G_M000_IG27 G_M000_IG51: cmp edi, 4 ja G_M000_IG119 mov dword ptr [ebp-54H], ecx mov dword ptr [ebp-4CH], esi lea esi, [@RWD48] mov esi, dword ptr [esi+4*edi] lea ecx, G_M000_IG02 add esi, ecx jmp esi G_M000_IG52: mov ecx, dword ptr [ebp-54H] mov esi, dword ptr [ebp-4CH] jmp G_M000_IG33 G_M000_IG53: mov edx, dword ptr [ebp-54H] mov edi, dword ptr [ebp-1C0H] jmp G_M000_IG22 G_M000_IG54: cmp edx, 4 ja G_M000_IG70 mov dword ptr [ebp-54H], eax lea eax, [@RWD68] mov eax, dword ptr [eax+4*edx] lea edi, G_M000_IG02 add eax, edi jmp eax G_M000_IG55: mov eax, dword ptr [ebp-54H] mov edi, dword ptr [ebp-1C0H] jmp G_M000_IG20 G_M000_IG56: mov esi, dword ptr [ebp-54H] mov edi, dword ptr [ebp-1C0H] jmp G_M000_IG08 G_M000_IG57: mov edi, dword ptr [ebp-28H] test edi, edi mov dword ptr [ebp-28H], edi mov esi, dword ptr [ebp-54H] mov edi, dword ptr [ebp-1C0H] jge G_M000_IG08 mov edx, ecx mov dword ptr [ebp-28H], edx jmp G_M000_IG08 G_M000_IG58: xor ecx, ecx cmp dword ptr [ebp-34H], 0 setne cl mov esi, dword ptr [ebp-64H] or ecx, esi mov dword ptr [ebp-64H], esi mov edx, dword ptr [ebp-54H] mov edi, dword ptr [ebp-1C0H] jne G_M000_IG22 cmp dword ptr [ebp-30H], 0 mov dword ptr [ebp-54H], edx jl SHORT G_M000_IG60 mov edx, dword ptr [ebp-28H] mov edi, dword ptr [ebp-24H] cmp edx, edi mov dword ptr [ebp-24H], edi mov dword ptr [ebp-28H], edx mov edx, dword ptr [ebp-54H] mov edi, dword ptr [ebp-1C0H] jge G_M000_IG22 mov dword ptr [ebp-90H], eax cmp byte ptr [eax], 0 mov eax, dword ptr [ebp-90H] je G_M000_IG22 G_M000_IG59: mov dword ptr [ebp-54H], edx G_M000_IG60: mov edx, gword ptr [ebp-2B4H] mov edx, gword ptr [edx+18H] mov gword ptr [ebp-1F8H], edx test edx, edx je G_M000_IG69 G_M000_IG61: add edx, 8 mov bword ptr [ebp-1FCH], edx mov edx, gword ptr [ebp-1F8H] mov edx, dword ptr [edx+04H] mov dword ptr [ebp-E0H], edx mov edx, bword ptr [ebp-1FCH] mov bword ptr [ebp-25CH], edx mov edx, dword ptr [ebp-E0H] mov dword ptr [ebp-178H], edx mov edx, bword ptr [ebp-25CH] mov bword ptr [ebp-258H], edx mov edx, dword ptr [ebp-178H] mov dword ptr [ebp-174H], edx G_M000_IG62: mov edx, bword ptr [ebp-258H] mov bword ptr [ebp-260H], edx mov edx, dword ptr [ebp-174H] mov dword ptr [ebp-E4H], edx mov edx, bword ptr [ebp-260H] mov bword ptr [ebp-268H], edx mov edx, dword ptr [ebp-E4H] mov dword ptr [ebp-180H], edx mov edx, dword ptr [ebx+04H] mov dword ptr [ebp-E8H], edx mov edx, bword ptr [ebx+08H] mov bword ptr [ebp-264H], edx mov edx, dword ptr [ebx+0CH] mov dword ptr [ebp-17CH], edx cmp dword ptr [ebp-180H], 1 jne SHORT G_M000_IG66 G_M000_IG63: mov edx, dword ptr [ebp-E8H] cmp edx, dword ptr [ebp-17CH] jae SHORT G_M000_IG65 cmp edx, dword ptr [ebp-17CH] jae G_M000_IG186 cmp dword ptr [ebp-180H], 0 jbe G_M000_IG186 mov edx, bword ptr [ebp-268H] movzx edx, word ptr [edx] mov edi, bword ptr [ebp-264H] mov esi, dword ptr [ebp-E8H] mov word ptr [edi+2*esi], dx inc esi mov dword ptr [ebx+04H], esi G_M000_IG64: mov edx, 1 mov dword ptr [ebp-64H], edx mov edx, dword ptr [ebp-54H] mov edi, dword ptr [ebp-1C0H] jmp G_M000_IG22 G_M000_IG65: mov dword ptr [ebp-90H], eax jmp SHORT G_M000_IG68 G_M000_IG66: mov dword ptr [ebp-90H], eax jmp SHORT G_M000_IG68 G_M000_IG67: cmp edx, 35 je G_M000_IG43 cmp edx, 46 je G_M000_IG43 cmp edx, 48 jne G_M000_IG24 jmp G_M000_IG43 G_M000_IG68: push dword ptr [ebp-180H] push bword ptr [ebp-268H] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] mov eax, dword ptr [ebp-90H] jmp SHORT G_M000_IG64 G_M000_IG69: xor edx, edx mov bword ptr [ebp-258H], edx xor edx, edx mov dword ptr [ebp-174H], edx jmp G_M000_IG62 G_M000_IG70: cmp esi, 69 je G_M000_IG79 mov esi, eax jmp G_M000_IG08 G_M000_IG71: cmp esi, 92 je G_M000_IG78 cmp esi, 101 je G_M000_IG79 cmp esi, 0x2030 mov esi, eax jne G_M000_IG08 mov eax, dword ptr [ebp-48H] add eax, 3 mov dword ptr [ebp-48H], eax jmp G_M000_IG08 G_M000_IG72: test ecx, ecx mov esi, dword ptr [ebp-54H] mov edi, dword ptr [ebp-1C0H] jle G_M000_IG08 mov edx, dword ptr [ebp-28H] test edx, edx mov dword ptr [ebp-28H], edx jge G_M000_IG08 cmp dword ptr [ebp-3CH], 0 jl SHORT G_M000_IG74 cmp dword ptr [ebp-3CH], ecx jne SHORT G_M000_IG73 mov eax, dword ptr [ebp-40H] inc eax mov dword ptr [ebp-40H], eax jmp G_M000_IG08 G_M000_IG73: mov eax, 1 mov dword ptr [ebp-44H], eax G_M000_IG74: mov dword ptr [ebp-3CH], ecx mov dword ptr [ebp-40H], 1 jmp G_M000_IG08 G_M000_IG75: mov eax, dword ptr [ebp-48H] add eax, 2 mov dword ptr [ebp-48H], eax mov esi, dword ptr [ebp-54H] mov edi, dword ptr [ebp-1C0H] jmp G_M000_IG08 G_M000_IG76: mov eax, dword ptr [ebp-54H] cmp eax, dword ptr [ebp-1C0H] mov dword ptr [ebp-5CH], esi mov esi, eax mov edi, dword ptr [ebp-1C0H] jge G_M000_IG08 mov eax, dword ptr [ebp-68H] cmp word ptr [eax+2*esi], 0 je G_M000_IG08 mov dword ptr [ebp-B0H], esi inc esi mov eax, dword ptr [ebp-68H] mov edi, dword ptr [ebp-B0H] movzx edi, word ptr [eax+2*edi] mov eax, dword ptr [ebp-5CH] cmp edi, eax mov dword ptr [ebp-54H], esi jne SHORT G_M000_IG77 mov esi, dword ptr [ebp-54H] mov edi, dword ptr [ebp-1C0H] jmp G_M000_IG08 G_M000_IG77: mov esi, eax jmp SHORT G_M000_IG76 G_M000_IG78: cmp eax, edi mov esi, eax jge G_M000_IG08 mov eax, dword ptr [ebp-68H] cmp word ptr [eax+2*esi], 0 je G_M000_IG08 inc esi jmp G_M000_IG08 G_M000_IG79: cmp eax, edi jge SHORT G_M000_IG80 mov esi, dword ptr [ebp-68H] cmp word ptr [esi+2*eax], 48 je SHORT G_M000_IG82 G_M000_IG80: lea esi, [eax+01H] cmp esi, edi mov esi, eax jge G_M000_IG08 mov eax, dword ptr [ebp-68H] cmp word ptr [eax+2*esi], 43 je SHORT G_M000_IG81 cmp word ptr [eax+2*esi], 45 jne SHORT G_M000_IG85 G_M000_IG81: cmp word ptr [eax+2*esi+02H], 48 jne G_M000_IG08 mov eax, esi G_M000_IG82: inc eax cmp eax, edi jge SHORT G_M000_IG83 mov esi, dword ptr [ebp-68H] cmp word ptr [esi+2*eax], 48 je SHORT G_M000_IG84 G_M000_IG83: mov dword ptr [ebp-38H], 1 mov esi, eax mov edi, dword ptr [ebp-1C0H] jmp G_M000_IG08 G_M000_IG84: mov edi, dword ptr [ebp-1C0H] jmp SHORT G_M000_IG82 G_M000_IG85: jmp G_M000_IG08 G_M000_IG86: mov dword ptr [ebp-44H], 1 mov edx, dword ptr [ebp-28H] jmp G_M000_IG13 G_M000_IG87: mov dword ptr [ebp-24H], ecx mov esi, ecx mov dword ptr [ebp-28H], edx mov eax, bword ptr [ebp-1D4H] jmp G_M000_IG14 G_M000_IG88: push dword ptr [ebp-1C4H] push bword ptr [ebp-1C8H] mov ecx, 2 call [System.Number:FindSection(System.ReadOnlySpan`1[ushort],int):int] mov ecx, dword ptr [ebp-50H] cmp eax, ecx mov dword ptr [ebp-50H], ecx je G_M000_IG15 mov ecx, eax mov dword ptr [ebp-50H], ecx jmp G_M000_IG04 G_M000_IG89: mov dword ptr [ebp-24H], ecx mov ecx, bword ptr [ebp-1D4H] cmp byte ptr [ecx+0AH], 3 je SHORT G_M000_IG90 mov byte ptr [ecx+08H], 0 G_M000_IG90: xor eax, eax mov dword ptr [ecx+04H], eax mov bword ptr [ebp-1D4H], ecx mov dword ptr [ebp-28H], edx jmp G_M000_IG15 G_M000_IG91: mov esi, eax xor ecx, ecx mov dword ptr [ebp-4CH], ecx mov dword ptr [ebp-34H], esi mov dword ptr [ebp-28H], eax jmp G_M000_IG16 G_M000_IG92: mov eax, gword ptr [ebp-2B4H] mov eax, gword ptr [eax+1CH] cmp dword ptr [eax+04H], 0 jle G_M000_IG17 mov eax, gword ptr [ebp-2B4H] mov eax, gword ptr [eax+04H] mov gword ptr [ebp-1D8H], eax xor eax, eax mov dword ptr [ebp-70H], eax xor eax, eax mov dword ptr [ebp-74H], eax mov eax, gword ptr [ebp-1D8H] mov eax, dword ptr [eax+04H] mov dword ptr [ebp-78H], eax test eax, eax je SHORT G_M000_IG93 mov eax, gword ptr [ebp-1D8H] mov eax, dword ptr [eax+08H] mov dword ptr [ebp-74H], eax G_M000_IG93: mov eax, dword ptr [ebp-74H] mov dword ptr [ebp-7CH], eax mov ecx, dword ptr [ebp-34H] mov eax, ecx mov esi, dword ptr [ebp-4CH] test esi, esi jl SHORT G_M000_IG94 mov dword ptr [ebp-A8H], eax xor eax, eax mov dword ptr [ebp-ACH], eax jmp SHORT G_M000_IG95 G_M000_IG94: mov dword ptr [ebp-A8H], eax mov dword ptr [ebp-4CH], esi mov dword ptr [ebp-ACH], esi mov esi, dword ptr [ebp-4CH] G_M000_IG95: mov eax, dword ptr [ebp-A8H] add eax, dword ptr [ebp-ACH] mov dword ptr [ebp-80H], eax mov eax, dword ptr [ebp-2CH] cmp eax, dword ptr [ebp-80H] mov edi, dword ptr [ebp-80H] cmovg edi, eax jmp G_M000_IG102 G_M000_IG96: cmp dword ptr [ebp-7CH], 0 mov dword ptr [ebp-4CH], esi mov dword ptr [ebp-2CH], eax mov dword ptr [ebp-84H], edi mov edi, dword ptr [ebp-1C0H] je G_M000_IG17 mov eax, dword ptr [ebp-60H] inc eax mov dword ptr [ebp-60H], eax cmp eax, dword ptr [ebp-13CH] jl SHORT G_M000_IG97 mov dword ptr [ebp-54H], edx mov eax, dword ptr [ebp-13CH] lea edx, [eax+eax] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-1DCH], eax lea ecx, bword ptr [eax+08H] mov edx, dword ptr [eax+04H] mov eax, dword ptr [ebp-13CH] cmp eax, edx ja SHORT G_M000_IG98 shl eax, 2 push eax mov edx, bword ptr [ebp-210H] call [System.Buffer:Memmove(byref,byref,uint)] jmp SHORT G_M000_IG99 G_M000_IG97: jmp SHORT G_M000_IG100 G_M000_IG98: call [System.ThrowHelper:ThrowArgumentException_DestinationTooShort()] int3 G_M000_IG99: mov ecx, gword ptr [ebp-1DCH] lea edx, bword ptr [ecx+08H] mov eax, dword ptr [ecx+04H] mov dword ptr [ebp-13CH], eax mov bword ptr [ebp-210H], edx mov edx, dword ptr [ebp-54H] G_M000_IG100: mov eax, dword ptr [ebp-60H] cmp eax, dword ptr [ebp-13CH] jae G_M000_IG186 mov edi, bword ptr [ebp-210H] mov ecx, dword ptr [ebp-74H] mov dword ptr [edi+4*eax], ecx mov ecx, dword ptr [ebp-78H] dec ecx cmp dword ptr [ebp-70H], ecx jge SHORT G_M000_IG101 mov ecx, dword ptr [ebp-70H] inc ecx mov edi, gword ptr [ebp-1D8H] cmp ecx, dword ptr [edi+04H] jae G_M000_IG186 mov dword ptr [ebp-70H], ecx mov ecx, dword ptr [edi+4*ecx+08H] mov dword ptr [ebp-7CH], ecx mov gword ptr [ebp-1D8H], edi G_M000_IG101: mov ecx, dword ptr [ebp-74H] add ecx, dword ptr [ebp-7CH] mov dword ptr [ebp-60H], eax mov dword ptr [ebp-74H], ecx mov eax, dword ptr [ebp-2CH] mov esi, dword ptr [ebp-4CH] mov edi, dword ptr [ebp-84H] G_M000_IG102: cmp edi, dword ptr [ebp-74H] jg G_M000_IG96 mov dword ptr [ebp-4CH], esi mov dword ptr [ebp-2CH], eax mov edi, dword ptr [ebp-1C0H] jmp G_M000_IG17 G_M000_IG103: mov dword ptr [ebp-54H], edx test edx, edx mov edx, dword ptr [ebp-54H] jne G_M000_IG18 mov eax, bword ptr [ebp-1D4H] cmp dword ptr [eax+04H], 0 je G_M000_IG18 mov eax, gword ptr [ebp-2B4H] mov eax, gword ptr [eax+14H] mov gword ptr [ebp-1E0H], eax test eax, eax jne SHORT G_M000_IG104 xor eax, eax mov bword ptr [ebp-214H], eax xor eax, eax mov dword ptr [ebp-140H], eax jmp SHORT G_M000_IG105 G_M000_IG104: add eax, 8 mov bword ptr [ebp-1E4H], eax mov eax, gword ptr [ebp-1E0H] mov eax, dword ptr [eax+04H] mov dword ptr [ebp-B4H], eax mov eax, bword ptr [ebp-1E4H] mov bword ptr [ebp-218H], eax mov eax, dword ptr [ebp-B4H] mov dword ptr [ebp-144H], eax mov eax, bword ptr [ebp-218H] mov bword ptr [ebp-214H], eax mov eax, dword ptr [ebp-144H] mov dword ptr [ebp-140H], eax G_M000_IG105: mov eax, bword ptr [ebp-214H] mov bword ptr [ebp-21CH], eax mov eax, dword ptr [ebp-140H] mov dword ptr [ebp-B8H], eax mov eax, bword ptr [ebp-21CH] mov bword ptr [ebp-224H], eax mov eax, dword ptr [ebp-B8H] mov dword ptr [ebp-14CH], eax mov eax, dword ptr [ebx+04H] mov dword ptr [ebp-BCH], eax mov eax, bword ptr [ebx+08H] mov bword ptr [ebp-220H], eax mov eax, dword ptr [ebx+0CH] mov dword ptr [ebp-148H], eax cmp dword ptr [ebp-14CH], 1 jne SHORT G_M000_IG107 mov eax, dword ptr [ebp-BCH] cmp eax, dword ptr [ebp-148H] jae SHORT G_M000_IG106 mov eax, bword ptr [ebp-224H] movzx eax, word ptr [eax] mov edi, bword ptr [ebp-220H] mov ecx, dword ptr [ebp-BCH] mov word ptr [edi+2*ecx], ax inc ecx mov dword ptr [ebx+04H], ecx mov edi, dword ptr [ebp-1C0H] jmp G_M000_IG18 G_M000_IG106: mov dword ptr [ebp-54H], edx jmp SHORT G_M000_IG108 G_M000_IG107: mov dword ptr [ebp-54H], edx G_M000_IG108: push dword ptr [ebp-14CH] push bword ptr [ebp-224H] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] mov edx, dword ptr [ebp-54H] jmp G_M000_IG18 G_M000_IG109: mov eax, 48 mov esi, eax jmp G_M000_IG45 G_M000_IG110: mov dword ptr [ebp-5CH], edx mov dword ptr [ebp-54H], ecx mov ecx, ebx mov edx, dword ptr [ebp-C4H] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov ecx, dword ptr [ebp-54H] mov edx, dword ptr [ebp-5CH] jmp G_M000_IG46 G_M000_IG111: mov eax, dword ptr [ebp-34H] cmp eax, 1 mov dword ptr [ebp-34H], eax jle G_M000_IG42 mov eax, dword ptr [ebp-60H] test eax, eax mov dword ptr [ebp-60H], eax jl G_M000_IG42 mov dword ptr [ebp-44H], esi mov eax, dword ptr [ebp-60H] cmp eax, dword ptr [ebp-13CH] jae G_M000_IG186 mov esi, bword ptr [ebp-210H] mov dword ptr [ebp-60H], eax mov esi, dword ptr [esi+4*eax] inc esi cmp esi, dword ptr [ebp-34H] jne SHORT G_M000_IG112 mov esi, gword ptr [ebp-2B4H] mov eax, gword ptr [esi+1CH] mov gword ptr [ebp-1E8H], eax test eax, eax jne SHORT G_M000_IG113 xor eax, eax mov bword ptr [ebp-22CH], eax xor eax, eax mov dword ptr [ebp-154H], eax jmp SHORT G_M000_IG114 G_M000_IG112: mov esi, dword ptr [ebp-44H] jmp G_M000_IG42 G_M000_IG113: add eax, 8 mov bword ptr [ebp-1ECH], eax mov eax, gword ptr [ebp-1E8H] mov eax, dword ptr [eax+04H] mov dword ptr [ebp-C8H], eax mov eax, bword ptr [ebp-1ECH] mov bword ptr [ebp-230H], eax mov eax, dword ptr [ebp-C8H] mov dword ptr [ebp-158H], eax mov eax, bword ptr [ebp-230H] mov bword ptr [ebp-22CH], eax mov eax, dword ptr [ebp-158H] mov dword ptr [ebp-154H], eax G_M000_IG114: mov eax, bword ptr [ebp-22CH] mov bword ptr [ebp-234H], eax mov eax, dword ptr [ebp-154H] mov dword ptr [ebp-CCH], eax mov eax, bword ptr [ebp-234H] mov bword ptr [ebp-23CH], eax mov eax, dword ptr [ebp-CCH] mov dword ptr [ebp-160H], eax mov eax, dword ptr [ebx+04H] mov dword ptr [ebp-D0H], eax mov eax, bword ptr [ebx+08H] mov bword ptr [ebp-238H], eax mov eax, dword ptr [ebx+0CH] mov dword ptr [ebp-15CH], eax cmp dword ptr [ebp-160H], 1 jne SHORT G_M000_IG116 mov eax, dword ptr [ebp-D0H] cmp eax, dword ptr [ebp-15CH] jae SHORT G_M000_IG115 cmp eax, dword ptr [ebp-15CH] jae G_M000_IG186 cmp dword ptr [ebp-160H], 0 jbe G_M000_IG186 mov eax, bword ptr [ebp-23CH] movzx eax, word ptr [eax] mov esi, bword ptr [ebp-238H] mov edi, dword ptr [ebp-D0H] mov word ptr [esi+2*edi], ax inc edi mov dword ptr [ebx+04H], edi jmp SHORT G_M000_IG118 G_M000_IG115: mov dword ptr [ebp-5CH], edx mov dword ptr [ebp-54H], ecx jmp SHORT G_M000_IG117 G_M000_IG116: mov dword ptr [ebp-5CH], edx mov dword ptr [ebp-54H], ecx G_M000_IG117: push dword ptr [ebp-160H] push bword ptr [ebp-23CH] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] mov ecx, dword ptr [ebp-54H] mov edx, dword ptr [ebp-5CH] G_M000_IG118: mov eax, dword ptr [ebp-60H] dec eax mov dword ptr [ebp-60H], eax mov esi, dword ptr [ebp-44H] jmp G_M000_IG42 G_M000_IG119: cmp edx, 69 je SHORT G_M000_IG120 mov dword ptr [ebp-54H], ecx mov dword ptr [ebp-4CH], esi jmp G_M000_IG178 G_M000_IG120: mov dword ptr [ebp-90H], eax jmp G_M000_IG154 G_M000_IG121: cmp edx, 92 je G_M000_IG151 cmp edx, 101 je SHORT G_M000_IG123 cmp edx, 0x2030 jne SHORT G_M000_IG122 mov dword ptr [ebp-90H], eax mov edx, gword ptr [ebp-2B4H] mov eax, gword ptr [edx+44H] mov gword ptr [ebp-200H], eax test eax, eax jne G_M000_IG135 jmp G_M000_IG134 G_M000_IG122: mov dword ptr [ebp-54H], ecx mov dword ptr [ebp-4CH], esi jmp G_M000_IG178 G_M000_IG123: mov dword ptr [ebp-90H], eax jmp G_M000_IG154 G_M000_IG124: mov dword ptr [ebp-90H], eax xor eax, eax mov edx, eax mov eax, dword ptr [ebp-90H] jmp G_M000_IG49 G_M000_IG125: mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] jmp G_M000_IG30 G_M000_IG126: mov edi, dword ptr [ebp-34H] cmp edi, 1 mov dword ptr [ebp-34H], edi jle G_M000_IG31 mov edx, dword ptr [ebp-60H] test edx, edx mov dword ptr [ebp-60H], edx jl G_M000_IG31 mov dword ptr [ebp-90H], eax mov edx, dword ptr [ebp-60H] cmp edx, dword ptr [ebp-13CH] jae G_M000_IG186 mov eax, bword ptr [ebp-210H] mov dword ptr [ebp-60H], edx mov eax, dword ptr [eax+4*edx] inc eax cmp eax, dword ptr [ebp-34H] jne SHORT G_M000_IG127 mov edx, gword ptr [ebp-2B4H] mov eax, gword ptr [edx+1CH] mov gword ptr [ebp-1F0H], eax test eax, eax jne SHORT G_M000_IG128 xor eax, eax mov bword ptr [ebp-244H], eax xor eax, eax mov dword ptr [ebp-164H], eax jmp SHORT G_M000_IG129 G_M000_IG127: mov eax, dword ptr [ebp-90H] jmp G_M000_IG31 G_M000_IG128: add eax, 8 mov bword ptr [ebp-1F4H], eax mov eax, gword ptr [ebp-1F0H] mov eax, dword ptr [eax+04H] mov dword ptr [ebp-D4H], eax mov eax, bword ptr [ebp-1F4H] mov bword ptr [ebp-248H], eax mov eax, dword ptr [ebp-D4H] mov dword ptr [ebp-168H], eax mov eax, bword ptr [ebp-248H] mov bword ptr [ebp-244H], eax mov eax, dword ptr [ebp-168H] mov dword ptr [ebp-164H], eax G_M000_IG129: mov eax, bword ptr [ebp-244H] mov bword ptr [ebp-24CH], eax mov eax, dword ptr [ebp-164H] mov dword ptr [ebp-D8H], eax mov eax, bword ptr [ebp-24CH] mov bword ptr [ebp-254H], eax mov eax, dword ptr [ebp-D8H] mov dword ptr [ebp-170H], eax mov eax, dword ptr [ebx+04H] mov dword ptr [ebp-DCH], eax mov eax, bword ptr [ebx+08H] mov bword ptr [ebp-250H], eax mov eax, dword ptr [ebx+0CH] mov dword ptr [ebp-16CH], eax cmp dword ptr [ebp-170H], 1 jne SHORT G_M000_IG131 mov eax, dword ptr [ebp-DCH] cmp eax, dword ptr [ebp-16CH] jae SHORT G_M000_IG130 cmp eax, dword ptr [ebp-16CH] jae G_M000_IG186 cmp dword ptr [ebp-170H], 0 jbe G_M000_IG186 mov eax, bword ptr [ebp-254H] movzx eax, word ptr [eax] mov edx, bword ptr [ebp-250H] mov edi, dword ptr [ebp-DCH] mov word ptr [edx+2*edi], ax inc edi mov dword ptr [ebx+04H], edi jmp SHORT G_M000_IG133 G_M000_IG130: mov dword ptr [ebp-54H], ecx jmp SHORT G_M000_IG132 G_M000_IG131: mov dword ptr [ebp-54H], ecx G_M000_IG132: push dword ptr [ebp-170H] push bword ptr [ebp-254H] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] mov ecx, dword ptr [ebp-54H] G_M000_IG133: mov eax, dword ptr [ebp-60H] dec eax mov dword ptr [ebp-60H], eax mov eax, dword ptr [ebp-90H] jmp G_M000_IG31 G_M000_IG134: xor eax, eax mov bword ptr [ebp-26CH], eax xor eax, eax mov dword ptr [ebp-184H], eax jmp SHORT G_M000_IG136 G_M000_IG135: add eax, 8 mov bword ptr [ebp-204H], eax mov eax, gword ptr [ebp-200H] mov eax, dword ptr [eax+04H] mov dword ptr [ebp-ECH], eax mov eax, bword ptr [ebp-204H] mov bword ptr [ebp-270H], eax mov eax, dword ptr [ebp-ECH] mov dword ptr [ebp-188H], eax mov eax, bword ptr [ebp-270H] mov bword ptr [ebp-26CH], eax mov eax, dword ptr [ebp-188H] mov dword ptr [ebp-184H], eax G_M000_IG136: mov eax, bword ptr [ebp-26CH] mov bword ptr [ebp-274H], eax mov eax, dword ptr [ebp-184H] mov dword ptr [ebp-F0H], eax mov eax, bword ptr [ebp-274H] mov bword ptr [ebp-27CH], eax mov eax, dword ptr [ebp-F0H] mov dword ptr [ebp-190H], eax mov eax, dword ptr [ebx+04H] mov dword ptr [ebp-F4H], eax mov eax, bword ptr [ebx+08H] mov bword ptr [ebp-278H], eax mov eax, dword ptr [ebx+0CH] mov dword ptr [ebp-18CH], eax cmp dword ptr [ebp-190H], 1 jne SHORT G_M000_IG138 mov eax, dword ptr [ebp-F4H] cmp eax, dword ptr [ebp-18CH] jae SHORT G_M000_IG137 cmp eax, dword ptr [ebp-18CH] jae G_M000_IG186 cmp dword ptr [ebp-190H], 0 jbe G_M000_IG186 mov eax, bword ptr [ebp-27CH] movzx eax, word ptr [eax] mov edx, bword ptr [ebp-278H] mov edi, dword ptr [ebp-F4H] mov word ptr [edx+2*edi], ax inc edi mov dword ptr [ebx+04H], edi mov dword ptr [ebp-4CH], esi mov edx, ecx mov eax, dword ptr [ebp-90H] mov edi, dword ptr [ebp-1C0H] jmp G_M000_IG22 G_M000_IG137: mov dword ptr [ebp-54H], ecx jmp SHORT G_M000_IG139 G_M000_IG138: mov dword ptr [ebp-54H], ecx G_M000_IG139: push dword ptr [ebp-190H] push bword ptr [ebp-27CH] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] mov dword ptr [ebp-4CH], esi mov eax, dword ptr [ebp-90H] mov edx, dword ptr [ebp-54H] mov edi, dword ptr [ebp-1C0H] jmp G_M000_IG22 G_M000_IG140: mov edx, gword ptr [ebp-2B4H] mov ecx, gword ptr [edx+40H] mov gword ptr [ebp-208H], ecx test ecx, ecx jne SHORT G_M000_IG141 xor ecx, ecx mov bword ptr [ebp-280H], ecx xor ecx, ecx mov dword ptr [ebp-194H], ecx jmp SHORT G_M000_IG142 G_M000_IG141: add ecx, 8 mov bword ptr [ebp-20CH], ecx mov ecx, gword ptr [ebp-208H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-F8H], ecx mov ecx, bword ptr [ebp-20CH] mov bword ptr [ebp-284H], ecx mov ecx, dword ptr [ebp-F8H] mov dword ptr [ebp-198H], ecx mov ecx, bword ptr [ebp-284H] mov bword ptr [ebp-280H], ecx mov ecx, dword ptr [ebp-198H] mov dword ptr [ebp-194H], ecx G_M000_IG142: mov ecx, bword ptr [ebp-280H] mov bword ptr [ebp-288H], ecx mov ecx, dword ptr [ebp-194H] mov dword ptr [ebp-FCH], ecx mov ecx, bword ptr [ebp-288H] mov bword ptr [ebp-290H], ecx mov ecx, dword ptr [ebp-FCH] mov dword ptr [ebp-1A0H], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-100H], ecx mov ecx, bword ptr [ebx+08H] mov bword ptr [ebp-28CH], ecx mov ecx, dword ptr [ebx+0CH] mov dword ptr [ebp-19CH], ecx cmp dword ptr [ebp-1A0H], 1 jne SHORT G_M000_IG143 mov ecx, dword ptr [ebp-100H] cmp ecx, dword ptr [ebp-19CH] mov dword ptr [ebp-90H], eax jae SHORT G_M000_IG144 cmp ecx, dword ptr [ebp-19CH] jae G_M000_IG186 cmp dword ptr [ebp-1A0H], 0 jbe G_M000_IG186 mov ecx, bword ptr [ebp-290H] movzx ecx, word ptr [ecx] mov eax, bword ptr [ebp-28CH] mov edx, dword ptr [ebp-100H] mov word ptr [eax+2*edx], cx inc edx mov dword ptr [ebx+04H], edx mov eax, dword ptr [ebp-90H] mov edx, dword ptr [ebp-54H] mov edi, dword ptr [ebp-1C0H] jmp G_M000_IG22 G_M000_IG143: mov dword ptr [ebp-90H], eax G_M000_IG144: push dword ptr [ebp-1A0H] push bword ptr [ebp-290H] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] mov eax, dword ptr [ebp-90H] mov edx, dword ptr [ebp-54H] mov edi, dword ptr [ebp-1C0H] jmp G_M000_IG22 G_M000_IG145: mov eax, ecx lea ecx, [eax+01H] mov dword ptr [ebp-54H], ecx mov edi, dword ptr [ebp-88H] movzx eax, word ptr [edi+2*eax] mov dword ptr [ebp-108H], eax mov eax, dword ptr [ebx+04H] mov dword ptr [ebp-104H], eax mov eax, bword ptr [ebx+08H] mov bword ptr [ebp-294H], eax mov eax, dword ptr [ebx+0CH] mov dword ptr [ebp-1A4H], eax mov eax, dword ptr [ebp-104H] cmp eax, dword ptr [ebp-1A4H] jae SHORT G_M000_IG146 cmp eax, dword ptr [ebp-1A4H] jae G_M000_IG186 mov edi, bword ptr [ebp-294H] mov esi, dword ptr [ebp-108H] mov word ptr [edi+2*eax], si inc eax mov dword ptr [ebx+04H], eax mov eax, dword ptr [ebp-90H] mov edx, dword ptr [ebp-5CH] jmp SHORT G_M000_IG147 G_M000_IG146: mov ecx, ebx mov edx, dword ptr [ebp-108H] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov eax, dword ptr [ebp-90H] mov edx, dword ptr [ebp-5CH] G_M000_IG147: mov ecx, dword ptr [ebp-54H] cmp ecx, dword ptr [ebp-1C0H] jge SHORT G_M000_IG148 mov dword ptr [ebp-90H], eax mov eax, dword ptr [ebp-88H] cmp word ptr [eax+2*ecx], 0 je SHORT G_M000_IG149 movzx eax, word ptr [eax+2*ecx] mov dword ptr [ebp-5CH], edx cmp eax, edx jne G_M000_IG145 mov eax, dword ptr [ebp-90H] G_M000_IG148: mov edi, dword ptr [ebp-1C0H] cmp ecx, edi jge SHORT G_M000_IG150 mov dword ptr [ebp-90H], eax mov eax, dword ptr [ebp-88H] G_M000_IG149: cmp word ptr [eax+2*ecx], 0 mov edx, ecx mov eax, dword ptr [ebp-90H] mov edi, dword ptr [ebp-1C0H] je G_M000_IG22 inc edx jmp G_M000_IG22 G_M000_IG150: mov edx, ecx jmp G_M000_IG22 G_M000_IG151: cmp ecx, dword ptr [ebp-1C0H] mov dword ptr [ebp-4CH], esi mov edx, ecx mov edi, dword ptr [ebp-1C0H] jge G_M000_IG22 mov dword ptr [ebp-90H], eax mov eax, dword ptr [ebp-88H] cmp word ptr [eax+2*edx], 0 je G_M000_IG152 mov dword ptr [ebp-9CH], edx inc edx mov dword ptr [ebp-54H], edx mov eax, dword ptr [ebp-88H] mov edi, dword ptr [ebp-9CH] movzx edi, word ptr [eax+2*edi] mov dword ptr [ebp-110H], edi mov edi, dword ptr [ebx+04H] mov dword ptr [ebp-10CH], edi mov edi, bword ptr [ebx+08H] mov bword ptr [ebp-298H], edi mov edi, dword ptr [ebx+0CH] mov dword ptr [ebp-1A8H], edi mov edi, dword ptr [ebp-10CH] cmp edi, dword ptr [ebp-1A8H] jae SHORT G_M000_IG153 cmp edi, dword ptr [ebp-1A8H] jae G_M000_IG186 mov eax, bword ptr [ebp-298H] mov ecx, dword ptr [ebp-110H] mov word ptr [eax+2*edi], cx inc edi mov dword ptr [ebx+04H], edi mov eax, dword ptr [ebp-90H] mov edx, dword ptr [ebp-54H] mov edi, dword ptr [ebp-1C0H] jmp G_M000_IG22 G_M000_IG152: mov eax, dword ptr [ebp-90H] jmp G_M000_IG22 G_M000_IG153: mov ecx, ebx mov edx, dword ptr [ebp-110H] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov eax, dword ptr [ebp-90H] mov edx, dword ptr [ebp-54H] mov edi, dword ptr [ebp-1C0H] jmp G_M000_IG22 G_M000_IG154: xor eax, eax mov dword ptr [ebp-94H], eax xor eax, eax mov dword ptr [ebp-98H], eax cmp dword ptr [ebp-38H], 0 je G_M000_IG167 cmp ecx, dword ptr [ebp-1C0H] jge SHORT G_M000_IG155 mov eax, dword ptr [ebp-88H] cmp word ptr [eax+2*ecx], 48 je G_M000_IG161 G_M000_IG155: lea eax, [ecx+01H] cmp eax, dword ptr [ebp-1C0H] jge SHORT G_M000_IG158 mov eax, dword ptr [ebp-88H] cmp word ptr [eax+2*ecx], 43 jne SHORT G_M000_IG157 cmp word ptr [eax+2*ecx+02H], 48 jne SHORT G_M000_IG156 mov dword ptr [ebp-94H], 1 jmp G_M000_IG162 G_M000_IG156: mov eax, dword ptr [ebp-88H] G_M000_IG157: cmp word ptr [eax+2*ecx], 45 jne SHORT G_M000_IG159 mov dword ptr [ebp-54H], ecx cmp word ptr [eax+2*ecx+02H], 48 mov ecx, dword ptr [ebp-54H] je G_M000_IG162 G_M000_IG158: mov dword ptr [ebp-118H], edx mov edx, dword ptr [ebx+04H] mov dword ptr [ebp-114H], edx mov edx, bword ptr [ebx+08H] mov bword ptr [ebp-29CH], edx mov edx, dword ptr [ebx+0CH] mov dword ptr [ebp-1ACH], edx mov edx, dword ptr [ebp-114H] cmp edx, dword ptr [ebp-1ACH] jae SHORT G_M000_IG160 cmp edx, dword ptr [ebp-1ACH] jae G_M000_IG186 mov eax, bword ptr [ebp-29CH] mov edi, dword ptr [ebp-118H] mov word ptr [eax+2*edx], di inc edx mov dword ptr [ebx+04H], edx mov dword ptr [ebp-4CH], esi mov edx, ecx mov eax, dword ptr [ebp-90H] mov edi, dword ptr [ebp-1C0H] jmp G_M000_IG22 G_M000_IG159: jmp SHORT G_M000_IG158 G_M000_IG160: mov dword ptr [ebp-54H], ecx mov ecx, ebx mov edx, dword ptr [ebp-118H] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov dword ptr [ebp-4CH], esi mov eax, dword ptr [ebp-90H] mov edx, dword ptr [ebp-54H] mov edi, dword ptr [ebp-1C0H] jmp G_M000_IG22 G_M000_IG161: mov eax, dword ptr [ebp-98H] inc eax mov dword ptr [ebp-98H], eax G_M000_IG162: inc ecx cmp ecx, dword ptr [ebp-1C0H] jge SHORT G_M000_IG163 mov eax, dword ptr [ebp-88H] mov dword ptr [ebp-54H], ecx cmp word ptr [eax+2*ecx], 48 mov ecx, dword ptr [ebp-54H] je SHORT G_M000_IG161 G_M000_IG163: cmp dword ptr [ebp-98H], 10 jle SHORT G_M000_IG164 mov eax, 10 mov dword ptr [ebp-98H], eax G_M000_IG164: mov eax, dword ptr [ebp-58H] cmp byte ptr [eax], 0 je SHORT G_M000_IG165 mov eax, bword ptr [ebp-1D4H] mov eax, dword ptr [eax+04H] sub eax, dword ptr [ebp-28H] mov dword ptr [ebp-54H], ecx jmp SHORT G_M000_IG166 G_M000_IG165: xor eax, eax mov dword ptr [ebp-54H], ecx G_M000_IG166: push eax push edx push dword ptr [ebp-98H] push dword ptr [ebp-94H] mov ecx, ebx mov edx, gword ptr [ebp-2B4H] call [System.Number:FormatExponent[ushort](byref,System.Globalization.NumberFormatInfo,int,ushort,int,bool)] xor eax, eax mov dword ptr [ebp-38H], eax mov dword ptr [ebp-4CH], esi mov eax, dword ptr [ebp-90H] mov edx, dword ptr [ebp-54H] mov edi, dword ptr [ebp-1C0H] jmp G_M000_IG22 G_M000_IG167: mov dword ptr [ebp-120H], edx mov edx, dword ptr [ebx+04H] mov dword ptr [ebp-11CH], edx mov edx, bword ptr [ebx+08H] mov bword ptr [ebp-2A0H], edx mov edx, dword ptr [ebx+0CH] mov dword ptr [ebp-1B0H], edx mov edx, dword ptr [ebp-11CH] cmp edx, dword ptr [ebp-1B0H] jae SHORT G_M000_IG168 cmp edx, dword ptr [ebp-1B0H] jae G_M000_IG186 mov eax, bword ptr [ebp-2A0H] mov edi, dword ptr [ebp-120H] mov word ptr [eax+2*edx], di inc edx mov dword ptr [ebx+04H], edx jmp SHORT G_M000_IG169 G_M000_IG168: mov dword ptr [ebp-54H], ecx mov ecx, ebx mov edx, dword ptr [ebp-120H] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov ecx, dword ptr [ebp-54H] G_M000_IG169: cmp ecx, dword ptr [ebp-1C0H] mov dword ptr [ebp-4CH], esi mov edx, ecx mov edi, dword ptr [ebp-1C0H] jge G_M000_IG172 mov eax, dword ptr [ebp-88H] cmp word ptr [eax+2*edx], 43 je G_M000_IG171 cmp word ptr [eax+2*edx], 45 jne G_M000_IG176 G_M000_IG170: mov dword ptr [ebp-A0H], edx inc edx mov dword ptr [ebp-54H], edx mov edi, dword ptr [ebp-A0H] movzx edi, word ptr [eax+2*edi] mov dword ptr [ebp-128H], edi mov edi, dword ptr [ebx+04H] mov dword ptr [ebp-124H], edi mov edi, bword ptr [ebx+08H] mov bword ptr [ebp-2A4H], edi mov edi, dword ptr [ebx+0CH] mov dword ptr [ebp-1B4H], edi mov edi, dword ptr [ebp-124H] cmp edi, dword ptr [ebp-1B4H] jae SHORT G_M000_IG173 cmp edi, dword ptr [ebp-1B4H] jae G_M000_IG186 mov eax, bword ptr [ebp-2A4H] mov ecx, dword ptr [ebp-128H] mov word ptr [eax+2*edi], cx inc edi mov dword ptr [ebx+04H], edi mov eax, dword ptr [ebp-88H] mov edx, dword ptr [ebp-54H] mov edi, dword ptr [ebp-1C0H] jmp G_M000_IG176 G_M000_IG171: jmp SHORT G_M000_IG170 G_M000_IG172: mov eax, dword ptr [ebp-90H] jmp G_M000_IG22 G_M000_IG173: mov ecx, ebx mov edx, dword ptr [ebp-128H] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov eax, dword ptr [ebp-88H] mov edx, dword ptr [ebp-54H] mov edi, dword ptr [ebp-1C0H] jmp G_M000_IG176 G_M000_IG174: mov dword ptr [ebp-A4H], edx inc edx mov dword ptr [ebp-54H], edx mov edi, dword ptr [ebp-A4H] movzx edi, word ptr [eax+2*edi] mov dword ptr [ebp-130H], edi mov edi, dword ptr [ebx+04H] mov dword ptr [ebp-12CH], edi mov edi, bword ptr [ebx+08H] mov bword ptr [ebp-2A8H], edi mov edi, dword ptr [ebx+0CH] mov dword ptr [ebp-1B8H], edi mov edi, dword ptr [ebp-12CH] cmp edi, dword ptr [ebp-1B8H] jae SHORT G_M000_IG175 cmp edi, dword ptr [ebp-1B8H] jae G_M000_IG186 mov eax, bword ptr [ebp-2A8H] mov ecx, dword ptr [ebp-130H] mov word ptr [eax+2*edi], cx inc edi mov dword ptr [ebx+04H], edi mov eax, dword ptr [ebp-88H] mov edx, dword ptr [ebp-54H] mov edi, dword ptr [ebp-1C0H] jmp SHORT G_M000_IG176 G_M000_IG175: mov ecx, ebx mov edx, dword ptr [ebp-130H] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov eax, dword ptr [ebp-88H] mov edx, dword ptr [ebp-54H] mov edi, dword ptr [ebp-1C0H] G_M000_IG176: cmp edx, edi mov edi, dword ptr [ebp-1C0H] jge SHORT G_M000_IG177 mov eax, dword ptr [ebp-88H] cmp word ptr [eax+2*edx], 48 je G_M000_IG174 mov eax, dword ptr [ebp-90H] jmp G_M000_IG22 G_M000_IG177: mov eax, dword ptr [ebp-90H] jmp G_M000_IG22 G_M000_IG178: mov dword ptr [ebp-138H], edx mov edx, dword ptr [ebx+04H] mov dword ptr [ebp-134H], edx mov edx, bword ptr [ebx+08H] mov bword ptr [ebp-2ACH], edx mov edx, dword ptr [ebx+0CH] mov dword ptr [ebp-1BCH], edx mov edx, dword ptr [ebp-134H] cmp edx, dword ptr [ebp-1BCH] jae SHORT G_M000_IG179 mov dword ptr [ebp-90H], eax cmp edx, dword ptr [ebp-1BCH] jae G_M000_IG186 mov eax, bword ptr [ebp-2ACH] mov edi, dword ptr [ebp-138H] mov word ptr [eax+2*edx], di inc edx mov dword ptr [ebx+04H], edx mov eax, dword ptr [ebp-90H] mov edx, dword ptr [ebp-54H] mov edi, dword ptr [ebp-1C0H] jmp G_M000_IG22 G_M000_IG179: mov dword ptr [ebp-90H], eax mov ecx, ebx mov edx, dword ptr [ebp-138H] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov eax, dword ptr [ebp-90H] mov edx, dword ptr [ebp-54H] mov edi, dword ptr [ebp-1C0H] jmp G_M000_IG22 G_M000_IG180: cmp dword ptr [ebp-50H], 0 jne G_M000_IG39 mov esi, bword ptr [ebp-1D4H] cmp dword ptr [esi+04H], 0 jne G_M000_IG39 cmp dword ptr [ebx+04H], 0 jle G_M000_IG39 mov edi, gword ptr [ebp-2B4H] mov ecx, gword ptr [edi+14H] test ecx, ecx jne SHORT G_M000_IG181 xor edx, edx xor eax, eax jmp SHORT G_M000_IG182 G_M000_IG181: lea edx, bword ptr [ecx+08H] mov eax, dword ptr [ecx+04H] G_M000_IG182: push eax push edx mov ecx, ebx xor edx, edx call [System.Collections.Generic.ValueListBuilder`1[ushort]:Insert(int,System.ReadOnlySpan`1[ushort]):this] jmp G_M000_IG39 G_M000_IG183: call CORINFO_HELP_OVERFLOW G_M000_IG184: mov esi, 2 mov bword ptr [ebp-1D4H], edx mov eax, esi mov esi, bword ptr [ebp-2B0H] jmp G_M000_IG03 G_M000_IG185: mov dword ptr [ebp-28H], edx cmp eax, edx jne G_M000_IG86 mov eax, dword ptr [ebp-40H] lea eax, [eax+2*eax] mov dword ptr [ebp-2B8H], eax mov eax, dword ptr [ebp-48H] sub eax, dword ptr [ebp-2B8H] mov dword ptr [ebp-48H], eax mov edx, dword ptr [ebp-28H] jmp G_M000_IG13 G_M000_IG186: call CORINFO_HELP_RNGCHKFAIL int3 RWD00 dd G_M000_IG76 - G_M000_IG02 dd G_M000_IG41 - G_M000_IG02 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG75 - G_M000_IG02 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG76 - G_M000_IG02 RWD24 dd G_M000_IG147 - G_M000_IG02 dd G_M000_IG25 - G_M000_IG02 dd G_M000_IG178 - G_M000_IG02 dd G_M000_IG140 - G_M000_IG02 dd G_M000_IG178 - G_M000_IG02 dd G_M000_IG147 - G_M000_IG02 RWD48 dd G_M000_IG53 - G_M000_IG02 dd G_M000_IG178 - G_M000_IG02 dd G_M000_IG58 - G_M000_IG02 dd G_M000_IG178 - G_M000_IG02 dd G_M000_IG52 - G_M000_IG02 RWD68 dd G_M000_IG72 - G_M000_IG02 dd G_M000_IG56 - G_M000_IG02 dd G_M000_IG57 - G_M000_IG02 dd G_M000_IG56 - G_M000_IG02 dd G_M000_IG55 - G_M000_IG02 ; Total bytes of code 6349 740: JIT compiled System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) [Tier-0 switched to FullOpts with Static PGO, IL size=2086, code size=6349] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:GetAverageTime():Perfolizer.Horology.TimeInterval:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 741: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 742: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 743: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; 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 744: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 745: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 746: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 747: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 748: 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) (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 749: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 750: JIT compiled BenchmarkDotNet.Engines.Engine:get_Dummy2Action() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:Dummy2():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] G_M000_IG03: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] G_M000_IG04: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 395 751: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 752: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 753: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 754: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 755: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; 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 756: 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 (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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, 16 vzeroupper 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, ecx G_M000_IG02: xor edi, edi xor ebx, ebx cmp dword ptr [ebp+08H], 1 mov ecx, dword ptr [ebp+0CH] sbb ecx, 0 jl SHORT G_M000_IG04 G_M000_IG03: mov eax, gword ptr [esi+4CH] mov ecx, gword ptr [eax+04H] lea edx, [ebp-1CH] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke():System.Guid:this add edi, 1 adc ebx, 0 cmp edi, dword ptr [ebp+08H] mov ecx, ebx sbb ecx, dword ptr [ebp+0CH] jl SHORT G_M000_IG03 G_M000_IG04: vmovups xmm0, xmmword ptr [ebp-1CH] sub esp, 16 vmovups xmmword ptr [esp], xmm0 mov ecx, esi call [BenchmarkDotNet.Autogenerated.Runnable_0:NonGenericKeepAliveWithoutBoxing(System.Guid):this] G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 103 757: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:WorkloadActionNoUnroll(long) [Tier1, IL size=42, code size=103] ; Assembly listing for method System.Tests.Perf_Guid:ParseExactD():System.Guid:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 0xD1FFAB1E mov ecx, bword ptr [ebp-08H] mov edx, 0xD1FFAB1E call [System.Guid:ParseExact(System.String,System.String):System.Guid] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 35 758: JIT compiled System.Tests.Perf_Guid:ParseExactD() [Tier0, IL size=16, code size=35] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:NonGenericKeepAliveWithoutBoxing(System.Guid):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 16 ; Total bytes of code 13 759: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:NonGenericKeepAliveWithoutBoxing(System.Guid) [Tier0, IL size=1, code size=13] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:WorkloadJittingStop(long):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; 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 760: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 761: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 762: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 763: JIT compiled BenchmarkDotNet.Engines.Engine:get_Dummy3Action() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:Dummy3():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] G_M000_IG03: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] G_M000_IG04: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] mov eax, gword ptr [ebp-04H] inc dword ptr [eax+54H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 395 764: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:Dummy3() [Tier0, IL size=897, code size=395] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:WriteLine():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 765: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 766: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 767: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 768: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 769: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 770: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 771: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 772: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 773: 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 (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx G_M000_IG02: xor ecx, ecx xor edi, edi xor ebx, ebx cmp dword ptr [ebp+08H], 1 mov eax, dword ptr [ebp+0CH] sbb eax, 0 jl G_M000_IG04 G_M000_IG03: mov eax, gword ptr [esi+48H] mov ecx, gword ptr [eax+04H] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke():int:this mov eax, gword ptr [esi+48H] mov ecx, gword ptr [eax+04H] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke():int:this mov eax, gword ptr [esi+48H] mov ecx, gword ptr [eax+04H] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke():int:this mov eax, gword ptr [esi+48H] mov ecx, gword ptr [eax+04H] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke():int:this mov eax, gword ptr [esi+48H] mov ecx, gword ptr [eax+04H] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke():int:this mov eax, gword ptr [esi+48H] mov ecx, gword ptr [eax+04H] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke():int:this mov eax, gword ptr [esi+48H] mov ecx, gword ptr [eax+04H] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke():int:this mov eax, gword ptr [esi+48H] mov ecx, gword ptr [eax+04H] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke():int:this mov eax, gword ptr [esi+48H] mov ecx, gword ptr [eax+04H] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke():int:this mov eax, gword ptr [esi+48H] mov ecx, gword ptr [eax+04H] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke():int:this mov eax, gword ptr [esi+48H] mov ecx, gword ptr [eax+04H] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke():int:this mov eax, gword ptr [esi+48H] mov ecx, gword ptr [eax+04H] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke():int:this mov eax, gword ptr [esi+48H] mov ecx, gword ptr [eax+04H] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke():int:this mov eax, gword ptr [esi+48H] mov ecx, gword ptr [eax+04H] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke():int:this mov eax, gword ptr [esi+48H] mov ecx, gword ptr [eax+04H] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke():int:this mov eax, gword ptr [esi+48H] mov ecx, gword ptr [eax+04H] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+OverheadDelegate:Invoke():int:this mov ecx, eax add edi, 1 adc ebx, 0 cmp edi, dword ptr [ebp+08H] mov eax, ebx sbb eax, dword ptr [ebp+0CH] jl G_M000_IG03 G_M000_IG04: call [BenchmarkDotNet.Engines.DeadCodeEliminationHelper:KeepAliveWithoutBoxing[int](int)] G_M000_IG05: pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 209 774: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:OverheadActionUnroll(long) [Tier1, IL size=221, code size=209] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:WorkloadActionUnroll(long):this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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, 16 vzeroupper 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, ecx G_M000_IG02: xor edi, edi xor ebx, ebx cmp dword ptr [ebp+08H], 1 mov ecx, dword ptr [ebp+0CH] sbb ecx, 0 jl G_M000_IG05 G_M000_IG03: mov eax, gword ptr [esi+4CH] mov ecx, gword ptr [eax+04H] lea edx, [ebp-1CH] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke():System.Guid:this mov eax, gword ptr [esi+4CH] mov ecx, gword ptr [eax+04H] lea edx, [ebp-1CH] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke():System.Guid:this mov eax, gword ptr [esi+4CH] mov ecx, gword ptr [eax+04H] lea edx, [ebp-1CH] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke():System.Guid:this mov eax, gword ptr [esi+4CH] mov ecx, gword ptr [eax+04H] lea edx, [ebp-1CH] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke():System.Guid:this mov eax, gword ptr [esi+4CH] mov ecx, gword ptr [eax+04H] lea edx, [ebp-1CH] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke():System.Guid:this mov eax, gword ptr [esi+4CH] mov ecx, gword ptr [eax+04H] lea edx, [ebp-1CH] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke():System.Guid:this mov eax, gword ptr [esi+4CH] mov ecx, gword ptr [eax+04H] lea edx, [ebp-1CH] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke():System.Guid:this mov eax, gword ptr [esi+4CH] mov ecx, gword ptr [eax+04H] lea edx, [ebp-1CH] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke():System.Guid:this mov eax, gword ptr [esi+4CH] mov ecx, gword ptr [eax+04H] lea edx, [ebp-1CH] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke():System.Guid:this mov eax, gword ptr [esi+4CH] mov ecx, gword ptr [eax+04H] lea edx, [ebp-1CH] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke():System.Guid:this mov eax, gword ptr [esi+4CH] mov ecx, gword ptr [eax+04H] lea edx, [ebp-1CH] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke():System.Guid:this mov eax, gword ptr [esi+4CH] mov ecx, gword ptr [eax+04H] lea edx, [ebp-1CH] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke():System.Guid:this mov eax, gword ptr [esi+4CH] mov ecx, gword ptr [eax+04H] lea edx, [ebp-1CH] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke():System.Guid:this mov eax, gword ptr [esi+4CH] mov ecx, gword ptr [eax+04H] lea edx, [ebp-1CH] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke():System.Guid:this mov eax, gword ptr [esi+4CH] mov ecx, gword ptr [eax+04H] lea edx, [ebp-1CH] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke():System.Guid:this G_M000_IG04: mov eax, gword ptr [esi+4CH] mov ecx, gword ptr [eax+04H] lea edx, [ebp-1CH] call [eax+0CH]BenchmarkDotNet.Autogenerated.Runnable_0+WorkloadDelegate:Invoke():System.Guid:this add edi, 1 adc ebx, 0 cmp edi, dword ptr [ebp+08H] mov ecx, ebx sbb ecx, dword ptr [ebp+0CH] jl G_M000_IG03 G_M000_IG05: vmovups xmm0, xmmword ptr [ebp-1CH] sub esp, 16 vmovups xmmword ptr [esp], xmm0 mov ecx, esi call [BenchmarkDotNet.Autogenerated.Runnable_0:NonGenericKeepAliveWithoutBoxing(System.Guid):this] G_M000_IG06: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 291 775: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:WorkloadActionUnroll(long) [Tier1, IL size=228, code size=291] ; Assembly listing for method BenchmarkDotNet.Engines.DeadCodeEliminationHelper:KeepAliveWithoutBoxing[Perfolizer.Horology.TimeInterval](Perfolizer.Horology.TimeInterval) (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 776: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 777: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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, 48 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 778: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 779: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 780: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 781: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 782: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 783: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 784: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 785: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 786: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 787: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 788: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 789: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 790: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 791: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 792: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 3 inlinees with PGO data; 5 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 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 js SHORT G_M000_IG16 G_M000_IG12: cmp ecx, 2 mov ecx, edx sbb ecx, 0 jl SHORT G_M000_IG14 G_M000_IG13: mov ecx, dword ptr [ebp-1CH] cmp ecx, 3 jge SHORT G_M000_IG14 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_IG14: 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_IG15: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG16: neg ecx adc edx, 0 neg edx jns SHORT G_M000_IG12 call [System.Math:ThrowNegateTwosCompOverflow()] int3 ; Total bytes of code 520 793: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 794: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; 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 795: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:WorkloadPilotStart(long) [Tier0, IL size=9, code size=33] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:WorkloadPilotStop(long):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; 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 796: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 797: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 798: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 799: JIT compiled BenchmarkDotNet.Engines.EnginePilotStage:Autocorrect(long) [Tier0, IL size=29, code size=119] ; Assembly listing for method System.Guid:TryParseExactD(System.ReadOnlySpan`1[ushort],byref):bool (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 64 inlinees with PGO data; 1 single block inlinees; 16 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 188 mov esi, ecx G_M000_IG02: mov ecx, bword ptr [ebp+08H] mov edi, dword ptr [ebp+0CH] cmp edi, 36 jne SHORT G_M000_IG05 G_M000_IG03: cmp word ptr [ecx+10H], 45 jne SHORT G_M000_IG08 cmp word ptr [ecx+1AH], 45 jne SHORT G_M000_IG07 cmp word ptr [ecx+24H], 45 jne SHORT G_M000_IG06 cmp word ptr [ecx+2EH], 45 je SHORT G_M000_IG12 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG05: cmp edi, 36 jne SHORT G_M000_IG09 mov ebx, 4 jmp SHORT G_M000_IG10 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG05 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG05 G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG05 G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, 8 G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, esi mov edx, ebx call [System.Guid+GuidResult:SetFailure(int):this] xor eax, eax G_M000_IG11: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG12: movzx eax, word ptr [ecx+0CH] movzx edx, word ptr [ecx+0EH] movzx ebx, al movzx ebx, byte ptr [ebx+D1FFAB1EH] movsx ebx, bl mov dword ptr [ebp-10H], ebx movzx ebx, dl mov edi, dword ptr [ebp-10H] shl edi, 4 movzx ebx, byte ptr [ebx+D1FFAB1EH] movsx ebx, bl or edi, ebx or eax, edx sar eax, 8 mov edx, -1 test eax, eax cmovne edi, edx mov eax, edi mov byte ptr [esi], al lea edx, bword ptr [esi+01H] mov bword ptr [ebp-8CH], edx movzx ebx, word ptr [ecx+08H] movzx edi, word ptr [ecx+0AH] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-14H], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-18H], edx mov edx, dword ptr [ebp-14H] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-18H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-8CH] mov byte ptr [edi], dl lea edx, bword ptr [esi+02H] mov bword ptr [ebp-90H], edx movzx ebx, word ptr [ecx+04H] movzx edi, word ptr [ecx+06H] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-1CH], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-20H], edx mov edx, dword ptr [ebp-1CH] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-20H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi G_M000_IG13: cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-90H] mov byte ptr [edi], dl lea edx, bword ptr [esi+03H] mov bword ptr [ebp-94H], edx movzx ebx, word ptr [ecx] movzx edi, word ptr [ecx+02H] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-24H], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-28H], edx mov edx, dword ptr [ebp-24H] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-28H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-94H] mov byte ptr [edi], dl lea edx, bword ptr [esi+04H] mov bword ptr [ebp-98H], edx movzx ebx, word ptr [ecx+16H] movzx edi, word ptr [ecx+18H] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-2CH], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-30H], edx mov edx, dword ptr [ebp-2CH] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-30H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-98H] mov byte ptr [edi], dl lea edx, bword ptr [esi+05H] mov bword ptr [ebp-9CH], edx movzx ebx, word ptr [ecx+12H] movzx edi, word ptr [ecx+14H] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-34H], edx mov edx, edi movzx edx, dl G_M000_IG14: mov dword ptr [ebp-38H], edx mov edx, dword ptr [ebp-34H] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-38H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-9CH] mov byte ptr [edi], dl lea edx, bword ptr [esi+06H] mov bword ptr [ebp-A0H], edx movzx ebx, word ptr [ecx+20H] movzx edi, word ptr [ecx+22H] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-3CH], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-40H], edx mov edx, dword ptr [ebp-3CH] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-40H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-A0H] mov byte ptr [edi], dl lea edx, bword ptr [esi+07H] mov bword ptr [ebp-A4H], edx movzx ebx, word ptr [ecx+1CH] movzx edi, word ptr [ecx+1EH] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-44H], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-48H], edx mov edx, dword ptr [ebp-44H] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-48H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-A4H] G_M000_IG15: mov byte ptr [edi], dl lea edx, bword ptr [esi+08H] mov bword ptr [ebp-A8H], edx movzx ebx, word ptr [ecx+26H] movzx edi, word ptr [ecx+28H] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-4CH], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-50H], edx mov edx, dword ptr [ebp-4CH] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-50H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-A8H] mov byte ptr [edi], dl lea edx, bword ptr [esi+09H] mov bword ptr [ebp-ACH], edx movzx ebx, word ptr [ecx+2AH] movzx edi, word ptr [ecx+2CH] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-54H], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-58H], edx mov edx, dword ptr [ebp-54H] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-58H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-ACH] mov byte ptr [edi], dl lea edx, bword ptr [esi+0AH] mov bword ptr [ebp-B0H], edx movzx ebx, word ptr [ecx+30H] movzx edi, word ptr [ecx+32H] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-5CH], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-60H], edx mov edx, dword ptr [ebp-5CH] shl edx, 4 G_M000_IG16: mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-60H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-B0H] mov byte ptr [edi], dl lea edx, bword ptr [esi+0BH] mov bword ptr [ebp-B4H], edx movzx ebx, word ptr [ecx+34H] movzx edi, word ptr [ecx+36H] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-64H], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-68H], edx mov edx, dword ptr [ebp-64H] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-68H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-B4H] mov byte ptr [edi], dl lea edx, bword ptr [esi+0CH] mov bword ptr [ebp-B8H], edx movzx ebx, word ptr [ecx+38H] movzx edi, word ptr [ecx+3AH] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-6CH], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-70H], edx mov edx, dword ptr [ebp-6CH] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-70H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-B8H] mov byte ptr [edi], dl lea edx, bword ptr [esi+0DH] G_M000_IG17: mov bword ptr [ebp-BCH], edx movzx ebx, word ptr [ecx+3CH] movzx edi, word ptr [ecx+3EH] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-74H], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-78H], edx mov edx, dword ptr [ebp-74H] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-78H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-BCH] mov byte ptr [edi], dl lea edx, bword ptr [esi+0EH] mov bword ptr [ebp-C0H], edx movzx ebx, word ptr [ecx+40H] movzx edi, word ptr [ecx+42H] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-7CH], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-80H], edx mov edx, dword ptr [ebp-7CH] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-80H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-C0H] mov byte ptr [edi], dl lea edx, bword ptr [esi+0FH] mov bword ptr [ebp-C4H], edx movzx ebx, word ptr [ecx+44H] movzx edi, word ptr [ecx+46H] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-84H], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-88H], edx mov edx, dword ptr [ebp-84H] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-88H] G_M000_IG18: movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-C4H] mov byte ptr [edi], dl test eax, eax jl SHORT G_M000_IG20 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, 1 G_M000_IG19: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG20: push 120 push 43 push 36 mov edx, 88 call [System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int] test eax, eax jl SHORT G_M000_IG23 mov dword ptr [ebp+0CH], 36 push dword ptr [ebp+0CH] push bword ptr [ebp+08H] mov ecx, esi call [System.Guid:g__TryCompatParsing|31_0(System.ReadOnlySpan`1[ushort],byref):bool] test eax, eax je SHORT G_M000_IG22 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, 1 G_M000_IG21: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG22: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG23: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, esi mov edx, 7 call [System.Guid+GuidResult:SetFailure(int):this] xor eax, eax G_M000_IG24: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 1833 800: JIT compiled System.Guid:TryParseExactD(System.ReadOnlySpan`1[ushort],byref) [Instrumented Tier1 with Static PGO, IL size=725, code size=1833] ; Assembly listing for method System.Tests.Perf_Guid:ParseExactD():System.Guid:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 0xD1FFAB1E mov ecx, bword ptr [ebp-08H] mov edx, 0xD1FFAB1E call [System.Guid:ParseExact(System.String,System.String):System.Guid] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 35 801: JIT compiled System.Tests.Perf_Guid:ParseExactD() [Instrumented Tier0, IL size=16, code size=35] ; Assembly listing for method System.Guid:ParseExact(System.String,System.String):System.Guid (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 8 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 eax, gword ptr [ebp+08H] G_M000_IG02: test edx, edx je SHORT G_M000_IG04 test eax, eax je SHORT G_M000_IG05 lea esi, bword ptr [edx+08H] mov edx, dword ptr [edx+04H] lea edi, bword ptr [eax+08H] mov eax, dword ptr [eax+04H] push edx push esi push eax push edi call [System.Guid:ParseExact(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.Guid] G_M000_IG03: pop esi pop edi pop ebp ret 4 G_M000_IG04: mov ecx, 0x228F mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 G_M000_IG05: mov ecx, 753 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 ; Total bytes of code 92 802: JIT compiled System.Guid:ParseExact(System.String,System.String) [Instrumented Tier1, IL size=40, code size=92] ; Assembly listing for method System.Guid:ParseExact(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.Guid (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 25 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, 28 vzeroupper xor eax, eax mov dword ptr [ebp-28H], eax mov ebx, ecx G_M000_IG02: mov ecx, dword ptr [ebp+0CH] cmp ecx, 1 jne G_M000_IG20 mov esi, bword ptr [ebp+10H] mov edi, dword ptr [ebp+14H] test edi, edi je SHORT G_M000_IG07 G_M000_IG03: movzx ecx, word ptr [esi] cmp ecx, 256 jae SHORT G_M000_IG04 test byte ptr [ecx+D1FFAB1EH], 128 jne G_M000_IG10 jmp SHORT G_M000_IG05 G_M000_IG04: call [System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool] test eax, eax jne SHORT G_M000_IG10 G_M000_IG05: lea ecx, [edi-01H] movzx ecx, word ptr [esi+2*ecx] cmp ecx, 256 jae SHORT G_M000_IG06 test byte ptr [ecx+D1FFAB1EH], 128 jne SHORT G_M000_IG10 jmp SHORT G_M000_IG07 G_M000_IG06: call [System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool] test eax, eax jne SHORT G_M000_IG10 G_M000_IG07: mov bword ptr [ebp-28H], esi mov dword ptr [ebp-24H], edi G_M000_IG08: lea edi, bword ptr [ebp+10H] lea esi, bword ptr [ebp-28H] movsd movsd vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [ebp-20H], xmm0 vmovdqu xmmword ptr [ebp-1CH], xmm0 mov byte ptr [ebp-10H], 2 mov ecx, bword ptr [ebp+08H] movzx eax, word ptr [ecx] or eax, 32 cmp eax, 100 ja SHORT G_M000_IG11 G_M000_IG09: cmp eax, 98 je G_M000_IG15 cmp eax, 100 jne G_M000_IG19 push dword ptr [ebp+14H] push bword ptr [ebp+10H] lea ecx, [ebp-20H] call [System.Guid:TryParseExactD(System.ReadOnlySpan`1[ushort],byref):bool] jmp SHORT G_M000_IG12 G_M000_IG10: push edi push esi lea ecx, [ebp-28H] call [System.MemoryExtensions:g__TrimFallback|216_0(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ushort]] jmp SHORT G_M000_IG08 G_M000_IG11: cmp eax, 110 je SHORT G_M000_IG14 cmp eax, 112 je G_M000_IG16 cmp eax, 120 jne G_M000_IG21 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 push dword ptr [ebp+14H] push bword ptr [ebp+10H] lea ecx, [ebp-20H] call [System.Guid:TryParseExactX(System.ReadOnlySpan`1[ushort],byref):bool] G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 vmovups xmm0, xmmword ptr [ebp-20H] vmovups xmmword ptr [ebx], xmm0 G_M000_IG13: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG14: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 push dword ptr [ebp+14H] push bword ptr [ebp+10H] lea ecx, [ebp-20H] call [System.Guid:TryParseExactN(System.ReadOnlySpan`1[ushort],byref):bool] jmp SHORT G_M000_IG12 G_M000_IG15: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, bword ptr [ebp+10H] mov eax, dword ptr [ebp+14H] cmp eax, 38 jne G_M000_IG22 cmp word ptr [ecx], 123 jne G_M000_IG22 cmp word ptr [ecx+4AH], 125 jne G_M000_IG22 add ecx, 2 push 36 push ecx lea ecx, [ebp-20H] call [System.Guid:TryParseExactD(System.ReadOnlySpan`1[ushort],byref):bool] jmp SHORT G_M000_IG12 G_M000_IG16: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, bword ptr [ebp+10H] mov eax, dword ptr [ebp+14H] cmp eax, 38 jne SHORT G_M000_IG22 cmp word ptr [ecx], 40 jne SHORT G_M000_IG22 cmp word ptr [ecx+4AH], 41 jne SHORT G_M000_IG22 cmp eax, 1 jb SHORT G_M000_IG23 G_M000_IG17: dec eax cmp eax, 36 jb SHORT G_M000_IG23 G_M000_IG18: add ecx, 2 push 36 push ecx lea ecx, [ebp-20H] call [System.Guid:TryParseExactD(System.ReadOnlySpan`1[ushort],byref):bool] jmp G_M000_IG12 G_M000_IG19: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax call [System.SR:get_Format_InvalidGuidFormatSpecification():System.String] mov edx, eax mov ecx, esi call [System.FormatException:.ctor(System.String):this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG20: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 call [System.Guid:ThrowBadGuidFormatSpecification()] int3 G_M000_IG21: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG19 G_M000_IG22: lea ecx, [ebp-20H] mov edx, 8 call [System.Guid+GuidResult:SetFailure(int):this] jmp G_M000_IG12 G_M000_IG23: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 ; Total bytes of code 529 803: JIT compiled System.Guid:ParseExact(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]) [Instrumented Tier1, IL size=155, code size=529] ; Assembly listing for method System.Guid:TryParseExactD(System.ReadOnlySpan`1[ushort],byref):bool (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 43728 ; 64 inlinees with PGO data; 1 single block inlinees; 16 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 188 mov esi, ecx G_M000_IG02: mov ecx, bword ptr [ebp+08H] mov edx, dword ptr [ebp+0CH] cmp edx, 36 jne G_M000_IG14 cmp word ptr [ecx+10H], 45 jne G_M000_IG14 cmp word ptr [ecx+1AH], 45 jne G_M000_IG14 cmp word ptr [ecx+24H], 45 jne G_M000_IG14 cmp word ptr [ecx+2EH], 45 jne G_M000_IG14 movzx eax, word ptr [ecx+0CH] movzx edx, word ptr [ecx+0EH] movzx ebx, al movzx ebx, byte ptr [ebx+D1FFAB1EH] movsx ebx, bl mov dword ptr [ebp-10H], ebx movzx ebx, dl mov edi, dword ptr [ebp-10H] shl edi, 4 movzx ebx, byte ptr [ebx+D1FFAB1EH] movsx ebx, bl or edi, ebx or eax, edx sar eax, 8 mov edx, -1 test eax, eax cmovne edi, edx mov eax, edi mov byte ptr [esi], al lea edx, bword ptr [esi+01H] mov bword ptr [ebp-8CH], edx movzx ebx, word ptr [ecx+08H] movzx edi, word ptr [ecx+0AH] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-14H], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-18H], edx mov edx, dword ptr [ebp-14H] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-18H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-8CH] mov byte ptr [edi], dl lea edx, bword ptr [esi+02H] mov bword ptr [ebp-90H], edx movzx ebx, word ptr [ecx+04H] G_M000_IG03: movzx edi, word ptr [ecx+06H] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-1CH], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-20H], edx mov edx, dword ptr [ebp-1CH] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-20H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-90H] mov byte ptr [edi], dl lea edx, bword ptr [esi+03H] mov bword ptr [ebp-94H], edx movzx ebx, word ptr [ecx] movzx edi, word ptr [ecx+02H] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-24H], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-28H], edx mov edx, dword ptr [ebp-24H] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-28H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-94H] mov byte ptr [edi], dl lea edx, bword ptr [esi+04H] mov bword ptr [ebp-98H], edx movzx ebx, word ptr [ecx+16H] movzx edi, word ptr [ecx+18H] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-2CH], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-30H], edx mov edx, dword ptr [ebp-2CH] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-30H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl G_M000_IG04: or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-98H] mov byte ptr [edi], dl lea edx, bword ptr [esi+05H] mov bword ptr [ebp-9CH], edx movzx ebx, word ptr [ecx+12H] movzx edi, word ptr [ecx+14H] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-34H], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-38H], edx mov edx, dword ptr [ebp-34H] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-38H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-9CH] mov byte ptr [edi], dl lea edx, bword ptr [esi+06H] mov bword ptr [ebp-A0H], edx movzx ebx, word ptr [ecx+20H] movzx edi, word ptr [ecx+22H] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-3CH], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-40H], edx mov edx, dword ptr [ebp-3CH] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-40H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-A0H] mov byte ptr [edi], dl lea edx, bword ptr [esi+07H] mov bword ptr [ebp-A4H], edx movzx ebx, word ptr [ecx+1CH] movzx edi, word ptr [ecx+1EH] movzx edx, bl G_M000_IG05: movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-44H], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-48H], edx mov edx, dword ptr [ebp-44H] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-48H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-A4H] mov byte ptr [edi], dl lea edx, bword ptr [esi+08H] mov bword ptr [ebp-A8H], edx movzx ebx, word ptr [ecx+26H] movzx edi, word ptr [ecx+28H] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-4CH], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-50H], edx mov edx, dword ptr [ebp-4CH] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-50H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-A8H] mov byte ptr [edi], dl lea edx, bword ptr [esi+09H] mov bword ptr [ebp-ACH], edx movzx ebx, word ptr [ecx+2AH] movzx edi, word ptr [ecx+2CH] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-54H], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-58H], edx mov edx, dword ptr [ebp-54H] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-58H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx G_M000_IG06: sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-ACH] mov byte ptr [edi], dl lea edx, bword ptr [esi+0AH] mov bword ptr [ebp-B0H], edx movzx ebx, word ptr [ecx+30H] movzx edi, word ptr [ecx+32H] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-5CH], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-60H], edx mov edx, dword ptr [ebp-5CH] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-60H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-B0H] mov byte ptr [edi], dl lea edx, bword ptr [esi+0BH] mov bword ptr [ebp-B4H], edx movzx ebx, word ptr [ecx+34H] movzx edi, word ptr [ecx+36H] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-64H], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-68H], edx mov edx, dword ptr [ebp-64H] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-68H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-B4H] mov byte ptr [edi], dl lea edx, bword ptr [esi+0CH] mov bword ptr [ebp-B8H], edx movzx ebx, word ptr [ecx+38H] movzx edi, word ptr [ecx+3AH] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl G_M000_IG07: mov dword ptr [ebp-6CH], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-70H], edx mov edx, dword ptr [ebp-6CH] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-70H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-B8H] mov byte ptr [edi], dl lea edx, bword ptr [esi+0DH] mov bword ptr [ebp-BCH], edx movzx ebx, word ptr [ecx+3CH] movzx edi, word ptr [ecx+3EH] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-74H], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-78H], edx mov edx, dword ptr [ebp-74H] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-78H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-BCH] mov byte ptr [edi], dl lea edx, bword ptr [esi+0EH] mov bword ptr [ebp-C0H], edx movzx ebx, word ptr [ecx+40H] movzx edi, word ptr [ecx+42H] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-7CH], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-80H], edx mov edx, dword ptr [ebp-7CH] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-80H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi G_M000_IG08: cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-C0H] mov byte ptr [edi], dl lea edx, bword ptr [esi+0FH] mov bword ptr [ebp-C4H], edx movzx ebx, word ptr [ecx+44H] movzx edi, word ptr [ecx+46H] movzx edx, bl movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl mov dword ptr [ebp-84H], edx mov edx, edi movzx edx, dl mov dword ptr [ebp-88H], edx mov edx, dword ptr [ebp-84H] shl edx, 4 mov dword ptr [ebp-C8H], edx mov edx, dword ptr [ebp-88H] movzx edx, byte ptr [edx+D1FFAB1EH] movsx edx, dl or edx, dword ptr [ebp-C8H] or edi, ebx sar edi, 8 mov ebx, -1 test edi, edi cmovne edx, ebx or eax, edx mov edi, bword ptr [ebp-C4H] mov byte ptr [edi], dl test eax, eax jl SHORT G_M000_IG10 mov eax, 1 G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG10: push 120 push 43 push 36 mov edx, 88 call [System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int] test eax, eax jl SHORT G_M000_IG12 mov dword ptr [ebp+0CH], 36 push dword ptr [ebp+0CH] push bword ptr [ebp+08H] mov ecx, esi call [System.Guid:g__TryCompatParsing|31_0(System.ReadOnlySpan`1[ushort],byref):bool] test eax, eax je SHORT G_M000_IG12 mov eax, 1 G_M000_IG11: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG12: mov ecx, esi mov edx, 7 call [System.Guid+GuidResult:SetFailure(int):this] xor eax, eax G_M000_IG13: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG14: mov ecx, esi cmp edx, 36 jne SHORT G_M000_IG15 mov edx, 4 jmp SHORT G_M000_IG16 G_M000_IG15: mov edx, 8 G_M000_IG16: call [System.Guid+GuidResult:SetFailure(int):this] xor eax, eax G_M000_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 1745 804: JIT compiled System.Guid:TryParseExactD(System.ReadOnlySpan`1[ushort],byref) [Tier1 with Dynamic PGO, IL size=725, code size=1745] ; Assembly listing for method System.Tests.Perf_Guid:ParseExactD():System.Guid:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 8 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, 0xD1FFAB1E mov eax, 0xD1FFAB1E push 36 push ecx push 1 push eax mov ecx, edx call [System.Guid:ParseExact(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.Guid] G_M000_IG03: pop ebp ret ; Total bytes of code 29 805: JIT compiled System.Tests.Perf_Guid:ParseExactD() [Tier1, IL size=16, code size=29] ; Assembly listing for method System.Guid:ParseExact(System.String,System.String):System.Guid (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 8 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 eax, gword ptr [ebp+08H] G_M000_IG02: test edx, edx je SHORT G_M000_IG04 test eax, eax je SHORT G_M000_IG05 lea esi, bword ptr [edx+08H] mov edx, dword ptr [edx+04H] lea edi, bword ptr [eax+08H] mov eax, dword ptr [eax+04H] push edx push esi push eax push edi call [System.Guid:ParseExact(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.Guid] G_M000_IG03: pop esi pop edi pop ebp ret 4 G_M000_IG04: mov ecx, 0x228F mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 G_M000_IG05: mov ecx, 753 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 ; Total bytes of code 92 806: JIT compiled System.Guid:ParseExact(System.String,System.String) [Tier1, IL size=40, code size=92] ; Assembly listing for method System.Guid:ParseExact(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.Guid (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 89328 ; 20 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 vzeroupper xor eax, eax mov dword ptr [ebp-28H], eax mov ebx, ecx G_M000_IG02: mov ecx, dword ptr [ebp+0CH] cmp ecx, 1 jne G_M000_IG17 mov esi, bword ptr [ebp+10H] mov edi, dword ptr [ebp+14H] test edi, edi je SHORT G_M000_IG07 G_M000_IG03: movzx ecx, word ptr [esi] cmp ecx, 256 jae SHORT G_M000_IG04 test byte ptr [ecx+D1FFAB1EH], 128 jne G_M000_IG11 jmp SHORT G_M000_IG05 G_M000_IG04: call [System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool] test eax, eax jne G_M000_IG11 G_M000_IG05: lea ecx, [edi-01H] movzx ecx, word ptr [esi+2*ecx] cmp ecx, 256 jae SHORT G_M000_IG06 test byte ptr [ecx+D1FFAB1EH], 128 jne SHORT G_M000_IG11 jmp SHORT G_M000_IG07 G_M000_IG06: call [System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool] test eax, eax jne SHORT G_M000_IG11 G_M000_IG07: mov bword ptr [ebp-28H], esi mov dword ptr [ebp-24H], edi G_M000_IG08: lea edi, bword ptr [ebp+10H] lea esi, bword ptr [ebp-28H] movsd movsd vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [ebp-20H], xmm0 vmovdqu xmmword ptr [ebp-1CH], xmm0 mov byte ptr [ebp-10H], 2 mov ecx, bword ptr [ebp+08H] movzx eax, word ptr [ecx] or eax, 32 cmp eax, 100 ja SHORT G_M000_IG12 cmp eax, 98 je SHORT G_M000_IG14 cmp eax, 100 jne G_M000_IG16 push dword ptr [ebp+14H] push bword ptr [ebp+10H] lea ecx, [ebp-20H] call [System.Guid:TryParseExactD(System.ReadOnlySpan`1[ushort],byref):bool] G_M000_IG09: vmovups xmm0, xmmword ptr [ebp-20H] vmovups xmmword ptr [ebx], xmm0 G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG11: push edi push esi lea ecx, [ebp-28H] call [System.MemoryExtensions:g__TrimFallback|216_0(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ushort]] jmp SHORT G_M000_IG08 G_M000_IG12: cmp eax, 110 je SHORT G_M000_IG13 cmp eax, 112 je SHORT G_M000_IG15 cmp eax, 120 jne SHORT G_M000_IG16 push dword ptr [ebp+14H] push bword ptr [ebp+10H] lea ecx, [ebp-20H] call [System.Guid:TryParseExactX(System.ReadOnlySpan`1[ushort],byref):bool] jmp SHORT G_M000_IG09 G_M000_IG13: push dword ptr [ebp+14H] push bword ptr [ebp+10H] lea ecx, [ebp-20H] call [System.Guid:TryParseExactN(System.ReadOnlySpan`1[ushort],byref):bool] jmp SHORT G_M000_IG09 G_M000_IG14: push dword ptr [ebp+14H] push bword ptr [ebp+10H] lea ecx, [ebp-20H] call [System.Guid:TryParseExactB(System.ReadOnlySpan`1[ushort],byref):bool] jmp SHORT G_M000_IG09 G_M000_IG15: push dword ptr [ebp+14H] push bword ptr [ebp+10H] lea ecx, [ebp-20H] call [System.Guid:TryParseExactP(System.ReadOnlySpan`1[ushort],byref):bool] jmp SHORT G_M000_IG09 G_M000_IG16: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax call [System.SR:get_Format_InvalidGuidFormatSpecification():System.String] mov edx, eax mov ecx, esi call [System.FormatException:.ctor(System.String):this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG17: call [System.Guid:ThrowBadGuidFormatSpecification()] int3 ; Total bytes of code 349 807: JIT compiled System.Guid:ParseExact(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]) [Tier1 with Dynamic PGO, IL size=155, code size=349] ; Assembly listing for method System.Number+BigInteger:Compare(byref,byref):int (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 18 G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx push eax mov esi, ecx mov edi, edx G_M000_IG02: mov ebx, dword ptr [esi] mov eax, ebx sub eax, dword ptr [edi] mov dword ptr [ebp-10H], eax test eax, eax jne SHORT G_M000_IG12 G_M000_IG03: test ebx, ebx je G_M000_IG16 dec ebx js SHORT G_M000_IG09 G_M000_IG04: mov eax, dword ptr [esi+4*ebx+04H] xor ecx, ecx sub eax, dword ptr [edi+4*ebx+04H] mov edx, ecx sbb edx, 0 mov ecx, eax or ecx, edx je SHORT G_M000_IG08 G_M000_IG05: cmp eax, 1 mov ecx, edx sbb ecx, 0 jge SHORT G_M000_IG14 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, -1 G_M000_IG07: pop ecx pop ebx pop esi pop edi pop ebp ret G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 dec ebx jns SHORT G_M000_IG04 G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG10: xor eax, eax G_M000_IG11: pop ecx pop ebx pop esi pop edi pop ebp ret G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edi, dword ptr [ebp-10H] mov eax, edi G_M000_IG13: pop ecx pop ebx pop esi pop edi pop ebp ret G_M000_IG14: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, 1 G_M000_IG15: pop ecx pop ebx pop esi pop edi pop ebp ret G_M000_IG16: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG10 ; Total bytes of code 172 808: JIT compiled System.Number+BigInteger:Compare(byref,byref) [Instrumented Tier1 with Static PGO, IL size=97, code size=172] ; Assembly listing for method System.Buffer:Memmove(byref,byref,uint) (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 3737476 G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 12 vzeroupper mov esi, ecx mov edi, edx mov ebx, dword ptr [ebp+08H] G_M000_IG02: mov ecx, esi sub ecx, edi cmp ecx, ebx jb G_M000_IG37 G_M000_IG03: mov ecx, edi sub ecx, esi cmp ecx, ebx jb G_M000_IG15 G_M000_IG04: lea eax, bword ptr [edi+ebx] mov bword ptr [ebp-14H], eax lea edx, bword ptr [esi+ebx] mov bword ptr [ebp-18H], edx cmp ebx, 16 ja SHORT G_M000_IG07 G_M000_IG05: test bl, 24 je G_M000_IG19 G_M000_IG06: jmp G_M000_IG16 G_M000_IG07: cmp ebx, 64 ja G_M000_IG21 G_M000_IG08: vmovups xmm0, xmmword ptr [edi] vmovups xmmword ptr [esi], xmm0 cmp ebx, 32 jbe SHORT G_M000_IG11 G_M000_IG09: vmovups xmm0, xmmword ptr [edi+10H] vmovups xmmword ptr [esi+10H], xmm0 cmp ebx, 48 jbe SHORT G_M000_IG13 G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 vmovups xmm0, xmmword ptr [edi+20H] vmovups xmmword ptr [esi+20H], xmm0 G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG12: mov esi, bword ptr [ebp-14H] vmovups xmm0, xmmword ptr [esi-10H] mov edi, bword ptr [ebp-18H] vmovups xmmword ptr [edi-10H], xmm0 jmp SHORT G_M000_IG18 G_M000_IG13: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG11 G_M000_IG14: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 push ebx mov ecx, esi mov edx, edi call [System.Buffer:_Memmove(byref,byref,uint)] jmp SHORT G_M000_IG18 G_M000_IG15: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG37 G_M000_IG16: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [edi] mov dword ptr [esi], ecx mov ecx, dword ptr [edi+04H] mov dword ptr [esi+04H], ecx mov esi, bword ptr [ebp-14H] mov ecx, dword ptr [esi-08H] mov edi, bword ptr [ebp-18H] mov dword ptr [edi-08H], ecx G_M000_IG17: mov esi, bword ptr [ebp-14H] mov ecx, dword ptr [esi-04H] mov edi, bword ptr [ebp-18H] mov dword ptr [edi-04H], ecx G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG19: test bl, 4 je SHORT G_M000_IG23 G_M000_IG20: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [edi] mov dword ptr [esi], ecx jmp SHORT G_M000_IG17 G_M000_IG21: cmp ebx, 0x800 ja G_M000_IG34 G_M000_IG22: jmp SHORT G_M000_IG26 G_M000_IG23: test ebx, ebx je SHORT G_M000_IG33 G_M000_IG24: movzx ecx, byte ptr [edi] mov byte ptr [esi], cl test bl, 2 je SHORT G_M000_IG29 G_M000_IG25: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov esi, bword ptr [ebp-14H] movsx ecx, word ptr [esi-02H] mov edi, bword ptr [ebp-18H] mov word ptr [edi-02H], cx jmp SHORT G_M000_IG18 G_M000_IG26: mov ecx, ebx shr ecx, 6 G_M000_IG27: vmovdqu ymm0, ymmword ptr [edi] vmovdqu ymmword ptr [esi], ymm0 vmovdqu ymm0, ymmword ptr [edi+20H] vmovdqu ymmword ptr [esi+20H], ymm0 add esi, 64 add edi, 64 dec ecx mov dword ptr [ebp-10H], ecx test ecx, ecx je SHORT G_M000_IG31 G_M000_IG28: jmp SHORT G_M000_IG30 G_M000_IG29: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG18 G_M000_IG30: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [ebp-10H] jmp SHORT G_M000_IG27 G_M000_IG31: and ebx, 63 cmp ebx, 16 ja SHORT G_M000_IG35 G_M000_IG32: jmp SHORT G_M000_IG36 G_M000_IG33: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG18 G_M000_IG34: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG14 G_M000_IG35: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG08 G_M000_IG36: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG12 G_M000_IG37: cmp esi, edi jne G_M000_IG14 G_M000_IG38: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG18 ; Total bytes of code 500 809: JIT compiled System.Buffer:Memmove(byref,byref,uint) [Instrumented Tier1 with Static PGO, IL size=534, code size=500] ; Assembly listing for method System.Text.StringBuilder:Append(System.String):System.Text.StringBuilder:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 331806 ; 4 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 mov esi, ecx mov edi, edx G_M000_IG02: test edi, edi je SHORT G_M000_IG11 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 lea edx, bword ptr [edi+08H] mov edi, dword ptr [edi+04H] test edi, edi je SHORT G_M000_IG11 G_M000_IG04: mov ecx, gword ptr [esi+04H] mov ebx, dword ptr [esi+0CH] lea eax, [ebx+edi] cmp eax, dword ptr [ecx+04H] ja SHORT G_M000_IG10 G_M000_IG05: lea ecx, bword ptr [ecx+2*ebx+08H] cmp edi, 2 jle SHORT G_M000_IG08 G_M000_IG06: lea eax, [edi+edi] push eax call [System.Buffer:Memmove(byref,byref,uint)] G_M000_IG07: add edi, ebx mov dword ptr [esi+0CH], edi jmp SHORT G_M000_IG11 G_M000_IG08: movzx eax, word ptr [edx] mov word ptr [ecx], ax cmp edi, 2 jne SHORT G_M000_IG07 G_M000_IG09: movzx edx, word ptr [edx+02H] mov word ptr [ecx+02H], dx jmp SHORT G_M000_IG07 G_M000_IG10: push edi mov ecx, esi call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, esi G_M000_IG12: pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 121 810: JIT compiled System.Text.StringBuilder:Append(System.String) [Instrumented Tier1 with Static PGO, IL size=23, code size=121] ; Assembly listing for method System.Text.StringBuilder:Append(byref,int):this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 433837 ; 2 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, 8 mov esi, ecx mov edi, edx mov ebx, dword ptr [ebp+08H] G_M000_IG02: test ebx, ebx je G_M000_IG11 G_M000_IG03: mov ecx, gword ptr [esi+04H] mov eax, dword ptr [esi+0CH] mov dword ptr [ebp-10H], eax lea edx, [eax+ebx] cmp edx, dword ptr [ecx+04H] ja SHORT G_M000_IG10 G_M000_IG04: lea edx, bword ptr [ecx+2*eax+08H] mov bword ptr [ebp-14H], edx cmp ebx, 2 jle SHORT G_M000_IG08 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 lea ecx, [ebx+ebx] push ecx mov ecx, bword ptr [ebp-14H] mov edx, edi call [System.Buffer:Memmove(byref,byref,uint)] G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 add ebx, dword ptr [ebp-10H] mov dword ptr [esi+0CH], ebx G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG08: movzx ecx, word ptr [edi] mov word ptr [edx], cx cmp ebx, 2 jne SHORT G_M000_IG06 G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 movzx ecx, word ptr [edi+02H] mov edi, bword ptr [ebp-14H] mov word ptr [edi+02H], cx jmp SHORT G_M000_IG06 G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 push ebx mov ecx, esi mov edx, edi call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG12: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 179 811: JIT compiled System.Text.StringBuilder:Append(byref,int) [Instrumented Tier1 with Static PGO, IL size=96, code size=179] ; Assembly listing for method System.Number+BigInteger:HeuristicDivide(byref,byref):uint (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 10 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: mov ebx, dword ptr [edi] cmp dword ptr [esi], ebx jl G_M000_IG20 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 test ecx, ecx je G_M000_IG05 xor eax, eax xor edx, edx mov dword ptr [ebp-50H], edx xor edx, edx mov dword ptr [ebp-54H], edx mov edx, dword ptr [ebp-50H] mov dword ptr [ebp-20H], edx mov edx, dword ptr [ebp-54H] mov dword ptr [ebp-24H], edx xor edx, edx mov dword ptr [ebp-54H], edx xor edx, edx mov dword ptr [ebp-50H], edx mov edx, dword ptr [ebp-54H] mov dword ptr [ebp-28H], edx mov edx, dword ptr [ebp-50H] mov dword ptr [ebp-2CH], edx G_M000_IG03: mov dword ptr [ebp-18H], eax mov edx, dword ptr [edi+4*eax+04H] mov dword ptr [ebp-14H], ecx mov eax, edx mul edx:eax, ecx mov ecx, dword ptr [ebp-28H] add eax, ecx mov ecx, dword ptr [ebp-2CH] adc ecx, edx mov dword ptr [ebp-30H], eax xor edx, edx mov dword ptr [ebp-28H], ecx mov dword ptr [ebp-2CH], edx mov edx, dword ptr [ebp-18H] mov ecx, dword ptr [esi+4*edx+04H] xor eax, eax sub ecx, dword ptr [ebp-30H] sbb eax, 0 sub ecx, dword ptr [ebp-20H] sbb eax, dword ptr [ebp-24H] mov dword ptr [ebp-34H], ecx xor ecx, ecx and eax, 1 and ecx, 0 mov dword ptr [ebp-20H], eax mov dword ptr [ebp-24H], ecx mov eax, dword ptr [ebp-34H] mov dword ptr [esi+4*edx+04H], eax inc edx mov dword ptr [ebp-18H], edx cmp edx, ebx jge SHORT G_M000_IG13 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [ebp-18H] mov ecx, dword ptr [ebp-14H] jmp SHORT G_M000_IG03 G_M000_IG05: mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG16 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 dec ebx G_M000_IG07: test ebx, ebx jle SHORT G_M000_IG10 G_M000_IG08: cmp dword ptr [esi+4*ebx], 0 je SHORT G_M000_IG06 G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov dword ptr [esi], ebx G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [ebp-14H] G_M000_IG12: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG13: test ebx, ebx jle SHORT G_M000_IG15 cmp dword ptr [esi+4*ebx], 0 je G_M000_IG22 G_M000_IG14: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG15: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov dword ptr [esi], ebx G_M000_IG16: mov ecx, esi mov edx, edi call [System.Number+BigInteger:Compare(byref,byref):int] test eax, eax jl SHORT G_M000_IG11 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-50H], edx xor edx, edx mov dword ptr [ebp-54H], edx mov edx, dword ptr [ebp-50H] mov dword ptr [ebp-38H], edx mov edx, dword ptr [ebp-54H] mov dword ptr [ebp-3CH], edx G_M000_IG18: mov edx, dword ptr [esi+4*eax+04H] mov dword ptr [ebp-54H], edx xor edx, edx mov dword ptr [ebp-50H], edx mov edx, dword ptr [ebp-54H] sub edx, dword ptr [edi+4*eax+04H] mov dword ptr [ebp-54H], edx mov edx, dword ptr [ebp-50H] sbb edx, 0 mov dword ptr [ebp-50H], edx mov edx, dword ptr [ebp-54H] sub edx, dword ptr [ebp-38H] mov dword ptr [ebp-54H], edx mov edx, dword ptr [ebp-50H] sbb edx, dword ptr [ebp-3CH] mov dword ptr [ebp-50H], edx mov edx, dword ptr [ebp-54H] mov dword ptr [ebp-40H], edx mov edx, dword ptr [ebp-50H] mov dword ptr [ebp-44H], edx xor edx, edx mov dword ptr [ebp-50H], edx mov edx, dword ptr [ebp-44H] and edx, 1 mov dword ptr [ebp-54H], edx mov edx, dword ptr [ebp-50H] and edx, 0 mov dword ptr [ebp-50H], edx mov edx, dword ptr [ebp-54H] mov dword ptr [ebp-38H], edx mov edx, dword ptr [ebp-50H] mov dword ptr [ebp-3CH], edx mov edx, dword ptr [ebp-40H] mov dword ptr [esi+4*eax+04H], edx inc eax mov dword ptr [ebp-1CH], eax cmp eax, ebx jge G_M000_IG07 G_M000_IG19: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [ebp-1CH] jmp G_M000_IG18 G_M000_IG20: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor eax, eax G_M000_IG21: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG22: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 dec ebx jmp G_M000_IG13 ; Total bytes of code 526 812: JIT compiled System.Number+BigInteger:HeuristicDivide(byref,byref) [Instrumented Tier1 with Static PGO, IL size=363, code size=526] ; Assembly listing for method System.UInt64:CreateTruncating[uint](uint):ulong (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 code ; ebp based frame ; fully 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_IG07 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_IG06 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 call [System.ThrowHelper:ThrowNotSupportedException()] G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [ebp-0CH] mov edx, dword ptr [ebp-08H] G_M000_IG05: mov esp, ebp pop ebp ret G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG04 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG04 ; Total bytes of code 101 813: JIT compiled System.UInt64:CreateTruncating[uint](uint) [Instrumented Tier0, IL size=74, code size=101] ; Assembly listing for method System.UInt64:TryConvertFromTruncating[uint](uint,byref):bool (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 1635 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 814: JIT compiled System.UInt64:TryConvertFromTruncating[uint](uint,byref) [Instrumented Tier1 with Static PGO, IL size=371, code size=17] ; Assembly listing for method System.Number+BigInteger:Multiply10():this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 10 ; 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 mov esi, ecx G_M000_IG02: mov edi, dword ptr [esi] test edi, edi je G_M000_IG08 xor ebx, ebx mov dword ptr [ebp-10H], edi xor ecx, ecx xor eax, eax mov dword ptr [ebp-14H], ecx mov dword ptr [ebp-18H], eax G_M000_IG03: mov bword ptr [ebp-20H], esi mov edx, dword ptr [esi+4*ebx+04H] xor edi, edi mov dword ptr [ebp-1CH], edi lea edi, [8*edx] mov eax, dword ptr [ebp-1CH] shld eax, edx, 3 lea ecx, [edx+edx] mov esi, dword ptr [ebp-1CH] shld esi, edx, 1 add ecx, edi adc eax, esi add ecx, dword ptr [ebp-14H] adc eax, dword ptr [ebp-18H] xor edx, edx mov esi, eax xor edi, edi mov eax, bword ptr [ebp-20H] mov dword ptr [eax+4*ebx+04H], ecx inc ebx cmp ebx, dword ptr [ebp-10H] jl SHORT G_M000_IG07 G_M000_IG04: mov ecx, esi or ecx, edi jne SHORT G_M000_IG10 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG06: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov dword ptr [ebp-14H], esi mov dword ptr [ebp-18H], edi mov esi, bword ptr [ebp-20H] jmp SHORT G_M000_IG03 G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edi, bword ptr [ebp-20H] mov dword ptr [edi+4*ebx+04H], esi inc dword ptr [edi] jmp SHORT G_M000_IG05 ; Total bytes of code 185 815: JIT compiled System.Number+BigInteger:Multiply10() [Instrumented Tier1 with Static PGO, IL size=122, code size=185] ; Assembly listing for method System.Buffer:Memmove(byref,byref,uint) (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 39 G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx vzeroupper mov eax, dword ptr [ebp+08H] G_M000_IG02: mov esi, ecx sub esi, edx cmp esi, eax jb G_M000_IG19 mov esi, edx sub esi, ecx cmp esi, eax jb G_M000_IG19 lea esi, bword ptr [edx+eax] lea edi, bword ptr [ecx+eax] cmp eax, 16 ja SHORT G_M000_IG05 G_M000_IG03: test al, 24 je SHORT G_M000_IG11 G_M000_IG04: jmp SHORT G_M000_IG09 G_M000_IG05: cmp eax, 64 ja SHORT G_M000_IG15 G_M000_IG06: vmovups xmm0, xmmword ptr [edx] vmovups xmmword ptr [ecx], xmm0 cmp eax, 32 ja SHORT G_M000_IG13 G_M000_IG07: vmovups xmm0, xmmword ptr [esi-10H] vmovups xmmword ptr [edi-10H], xmm0 G_M000_IG08: pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG09: 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 [esi-08H] mov dword ptr [edi-08H], ecx G_M000_IG10: mov ecx, dword ptr [esi-04H] mov dword ptr [edi-04H], ecx jmp SHORT G_M000_IG08 G_M000_IG11: test al, 4 je SHORT G_M000_IG14 G_M000_IG12: mov edx, dword ptr [edx] mov dword ptr [ecx], edx jmp SHORT G_M000_IG10 G_M000_IG13: vmovups xmm0, xmmword ptr [edx+10H] vmovups xmmword ptr [ecx+10H], xmm0 cmp eax, 48 jbe SHORT G_M000_IG07 vmovups xmm0, xmmword ptr [edx+20H] vmovups xmmword ptr [ecx+20H], xmm0 jmp SHORT G_M000_IG07 G_M000_IG14: test eax, eax je SHORT G_M000_IG08 movzx edx, byte ptr [edx] mov byte ptr [ecx], dl test al, 2 je SHORT G_M000_IG08 movsx eax, word ptr [esi-02H] mov word ptr [edi-02H], ax jmp SHORT G_M000_IG08 G_M000_IG15: cmp eax, 0x800 ja SHORT G_M000_IG20 mov ebx, eax shr ebx, 6 G_M000_IG16: 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 ebx jne SHORT G_M000_IG16 G_M000_IG17: and eax, 63 cmp eax, 16 ja G_M000_IG06 G_M000_IG18: jmp G_M000_IG07 G_M000_IG19: cmp ecx, edx je G_M000_IG08 G_M000_IG20: push eax call [System.Buffer:_Memmove(byref,byref,uint)] jmp G_M000_IG08 ; Total bytes of code 248 816: JIT compiled System.Buffer:Memmove(byref,byref,uint) [Tier1 with Dynamic PGO, IL size=534, code size=248] ; Assembly listing for method System.Runtime.CompilerServices.CastHelpers:ChkCastClass(uint,System.Object):System.Object (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 6880601 ; 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 edi, ecx mov esi, edx G_M000_IG02: test esi, esi je SHORT G_M000_IG05 G_M000_IG03: cmp dword ptr [esi], edi jne SHORT G_M000_IG07 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, esi G_M000_IG06: pop esi pop edi pop ebp ret G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, edi mov edx, esi call [System.Runtime.CompilerServices.CastHelpers:ChkCastClassSpecial(uint,System.Object):System.Object] G_M000_IG08: pop esi pop edi pop ebp ret ; Total bytes of code 67 817: JIT compiled System.Runtime.CompilerServices.CastHelpers:ChkCastClass(uint,System.Object) [Instrumented Tier1 with Static PGO, IL size=22, code size=67] ; Assembly listing for method System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():bool:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 460 ; 4 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 sub esp, 36 xor eax, eax mov dword ptr [ebp-2CH], eax mov dword ptr [ebp-24H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-28H], ecx G_M000_IG02: mov edx, gword ptr [ebp-28H] mov esi, gword ptr [edx+04H] test esi, esi je G_M000_IG18 mov ecx, gword ptr [esi+04H] mov gword ptr [ebp-2CH], 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 SHORT G_M000_IG08 mov ecx, gword ptr [ebp-28H] mov ecx, dword ptr [ecx+0CH] mov edx, gword ptr [ebp-28H] cmp ecx, dword ptr [edx+08H] jge SHORT G_M000_IG07 G_M000_IG04: mov ecx, gword ptr [ebp-28H] mov ecx, dword ptr [ecx+0CH] inc ecx mov edx, gword ptr [ebp-28H] mov dword ptr [edx+0CH], ecx mov edx, gword ptr [esi+0CH] cmp dword ptr [edx+04H], ecx jle G_M000_IG12 cmp ecx, dword ptr [edx+04H] jae SHORT G_M000_IG09 lea ecx, [ecx+2*ecx] mov ecx, dword ptr [edx+4*ecx+08H] lea edx, [ebp-24H] call System.Runtime.DependentHandle:InternalGetTargetAndDependent(int,byref):System.Object test eax, eax je SHORT G_M000_IG12 mov edi, gword ptr [ebp-24H] mov edx, 1 G_M000_IG05: xor ecx, ecx mov gword ptr [ebp-24H], ecx test edx, edx jne SHORT G_M000_IG10 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-28H] mov ecx, dword ptr [ecx+0CH] mov eax, gword ptr [ebp-28H] cmp ecx, dword ptr [eax+08H] jl SHORT G_M000_IG04 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov dword ptr [ebp-18H], 0 mov dword ptr [ebp-14H], 252 push G_M000_IG15 jmp SHORT G_M000_IG16 G_M000_IG09: call CORINFO_HELP_RNGCHKFAIL G_M000_IG10: mov edx, gword ptr [ebp-28H] lea edx, bword ptr [edx+10H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-28H] lea edx, bword ptr [edx+14H] call CORINFO_HELP_ASSIGN_REF_EDI jmp SHORT G_M000_IG13 G_M000_IG11: call [System.Threading.Monitor:ThrowLockTakenException()] int3 G_M000_IG12: xor eax, eax xor edi, edi xor edx, edx jmp SHORT G_M000_IG05 G_M000_IG13: cmp byte ptr [ebp-20H], 0 je SHORT G_M000_IG14 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-2CH] call System.Threading.Monitor:Exit(System.Object) G_M000_IG14: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG20 G_M000_IG15: mov dword ptr [ebp-14H], 0 jmp SHORT G_M000_IG18 G_M000_IG16: cmp byte ptr [ebp-20H], 0 je SHORT G_M000_IG17 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-2CH] call System.Threading.Monitor:Exit(System.Object) G_M000_IG17: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 pop eax jmp eax G_M000_IG18: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor eax, eax G_M000_IG19: lea esp, [ebp-08H] pop esi pop edi pop ebp ret G_M000_IG20: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, 1 G_M000_IG21: lea esp, [ebp-08H] pop esi pop edi pop ebp ret ; Total bytes of code 384 818: JIT compiled System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:MoveNext() [Instrumented Tier1 with Static PGO, IL size=124, code size=384] ; Assembly listing for method System.Runtime.CompilerServices.CastHelpers:IsInstanceOfClass(uint,System.Object):System.Object (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 1.430727e+07 ; 2 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 mov edi, ecx mov esi, edx G_M000_IG02: test esi, esi je SHORT G_M000_IG05 G_M000_IG03: cmp dword ptr [esi], edi jne SHORT G_M000_IG07 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, esi G_M000_IG06: pop ebx pop esi pop edi pop ebp ret G_M000_IG07: mov ecx, dword ptr [esi] mov ebx, dword ptr [ecx+10H] G_M000_IG08: cmp ebx, edi je SHORT G_M000_IG19 G_M000_IG09: test ebx, ebx je SHORT G_M000_IG18 G_M000_IG10: mov ebx, dword ptr [ebx+10H] cmp ebx, edi je SHORT G_M000_IG21 G_M000_IG11: test ebx, ebx je SHORT G_M000_IG22 G_M000_IG12: mov ebx, dword ptr [ebx+10H] cmp ebx, edi je SHORT G_M000_IG23 G_M000_IG13: test ebx, ebx je SHORT G_M000_IG24 G_M000_IG14: mov ebx, dword ptr [ebx+10H] cmp ebx, edi je SHORT G_M000_IG25 G_M000_IG15: test ebx, ebx jne SHORT G_M000_IG17 G_M000_IG16: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG18 G_M000_IG17: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, dword ptr [ebx+10H] jmp SHORT G_M000_IG08 G_M000_IG18: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor esi, esi G_M000_IG19: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, esi G_M000_IG20: pop ebx pop esi pop edi pop ebp ret G_M000_IG21: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG19 G_M000_IG22: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG18 G_M000_IG23: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG19 G_M000_IG24: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG18 G_M000_IG25: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG19 ; Total bytes of code 207 819: JIT compiled System.Runtime.CompilerServices.CastHelpers:IsInstanceOfClass(uint,System.Object) [Instrumented Tier1 with Static PGO, IL size=97, code size=207] ; Assembly listing for method System.Number+BigInteger:Compare(byref,byref):int (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 33 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] jne SHORT G_M000_IG10 G_M000_IG03: test eax, eax je SHORT G_M000_IG08 dec eax js SHORT G_M000_IG08 G_M000_IG04: 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 je SHORT G_M000_IG07 G_M000_IG05: cmp esi, 1 mov eax, edi sbb eax, 0 setge al movzx eax, al mov edx, 1 mov ecx, -1 test eax, eax mov eax, ecx cmovne eax, edx G_M000_IG06: pop ebx pop esi pop edi pop ebp ret G_M000_IG07: dec eax jns SHORT G_M000_IG04 G_M000_IG08: xor eax, eax 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 93 820: JIT compiled System.Number+BigInteger:Compare(byref,byref) [Tier1 with Dynamic PGO, IL size=97, code size=93] ; Assembly listing for method System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String) (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-04H] call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 61 821: JIT compiled System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String) [Instrumented Tier0, IL size=22, code size=61] ; Assembly listing for method System.Int32:IsNegative(int):bool (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 3330856 G_M000_IG01: G_M000_IG02: mov eax, ecx shr eax, 31 G_M000_IG03: ret ; Total bytes of code 6 822: JIT compiled System.Int32:IsNegative(int) [Instrumented Tier1 with Static PGO, IL size=5, code size=6] ; Assembly listing for method System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,uint,int,uint):this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 703 ; 12 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, 144 vzeroupper xor eax, eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-9CH], ecx mov dword ptr [ebp-24H], edx G_M000_IG02: cmp byte ptr [ecx+59H], 0 jne SHORT G_M000_IG08 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG05: mov esi, eax mov edx, esi mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax je SHORT G_M000_IG06 call CORINFO_HELP_RETHROW G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-9CH] 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_IG07 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 jmp SHORT G_M000_IG03 G_M000_IG07: call CORINFO_HELP_RNGCHKFAIL int3 G_M000_IG08: mov edx, gword ptr [ecx+10H] mov esi, dword ptr [ebp-24H] cmp esi, dword ptr [edx+04H] jae SHORT G_M000_IG09 mov eax, esi shl eax, 6 lea edi, bword ptr [edx+eax+08H] movzx ebx, 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 ebx, ebx je G_M000_IG15 cmp dword ptr [ebp+10H], 0 jne SHORT G_M000_IG11 test byte ptr [edi+24H], 2 jne SHORT G_M000_IG10 cmp ebx, 1 jne SHORT G_M000_IG12 mov ebx, gword ptr [ecx+3CH] mov edx, gword ptr [ecx+0CH] push gword ptr [edi] movzx eax, word ptr [edi+36H] push eax lea eax, [ebp-38H] push eax lea eax, [ebp-48H] push eax push dword ptr [edi+24H] push 1 mov ecx, ebx 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_IG13 G_M000_IG09: call CORINFO_HELP_RNGCHKFAIL G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-9CH] jmp G_M000_IG15 G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-9CH] jmp G_M000_IG15 G_M000_IG12: cmp ebx, 2 jne G_M000_IG20 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-9CH] mov edx, gword ptr [ecx+3CH] mov eax, gword ptr [ecx+0CH] 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, eax cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.ActivityTracker:OnStop(System.String,System.String,int,byref,bool):this] G_M000_IG13: vmovups xmm0, xmmword ptr [ebp-38H] vmovups xmmword ptr [ebp-88H], xmm0 vmovups xmm0, xmmword ptr [ebp-88H] vptest xmm0, xmm0 je SHORT G_M000_IG14 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 lea eax, [ebp-38H] mov ebx, eax mov dword ptr [ebp-28H], ebx G_M000_IG14: vmovups xmm0, xmmword ptr [ebp-48H] vmovups xmmword ptr [ebp-98H], xmm0 vmovups xmm0, xmmword ptr [ebp-98H] vptest xmm0, xmm0 je G_M000_IG19 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 lea edx, [ebp-48H] mov eax, edx mov dword ptr [ebp+10H], eax mov ecx, gword ptr [ebp-9CH] G_M000_IG15: test byte ptr [ecx+4CH], 8 jne G_M000_IG21 cmp byte ptr [edi+29H], 0 je SHORT G_M000_IG16 mov edx, gword ptr [ecx+20H] lea ebx, bword ptr [edi+30H] push dword ptr [edi+18H] push dword ptr [ebp-28H] push dword ptr [ebp+10H] push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, edx mov edx, ebx cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventProvider:WriteEvent(byref,int,uint,uint,int,int):bool:this] test eax, eax jne G_M000_IG18 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edx, gword ptr [edi] push 0 mov ecx, gword ptr [ebp-9CH] call [System.Diagnostics.Tracing.EventSource:ThrowEventSourceException(System.String,System.Exception):this] mov ecx, gword ptr [ebp-9CH] G_M000_IG16: cmp byte ptr [edi+2AH], 0 je G_M000_IG23 mov edx, gword ptr [ecx+28H] lea ebx, bword ptr [edi+30H] push dword ptr [edi+18H] push dword ptr [ebp-28H] push dword ptr [ebp+10H] push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, edx mov edx, ebx cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventProvider:WriteEvent(byref,int,uint,uint,int,int):bool:this] test eax, eax jne SHORT G_M000_IG17 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edx, gword ptr [edi] push 0 mov ecx, gword ptr [ebp-9CH] call [System.Diagnostics.Tracing.EventSource:ThrowEventSourceException(System.String,System.Exception):this] mov ecx, gword ptr [ebp-9CH] jmp G_M000_IG23 G_M000_IG17: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-9CH] jmp G_M000_IG23 G_M000_IG18: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-9CH] jmp SHORT G_M000_IG16 G_M000_IG19: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-9CH] jmp G_M000_IG15 G_M000_IG20: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG13 G_M000_IG21: cmp byte ptr [edi+29H], 0 jne SHORT G_M000_IG22 cmp byte ptr [edi+2AH], 0 je G_M000_IG26 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG22: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [ebp-78H], xmm0 vmovdqu xmmword ptr [ebp-70H], xmm0 lea ecx, bword ptr [edi+38H] mov eax, dword ptr [ecx] push dword ptr [ecx+04H] push eax lea ecx, [ebp-78H] call [System.Diagnostics.Tracing.EventSourceOptions:set_Keywords(long):this] movzx edx, byte ptr [edi+34H] lea ecx, [ebp-78H] call [System.Diagnostics.Tracing.EventSourceOptions:set_Level(int):this] movzx edx, byte ptr [edi+35H] lea ecx, [ebp-78H] call [System.Diagnostics.Tracing.EventSourceOptions:set_Opcode(int):this] 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] lea ecx, [ebp-60H] push ecx mov ecx, edi call [System.Diagnostics.Tracing.EventSource+EventMetadata:get_TraceLoggingEventTypes():System.Diagnostics.Tracing.TraceLoggingEventTypes:this] push eax push dword ptr [ebp-28H] push dword ptr [ebp+10H] push dword ptr [ebp+08H] mov edx, ebx mov ecx, gword ptr [ebp-9CH] call [System.Diagnostics.Tracing.EventSource:WriteMultiMerge(System.String,byref,System.Diagnostics.Tracing.TraceLoggingEventTypes,uint,uint,uint):this] mov ecx, gword ptr [ebp-9CH] G_M000_IG23: cmp gword ptr [ecx+1CH], 0 je SHORT G_M000_IG24 cmp byte ptr [edi+28H], 0 je SHORT G_M000_IG25 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax push esi push dword ptr [ebp-28H] push dword ptr [ebp+10H] mov ecx, edi mov edx, gword ptr [ebp-9CH] call [System.Diagnostics.Tracing.EventWrittenEventArgs:.ctor(System.Diagnostics.Tracing.EventSource,int,uint,uint):this] push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-9CH] mov edx, edi call [System.Diagnostics.Tracing.EventSource:WriteToAllListeners(System.Diagnostics.Tracing.EventWrittenEventArgs,int,uint):this] G_M000_IG24: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG03 G_M000_IG25: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG24 G_M000_IG26: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-9CH] jmp SHORT G_M000_IG23 ; Total bytes of code 972 823: JIT compiled System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,uint,int,uint) [Instrumented Tier1 with Static PGO, IL size=519, code size=972] ; Assembly listing for method System.Diagnostics.Tracing.EventProvider:WriteEvent(byref,int,uint,uint,int,int):bool:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; 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, edx G_M000_IG02: mov edi, gword ptr [ecx+04H] mov ecx, edi mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, edi 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] mov edx, esi mov eax, dword ptr [ecx] mov eax, dword ptr [eax+2CH] call [eax]System.Diagnostics.Tracing.EventProviderImpl:EventWriteTransfer(byref,int,uint,uint,int,uint):int:this mov esi, eax test esi, esi je SHORT G_M000_IG06 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr FS:[0x002C] mov eax, dword ptr [eax+0CH] cmp dword ptr [eax+FCH], 2 jl SHORT G_M000_IG08 mov eax, dword ptr [eax+F4H] mov edx, dword ptr [eax+08H] test edx, edx je SHORT G_M000_IG08 G_M000_IG04: mov dword ptr [edx+0A34H], esi xor eax, eax G_M000_IG05: pop esi pop edi pop ebp ret 20 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, 1 G_M000_IG07: pop esi pop edi pop ebp ret 20 G_M000_IG08: mov ecx, 2 call CORINFO_HELP_GETSHARED_NONGCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED mov edx, eax jmp SHORT G_M000_IG04 ; Total bytes of code 144 824: JIT compiled System.Diagnostics.Tracing.EventProvider:WriteEvent(byref,int,uint,uint,int,int) [Instrumented Tier1, IL size=40, code size=144] ; Assembly listing for method System.Diagnostics.Tracing.EtwEventProvider:EventWriteTransfer(byref,int,uint,uint,int,uint):int:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; 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_IG07 G_M000_IG03: cmp eax, 234 je SHORT G_M000_IG05 cmp eax, 534 jne SHORT G_M000_IG09 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, 2 G_M000_IG06: pop ebp ret 20 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, 1 G_M000_IG08: pop ebp ret 20 G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor eax, eax G_M000_IG10: pop ebp ret 20 ; Total bytes of code 115 825: JIT compiled System.Diagnostics.Tracing.EtwEventProvider:EventWriteTransfer(byref,int,uint,uint,int,uint) [Instrumented Tier1, IL size=46, code size=115] ; Assembly listing for method Interop+Advapi32:EventWriteTransfer(long,byref,uint,uint,int,uint):int (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; 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 ebx, 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 ecx, ecx mov dword ptr [ebp-38H], ecx G_M000_IG07: mov bword ptr [ebp-24H], ecx cmp ebx, 87 jne SHORT G_M000_IG14 G_M000_IG08: cmp dword ptr [ebp+10H], 0 jne SHORT G_M000_IG15 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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 ebx, 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 ecx, ecx mov dword ptr [ebp-38H], ecx G_M000_IG13: mov bword ptr [ebp-28H], ecx G_M000_IG14: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, ebx jmp SHORT G_M000_IG16 G_M000_IG15: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG14 G_M000_IG16: mov edx, bword ptr [ebp-44H] mov dword ptr [esi+0CH], edx G_M000_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 20 ; Total bytes of code 291 826: JIT compiled Interop+Advapi32:EventWriteTransfer(long,byref,uint,uint,int,uint) [Instrumented Tier1, IL size=48, code size=291] ; Assembly listing for method BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:get_PerfectInvocationCount():long:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 827: JIT compiled BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:get_PerfectInvocationCount() [Tier0, IL size=7, code size=35] ; Assembly listing for method BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:get_Measurements():System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 828: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 829: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx ; Assembly listing for method System.Text.StringBuilder:Append(System.String):System.Text.StringBuilder:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 33 ; 4 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data 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 830: JIT compiled BenchmarkDotNet.Engines.Engine:get_UnrollFactor() [Tier0, IL size=7, code size=17] G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx G_M000_IG02: test edx, edx je SHORT G_M000_IG06 lea eax, bword ptr [edx+08H] mov edi, dword ptr [edx+04H] test edi, edi je SHORT G_M000_IG06 mov ecx, gword ptr [esi+04H] mov ebx, dword ptr [esi+0CH] lea edx, [ebx+edi] cmp edx, dword ptr [ecx+04H] ja SHORT G_M000_IG05 lea ecx, bword ptr [ecx+2*ebx+08H] cmp edi, 2 jg SHORT G_M000_IG03 movzx edx, word ptr [eax] mov word ptr [ecx], dx cmp edi, 2 jne SHORT G_M000_IG04 ; Assembly listing for method BenchmarkDotNet.Engines.EngineWarmupStage:RunOverhead(long,int):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible movzx eax, word ptr [eax+02H] mov word ptr [ecx+02H], ax jmp SHORT G_M000_IG04 G_M000_IG03: lea edx, [edi+edi] push edx G_M000_IG01: mov edx, eax push call ebp mov ebp, esp [System.Buffer:Memmove(byref,byref,uint)] sub esp, G_M000_IG04: 8 add edi, ebx mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: push dword ptr [ebp+0CH] mov dword ptr [esi+0CH], edi push jmp SHORT G_M000_IG06 dword ptr [ebp+08H] G_M000_IG05: push dword ptr [ebp-08H] push edi push mov 0 ecx, esi mov ecx, gword ptr [ebp-04H] xor edx, edx mov edx, eax call call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] [BenchmarkDotNet.Engines.EngineWarmupStage:Run(long,int,int,int):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this] G_M000_IG06: G_M000_IG03: mov mov esp, ebp eax, esi pop G_M000_IG07: pop ebx ebp pop esi pop ret edi pop 8 ebp ; Total bytes of code 40 ret ; Total bytes of code 103 831: JIT compiled BenchmarkDotNet.Engines.EngineWarmupStage:RunOverhead(long,int) [Tier0, IL size=11, code size=40] 832: JIT compiled System.Text.StringBuilder:Append(System.String) [Tier1 with Dynamic PGO, IL size=23, code size=103] ; Assembly listing for method BenchmarkDotNet.Engines.EngineWarmupStage:Run(long,int,int,int):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 833: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 834: JIT compiled BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 835: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 836: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 837: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 838: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 839: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 840: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 841: JIT compiled BenchmarkDotNet.Engines.StoppingCriteriaBase:get_MaxIterationCount() [Tier0, IL size=12, code size=25] ; Assembly listing for method BenchmarkDotNet.Engines.AutoWarmupStoppingCriteria:GetMaxIterationCount():int:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 842: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 843: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 844: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 845: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; 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 846: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:OverheadWarmupStart(long) [Tier0, IL size=10, code size=33] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:OverheadWarmupStop(long):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; 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 847: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:OverheadWarmupStop(long) [Tier0, IL size=10, code size=33] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Item(int):BenchmarkDotNet.Reports.Measurement:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 848: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Item(int) [Tier0, IL size=27, code size=79] ; Assembly listing for method BenchmarkDotNet.Engines.EngineActualStage:RunOverhead(long,int):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 849: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 5 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, 148 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-9CH], 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-9CH] mov gword ptr [ebp-94H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-A0H], 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-A0H] mov gword ptr [ebp-98H], 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-94H] 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-94H] G_M000_IG09: mov edx, gword ptr [ebp-98H] 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-98H] 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] vmovsd xmm0, qword ptr [ebp-58H] 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_IG25 vucomisd xmm3, xmm2 ja SHORT G_M000_IG25 G_M000_IG17: jmp SHORT G_M000_IG19 G_M000_IG18: vmovsd qword ptr [ebp-90H], xmm2 cmp dword ptr [ebp-8CH], 0 jl SHORT G_M000_IG25 jmp SHORT G_M000_IG17 G_M000_IG19: mov ebx, dword ptr [ebp-14H] cmp ebx, dword ptr [esi+18H] jl SHORT G_M000_IG21 G_M000_IG20: vucomisd xmm3, xmm0 ja SHORT G_M000_IG23 G_M000_IG21: cmp ebx, dword ptr [esi+1CH] jge SHORT G_M000_IG23 mov eax, dword ptr [ebp-18H] test eax, eax mov edx, ebx mov ebx, dword ptr [ebp+08H] mov edi, dword ptr [ebp-10H] je G_M000_IG06 G_M000_IG22: cmp edx, 20 jl G_M000_IG06 G_M000_IG23: mov ecx, gword ptr [esi+04H] call [BenchmarkDotNet.Engines.IEngine:WriteLine():this] mov eax, gword ptr [ebp-94H] G_M000_IG24: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG25: vmovaps xmm3, xmm2 jmp SHORT G_M000_IG19 RWD00 dq 3FA999999999999Ah ; 0.05 RWD08 dq 7FEFFFFFFFFFFFFFh ; 1.79769313e+308 ; Total bytes of code 541 850: JIT compiled BenchmarkDotNet.Engines.EngineActualStage:RunAuto(long,int,int) [Tier-0 switched to FullOpts, IL size=225, code size=541] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:OverheadActualStart(long):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; 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 851: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:OverheadActualStart(long) [Tier0, IL size=10, code size=33] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:OverheadActualStop(long):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; 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 852: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 853: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 sub esp, 76 vzeroupper 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 G_M000_IG02: vxorps xmm0, xmm0, xmm0 mov eax, dword ptr [ecx+0CH] xor eax, eax jmp SHORT G_M000_IG04 G_M000_IG03: vaddsd xmm0, xmm0, xmm1 G_M000_IG04: mov edx, dword ptr [ecx+08H] cmp eax, edx jae SHORT G_M000_IG05 mov edx, gword ptr [ecx+04H] cmp eax, dword ptr [edx+04H] jae SHORT G_M000_IG07 mov esi, eax shl esi, 5 lea edx, bword ptr [edx+esi+08H] vmovsd xmm1, qword ptr [edx+18H] vmovdqu ymm2, ymmword ptr [edx] vmovdqu ymmword ptr [ebp-38H], ymm2 inc eax jmp SHORT G_M000_IG03 G_M000_IG05: vmovsd qword ptr [ebp-50H], xmm0 fld qword ptr [ebp-50H] G_M000_IG06: vzeroupper lea esp, [ebp-04H] pop esi pop ebp ret G_M000_IG07: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 113 854: JIT compiled BenchmarkDotNet.Mathematics.MeasurementsStatistics:Sum(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]) [Tier-0 switched to FullOpts, IL size=64, code size=113] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:Variance(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int,double):double (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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, 76 vzeroupper 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 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-54H], xmm0 fld qword ptr [ebp-54H] G_M000_IG04: vzeroupper lea esp, [ebp-08H] pop esi pop edi pop ebp ret 8 G_M000_IG05: vxorps xmm1, xmm1, xmm1 mov eax, dword ptr [ecx+0CH] xor eax, eax jmp SHORT G_M000_IG07 G_M000_IG06: vsubsd xmm2, xmm2, xmm0 vmulsd xmm2, xmm2, xmm2 lea esi, [edx-01H] vxorps xmm3, xmm3, xmm3 vcvtsi2sd xmm3, xmm3, esi vdivsd xmm2, xmm2, xmm3 vaddsd xmm1, xmm2, xmm1 G_M000_IG07: mov esi, dword ptr [ecx+08H] cmp eax, esi jae SHORT G_M000_IG08 mov esi, gword ptr [ecx+04H] cmp eax, dword ptr [esi+04H] jae SHORT G_M000_IG10 mov edi, eax shl edi, 5 lea esi, bword ptr [esi+edi+08H] vmovsd xmm2, qword ptr [esi+18H] vmovdqu ymm3, ymmword ptr [esi] vmovdqu ymmword ptr [ebp-3CH], ymm3 inc eax jmp SHORT G_M000_IG06 G_M000_IG08: vmovsd qword ptr [ebp-54H], xmm1 fld qword ptr [ebp-54H] G_M000_IG09: vzeroupper lea esp, [ebp-08H] pop esi pop edi pop ebp ret 8 G_M000_IG10: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 174 855: 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=174] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceInterval:.ctor(double,double,int,int):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 856: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 857: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 858: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 859: 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) (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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, 92 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-54H], 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-24H], ecx vmovsd xmm0, qword ptr [ebp+18H] vmovsd xmm1, qword ptr [ebp+10H] mov edi, bword ptr [ebp+0CH] mov ebx, bword ptr [ebp+08H] G_M000_IG02: vxorps xmm2, xmm2, xmm2 vmovsd qword ptr [edi], xmm2 xor ecx, ecx mov bword ptr [ebp+08H], ebx mov dword ptr [ebx], ecx mov eax, dword ptr [edx+0CH] mov gword ptr [ebp-68H], edx G_M000_IG03: mov dword ptr [ebp-5CH], eax jmp SHORT G_M000_IG05 G_M000_IG04: vmovsd qword ptr [ebp-64H], xmm2 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, dword ptr [ebp-24H] call [BenchmarkDotNet.Mathematics.MeasurementsStatistics:IsOutlier(int,double,double,double):bool] test eax, eax mov eax, dword ptr [ebp-5CH] mov ecx, dword ptr [ebp-58H] mov edx, gword ptr [ebp-68H] vmovsd xmm0, qword ptr [ebp+18H] vmovsd xmm1, qword ptr [ebp+10H] jne SHORT G_M000_IG05 vmovsd xmm2, qword ptr [ebp-64H] vaddsd xmm2, xmm2, qword ptr [edi] vmovsd qword ptr [edi], xmm2 mov ebx, bword ptr [ebp+08H] inc dword ptr [ebx] mov bword ptr [ebp+08H], ebx G_M000_IG05: mov esi, edx cmp eax, dword ptr [esi+0CH] jne SHORT G_M000_IG08 G_M000_IG06: mov esi, dword ptr [edx+08H] cmp ecx, esi jae SHORT G_M000_IG07 mov esi, gword ptr [edx+04H] cmp ecx, dword ptr [esi+04H] jae SHORT G_M000_IG09 mov ebx, ecx shl ebx, 5 lea esi, bword ptr [esi+ebx+08H] vmovsd xmm2, qword ptr [esi+18H] vmovdqu ymm3, ymmword ptr [esi] vmovdqu ymmword ptr [ebp-44H], ymm3 inc ecx mov dword ptr [ebp-58H], ecx jmp G_M000_IG04 G_M000_IG07: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 24 G_M000_IG08: call [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()] int3 G_M000_IG09: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 258 860: 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=258] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:IsOutlier(int,double,double,double):bool (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 861: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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, 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 xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov esi, ecx mov edi, dword ptr [ebp+20H] vmovsd xmm1, qword ptr [ebp+10H] vmovsd xmm2, qword ptr [ebp+08H] G_M000_IG02: mov dword ptr [ebp+20H], edi cmp edi, 1 jne SHORT G_M000_IG05 G_M000_IG03: vxorps xmm1, xmm1, xmm1 vmovsd qword ptr [ebp-70H], xmm1 fld qword ptr [ebp-70H] 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 ebx, dword ptr [edx+0CH] mov eax, edx mov gword ptr [ebp-68H], eax xor ecx, ecx jmp SHORT G_M000_IG07 G_M000_IG06: vmovsd qword ptr [ebp-64H], xmm4 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, esi call [BenchmarkDotNet.Mathematics.MeasurementsStatistics:IsOutlier(int,double,double,double):bool] test eax, eax mov eax, gword ptr [ebp-68H] mov ecx, dword ptr [ebp-5CH] vmovsd xmm1, qword ptr [ebp+10H] vmovsd xmm2, qword ptr [ebp+08H] jne SHORT G_M000_IG07 vmovsd xmm4, qword ptr [ebp-64H] vmovsd xmm0, qword ptr [ebp+18H] vsubsd xmm4, xmm4, xmm0 vmulsd xmm4, xmm4, xmm4 mov edi, dword ptr [ebp+20H] lea edx, [edi-01H] vxorps xmm5, xmm5, xmm5 vcvtsi2sd xmm5, xmm5, edx vdivsd xmm4, xmm4, xmm5 vaddsd xmm3, xmm4, qword ptr [ebp-28H] mov dword ptr [ebp+20H], edi vmovsd qword ptr [ebp-28H], xmm3 vmovsd qword ptr [ebp+18H], xmm0 G_M000_IG07: mov edx, eax cmp ebx, dword ptr [edx+0CH] jne SHORT G_M000_IG10 mov edx, dword ptr [eax+08H] cmp ecx, edx jae SHORT G_M000_IG08 mov edx, gword ptr [eax+04H] cmp ecx, dword ptr [edx+04H] jae SHORT G_M000_IG11 mov edi, ecx shl edi, 5 lea edx, bword ptr [edx+edi+08H] vmovsd xmm4, qword ptr [edx+18H] vmovdqu ymm5, ymmword ptr [edx] vmovdqu ymmword ptr [ebp-48H], ymm5 inc ecx mov dword ptr [ebp-5CH], ecx 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 327 862: 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=327] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:.ctor(double,double,Perfolizer.Mathematics.Common.ConfidenceInterval):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 863: 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]) (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 864: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 865: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 866: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 51 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov eax, gword ptr [D1FFAB1EH] G_M000_IG03: pop ebp ret ; Total bytes of code 25 867: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 868: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 869: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 870: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 871: 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) (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 8 inlinees with PGO data; 20 single block inlinees; 16 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 136 vzeroupper mov esi, ecx G_M000_IG02: mov edi, bword ptr [ebp+08H] mov ebx, edi mov edi, dword ptr [ebp+0CH] mov eax, edi cmp edi, 1 jle G_M000_IG23 G_M000_IG03: cmp eax, 16 jle SHORT G_M000_IG05 test esi, esi je G_M000_IG22 dec esi cmp eax, edi ja G_M000_IG24 mov dword ptr [ebp-10H], eax mov edx, eax push edx push ebx call [System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:PickPivotAndPartition(System.Span`1[BenchmarkDotNet.Reports.Measurement]):int] mov dword ptr [ebp-14H], eax lea ecx, [eax+01H] mov edx, dword ptr [ebp-10H] sub edx, ecx cmp ecx, edi ja G_M000_IG24 mov eax, edi sub eax, ecx cmp eax, edx jb G_M000_IG24 shl ecx, 5 add ecx, ebx push edx push ecx mov ecx, esi call [System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:IntroSort(System.Span`1[BenchmarkDotNet.Reports.Measurement],int)] mov edx, dword ptr [ebp-14H] mov eax, edx cmp eax, 1 jg SHORT G_M000_IG03 G_M000_IG04: jmp G_M000_IG23 G_M000_IG05: cmp eax, 2 jne SHORT G_M000_IG09 lea eax, bword ptr [ebx+20H] cmp byte ptr [ebx], bl vmovsd xmm0, qword ptr [eax+18H] vmovsd xmm1, qword ptr [ebx+18H] vucomisd xmm0, xmm1 ja G_M000_IG23 vucomisd xmm1, xmm0 ja SHORT G_M000_IG08 vucomisd xmm1, xmm0 jp SHORT G_M000_IG06 je G_M000_IG23 G_M000_IG06: vucomisd xmm1, xmm1 jp SHORT G_M000_IG07 je SHORT G_M000_IG08 G_M000_IG07: vucomisd xmm0, xmm0 jp G_M000_IG23 jmp G_M000_IG23 G_M000_IG08: vmovdqu ymm0, ymmword ptr [ebx] vmovdqu ymmword ptr [ebp-34H], ymm0 vmovdqu ymm0, ymmword ptr [eax] vmovdqu ymmword ptr [ebx], ymm0 vmovdqu ymm0, ymmword ptr [ebp-34H] vmovdqu ymmword ptr [eax], ymm0 jmp G_M000_IG23 G_M000_IG09: cmp eax, 3 jne G_M000_IG21 cmp edi, 2 jbe G_M000_IG25 lea eax, bword ptr [ebx+40H] lea edx, bword ptr [ebx+20H] mov ecx, ebx cmp byte ptr [ecx], cl vmovsd xmm0, qword ptr [edx+18H] vmovsd xmm1, qword ptr [ecx+18H] vucomisd xmm0, xmm1 ja SHORT G_M000_IG13 vucomisd xmm1, xmm0 ja SHORT G_M000_IG12 vucomisd xmm1, xmm0 jp SHORT G_M000_IG10 je SHORT G_M000_IG13 G_M000_IG10: vucomisd xmm1, xmm1 jp SHORT G_M000_IG11 je SHORT G_M000_IG12 G_M000_IG11: vucomisd xmm0, xmm0 jp SHORT G_M000_IG13 jmp SHORT G_M000_IG13 G_M000_IG12: vmovdqu ymm0, ymmword ptr [ecx] vmovdqu ymmword ptr [ebp-54H], ymm0 vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ecx], ymm0 vmovdqu ymm0, ymmword ptr [ebp-54H] vmovdqu ymmword ptr [edx], ymm0 G_M000_IG13: vmovsd xmm0, qword ptr [eax+18H] vmovsd xmm1, qword ptr [ecx+18H] vucomisd xmm0, xmm1 ja SHORT G_M000_IG17 vucomisd xmm1, xmm0 ja SHORT G_M000_IG16 vucomisd xmm1, xmm0 jp SHORT G_M000_IG14 je SHORT G_M000_IG17 G_M000_IG14: vucomisd xmm1, xmm1 jp SHORT G_M000_IG15 je SHORT G_M000_IG16 G_M000_IG15: vucomisd xmm0, xmm0 jp SHORT G_M000_IG17 jmp SHORT G_M000_IG17 G_M000_IG16: vmovdqu ymm0, ymmword ptr [ecx] vmovdqu ymmword ptr [ebp-74H], ymm0 vmovdqu ymm0, ymmword ptr [eax] vmovdqu ymmword ptr [ecx], ymm0 vmovdqu ymm0, ymmword ptr [ebp-74H] vmovdqu ymmword ptr [eax], ymm0 G_M000_IG17: vmovsd xmm0, qword ptr [eax+18H] vmovsd xmm1, qword ptr [edx+18H] vucomisd xmm0, xmm1 ja SHORT G_M000_IG23 vucomisd xmm1, xmm0 ja SHORT G_M000_IG20 vucomisd xmm1, xmm0 jp SHORT G_M000_IG18 je SHORT G_M000_IG23 G_M000_IG18: vucomisd xmm1, xmm1 jp SHORT G_M000_IG19 je SHORT G_M000_IG20 G_M000_IG19: vucomisd xmm0, xmm0 jp SHORT G_M000_IG23 jmp SHORT G_M000_IG23 G_M000_IG20: vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ebp-94H], ymm0 vmovdqu ymm0, ymmword ptr [eax] vmovdqu ymmword ptr [edx], ymm0 vmovdqu ymm0, ymmword ptr [ebp-94H] vmovdqu ymmword ptr [eax], ymm0 jmp SHORT G_M000_IG23 G_M000_IG21: cmp eax, edi ja SHORT G_M000_IG24 mov edx, ebx push eax push edx 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 eax, edi ja SHORT G_M000_IG24 mov edx, ebx push eax push edx 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 542 872: 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=542] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:GetQuartile(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int):double (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 873: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 874: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 875: JIT compiled Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:ToPercent(int) [Tier0, IL size=44, code size=147] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 876: 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]] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 877: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 878: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 879: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 880: 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]] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 881: 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]] (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 882: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 883: 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]] (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 884: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 885: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 886: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 887: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 888: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; fully 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, 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 889: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 890: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; fully 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 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 891: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp sub esp, 32 vzeroupper vmovsd xmm1, qword ptr [ebp+08H] G_M000_IG02: vxorps xmm2, xmm2, xmm2 vmovsd xmm3, qword ptr [@RWD00] G_M000_IG03: vmovsd qword ptr [ebp-08H], xmm2 vmovsd qword ptr [ebp-10H], xmm3 vaddsd xmm4, xmm2, xmm3 vmulsd xmm4, xmm4, qword ptr [@RWD08] vmovsd qword ptr [ebp-18H], xmm4 sub esp, 8 vmovsd qword ptr [esp], xmm4 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-20H] vmovsd xmm1, qword ptr [ebp+10H] vmovsd xmm0, qword ptr [ebp-20H] vucomisd xmm1, xmm0 jbe SHORT G_M000_IG05 G_M000_IG04: vmovsd xmm4, qword ptr [ebp-18H] vmovaps xmm3, xmm4 jmp SHORT G_M000_IG06 G_M000_IG05: vmovsd xmm4, qword ptr [ebp-18H] vmovaps xmm2, xmm4 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 vucomisd xmm0, qword ptr [@RWD16] vmovsd qword ptr [ebp+10H], xmm1 ja SHORT G_M000_IG09 G_M000_IG07: vaddsd xmm0, xmm2, xmm3 vmulsd xmm0, xmm0, qword ptr [@RWD08] vmovsd qword ptr [ebp-20H], xmm0 fld qword ptr [ebp-20H] 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 3FE0000000000000h ; 0.5 RWD16 dq 3E112E0BE826D695h ; 1e-09 ; Total bytes of code 189 892: JIT compiled Perfolizer.Mathematics.Distributions.StudentDistribution:InverseTwoTailStudent(double,double) [Tier-0 switched to FullOpts, IL size=80, code size=189] ; Assembly listing for method Perfolizer.Mathematics.Distributions.StudentDistribution:StudentTwoTail(double,double):double (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 893: 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]) (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 2 inlinees with PGO data; 8 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 32 vzeroupper G_M000_IG02: mov eax, bword ptr [ebp+08H] mov edx, dword ptr [ebp+0CH] xor ecx, ecx dec edx test edx, edx jle G_M000_IG11 G_M000_IG03: lea esi, [ecx+01H] mov edi, esi shl edi, 5 add edi, eax vmovsd xmm0, qword ptr [edi+18H] vmovdqu ymm1, ymmword ptr [edi] vmovdqu ymmword ptr [ebp-2CH], ymm1 jmp SHORT G_M000_IG05 align [0 bytes for IG04] G_M000_IG04: lea edi, [ecx+01H] shl edi, 5 add edi, eax mov ebx, ecx shl ebx, 5 vmovdqu ymm1, ymmword ptr [eax+ebx] vmovdqu ymmword ptr [edi], ymm1 dec ecx G_M000_IG05: test ecx, ecx jl SHORT G_M000_IG10 G_M000_IG06: mov edi, ecx shl edi, 5 vmovsd xmm1, qword ptr [eax+edi+18H] vmovaps xmm2, xmm0 vucomisd xmm1, xmm2 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: inc ecx shl ecx, 5 add ecx, eax vmovdqu ymm1, ymmword ptr [ebp-2CH] vmovdqu ymmword ptr [ecx], ymm1 vmovsd qword ptr [ecx+18H], xmm0 mov ecx, esi cmp ecx, edx jl SHORT 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 170 894: 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=170] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:__Overhead():int:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 code ; 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 895: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:__Overhead() [Instrumented Tier0, IL size=2, code size=13] ; Assembly listing for method System.Number+BigInteger:HeuristicDivide(byref,byref):uint (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 187 ; 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, 72 mov esi, edx G_M000_IG02: mov edi, dword ptr [esi] cmp dword ptr [ecx], edi jl G_M000_IG28 lea eax, [edi-01H] mov dword ptr [ebp-10H], eax mov eax, dword ptr [ecx+4*eax+04H] mov edx, dword ptr [ebp-10H] mov ebx, dword ptr [esi+4*edx+04H] inc ebx xor edx, edx div edx:eax, ebx mov ebx, eax test ebx, ebx je G_M000_IG07 G_M000_IG03: xor eax, eax xor edx, edx mov dword ptr [ebp-50H], edx xor edx, edx mov dword ptr [ebp-54H], edx mov edx, dword ptr [ebp-50H] mov dword ptr [ebp-1CH], edx mov edx, dword ptr [ebp-54H] mov dword ptr [ebp-20H], edx xor edx, edx mov dword ptr [ebp-54H], edx xor edx, edx mov dword ptr [ebp-50H], edx mov edx, dword ptr [ebp-54H] mov dword ptr [ebp-24H], edx mov edx, dword ptr [ebp-50H] mov dword ptr [ebp-28H], edx G_M000_IG04: mov dword ptr [ebp-18H], eax mov edx, dword ptr [esi+4*eax+04H] mov dword ptr [ebp-14H], ebx mov eax, edx mul edx:eax, ebx mov ebx, dword ptr [ebp-24H] add eax, ebx mov ebx, dword ptr [ebp-28H] adc ebx, edx mov dword ptr [ebp-2CH], eax xor edx, edx mov dword ptr [ebp-24H], ebx mov dword ptr [ebp-28H], edx mov edx, dword ptr [ebp-18H] mov ebx, dword ptr [ecx+4*edx+04H] xor eax, eax sub ebx, dword ptr [ebp-2CH] sbb eax, 0 sub ebx, dword ptr [ebp-1CH] sbb eax, dword ptr [ebp-20H] mov dword ptr [ebp-30H], ebx xor ebx, ebx and eax, 1 and ebx, 0 mov dword ptr [ebp-1CH], eax mov eax, dword ptr [ebp-30H] mov dword ptr [ecx+4*edx+04H], eax inc edx cmp edx, edi mov dword ptr [ebp-20H], ebx mov eax, edx jl SHORT G_M000_IG14 G_M000_IG05: test edi, edi jle SHORT G_M000_IG06 cmp dword ptr [ecx+4*edi], 0 je G_M000_IG30 G_M000_IG06: mov dword ptr [ecx], edi mov ebx, dword ptr [ebp-14H] G_M000_IG07: mov eax, dword ptr [ecx] mov edx, eax sub edx, dword ptr [esi] jne SHORT G_M000_IG18 G_M000_IG08: test eax, eax je SHORT G_M000_IG25 G_M000_IG09: dec eax js SHORT G_M000_IG25 G_M000_IG10: mov dword ptr [ebp-14H], ebx G_M000_IG11: mov edx, dword ptr [ecx+4*eax+04H] xor ebx, ebx sub edx, dword ptr [esi+4*eax+04H] sbb ebx, 0 mov dword ptr [ebp-44H], ebx or ebx, edx jne SHORT G_M000_IG15 G_M000_IG12: dec eax jns SHORT G_M000_IG11 G_M000_IG13: mov ebx, dword ptr [ebp-14H] jmp SHORT G_M000_IG25 G_M000_IG14: mov ebx, dword ptr [ebp-14H] jmp G_M000_IG04 G_M000_IG15: cmp edx, 1 mov eax, dword ptr [ebp-44H] sbb eax, 0 jge SHORT G_M000_IG17 G_M000_IG16: mov ebx, dword ptr [ebp-14H] jmp SHORT G_M000_IG19 G_M000_IG17: mov ebx, dword ptr [ebp-14H] jmp SHORT G_M000_IG25 G_M000_IG18: test edx, edx jge SHORT G_M000_IG25 G_M000_IG19: mov eax, ebx G_M000_IG20: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG21: dec edi G_M000_IG22: test edi, edi jle SHORT G_M000_IG24 G_M000_IG23: cmp dword ptr [ecx+4*edi], 0 je SHORT G_M000_IG21 G_M000_IG24: mov dword ptr [ecx], edi jmp SHORT G_M000_IG19 G_M000_IG25: inc ebx xor eax, eax xor edx, edx mov dword ptr [ebp-50H], edx xor edx, edx mov dword ptr [ebp-54H], edx mov edx, dword ptr [ebp-50H] mov dword ptr [ebp-34H], edx mov edx, dword ptr [ebp-54H] mov dword ptr [ebp-38H], edx G_M000_IG26: mov edx, dword ptr [ecx+4*eax+04H] mov dword ptr [ebp-54H], edx xor edx, edx mov dword ptr [ebp-50H], edx mov edx, dword ptr [ebp-54H] sub edx, dword ptr [esi+4*eax+04H] mov dword ptr [ebp-54H], edx mov edx, dword ptr [ebp-50H] sbb edx, 0 mov dword ptr [ebp-50H], edx mov edx, dword ptr [ebp-54H] sub edx, dword ptr [ebp-34H] mov dword ptr [ebp-54H], edx mov edx, dword ptr [ebp-50H] sbb edx, dword ptr [ebp-38H] mov dword ptr [ebp-50H], edx mov edx, dword ptr [ebp-54H] mov dword ptr [ebp-3CH], edx mov edx, dword ptr [ebp-50H] mov dword ptr [ebp-40H], edx xor edx, edx mov dword ptr [ebp-50H], edx mov edx, dword ptr [ebp-40H] and edx, 1 mov dword ptr [ebp-54H], edx mov edx, dword ptr [ebp-50H] and edx, 0 mov dword ptr [ebp-50H], edx mov edx, dword ptr [ebp-54H] mov dword ptr [ebp-34H], edx mov edx, dword ptr [ebp-50H] mov dword ptr [ebp-38H], edx mov edx, dword ptr [ebp-3CH] mov dword ptr [ecx+4*eax+04H], edx inc eax cmp eax, edi jl SHORT G_M000_IG26 G_M000_IG27: jmp G_M000_IG22 G_M000_IG28: xor eax, eax G_M000_IG29: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG30: dec edi jmp G_M000_IG05 ; Total bytes of code 463 896: JIT compiled System.Number+BigInteger:HeuristicDivide(byref,byref) [Tier1 with Dynamic PGO, IL size=363, code size=463] ; Assembly listing for method System.GC:Collect() (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 32 G_M000_IG02: lea edi, [ebp-28H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-14H], eax push 2 push -1 mov dword ptr [ebp-20H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-1CH], eax lea eax, G_M000_IG05 mov dword ptr [ebp-18H], eax mov byte ptr [esi+08H], 0 G_M000_IG03: mov eax, 0xD1FFAB1E G_M000_IG04: call eax ; System.GC:_Collect(int,int) G_M000_IG05: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG06 call CORINFO_HELP_STOP_FOR_GC G_M000_IG06: xor eax, eax mov dword ptr [ebp-18H], eax mov eax, bword ptr [ebp-24H] mov dword ptr [esi+0CH], eax G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 95 897: JIT compiled System.GC:Collect() [Instrumented Tier1, IL size=8, code size=95] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_IterationMode():int:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 898: JIT compiled BenchmarkDotNet.Engines.IterationData:get_IterationMode() [Instrumented Tier0, IL size=7, code size=16] ; Assembly listing for method System.UInt64:CreateTruncating[uint](uint):ulong (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; esp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 233 ; 1 inlinees with PGO data; 0 single block inlinees; 1 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 899: JIT compiled System.UInt64:CreateTruncating[uint](uint) [Tier1 with Dynamic PGO, IL size=74, code size=5] ; Assembly listing for method System.UInt64:TryConvertFromTruncating[uint](uint,byref):bool (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 1635 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 900: JIT compiled System.UInt64:TryConvertFromTruncating[uint](uint,byref) [Tier1 with Static PGO, IL size=371, code size=17] ; Assembly listing for method System.Gen2GcCallback:Finalize():this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 122 ; 6 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 sub esp, 24 xor eax, eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-20H], ecx G_M000_IG02: mov edx, dword ptr [ecx+0CH] test edx, edx je G_M000_IG08 G_M000_IG03: and edx, -2 mov esi, gword ptr [edx] test esi, esi je SHORT G_M000_IG07 G_M000_IG04: mov edi, gword ptr [ecx+08H] mov ecx, edi mov edx, 0xD1FFAB1E call CORINFO_HELP_DELEGATEPROFILE32 mov ecx, gword ptr [edi+04H] mov edx, esi call [edi+0CH]System.Func`2[System.__Canon,bool]:Invoke(System.__Canon):bool:this test eax, eax jne G_M000_IG11 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-20H] add ecx, 12 call [System.Runtime.InteropServices.GCHandle:Free():this] mov dword ptr [ebp-18H], 0 mov dword ptr [ebp-14H], 252 push G_M000_IG14 jmp G_M000_IG16 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 call CORINFO_HELP_ENDCATCH jmp SHORT G_M000_IG11 G_M000_IG07: add ecx, 12 call [System.Runtime.InteropServices.GCHandle:Free():this] mov dword ptr [ebp-18H], 0 mov dword ptr [ebp-14H], 252 push G_M000_IG13 jmp G_M000_IG16 G_M000_IG08: mov esi, gword ptr [ecx+04H] mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_DELEGATEPROFILE32 mov ecx, gword ptr [esi+04H] call [esi+0CH]System.Func`1[bool]:Invoke():bool:this test eax, eax je SHORT G_M000_IG09 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG11 G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov dword ptr [ebp-18H], 0 mov dword ptr [ebp-14H], 252 push G_M000_IG15 jmp SHORT G_M000_IG16 G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 call CORINFO_HELP_ENDCATCH G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-20H] call [System.GC:ReRegisterForFinalize(System.Object)] G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-20H] call [System.Runtime.ConstrainedExecution.CriticalFinalizerObject:Finalize():this] jmp SHORT G_M000_IG17 G_M000_IG13: mov dword ptr [ebp-14H], 0 jmp SHORT G_M000_IG17 G_M000_IG14: mov dword ptr [ebp-14H], 0 jmp SHORT G_M000_IG17 G_M000_IG15: mov dword ptr [ebp-14H], 0 jmp SHORT G_M000_IG17 G_M000_IG16: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-20H] call [System.Runtime.ConstrainedExecution.CriticalFinalizerObject:Finalize():this] pop eax jmp eax G_M000_IG17: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG18: lea esp, [ebp-08H] pop esi pop edi pop ebp ret ; Total bytes of code 352 901: JIT compiled System.Gen2GcCallback:Finalize() [Instrumented Tier1 with Static PGO, IL size=111, code size=352] ; Assembly listing for method System.Buffers.SharedArrayPool`1+<>c[ushort]:b__11_0(System.Object):bool:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 30 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 902: JIT compiled System.Buffers.SharedArrayPool`1+<>c[ushort]:b__11_0(System.Object) [Instrumented Tier1 with Static PGO, IL size=12, code size=37] ; Assembly listing for method System.Runtime.CompilerServices.CastHelpers:ChkCastClass(uint,System.Object):System.Object (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 183 ; 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 edx, edx jne SHORT G_M000_IG05 G_M000_IG03: mov eax, edx G_M000_IG04: pop ebp ret G_M000_IG05: cmp dword ptr [edx], ecx je SHORT G_M000_IG03 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 903: JIT compiled System.Runtime.CompilerServices.CastHelpers:ChkCastClass(uint,System.Object) [Tier1 with Dynamic PGO, IL size=22, code size=23] ; Assembly listing for method System.Buffers.SharedArrayPool`1[ushort]:Trim():bool:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 30 ; 16 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, 140 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-98H], 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-18H], eax mov esi, ecx G_M000_IG02: call System.Environment:get_TickCount():int mov edi, eax mov dword ptr [ebp-24H], edi call [System.Buffers.Utilities:GetMemoryPressure():int] mov ebx, eax mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-74H], eax cmp byte ptr [eax+59H], 0 jne G_M000_IG48 G_M000_IG03: mov gword ptr [ebp-70H], esi mov edx, gword ptr [esi+08H] mov gword ptr [ebp-78H], edx xor ecx, ecx mov eax, dword ptr [edx+04H] mov dword ptr [ebp-6CH], eax test eax, eax jle SHORT G_M000_IG06 G_M000_IG04: mov dword ptr [ebp-28H], ecx mov esi, gword ptr [edx+4*ecx+08H] test esi, esi jne SHORT G_M000_IG08 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov esi, dword ptr [ebp-28H] inc esi mov eax, dword ptr [ebp-6CH] cmp eax, esi mov ecx, esi mov edx, gword ptr [ebp-78H] jg SHORT G_M000_IG04 G_M000_IG06: cmp ebx, 2 je G_M000_IG49 cmp ebx, 1 je G_M000_IG17 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, 0x7530 G_M000_IG07: mov dword ptr [ebp-40H], ebx mov esi, gword ptr [ebp-70H] mov eax, gword ptr [esi+04H] mov gword ptr [ebp-90H], eax mov ecx, eax mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-90H] call [System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:this] mov gword ptr [ebp-88H], eax jmp G_M000_IG18 G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-70H] 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 esi, gword ptr [esi+04H] xor ecx, ecx cmp dword ptr [esi+04H], 0 jle G_M000_IG05 G_M000_IG09: mov dword ptr [ebp-64H], ecx mov edx, gword ptr [esi+4*ecx+08H] push eax push ebx push dword ptr [ebp-60H] mov ecx, edx mov edx, edi cmp dword ptr [ecx], ecx call [System.Buffers.SharedArrayPool`1+Partition[ushort]:Trim(int,int,int,int):this] mov ecx, dword ptr [ebp-64H] inc ecx cmp dword ptr [esi+04H], ecx mov eax, dword ptr [ebp-50H] jg SHORT G_M000_IG09 jmp G_M000_IG05 G_M000_IG10: mov dword ptr [ebp-18H], 0 jmp G_M000_IG37 G_M000_IG11: cmp gword ptr [ebp-7CH], 0 je SHORT G_M000_IG12 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-7CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-7CH] call [System.IDisposable:Dispose():this] G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 pop eax jmp eax G_M000_IG13: mov esi, gword ptr [ebp-70H] mov edi, gword ptr [esi+04H] mov ecx, edi mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, edi call [System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:this] mov gword ptr [ebp-80H], eax jmp G_M000_IG42 G_M000_IG14: mov dword ptr [ebp-18H], 0 jmp G_M000_IG37 G_M000_IG15: cmp gword ptr [ebp-80H], 0 je SHORT G_M000_IG16 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-80H] mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-80H] call [System.IDisposable:Dispose():this] G_M000_IG16: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 pop eax jmp eax G_M000_IG17: mov ecx, 0x3A98 mov ebx, ecx jmp G_M000_IG07 G_M000_IG18: mov ecx, eax mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-88H] mov eax, ecx mov edx, eax mov gword ptr [ebp-94H], edx mov ecx, edx call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je G_M000_IG24 G_M000_IG19: mov ecx, gword ptr [ebp-88H] mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov eax, gword ptr [ebp-94H] mov ecx, eax lea edx, [ebp-48H] 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-8CH], eax xor edx, edx mov ecx, dword ptr [eax+04H] mov dword ptr [ebp-68H], ecx test ecx, ecx jle SHORT G_M000_IG23 G_M000_IG20: cmp gword ptr [eax+8*edx+08H], 0 jne SHORT G_M000_IG26 G_M000_IG21: mov dword ptr [ebp-4CH], edx G_M000_IG22: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edx, dword ptr [ebp-4CH] inc edx mov eax, dword ptr [ebp-68H] cmp eax, edx jg SHORT G_M000_IG25 G_M000_IG23: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-88H] mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-94H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG19 G_M000_IG24: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG33 G_M000_IG25: mov eax, gword ptr [ebp-8CH] jmp SHORT G_M000_IG20 G_M000_IG26: mov dword ptr [ebp-4CH], edx lea esi, bword ptr [eax+8*edx+08H] mov ebx, dword ptr [esi+04H] test ebx, ebx jne SHORT G_M000_IG28 G_M000_IG27: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov dword ptr [esi+04H], edi jmp SHORT G_M000_IG22 G_M000_IG28: mov esi, edi sub esi, ebx mov ebx, esi sar ebx, 31 mov edi, dword ptr [ebp-40H] cmp esi, edi mov esi, ebx sbb esi, 0 jge SHORT G_M000_IG30 G_M000_IG29: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edi, dword ptr [ebp-24H] jmp G_M000_IG22 G_M000_IG30: mov eax, gword ptr [ebp-8CH] mov edx, dword ptr [ebp-4CH] lea ebx, bword ptr [eax+8*edx+08H] mov bword ptr [ebp-98H], ebx xor ebx, ebx mov esi, bword ptr [ebp-98H] xchg gword ptr [esi], ebx test ebx, ebx je SHORT G_M000_IG32 mov esi, gword ptr [ebp-74H] cmp byte ptr [esi+59H], 0 je SHORT G_M000_IG31 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, ebx mov eax, dword ptr [ebx] mov eax, dword ptr [eax+28H] call [eax+0CH]System.Object:GetHashCode():int:this mov dword ptr [ebp-54H], eax mov ebx, dword ptr [ebx+04H] mov ecx, gword ptr [ebp-70H] call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int push dword ptr [ebp-54H] push ebx push eax mov ecx, esi mov edx, 4 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int,int):this] mov edi, dword ptr [ebp-24H] jmp G_M000_IG22 G_M000_IG31: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edi, dword ptr [ebp-24H] jmp G_M000_IG22 G_M000_IG32: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edi, dword ptr [ebp-24H] jmp G_M000_IG22 G_M000_IG33: cmp gword ptr [ebp-88H], 0 je SHORT G_M000_IG34 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-88H] mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-94H] call [System.IDisposable:Dispose():this] G_M000_IG34: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG37 G_M000_IG35: cmp gword ptr [ebp-88H], 0 je SHORT G_M000_IG36 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-88H] mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-88H] mov esi, ecx mov ecx, esi call [System.IDisposable:Dispose():this] G_M000_IG36: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 pop eax jmp eax G_M000_IG37: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, 1 G_M000_IG38: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG39: jmp SHORT G_M000_IG41 G_M000_IG40: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-7CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-7CH] mov edx, ecx mov ecx, edx lea edx, [ebp-30H] 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)] G_M000_IG41: mov ecx, gword ptr [ebp-7CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-7CH] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG40 mov dword ptr [ebp-1CH], 0 mov dword ptr [ebp-18H], 252 push G_M000_IG10 jmp G_M000_IG11 G_M000_IG42: mov ebx, gword ptr [ebp-74H] mov esi, gword ptr [ebp-70H] jmp G_M000_IG47 G_M000_IG43: mov ecx, gword ptr [ebp-80H] mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-80H] mov edx, ecx mov ecx, edx lea edx, [ebp-38H] 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 edi, gword ptr [ebp-38H] xor eax, eax jmp SHORT G_M000_IG46 G_M000_IG44: mov dword ptr [ebp-3CH], eax lea ecx, bword ptr [edi+8*eax+08H] xor edx, edx xchg gword ptr [ecx], edx mov gword ptr [ebp-84H], edx test edx, edx je SHORT G_M000_IG45 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-84H] mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-84H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+0CH]System.Object:GetHashCode():int:this mov dword ptr [ebp-58H], eax mov ecx, gword ptr [ebp-84H] 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, ebx mov edx, 4 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int,int):this] G_M000_IG45: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [ebp-3CH] inc eax G_M000_IG46: cmp dword ptr [edi+04H], eax jg SHORT G_M000_IG44 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG47: mov ecx, gword ptr [ebp-80H] mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-80H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne G_M000_IG43 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov dword ptr [ebp-1CH], 0 mov dword ptr [ebp-18H], 252 push G_M000_IG14 jmp G_M000_IG15 G_M000_IG48: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 push edi push ebx mov ecx, gword ptr [ebp-74H] mov edx, 5 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this] jmp G_M000_IG03 G_M000_IG49: mov ebx, gword ptr [ebp-74H] cmp byte ptr [ebx+59H], 0 jne G_M000_IG13 mov esi, gword ptr [ebp-70H] mov esi, gword ptr [esi+04H] mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, esi call [System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:this] mov gword ptr [ebp-7CH], eax jmp G_M000_IG39 ; Total bytes of code 1475 904: JIT compiled System.Buffers.SharedArrayPool`1[ushort]:Trim() [Instrumented Tier1 with Static PGO, IL size=523, code size=1475] ; Assembly listing for method System.Buffers.Utilities:GetMemoryPressure():int (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 92 ; 5 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, 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 jae SHORT G_M000_IG04 vmulsd xmm0, xmm0, qword ptr [@RWD08] vucomisd xmm2, xmm0 jae SHORT G_M000_IG06 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor eax, eax G_M000_IG03: lea esp, [ebp-04H] pop esi pop ebp ret G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, 2 G_M000_IG05: lea esp, [ebp-04H] pop esi pop ebp ret G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, 1 G_M000_IG07: lea esp, [ebp-04H] pop esi pop ebp ret RWD00 dq 3FECCCCCCCCCCCCDh ; 0.9 RWD08 dq 3FE6666666666666h ; 0.7 ; Total bytes of code 162 905: JIT compiled System.Buffers.Utilities:GetMemoryPressure() [Instrumented Tier1 with Static PGO, IL size=68, code size=162] ; Assembly listing for method System.GC:GetGCMemoryInfo(int):System.GCMemoryInfo (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 150 ; 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 sub esp, 8 mov esi, ecx G_M000_IG02: test esi, esi jl SHORT G_M000_IG06 cmp esi, 3 jle SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG06 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG06: 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 181 906: JIT compiled System.GC:GetGCMemoryInfo(int) [Instrumented Tier1 with Static PGO, IL size=61, code size=181] ; Assembly listing for method System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:PickPivotAndPartition(System.Span`1[BenchmarkDotNet.Reports.Measurement]):int (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 10 inlinees with PGO data; 22 single block inlinees; 13 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 192 vzeroupper G_M000_IG02: mov eax, dword ptr [ebp+0CH] mov edx, bword ptr [ebp+08H] lea ecx, [eax-01H] shl ecx, 5 add ecx, edx lea esi, [eax-01H] sar esi, 1 shl esi, 5 add esi, edx cmp byte ptr [edx], dl vmovsd xmm0, qword ptr [esi+18H] vmovsd xmm1, qword ptr [edx+18H] vucomisd xmm0, xmm1 ja SHORT G_M000_IG07 G_M000_IG03: vucomisd xmm1, xmm0 ja SHORT G_M000_IG06 vucomisd xmm1, xmm0 jp SHORT G_M000_IG04 je SHORT G_M000_IG07 G_M000_IG04: vucomisd xmm1, xmm1 jp SHORT G_M000_IG05 je SHORT G_M000_IG06 G_M000_IG05: vucomisd xmm0, xmm0 jp SHORT G_M000_IG07 jmp SHORT G_M000_IG07 align [8 bytes for IG18] G_M000_IG06: vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ebp-24H], ymm0 vmovdqu ymm0, ymmword ptr [esi] vmovdqu ymmword ptr [edx], ymm0 vmovdqu ymm0, ymmword ptr [ebp-24H] vmovdqu ymmword ptr [esi], ymm0 G_M000_IG07: vmovsd xmm0, qword ptr [ecx+18H] vmovsd xmm1, qword ptr [edx+18H] vucomisd xmm0, xmm1 ja SHORT G_M000_IG12 G_M000_IG08: vucomisd xmm1, xmm0 ja SHORT G_M000_IG11 vucomisd xmm1, xmm0 jp SHORT G_M000_IG09 je SHORT G_M000_IG12 G_M000_IG09: vucomisd xmm1, xmm1 jp SHORT G_M000_IG10 je SHORT G_M000_IG11 G_M000_IG10: vucomisd xmm0, xmm0 jp SHORT G_M000_IG12 jmp SHORT G_M000_IG12 G_M000_IG11: vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ebp-44H], ymm0 vmovdqu ymm0, ymmword ptr [ecx] vmovdqu ymmword ptr [edx], ymm0 vmovdqu ymm0, ymmword ptr [ebp-44H] vmovdqu ymmword ptr [ecx], ymm0 G_M000_IG12: vmovsd xmm0, qword ptr [ecx+18H] vmovsd xmm1, qword ptr [esi+18H] vucomisd xmm0, xmm1 ja SHORT G_M000_IG17 G_M000_IG13: vucomisd xmm1, xmm0 ja SHORT G_M000_IG16 vucomisd xmm1, xmm0 jp SHORT G_M000_IG14 je SHORT G_M000_IG17 G_M000_IG14: vucomisd xmm1, xmm1 jp SHORT G_M000_IG15 je SHORT G_M000_IG16 G_M000_IG15: vucomisd xmm0, xmm0 jp SHORT G_M000_IG17 jmp SHORT G_M000_IG17 G_M000_IG16: vmovdqu ymm0, ymmword ptr [esi] vmovdqu ymmword ptr [ebp-64H], ymm0 vmovdqu ymm0, ymmword ptr [ecx] vmovdqu ymmword ptr [esi], ymm0 vmovdqu ymm0, ymmword ptr [ebp-64H] vmovdqu ymmword ptr [ecx], ymm0 G_M000_IG17: add eax, -2 shl eax, 5 add eax, edx vmovsd xmm0, qword ptr [esi+18H] vmovdqu ymm1, ymmword ptr [esi] vmovdqu ymmword ptr [ebp-84H], ymm1 vmovdqu ymm1, ymmword ptr [eax] vmovdqu ymmword ptr [esi], ymm1 vmovdqu ymm1, ymmword ptr [ebp-84H] vmovdqu ymmword ptr [eax], ymm1 mov ecx, edx mov esi, eax cmp edx, eax jae G_M000_IG29 G_M000_IG18: cmp ecx, eax jae SHORT G_M000_IG23 add ecx, 32 vmovsd xmm1, qword ptr [ecx+18H] vmovaps xmm2, xmm0 vucomisd xmm1, xmm2 ja SHORT G_M000_IG23 G_M000_IG19: vucomisd xmm0, xmm1 ja SHORT G_M000_IG18 G_M000_IG20: vucomisd xmm0, xmm1 jp SHORT G_M000_IG21 je SHORT G_M000_IG23 G_M000_IG21: vucomisd xmm0, xmm0 jp SHORT G_M000_IG22 je SHORT G_M000_IG18 G_M000_IG22: vucomisd xmm1, xmm1 G_M000_IG23: cmp esi, edx jbe SHORT G_M000_IG27 add esi, -32 vmovsd xmm1, qword ptr [esi+18H] vmovaps xmm2, xmm0 vucomisd xmm1, xmm2 ja SHORT G_M000_IG23 G_M000_IG24: vucomisd xmm0, xmm1 ja SHORT G_M000_IG27 vucomisd xmm0, xmm1 jp SHORT G_M000_IG25 je SHORT G_M000_IG27 G_M000_IG25: vucomisd xmm0, xmm0 jp SHORT G_M000_IG26 je SHORT G_M000_IG27 G_M000_IG26: vucomisd xmm1, xmm1 jnp SHORT G_M000_IG23 G_M000_IG27: cmp ecx, esi jae SHORT G_M000_IG29 G_M000_IG28: vmovdqu ymm1, ymmword ptr [ecx] vmovdqu ymmword ptr [ebp-A4H], ymm1 vmovdqu ymm1, ymmword ptr [esi] vmovdqu ymmword ptr [ecx], ymm1 vmovdqu ymm1, ymmword ptr [ebp-A4H] vmovdqu ymmword ptr [esi], ymm1 jmp G_M000_IG18 G_M000_IG29: cmp ecx, eax je SHORT G_M000_IG31 G_M000_IG30: vmovdqu ymm0, ymmword ptr [ecx] vmovdqu ymmword ptr [ebp-C4H], ymm0 vmovdqu ymm0, ymmword ptr [eax] vmovdqu ymmword ptr [ecx], ymm0 vmovdqu ymm0, ymmword ptr [ebp-C4H] vmovdqu ymmword ptr [eax], ymm0 G_M000_IG31: mov eax, ecx sub eax, edx mov edx, eax sar edx, 31 and edx, 31 add eax, edx sar eax, 5 G_M000_IG32: vzeroupper lea esp, [ebp-04H] pop esi pop ebp ret 8 ; Total bytes of code 523 907: JIT compiled System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:PickPivotAndPartition(System.Span`1[BenchmarkDotNet.Reports.Measurement]) [Tier-0 switched to FullOpts, IL size=311, code size=523] ; Assembly listing for method BenchmarkDotNet.Engines.EngineWarmupStage:RunWorkload(long,int,int):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 908: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 909: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 910: JIT compiled BenchmarkDotNet.Engines.FixedStoppingCriteria:.ctor(int) [Tier0, IL size=69, code size=127] ; Assembly listing for method BenchmarkDotNet.Engines.FixedStoppingCriteria:GetMaxIterationCount():int:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 911: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 912: 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.EngineEventSource:WorkloadWarmupStart(long):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 13 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 913: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:WorkloadWarmupStart(long) [Tier0, IL size=10, code size=33] ; Assembly listing for method System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 2 inlinees with PGO data; 6 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push edi push esi sub esp, 36 mov dword ptr [esp+20H], 0xD1FFAB1E mov esi, ecx mov edi, edx G_M000_IG02: cmp byte ptr [esi+59H], 0 je SHORT G_M000_IG06 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 lea ecx, [esp] lea edx, [esp+34H] mov eax, ecx mov dword ptr [eax], edx xor edx, edx mov dword ptr [eax+04H], edx mov dword ptr [ecx+08H], 4 G_M000_IG04: mov dword ptr [ecx+0CH], edx lea edx, [esp+30H] lea eax, [ecx+10H] mov dword ptr [eax], edx xor edx, edx mov dword ptr [eax+04H], edx mov dword ptr [ecx+18H], 4 G_M000_IG05: mov dword ptr [ecx+1CH], edx push 0 push 2 push ecx mov ecx, esi mov edx, edi call [System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,uint,int,uint):this] G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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 131 914: JIT compiled System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int) [Instrumented Tier1, IL size=97, code size=131] ; 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 (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 92 ; 5 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, 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 G_M000_IG10 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_IG07 cmp dword ptr [ecx+14H], 0 je G_M000_IG11 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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_IG06 G_M000_IG04: 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_IG05: jmp SHORT G_M000_IG12 G_M000_IG06: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax jmp SHORT G_M000_IG04 G_M000_IG07: 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_IG08 jmp SHORT G_M000_IG09 G_M000_IG08: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax G_M000_IG09: mov ecx, edx call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov esi, gword ptr [eax] jmp SHORT G_M000_IG05 G_M000_IG10: call [System.Threading.Monitor:ThrowLockTakenException()] int3 G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG07 G_M000_IG12: cmp byte ptr [ebp-1CH], 0 je SHORT G_M000_IG13 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-24H] call System.Threading.Monitor:Exit(System.Object) G_M000_IG13: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG16 G_M000_IG14: cmp byte ptr [ebp-1CH], 0 je SHORT G_M000_IG15 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-24H] call System.Threading.Monitor:Exit(System.Object) G_M000_IG15: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 pop eax jmp eax G_M000_IG16: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, esi G_M000_IG17: lea esp, [ebp-04H] pop esi pop ebp ret ; Total bytes of code 308 915: JIT compiled System.Runtime.CompilerServices.ConditionalWeakTable`2[System.__Canon,System.__Canon]:System.Collections.Generic.IEnumerable>.GetEnumerator() [Instrumented Tier1 with Static PGO, IL size=69, code size=308] ; 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 (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 92 ; 2 inlinees with PGO data; 0 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 916: JIT compiled System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:.ctor(System.Runtime.CompilerServices.ConditionalWeakTable`2[System.__Canon,System.__Canon]) [Instrumented Tier1 with Static PGO, IL size=56, code size=31] ; Assembly listing for method System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:Dispose():this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 92 ; 2 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, 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 G_M000_IG11 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_IG03: cmp byte ptr [ebp-1CH], 0 jne SHORT G_M000_IG04 lea edx, [ebp-1CH] call System.Threading.Monitor:ReliableEnter(System.Object,byref) jmp SHORT G_M000_IG05 G_M000_IG04: call [System.Threading.Monitor:ThrowLockTakenException()] int3 G_M000_IG05: dec dword ptr [esi+0CH] G_M000_IG06: cmp byte ptr [ebp-1CH], 0 je SHORT G_M000_IG07 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-24H] call System.Threading.Monitor:Exit(System.Object) G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG10 G_M000_IG08: cmp byte ptr [ebp-1CH], 0 je SHORT G_M000_IG09 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-24H] call System.Threading.Monitor:Exit(System.Object) G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 pop eax jmp eax G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-20H] call [System.GC:SuppressFinalize(System.Object)] G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG12: lea esp, [ebp-04H] pop esi pop ebp ret ; Total bytes of code 196 917: JIT compiled System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:Dispose() [Instrumented Tier1 with Static PGO, IL size=78, code size=196] ; Assembly listing for method System.GC:SuppressFinalize(System.Object) (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 175333 ; 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 918: JIT compiled System.GC:SuppressFinalize(System.Object) [Instrumented Tier1 with Static PGO, IL size=18, code size=38] ; Assembly listing for method System.GC:ReRegisterForFinalize(System.Object) (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 327 ; 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 919: JIT compiled System.GC:ReRegisterForFinalize(System.Object) [Instrumented Tier1 with Static PGO, IL size=18, code size=38] ; Assembly listing for method System.Runtime.ConstrainedExecution.CriticalFinalizerObject:Finalize():this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 862 ; 1 inlinees with PGO data; 0 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 ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 35 920: JIT compiled System.Runtime.ConstrainedExecution.CriticalFinalizerObject:Finalize() [Instrumented Tier1 with Static PGO, IL size=10, code size=35] ; Assembly listing for method System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():bool:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 246 ; 4 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 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_IG09 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_IG10 cmp ecx, dword ptr [edx+04H] jae SHORT G_M000_IG06 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_IG10 mov edi, gword ptr [ebp-28H] mov ecx, 1 G_M000_IG05: xor edx, edx mov gword ptr [ebp-28H], edx test ecx, ecx je SHORT G_M000_IG07 mov edx, gword ptr [ebp-2CH] mov edx, dword ptr [edx] mov edx, dword ptr [edx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+0CH] test edx, edx jne SHORT G_M000_IG11 jmp SHORT G_M000_IG11 G_M000_IG06: call CORINFO_HELP_RNGCHKFAIL G_M000_IG07: mov eax, gword ptr [ebp-2CH] mov edx, dword ptr [eax+0CH] mov ecx, gword ptr [ebp-2CH] cmp edx, dword ptr [ecx+08H] jl SHORT G_M000_IG04 G_M000_IG08: jmp SHORT G_M000_IG12 G_M000_IG09: call [System.Threading.Monitor:ThrowLockTakenException()] int3 G_M000_IG10: xor eax, eax xor edi, edi xor ecx, ecx jmp SHORT G_M000_IG05 G_M000_IG11: 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_EDI 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_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 322 921: JIT compiled System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:MoveNext() [Tier1 with Dynamic PGO, IL size=124, code size=322] ; Assembly listing for method System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 208879 G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx mov edi, edx G_M000_IG02: mov ecx, dword ptr [esi+0CH] mov eax, ecx mov edx, gword ptr [esi+04H] mov ebx, dword ptr [edx+04H] cmp ebx, eax jbe SHORT G_M000_IG06 G_M000_IG03: mov word ptr [edx+2*eax+08H], di inc ecx mov dword ptr [esi+0CH], ecx G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, esi G_M000_IG05: pop ebx pop esi pop edi pop ebp ret G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 push 1 movzx edx, di mov ecx, esi call [System.Text.StringBuilder:Append(ushort,int):System.Text.StringBuilder:this] jmp SHORT G_M000_IG04 ; Total bytes of code 76 922: JIT compiled System.Text.StringBuilder:Append(ushort) [Instrumented Tier1 with Static PGO, IL size=51, code size=76] ; Assembly listing for method Perfolizer.Horology.TimeInterval:get_Nanoseconds():double:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 923: JIT compiled Perfolizer.Horology.TimeInterval:get_Nanoseconds() [Instrumented Tier0, IL size=7, code size=31] ; Assembly listing for method Perfolizer.Horology.TimeUnit:get_NanosecondAmount():long:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 924: JIT compiled Perfolizer.Horology.TimeUnit:get_NanosecondAmount() [Instrumented Tier0, IL size=7, code size=38] ; Assembly listing for method System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String) (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; esp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 198 ; 1 inlinees with PGO data; 0 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 925: JIT compiled System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String) [Tier1 with Dynamic PGO, IL size=22, code size=18] ; Assembly listing for method System.Int32:IsNegative(int):bool (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 3330856 G_M000_IG01: G_M000_IG02: mov eax, ecx shr eax, 31 G_M000_IG03: ret ; Total bytes of code 6 926: JIT compiled System.Int32:IsNegative(int) [Tier1 with Static PGO, IL size=5, code size=6] ; Assembly listing for method System.Runtime.CompilerServices.CastHelpers:IsInstanceOfClass(uint,System.Object):System.Object (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 203 ; 2 inlinees with PGO data; 0 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_IG08 test edx, edx je SHORT G_M000_IG07 mov edx, dword ptr [edx+10H] cmp edx, ecx je SHORT G_M000_IG08 test edx, edx je SHORT G_M000_IG07 mov edx, dword ptr [edx+10H] cmp edx, ecx je SHORT G_M000_IG08 test edx, edx je SHORT G_M000_IG07 mov edx, dword ptr [edx+10H] cmp edx, ecx je SHORT G_M000_IG08 test edx, edx je SHORT G_M000_IG07 mov edx, dword ptr [edx+10H] jmp SHORT G_M000_IG06 G_M000_IG07: xor eax, eax G_M000_IG08: pop ebp ret ; Total bytes of code 70 927: JIT compiled System.Runtime.CompilerServices.CastHelpers:IsInstanceOfClass(uint,System.Object) [Tier1 with Dynamic PGO, IL size=97, code size=70] ; Assembly listing for method System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,uint,int,uint):this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 187 ; 14 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, 144 vzeroupper xor eax, eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-7CH], ecx mov dword ptr [ebp-24H], edx mov esi, dword ptr [ebp+10H] G_M000_IG02: cmp byte ptr [ecx+59H], 0 je G_M000_IG25 G_M000_IG03: mov eax, gword ptr [ecx+10H] cmp edx, dword ptr [eax+04H] jae G_M000_IG09 mov edi, edx shl edi, 6 lea edi, bword ptr [eax+edi+08H] movzx ebx, 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 ebx, ebx jne G_M000_IG10 G_M000_IG04: test byte ptr [ecx+4CH], 8 jne G_M000_IG18 cmp byte ptr [edi+29H], 0 je SHORT G_M000_IG07 G_M000_IG05: mov dword ptr [ebp+10H], esi mov ebx, gword ptr [ecx+20H] lea eax, bword ptr [edi+30H] mov esi, dword ptr [edi+18H] mov ebx, gword ptr [ebx+04H] cmp dword ptr [ebx], 0xD1FFAB1E jne G_M000_IG15 add ebx, 28 mov esi, dword ptr [ebx] push dword ptr [ebx+04H] push esi mov esi, dword ptr [ebp+10H] push esi push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, eax mov edx, dword ptr [ebp-28H] call [Interop+Advapi32:EventWriteTransfer(long,byref,uint,uint,int,uint):int] cmp eax, 8 je G_M000_IG14 cmp eax, 234 je G_M000_IG21 cmp eax, 534 je G_M000_IG21 xor eax, eax G_M000_IG06: mov edx, eax test edx, edx jne G_M000_IG16 G_M000_IG07: mov ecx, gword ptr [ebp-7CH] cmp byte ptr [edi+2AH], 0 jne G_M000_IG17 G_M000_IG08: cmp gword ptr [ecx+1CH], 0 jne G_M000_IG20 jmp G_M000_IG25 G_M000_IG09: call CORINFO_HELP_RNGCHKFAIL G_M000_IG10: test esi, esi jne G_M000_IG04 test byte ptr [edi+24H], 2 jne G_M000_IG04 cmp ebx, 1 jne SHORT G_M000_IG12 G_M000_IG11: mov ebx, gword ptr [ecx+3CH] mov gword ptr [ebp-80H], ebx mov ebx, gword ptr [ecx+0CH] mov gword ptr [ebp-84H], 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 [edi+24H] push 1 mov ecx, gword ptr [ebp-80H] mov edx, gword ptr [ebp-84H] 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_IG13 G_M000_IG12: cmp ebx, 2 jne SHORT G_M000_IG13 mov ebx, gword ptr [ecx+3CH] mov gword ptr [ebp-88H], ebx mov ebx, gword ptr [ecx+0CH] mov gword ptr [ebp-8CH], ebx push gword ptr [edi] movzx ebx, word ptr [edi+36H] push ebx lea ebx, [ebp-38H] push ebx push 1 mov ecx, gword ptr [ebp-88H] mov edx, gword ptr [ebp-8CH] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.ActivityTracker:OnStop(System.String,System.String,int,byref,bool):this] G_M000_IG13: vmovups xmm0, xmmword ptr [ebp-38H] lea ecx, [ebp-38H] vptest xmm0, xmm0 mov eax, ecx cmove eax, dword ptr [ebp-28H] mov dword ptr [ebp-28H], eax vmovups xmm0, xmmword ptr [ebp-48H] lea ecx, [ebp-48H] vptest xmm0, xmm0 cmovne esi, ecx mov dword ptr [ebp+10H], esi mov ecx, gword ptr [ebp-7CH] mov esi, dword ptr [ebp+10H] jmp G_M000_IG04 G_M000_IG14: mov ebx, 1 mov eax, ebx jmp G_M000_IG06 G_M000_IG15: push esi push dword ptr [ebp-28H] push dword ptr [ebp+10H] push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, ebx mov edx, eax mov eax, dword ptr [ebx] mov eax, dword ptr [eax+2CH] call [eax]System.Diagnostics.Tracing.EventProviderImpl:EventWriteTransfer(byref,int,uint,uint,int,uint):int:this mov ebx, eax mov esi, dword ptr [ebp+10H] jmp G_M000_IG06 G_M000_IG16: mov ebx, edx mov ecx, 2 call CORINFO_HELP_GETSHARED_NONGCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED mov dword ptr [eax+0A34H], ebx mov edx, gword ptr [edi] push 0 mov ecx, gword ptr [ebp-7CH] call [System.Diagnostics.Tracing.EventSource:ThrowEventSourceException(System.String,System.Exception):this] jmp G_M000_IG07 G_M000_IG17: mov ebx, gword ptr [ecx+28H] mov gword ptr [ebp-90H], ebx lea ebx, bword ptr [edi+30H] mov bword ptr [ebp-94H], ebx push dword ptr [edi+18H] push dword ptr [ebp-28H] push esi push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-90H] mov edx, bword ptr [ebp-94H] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventProvider:WriteEvent(byref,int,uint,uint,int,int):bool:this] test eax, eax mov ecx, gword ptr [ebp-7CH] jne G_M000_IG08 mov ebx, gword ptr [edi] push 0 mov edx, ebx call [System.Diagnostics.Tracing.EventSource:ThrowEventSourceException(System.String,System.Exception):this] mov ecx, gword ptr [ebp-7CH] jmp G_M000_IG08 G_M000_IG18: cmp byte ptr [edi+29H], 0 jne SHORT G_M000_IG19 cmp byte ptr [edi+2AH], 0 je G_M000_IG08 G_M000_IG19: vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [ebp-78H], xmm0 vmovdqu xmmword ptr [ebp-70H], xmm0 lea ebx, bword ptr [edi+38H] mov bword ptr [ebp-98H], ebx mov ebx, dword ptr [ebx] mov dword ptr [ebp-9CH], ebx mov ebx, bword ptr [ebp-98H] push dword ptr [ebx+04H] push dword ptr [ebp-9CH] lea ecx, [ebp-78H] call [System.Diagnostics.Tracing.EventSourceOptions:set_Keywords(long):this] movzx edx, byte ptr [edi+34H] lea ecx, [ebp-78H] call [System.Diagnostics.Tracing.EventSourceOptions:set_Level(int):this] movzx edx, byte ptr [edi+35H] lea ecx, [ebp-78H] call [System.Diagnostics.Tracing.EventSourceOptions:set_Opcode(int):this] 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] lea ecx, [ebp-60H] push ecx mov ecx, edi call [System.Diagnostics.Tracing.EventSource+EventMetadata:get_TraceLoggingEventTypes():System.Diagnostics.Tracing.TraceLoggingEventTypes:this] push eax push dword ptr [ebp-28H] push esi push dword ptr [ebp+08H] mov edx, ebx mov ecx, gword ptr [ebp-7CH] call [System.Diagnostics.Tracing.EventSource:WriteMultiMerge(System.String,byref,System.Diagnostics.Tracing.TraceLoggingEventTypes,uint,uint,uint):this] mov ecx, gword ptr [ebp-7CH] jmp G_M000_IG08 G_M000_IG20: cmp byte ptr [edi+28H], 0 je G_M000_IG25 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax push dword ptr [ebp-24H] push dword ptr [ebp-28H] push esi mov ecx, edi mov edx, gword ptr [ebp-7CH] call [System.Diagnostics.Tracing.EventWrittenEventArgs:.ctor(System.Diagnostics.Tracing.EventSource,int,uint,uint):this] push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-7CH] mov edx, edi call [System.Diagnostics.Tracing.EventSource:WriteToAllListeners(System.Diagnostics.Tracing.EventWrittenEventArgs,int,uint):this] jmp SHORT G_M000_IG25 G_M000_IG21: mov ebx, 2 mov eax, ebx jmp G_M000_IG06 G_M000_IG22: mov esi, eax mov edx, esi mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax je SHORT G_M000_IG24 call CORINFO_HELP_RETHROW G_M000_IG23: call CORINFO_HELP_RNGCHKFAIL G_M000_IG24: mov ecx, gword ptr [ebp-7CH] 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_IG23 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_IG25: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 ; Total bytes of code 892 928: JIT compiled System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,uint,int,uint) [Tier1 with Dynamic PGO, IL size=519, code size=892] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_IterationStage():int:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 929: JIT compiled BenchmarkDotNet.Engines.IterationData:get_IterationStage() [Instrumented Tier0, IL size=7, code size=17] ; Assembly listing for method System.Diagnostics.Tracing.EventProvider:WriteEvent(byref,int,uint,uint,int,int):bool:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 181 ; 1 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 ecx, gword ptr [ecx+04H] cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG08 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_IG07 cmp eax, 234 je SHORT G_M000_IG06 cmp eax, 534 je SHORT G_M000_IG06 xor esi, esi G_M000_IG03: test esi, esi jne SHORT G_M000_IG09 G_M000_IG04: mov eax, 1 G_M000_IG05: pop esi pop ebp ret 20 G_M000_IG06: mov esi, 2 jmp SHORT G_M000_IG03 G_M000_IG07: mov esi, 1 jmp SHORT G_M000_IG03 G_M000_IG08: 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] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+2CH] call [eax]System.Diagnostics.Tracing.EventProviderImpl:EventWriteTransfer(byref,int,uint,uint,int,uint):int:this mov esi, eax test esi, esi je SHORT G_M000_IG04 G_M000_IG09: mov ecx, 2 call CORINFO_HELP_GETSHARED_NONGCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED mov dword ptr [eax+0A34H], esi xor eax, eax G_M000_IG10: pop esi pop ebp ret 20 ; Total bytes of code 144 930: JIT compiled System.Diagnostics.Tracing.EventProvider:WriteEvent(byref,int,uint,uint,int,int) [Tier1 with Dynamic PGO, IL size=40, code size=144] ; Assembly listing for method System.Diagnostics.Tracing.EtwEventProvider:EventWriteTransfer(byref,int,uint,uint,int,uint):int:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 181 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 cmp eax, 234 je SHORT G_M000_IG04 cmp eax, 534 je SHORT G_M000_IG04 xor eax, eax G_M000_IG03: pop ebp ret 20 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 ; Total bytes of code 75 931: JIT compiled System.Diagnostics.Tracing.EtwEventProvider:EventWriteTransfer(byref,int,uint,uint,int,uint) [Tier1 with Dynamic PGO, IL size=46, code size=75] ; Assembly listing for method Interop+Advapi32:EventWriteTransfer(long,byref,uint,uint,int,uint):int (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 181 ; 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, 60 vzeroupper xor ebx, ebx mov dword ptr [ebp-24H], ebx mov dword ptr [ebp-10H], edx mov ebx, ecx G_M000_IG02: lea edi, [ebp-44H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-30H], eax mov bword ptr [ebp-24H], ebx push dword ptr [ebp+08H] push dword ptr [ebp+0CH] push dword ptr [ebp+10H] push dword ptr [ebp-10H] mov bword ptr [ebp-28H], ebx mov edi, ebx push edi push dword ptr [ebp+18H] push dword ptr [ebp+14H] mov dword ptr [ebp-3CH], 0xD1FFAB1E mov edi, esp mov dword ptr [ebp-38H], edi lea edi, G_M000_IG05 mov dword ptr [ebp-34H], 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-34H], eax G_M000_IG07: mov bword ptr [ebp-24H], eax mov eax, edi cmp eax, 87 je SHORT G_M000_IG10 G_M000_IG08: mov ecx, bword ptr [ebp-40H] mov dword ptr [esi+0CH], ecx G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 20 G_M000_IG10: cmp dword ptr [ebp+10H], 0 jne SHORT G_M000_IG08 vxorps xmm0, xmm0, xmm0 vmovups xmmword ptr [ebp-20H], xmm0 push dword ptr [ebp+18H] push dword ptr [ebp+14H] lea ecx, [ebp-20H] push ecx push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, bword ptr [ebp-28H] mov edx, dword ptr [ebp-10H] call [Interop+Advapi32:EventWriteTransfer_PInvoke(long,byref,uint,uint,int,uint):int] jmp SHORT G_M000_IG08 ; Total bytes of code 190 932: JIT compiled Interop+Advapi32:EventWriteTransfer(long,byref,uint,uint,int,uint) [Tier1 with Dynamic PGO, IL size=48, code size=190] ; Assembly listing for method System.Number+BigInteger:Multiply10():this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 198 ; 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 G_M000_IG02: mov eax, dword ptr [ecx] test eax, eax je SHORT G_M000_IG06 xor edx, edx mov dword ptr [ebp-10H], eax xor esi, esi xor edi, edi mov dword ptr [ebp-14H], esi mov dword ptr [ebp-18H], edi G_M000_IG03: mov bword ptr [ebp-20H], ecx mov ebx, dword ptr [ecx+4*edx+04H] xor eax, eax mov dword ptr [ebp-1CH], eax lea eax, [8*ebx] mov edi, dword ptr [ebp-1CH] shld edi, ebx, 3 lea esi, [ebx+ebx] mov ecx, dword ptr [ebp-1CH] shld ecx, ebx, 1 add eax, esi adc ecx, edi add eax, 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*edx+04H], eax inc edx mov eax, dword ptr [ebp-10H] cmp edx, eax mov dword ptr [ebp-14H], esi mov dword ptr [ebp-18H], edi jl SHORT G_M000_IG03 G_M000_IG04: mov esi, dword ptr [ebp-14H] mov edi, dword ptr [ebp-18H] mov eax, esi or eax, edi jne SHORT G_M000_IG07 G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG06: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG07: mov dword ptr [ecx+4*edx+04H], esi inc dword ptr [ecx] jmp SHORT G_M000_IG05 ; Total bytes of code 137 933: JIT compiled System.Number+BigInteger:Multiply10() [Tier1 with Dynamic PGO, IL size=122, code size=137] ; Assembly listing for method System.Number:ExtractFractionAndBiasedExponent(double,byref):ulong (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; double-aligned frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 575 ; 2 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp and esp, -8 push edi push esi push ebx sub esp, 12 vzeroupper mov esi, ecx G_M000_IG02: vmovsd xmm0, qword ptr [ebp+08H] vmovsd qword ptr [esp], xmm0 mov edi, dword ptr [esp] mov ecx, dword ptr [esp+04H] mov ebx, ecx and ebx, 0xD1FFAB1E shr ecx, 20 and ecx, 0x7FF mov dword ptr [esi], ecx mov ecx, dword ptr [esi] test ecx, ecx je SHORT G_M000_IG05 or edi, 0 or ebx, 0xD1FFAB1E add ecx, -0x433 mov dword ptr [esi], ecx G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, edi mov edx, ebx G_M000_IG04: add esp, 12 pop ebx pop esi pop edi mov esp, ebp pop ebp ret 8 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov dword ptr [esi], -0x432 jmp SHORT G_M000_IG03 ; Total bytes of code 120 934: JIT compiled System.Number:ExtractFractionAndBiasedExponent(double,byref) [Instrumented Tier1 with Static PGO, IL size=69, code size=120] ; Assembly listing for method System.String:Ctor(System.ReadOnlySpan`1[ushort]):System.String (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 196880 ; 3 inlinees with PGO data; 0 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_IG05 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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_IG04: pop ebx pop esi pop ebp ret 8 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, 0xD1FFAB1E G_M000_IG06: pop ebx pop esi pop ebp ret 8 ; Total bytes of code 77 935: JIT compiled System.String:Ctor(System.ReadOnlySpan`1[ushort]) [Instrumented Tier1 with Static PGO, IL size=55, code size=77] ; Assembly listing for method Perfolizer.Horology.Frequency:.ctor(double):this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 936: JIT compiled Perfolizer.Horology.Frequency:.ctor(double) [Instrumented Tier0, IL size=8, code size=28] ; Assembly listing for method Perfolizer.Horology.Frequency:get_Hertz():double:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 937: JIT compiled Perfolizer.Horology.Frequency:get_Hertz() [Instrumented Tier0, IL size=7, code size=31] ; Assembly listing for method System.Enum:ToString():System.String:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 5337 ; 36 inlinees with PGO data; 1 single block inlinees; 6 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, 4 jne G_M000_IG30 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov esi, dword ptr [ebx] mov ecx, dword ptr [edi+08H] test ecx, ecx je SHORT G_M000_IG20 G_M000_IG04: mov ecx, gword ptr [ecx] G_M000_IG05: test ecx, ecx je SHORT G_M000_IG11 G_M000_IG06: mov ecx, gword ptr [ecx+3CH] G_M000_IG07: test ecx, ecx je SHORT G_M000_IG23 G_M000_IG08: cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG23 G_M000_IG09: cmp gword ptr [ecx+08H], 0 je SHORT G_M000_IG23 G_M000_IG10: jmp SHORT G_M000_IG19 G_M000_IG11: xor ecx, ecx jmp SHORT G_M000_IG07 G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, ebx G_M000_IG13: pop ebx pop esi pop edi pop ebp ret G_M000_IG14: cmp byte ptr [ecx+0CH], 0 jne G_M000_IG32 G_M000_IG15: mov edi, gword ptr [ecx+08H] cmp byte ptr [ecx+0DH], 0 je SHORT G_M000_IG21 G_M000_IG16: mov ecx, esi mov ebx, dword ptr [edi+04H] cmp ebx, ecx jbe G_M000_IG54 mov ebx, gword ptr [edi+4*esi+08H] G_M000_IG17: test ebx, ebx je G_M000_IG53 G_M000_IG18: jmp SHORT G_M000_IG12 G_M000_IG19: jmp SHORT G_M000_IG14 G_M000_IG20: xor ecx, ecx jmp SHORT G_M000_IG05 G_M000_IG21: mov eax, gword ptr [ecx+04H] test eax, eax jne SHORT G_M000_IG26 G_M000_IG22: jmp SHORT G_M000_IG29 G_M000_IG23: 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 jmp SHORT G_M000_IG14 G_M000_IG24: push edx mov edx, esi call [System.SpanHelpers:NonPackedIndexOfValueType[int,System.SpanHelpers+DontNegate`1[int]](byref,int,int):int] G_M000_IG25: mov ebx, dword ptr [edi+04H] cmp ebx, eax jbe G_M000_IG54 mov ebx, gword ptr [edi+4*eax+08H] jmp SHORT G_M000_IG17 G_M000_IG26: lea ecx, bword ptr [eax+08H] mov edx, dword ptr [eax+04H] G_M000_IG27: cmp dword ptr [eax+04H], 32 jle SHORT G_M000_IG24 G_M000_IG28: push esi call [System.SpanHelpers:BinarySearch[uint,uint](byref,int,uint):int] jmp SHORT G_M000_IG25 G_M000_IG29: xor ecx, ecx xor edx, edx jmp SHORT G_M000_IG27 G_M000_IG30: cmp eax, 7 ja G_M000_IG36 lea ecx, [@RWD00] mov ecx, dword ptr [ecx+4*eax] lea edx, G_M000_IG02 add ecx, edx jmp ecx G_M000_IG31: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, edi mov edx, ebx call [System.Enum:ToString[ushort,ushort](System.RuntimeType,byref):System.String] mov ebx, eax jmp G_M000_IG12 G_M000_IG32: mov edx, esi call [System.Enum:FormatFlagNames[uint](System.Enum+EnumInfo`1[uint],uint):System.String] mov ebx, eax jmp G_M000_IG17 G_M000_IG33: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, edi mov edx, ebx call [System.Enum:ToString[uint,uint](System.RuntimeType,byref):System.String] mov ebx, eax jmp G_M000_IG12 G_M000_IG34: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, edi mov edx, ebx call [System.Enum:ToString[long,ulong](System.RuntimeType,byref):System.String] mov ebx, eax jmp G_M000_IG12 G_M000_IG35: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, edi mov edx, ebx call [System.Enum:ToString[ulong,ulong](System.RuntimeType,byref):System.String] mov ebx, eax jmp G_M000_IG12 G_M000_IG36: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, edi mov edx, ebx call [System.Enum:g__HandleRareTypes|55_0(System.RuntimeType,byref):System.String] mov ebx, eax jmp G_M000_IG12 G_M000_IG37: mov ecx, edi mov edx, ebx call [System.Enum:ToString[byte,ubyte](System.RuntimeType,byref):System.String] mov ebx, eax jmp G_M000_IG12 G_M000_IG38: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 movzx ebx, byte ptr [ebx] mov ecx, edi call [System.RuntimeType:get_GenericCache():System.Object:this] mov edx, eax mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax je SHORT G_M000_IG39 cmp gword ptr [eax+08H], 0 jne SHORT G_M000_IG40 G_M000_IG39: 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 jmp SHORT G_M000_IG41 G_M000_IG40: mov ecx, eax G_M000_IG41: cmp byte ptr [ecx+0CH], 0 jne SHORT G_M000_IG49 mov edi, gword ptr [ecx+08H] cmp byte ptr [ecx+0DH], 0 je SHORT G_M000_IG42 cmp dword ptr [edi+04H], ebx jbe SHORT G_M000_IG47 mov esi, gword ptr [edi+4*ebx+08H] jmp SHORT G_M000_IG48 G_M000_IG42: mov ecx, gword ptr [ecx+04H] test ecx, ecx jne SHORT G_M000_IG43 xor edx, edx xor eax, eax jmp SHORT G_M000_IG44 G_M000_IG43: lea edx, bword ptr [ecx+08H] mov eax, dword ptr [ecx+04H] G_M000_IG44: cmp dword ptr [ecx+04H], 32 jle SHORT G_M000_IG45 push ebx mov ecx, edx mov edx, eax call [System.SpanHelpers:BinarySearch[ubyte,ubyte](byref,int,ubyte):int] jmp SHORT G_M000_IG46 G_M000_IG45: push eax mov ecx, edx mov edx, ebx call [System.SpanHelpers:NonPackedIndexOfValueType[ubyte,System.SpanHelpers+DontNegate`1[ubyte]](byref,ubyte,int):int] G_M000_IG46: cmp dword ptr [edi+04H], eax jbe SHORT G_M000_IG47 mov esi, gword ptr [edi+4*eax+08H] jmp SHORT G_M000_IG48 G_M000_IG47: xor esi, esi G_M000_IG48: jmp SHORT G_M000_IG50 G_M000_IG49: mov edx, ebx call [System.Enum:FormatFlagNames[ubyte](System.Enum+EnumInfo`1[ubyte],ubyte):System.String] mov esi, eax G_M000_IG50: test esi, esi jne SHORT G_M000_IG51 mov ecx, ebx call [System.Number:UInt32ToDecStr(uint):System.String] mov esi, eax G_M000_IG51: mov ebx, esi jmp G_M000_IG12 G_M000_IG52: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, edi mov edx, ebx call [System.Enum:ToString[short,ushort](System.RuntimeType,byref):System.String] mov ebx, eax jmp G_M000_IG12 G_M000_IG53: mov ecx, esi call [System.Number:Int32ToDecStr(int):System.String] mov ebx, eax jmp G_M000_IG18 G_M000_IG54: xor ebx, ebx jmp G_M000_IG17 RWD00 dd G_M000_IG37 - G_M000_IG02 dd G_M000_IG38 - G_M000_IG02 dd G_M000_IG52 - G_M000_IG02 dd G_M000_IG31 - G_M000_IG02 dd G_M000_IG03 - G_M000_IG02 dd G_M000_IG33 - G_M000_IG02 dd G_M000_IG34 - G_M000_IG02 dd G_M000_IG35 - G_M000_IG02 ; Total bytes of code 667 938: JIT compiled System.Enum:ToString() [Instrumented Tier1 with Static PGO, IL size=158, code size=667] ; Assembly listing for method System.Enum:g__InitializeEnumInfo|7_0[uint](System.RuntimeType,bool):System.Enum+EnumInfo`1[uint] (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 279 ; 13 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, 80 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-58H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov ecx, ebp mov dword ptr [ebp-44H], ecx xor ecx, ecx mov dword ptr [ebp-20H], ecx mov dword ptr [ebp-1CH], ecx lea ecx, [ebp-10H] mov dword ptr [ebp-20H], ecx mov ecx, gword ptr [ebp-10H] lea eax, bword ptr [ebp-20H] test ecx, ecx je G_M000_IG19 G_M000_IG03: mov edi, dword ptr [ecx+0CH] G_M000_IG04: mov dword ptr [eax+04H], edi mov edi, dword ptr [ebp-20H] mov ebx, dword ptr [ebp-1CH] lea eax, [ebp-14H] lea ecx, [ebp-18H] mov dword ptr [ebp-28H], eax mov dword ptr [ebp-2CH], ecx test dl, dl je G_M000_IG16 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edx, dword ptr [ebp-28H] mov dword ptr [ebp-30H], edx mov ecx, dword ptr [ebp-2CH] mov dword ptr [ebp-34H], ecx mov dword ptr [ebp-24H], 1 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 push dword ptr [ebp-24H] push dword ptr [ebp-34H] push dword ptr [ebp-30H] push ebx push edi mov dword ptr [ebp-50H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-4CH], eax lea eax, G_M000_IG09 mov dword ptr [ebp-48H], eax mov byte ptr [esi+08H], 0 G_M000_IG07: mov eax, 0xD1FFAB1E G_M000_IG08: call eax ; System.Enum:GetEnumValuesAndNames(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.CompilerServices.ObjectHandleOnStack,int) 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 ecx, ecx mov dword ptr [ebp-48H], ecx mov edi, gword ptr [ebp-10H] mov ecx, edi mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, edi push 0 mov edx, 0xD1FFAB1E mov eax, dword ptr [ecx] mov eax, dword ptr [eax+2CH] call [eax+0CH]System.Reflection.MemberInfo: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-38H], eax mov ecx, gword ptr [ebp-18H] mov gword ptr [ebp-3CH], 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 je SHORT G_M000_IG17 G_M000_IG11: mov ebx, gword ptr [ebp-38H] G_M000_IG12: mov ecx, ebx call [System.Enum:AreSequentialFromZero[uint](uint[]):bool] mov byte ptr [edi+0DH], al mov ecx, gword ptr [ebp-10H] mov eax, dword ptr [ecx+08H] test eax, eax je SHORT G_M000_IG18 G_M000_IG13: mov eax, gword ptr [eax] test eax, eax je SHORT G_M000_IG18 G_M000_IG14: lea edx, bword ptr [eax+3CH] call CORINFO_HELP_ASSIGN_REF_EDI mov eax, edi mov ecx, bword ptr [ebp-54H] mov dword ptr [esi+0CH], ecx G_M000_IG15: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG16: mov edx, eax mov eax, ecx xor ecx, ecx mov dword ptr [ebp-24H], ecx mov dword ptr [ebp-30H], edx mov dword ptr [ebp-34H], eax jmp G_M000_IG06 G_M000_IG17: mov ebx, gword ptr [ebp-38H] test ebx, ebx je SHORT G_M000_IG20 push 0 push dword ptr [ebx+04H] push 0 push 0xD1FFAB1E mov ecx, ebx mov edx, gword ptr [ebp-3CH] call [System.Array:Sort[uint,System.__Canon](uint[],System.__Canon[],int,int,System.Collections.Generic.IComparer`1[uint])] jmp SHORT G_M000_IG12 G_M000_IG18: call [System.RuntimeType:InitializeCache():System.RuntimeType+RuntimeTypeCache:this] jmp SHORT G_M000_IG14 G_M000_IG19: xor edi, edi jmp G_M000_IG04 G_M000_IG20: mov ecx, 75 call [System.ThrowHelper:ThrowArgumentNullException(int)] int3 ; Total bytes of code 420 939: JIT compiled System.Enum:g__InitializeEnumInfo|7_0[uint](System.RuntimeType,bool) [Instrumented Tier1 with Static PGO, IL size=73, code size=420] ; Assembly listing for method System.RuntimeType:IsDefined(System.Type,bool):bool:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 3878 ; 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 edi, ecx mov esi, edx G_M000_IG02: test esi, esi je SHORT G_M000_IG06 mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, esi mov eax, dword ptr [ecx] 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, edi 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 145 940: JIT compiled System.RuntimeType:IsDefined(System.Type,bool) [Instrumented Tier1 with Static PGO, IL size=51, code size=145] ; Assembly listing for method System.Reflection.CustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType,bool):bool (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 3878 ; 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 sub esp, 16 mov ebx, ecx mov esi, edx mov edi, dword ptr [ebp+08H] G_M000_IG02: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov eax, ebx mov gword ptr [ebp-18H], eax mov ecx, ebx mov eax, dword ptr [ebx] mov eax, dword ptr [eax+3CH] call [eax+04H]System.Type:GetElementType():System.Type:this test eax, eax jne G_M000_IG17 mov ecx, ebx mov edx, esi call [System.Reflection.PseudoCustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType):bool] test eax, eax jne G_M000_IG18 mov ecx, ebx call System.RuntimeTypeHandle:GetModule(System.RuntimeType):System.Reflection.RuntimeModule mov gword ptr [ebp-10H], eax mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, ebx mov eax, dword ptr [ebx] mov eax, dword ptr [eax+30H] call [eax+04H]System.Reflection.MemberInfo:get_MetadataToken():int:this mov edx, eax push esi push 0 push 0 mov ecx, gword ptr [ebp-10H] call [System.Reflection.CustomAttribute:IsCustomAttributeDefined(System.Reflection.RuntimeModule,int,System.RuntimeType,int,bool):bool] test eax, eax jne G_M000_IG16 G_M000_IG03: mov eax, edi test al, al je G_M000_IG12 G_M000_IG04: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ebx, gword ptr [ebp-18H] mov ecx, ebx mov eax, dword ptr [ecx] mov eax, dword ptr [eax+54H] call [eax+10H]System.Type:get_BaseType():System.Type:this mov ebx, eax test ebx, ebx je G_M000_IG09 G_M000_IG05: cmp dword ptr [ebx], 0xD1FFAB1E jne SHORT G_M000_IG09 G_M000_IG06: cmp byte ptr [ebx], bl mov ecx, ebx call System.RuntimeTypeHandle:GetModule(System.RuntimeType):System.Reflection.RuntimeModule mov gword ptr [ebp-14H], eax mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov eax, ebx mov ecx, eax mov gword ptr [ebp-1CH], ecx mov eax, ecx mov ecx, eax mov eax, dword ptr [eax] mov eax, dword ptr [eax+30H] call [eax+04H]System.Reflection.MemberInfo:get_MetadataToken():int:this mov edx, eax push esi push 0 mov eax, edi movzx ecx, al push ecx mov ecx, gword ptr [ebp-14H] call [System.Reflection.CustomAttribute:IsCustomAttributeDefined(System.Reflection.RuntimeModule,int,System.RuntimeType,int,bool):bool] test eax, eax jne SHORT G_M000_IG13 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ebx, gword ptr [ebp-1CH] mov ecx, ebx mov eax, dword ptr [ecx] mov eax, dword ptr [eax+54H] call [eax+10H]System.Type:get_BaseType():System.Type:this mov ebx, eax test ebx, ebx je SHORT G_M000_IG09 G_M000_IG08: cmp dword ptr [ebx], 0xD1FFAB1E je SHORT G_M000_IG06 G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG10: xor eax, eax G_M000_IG11: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG10 G_M000_IG13: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG14: mov eax, 1 G_M000_IG15: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG16: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG14 G_M000_IG17: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG10 G_M000_IG18: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG14 ; Total bytes of code 389 941: JIT compiled System.Reflection.CustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType,bool) [Instrumented Tier1 with Static PGO, IL size=105, code size=389] ; Assembly listing for method System.Reflection.PseudoCustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType):bool (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 3878 ; 5 inlinees with PGO data; 0 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 G_M000_IG14 xor eax, eax cmp esi, 0xD1FFAB1E sete al G_M000_IG03: movzx edx, al mov dword ptr [ebp-0CH], edx test edx, edx jne G_M000_IG16 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_IG05 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor eax, eax G_M000_IG04: pop ecx pop ebx pop esi pop ebp ret G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 cmp esi, 0xD1FFAB1E je SHORT G_M000_IG15 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG08 G_M000_IG07: cmp dword ptr [ebp-0CH], 0 jne SHORT G_M000_IG09 G_M000_IG08: cmp esi, 0xD1FFAB1E jne SHORT G_M000_IG11 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG09: cmp byte ptr [ebx], bl mov ecx, ebx call System.RuntimeTypeHandle:GetAttributes(System.RuntimeType):int test eax, 0x1000 je SHORT G_M000_IG12 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, 1 G_M000_IG10: pop ecx pop ebx pop esi pop ebp ret G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor eax, eax G_M000_IG13: pop ecx pop ebx pop esi pop ebp ret G_M000_IG14: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, 1 jmp G_M000_IG03 G_M000_IG15: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG16: cmp byte ptr [ebx], bl mov ecx, ebx call System.RuntimeTypeHandle:GetAttributes(System.RuntimeType):int test eax, 0x2000 je G_M000_IG07 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, 1 G_M000_IG17: pop ecx pop ebx pop esi pop ebp ret ; Total bytes of code 271 942: JIT compiled System.Reflection.PseudoCustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType) [Instrumented Tier1 with Static PGO, IL size=132, code size=271] ; Assembly listing for method System.Collections.Generic.HashSet`1[System.__Canon]:FindItemIndex(System.__Canon):int:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 409214 ; 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, 32 mov esi, ecx mov edi, edx G_M000_IG02: cmp gword ptr [esi+04H], 0 je G_M000_IG12 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-24H], edx test edi, edi je G_M000_IG18 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [esi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov eax, dword ptr [edx+2CH] test eax, eax je G_M000_IG14 G_M000_IG05: mov ecx, gword ptr [ebp-24H] mov edx, edi nop call [eax] mov ecx, eax G_M000_IG06: mov dword ptr [ebp-14H], ecx mov edx, gword ptr [esi+04H] mov gword ptr [ebp-2CH], edx mov eax, dword ptr [edx+04H] mov dword ptr [ebp-1CH], eax mov eax, ecx xor edx, edx div edx:eax, dword ptr [ebp-1CH] mov eax, gword ptr [ebp-2CH] mov eax, dword ptr [eax+4*edx+08H] dec eax G_M000_IG07: test eax, eax jl SHORT G_M000_IG11 G_M000_IG08: cmp eax, dword ptr [ebx+04H] jae G_M000_IG26 mov dword ptr [ebp-18H], eax lea edx, [eax+2*eax] lea edx, bword ptr [ebx+4*edx+08H] mov bword ptr [ebp-28H], edx cmp dword ptr [edx+04H], ecx je G_M000_IG19 G_M000_IG09: mov edx, bword ptr [ebp-28H] mov eax, dword ptr [edx+08H] mov dword ptr [ebp-18H], eax mov edx, dword ptr [ebp-10H] inc edx mov dword ptr [ebp-10H], edx cmp dword ptr [ebx+04H], edx jb G_M000_IG25 G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [ebp-18H] mov ecx, dword ptr [ebp-14H] jmp SHORT G_M000_IG07 G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, -1 G_M000_IG13: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG14: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS jmp G_M000_IG05 G_M000_IG15: mov ecx, dword ptr [ebp-20H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG16: mov ecx, bword ptr [ebp-28H] mov edx, gword ptr [ecx] push edi mov ecx, gword ptr [ebp-24H] nop call [eax] test eax, eax jne SHORT G_M000_IG22 G_M000_IG17: jmp SHORT G_M000_IG21 G_M000_IG18: xor ecx, ecx jmp G_M000_IG06 G_M000_IG19: mov edx, dword ptr [esi] mov dword ptr [ebp-20H], edx mov edx, dword ptr [edx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+30H] test edx, edx je SHORT G_M000_IG15 G_M000_IG20: jmp SHORT G_M000_IG24 G_M000_IG21: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG09 G_M000_IG22: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [ebp-18H] G_M000_IG23: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG24: mov eax, edx jmp SHORT G_M000_IG16 G_M000_IG25: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 call [System.ThrowHelper:ThrowInvalidOperationException_ConcurrentOperationsNotSupported()] int3 G_M000_IG26: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 363 943: JIT compiled System.Collections.Generic.HashSet`1[System.__Canon]:FindItemIndex(System.__Canon) [Instrumented Tier1 with Static PGO, IL size=260, code size=363] ; Assembly listing for method System.Collections.Generic.ObjectEqualityComparer`1[System.__Canon]:GetHashCode(System.__Canon):int:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 302777 G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 8 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-08H], edx G_M000_IG02: lea esi, bword ptr [ebp-08H] cmp gword ptr [ebp-0CH], 0 jne SHORT G_M000_IG05 G_M000_IG03: mov ecx, gword ptr [esi] mov gword ptr [ebp-0CH], ecx lea esi, bword ptr [ebp-0CH] cmp gword ptr [ebp-0CH], 0 je SHORT G_M000_IG07 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov esi, gword ptr [esi] mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, esi mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+0CH]System.Object:GetHashCode():int:this G_M000_IG06: lea esp, [ebp-04H] pop esi pop ebp ret G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor eax, eax G_M000_IG08: lea esp, [ebp-04H] pop esi pop ebp ret ; Total bytes of code 106 944: JIT compiled System.Collections.Generic.ObjectEqualityComparer`1[System.__Canon]:GetHashCode(System.__Canon) [Instrumented Tier1 with Static PGO, IL size=49, code size=106] ; Assembly listing for method System.Reflection.CustomAttribute:IsCustomAttributeDefined(System.Reflection.RuntimeModule,int,System.RuntimeType,int,bool):bool (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 71900 ; 14 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, 136 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-88H], xmm4 mov eax, -96 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 dword ptr [ebp-10H], 0xD1FFAB1E mov esi, ecx mov edi, edx G_M000_IG02: mov ebx, gword ptr [ebp+10H] mov eax, esi cmp byte ptr [eax], al mov ecx, esi call System.ModuleHandle:_GetMetadataImport(System.Reflection.RuntimeModule):int mov gword ptr [ebp-60H], esi mov dword ptr [ebp-5CH], eax push edi 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 G_M000_IG09 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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: lea edx, bword ptr [ebp-50H] mov bword ptr [ebp-94H], edx mov ecx, bword ptr [ebp-94H] mov dword ptr [ebp-80H], eax mov edx, dword ptr [ecx+4*eax] G_M000_IG06: 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 esi push edi push ebx movzx edx, byte ptr [ebp+08H] push edx lea edx, [ebp-7CH] push edx lea edx, [ebp-84H] push edx lea edx, [ebp-88H] push edx lea edx, [ebp-8CH] 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 G_M000_IG14 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [ebp-80H] inc eax cmp eax, dword ptr [ebp-54H] jl SHORT G_M000_IG10 G_M000_IG08: jmp SHORT G_M000_IG12 G_M000_IG09: xor ecx, ecx mov dword ptr [ebp-6CH], ecx mov dword ptr [ebp-68H], ecx mov dword ptr [ebp-64H], ecx test ebx, ebx je G_M000_IG16 vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [ebp-7CH], xmm0 xor eax, eax cmp dword ptr [ebp-54H], 0 jle SHORT G_M000_IG12 G_M000_IG10: cmp gword ptr [ebp-58H], 0 je G_M000_IG05 G_M000_IG11: mov ecx, gword ptr [ebp-58H] cmp eax, dword ptr [ecx+04H] jae G_M000_IG21 mov edx, dword ptr [ecx+4*eax+08H] mov dword ptr [ebp-80H], eax jmp G_M000_IG06 G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor eax, eax cmp dword ptr [ebp-10H], 0xD1FFAB1E je SHORT G_M000_IG13 call CORINFO_HELP_FAIL_FAST G_M000_IG13: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG14: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, 1 cmp dword ptr [ebp-10H], 0xD1FFAB1E je SHORT G_M000_IG15 call CORINFO_HELP_FAIL_FAST G_M000_IG15: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG16: xor esi, esi jmp SHORT G_M000_IG20 G_M000_IG17: lea ecx, [ebp-58H] mov edx, esi call [System.Reflection.MetadataEnumResult:get_Item(int):int:this] mov edx, eax 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] mov edi, dword ptr [ebp+0CH] cmp ecx, edi jne SHORT G_M000_IG19 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, 1 cmp dword ptr [ebp-10H], 0xD1FFAB1E je SHORT G_M000_IG18 call CORINFO_HELP_FAIL_FAST G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG19: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 inc esi mov dword ptr [ebp+0CH], edi G_M000_IG20: cmp esi, dword ptr [ebp-54H] jl SHORT G_M000_IG17 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG12 G_M000_IG21: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 534 945: JIT compiled System.Reflection.CustomAttribute:IsCustomAttributeDefined(System.Reflection.RuntimeModule,int,System.RuntimeType,int,bool) [Instrumented Tier1 with Static PGO, IL size=216, code size=534] ; Assembly listing for method System.Enum+EnumInfo`1[uint]:.ctor(bool,uint[],System.String[]):this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 279 ; 2 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 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 je SHORT G_M000_IG05 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, edi call [System.Enum:AreSequentialFromZero[uint](uint[]):bool] mov byte ptr [esi+0DH], al G_M000_IG04: pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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])] jmp SHORT G_M000_IG03 G_M000_IG06: mov ecx, 75 call [System.ThrowHelper:ThrowArgumentNullException(int)] int3 ; Total bytes of code 123 946: JIT compiled System.Enum+EnumInfo`1[uint]:.ctor(bool,uint[],System.String[]) [Instrumented Tier1 with Static PGO, IL size=55, code size=123] ; Assembly listing for method System.Enum:AreSorted[uint](uint[]):bool (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 279 ; 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 mov esi, ecx G_M000_IG02: mov edi, 1 mov ebx, dword ptr [esi+04H] cmp ebx, 1 jle SHORT G_M000_IG06 G_M000_IG03: lea ecx, [edi-01H] cmp ecx, ebx jae SHORT G_M000_IG10 lea ecx, bword ptr [esi+4*edi+04H] mov eax, dword ptr [esi+4*edi+08H] cmp dword ptr [ecx], eax jb SHORT G_M000_IG05 G_M000_IG04: cmp dword ptr [ecx], eax ja SHORT G_M000_IG08 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 inc edi cmp ebx, edi jg SHORT G_M000_IG03 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, 1 G_M000_IG07: pop ebx pop esi pop edi pop ebp ret G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor eax, eax G_M000_IG09: pop ebx pop esi pop edi pop ebp ret G_M000_IG10: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 102 947: JIT compiled System.Enum:AreSorted[uint](uint[]) [Instrumented Tier1 with Static PGO, IL size=50, code size=102] ; Assembly listing for method System.Enum:AreSequentialFromZero[uint](uint[]):bool (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 279 ; 2 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx push eax mov esi, ecx G_M000_IG02: xor edi, edi mov ebx, dword ptr [esi+04H] mov dword ptr [ebp-10H], ebx test ebx, ebx jle SHORT G_M000_IG05 G_M000_IG03: mov ecx, dword ptr [esi+4*edi+08H] xor eax, eax mov edx, edi mov ebx, edx sar ebx, 31 xor ecx, edx xor eax, ebx or ecx, eax jne SHORT G_M000_IG07 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 inc edi mov ebx, dword ptr [ebp-10H] cmp ebx, edi jg SHORT G_M000_IG03 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, 1 G_M000_IG06: pop ecx pop ebx pop esi pop edi pop ebp ret G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor eax, eax G_M000_IG08: pop ecx pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 99 948: JIT compiled System.Enum:AreSequentialFromZero[uint](uint[]) [Instrumented Tier1 with Static PGO, IL size=34, code size=99] ; Assembly listing for method System.RuntimeType:InitializeCache():System.RuntimeType+RuntimeTypeCache:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 11356 ; 16 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, 68 xor edx, edx mov dword ptr [ebp-10H], edx mov dword ptr [ebp-14H], edx mov dword ptr [ebp-18H], edx mov dword ptr [ebp-1CH], edx mov ebx, ecx G_M000_IG02: lea edi, [ebp-4CH] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-38H], eax cmp dword ptr [ebx+08H], 0 jne G_M000_IG13 G_M000_IG03: mov gword ptr [ebp-24H], ebx mov gword ptr [ebp-10H], ebx mov eax, gword ptr [ebp-10H] test eax, eax je G_M000_IG31 mov gword ptr [ebp-14H], eax lea eax, [ebp-14H] mov edx, gword ptr [ebp-14H] test edx, edx je G_M000_IG28 G_M000_IG04: mov ecx, dword ptr [edx+0CH] G_M000_IG05: push 1 push ecx push eax 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 ; System.RuntimeTypeHandle:GetGCHandle(System.Runtime.CompilerServices.QCallTypeHandle,int):int G_M000_IG08: mov edi, eax mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG09 call CORINFO_HELP_STOP_FOR_GC G_M000_IG09: xor eax, eax mov dword ptr [ebp-3CH], eax mov ebx, gword ptr [ebp-24H] lea ecx, bword ptr [ebx+08H] G_M000_IG10: lock cmpxchg dword ptr [ecx], edi test eax, eax jne SHORT G_M000_IG12 G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG13 G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 lea ecx, [ebp-10H] mov edx, edi call [System.RuntimeTypeHandle:FreeGCHandle(int):int:this] G_M000_IG13: mov ecx, dword ptr [ebx+08H] mov edx, gword ptr [ecx] mov eax, edx test eax, eax je SHORT G_M000_IG15 G_M000_IG14: mov ecx, 0xD1FFAB1E cmp dword ptr [eax], ecx jne G_M000_IG32 G_M000_IG15: test eax, eax mov gword ptr [ebp-28H], eax jne G_M000_IG27 G_M000_IG16: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax mov gword ptr [ebp-2CH], edi xor edx, edx mov dword ptr [edi+48H], edx lea edx, bword ptr [edi+04H] call CORINFO_HELP_ASSIGN_REF_EBX mov gword ptr [ebp-24H], ebx mov ecx, ebx call System.RuntimeTypeHandle:GetModule(System.RuntimeType):System.Reflection.RuntimeModule mov gword ptr [ebp-30H], eax mov edx, gword ptr [eax+04H] test edx, edx jne SHORT G_M000_IG22 mov gword ptr [ebp-1CH], eax xor edx, edx mov gword ptr [ebp-18H], edx lea edx, [ebp-1CH] mov ecx, gword ptr [ebp-1CH] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-20H], ecx lea ecx, [ebp-18H] push ecx push dword ptr [ebp-20H] push edx mov dword ptr [ebp-44H], 0xD1FFAB1E mov edx, esp mov dword ptr [ebp-40H], edx lea edx, G_M000_IG19 mov dword ptr [ebp-3CH], edx mov byte ptr [esi+08H], 0 G_M000_IG17: mov eax, 0xD1FFAB1E G_M000_IG18: call eax ; System.ModuleHandle:GetModuleType(System.Runtime.CompilerServices.QCallModule,System.Runtime.CompilerServices.ObjectHandleOnStack) G_M000_IG19: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG20 call CORINFO_HELP_STOP_FOR_GC G_M000_IG20: xor edx, edx mov dword ptr [ebp-3CH], edx mov ecx, gword ptr [ebp-18H] G_M000_IG21: mov gword ptr [ebp-18H], edx mov edi, gword ptr [ebp-30H] lea edx, bword ptr [edi+04H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, ecx G_M000_IG22: mov ebx, gword ptr [ebp-24H] cmp edx, ebx sete cl mov edi, gword ptr [ebp-2CH] 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 ebx, eax test ebx, ebx je SHORT G_M000_IG24 G_M000_IG23: mov ecx, 0xD1FFAB1E cmp dword ptr [ebx], ecx jne SHORT G_M000_IG33 G_M000_IG24: test ebx, ebx jne SHORT G_M000_IG26 G_M000_IG25: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov gword ptr [ebp-28H], edi jmp SHORT G_M000_IG27 G_M000_IG26: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov gword ptr [ebp-28H], ebx G_M000_IG27: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edi, gword ptr [ebp-28H] mov eax, edi jmp SHORT G_M000_IG29 G_M000_IG28: xor ecx, ecx jmp G_M000_IG05 G_M000_IG29: mov ecx, bword ptr [ebp-48H] mov dword ptr [esi+0CH], ecx G_M000_IG30: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG31: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax call [System.SR:get_Arg_InvalidHandle():System.String] push eax mov ecx, esi xor edx, edx call [System.ArgumentNullException:.ctor(System.String,System.String):this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG32: call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 G_M000_IG33: mov edx, eax call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 ; Total bytes of code 541 949: JIT compiled System.RuntimeType:InitializeCache() [Instrumented Tier1 with Static PGO, IL size=121, code size=541] ; Assembly listing for method System.RuntimeType+RuntimeTypeCache:.ctor(System.RuntimeType):this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 11321 ; 7 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, 56 xor ebx, ebx mov dword ptr [ebp-10H], ebx mov dword ptr [ebp-14H], ebx mov gword ptr [ebp-20H], edx mov ebx, ecx G_M000_IG02: lea edi, [ebp-40H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov edx, ebp mov dword ptr [ebp-2CH], edx xor edx, edx mov dword ptr [ebx+48H], edx mov gword ptr [ebp-1CH], ebx lea edx, bword ptr [ebx+04H] mov edi, gword ptr [ebp-20H] call CORINFO_HELP_ASSIGN_REF_EDI mov gword ptr [ebp-20H], edi mov ecx, edi call System.RuntimeTypeHandle:GetModule(System.RuntimeType):System.Reflection.RuntimeModule mov gword ptr [ebp-24H], eax mov edx, gword ptr [eax+04H] test edx, edx jne G_M000_IG10 mov gword ptr [ebp-14H], eax xor edx, edx mov gword ptr [ebp-10H], edx lea edx, [ebp-14H] mov ecx, gword ptr [ebp-14H] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-18H], ecx lea ecx, [ebp-10H] push ecx push dword ptr [ebp-18H] push edx mov dword ptr [ebp-38H], 0xD1FFAB1E mov edx, esp mov dword ptr [ebp-34H], edx lea edx, G_M000_IG05 mov dword ptr [ebp-30H], edx 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 edx, edx mov dword ptr [ebp-30H], edx mov eax, gword ptr [ebp-10H] G_M000_IG07: mov gword ptr [ebp-10H], edx mov edi, gword ptr [ebp-24H] lea edx, bword ptr [edi+04H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, eax mov edi, gword ptr [ebp-20H] G_M000_IG08: mov eax, edi cmp edx, eax sete al mov ebx, gword ptr [ebp-1CH] mov byte ptr [ebx+4CH], al mov eax, bword ptr [ebp-3CH] mov dword ptr [esi+0CH], eax G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG10: mov edi, gword ptr [ebp-20H] jmp SHORT G_M000_IG08 ; Total bytes of code 215 950: JIT compiled System.RuntimeType+RuntimeTypeCache:.ctor(System.RuntimeType) [Instrumented Tier1 with Static PGO, IL size=44, code size=215] ; Assembly listing for method System.ModuleHandle:GetModuleType(System.Reflection.RuntimeModule):System.RuntimeType (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 11321 ; 4 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, 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 951: JIT compiled System.ModuleHandle:GetModuleType(System.Reflection.RuntimeModule) [Instrumented Tier1 with Static PGO, IL size=23, code size=117] ; Assembly listing for method System.Text.StringBuilder:AppendWithExpansion(byref,int):this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 53144 ; 13 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, 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_IG10 cmp ecx, ebx jge SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG10 G_M000_IG04: mov ecx, gword ptr [esi+04H] mov edx, dword ptr [ecx+04H] sub edx, eax mov eax, edx mov dword ptr [ebp-10H], eax test eax, eax jle SHORT G_M000_IG07 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [esi+04H] mov eax, dword ptr [esi+0CH] test ecx, ecx je G_M000_IG11 cmp dword ptr [ecx+04H], eax jb G_M000_IG12 lea edx, bword ptr [ecx+2*eax+08H] mov ecx, dword ptr [ecx+04H] sub ecx, eax G_M000_IG06: mov eax, dword ptr [ebp-10H] cmp eax, ecx ja G_M000_IG14 lea ecx, [eax+eax] push ecx mov ecx, edx 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 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 sub ebx, dword ptr [ebp-10H] 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_IG13 lea eax, bword ptr [ecx+08H] mov ecx, dword ptr [ecx+04H] cmp ebx, ecx ja SHORT G_M000_IG14 G_M000_IG08: lea ecx, [ebx+ebx] push ecx mov ecx, eax call [System.Buffer:Memmove(byref,byref,uint)] mov dword ptr [esi+0CH], ebx G_M000_IG09: pop ecx pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0x183C5 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_IG11: test eax, eax jne SHORT G_M000_IG12 xor edx, edx xor ecx, ecx jmp G_M000_IG06 G_M000_IG12: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG13: xor eax, eax xor ecx, ecx cmp ebx, ecx jbe SHORT G_M000_IG08 G_M000_IG14: call [System.ThrowHelper:ThrowArgumentException_DestinationTooShort()] int3 ; Total bytes of code 302 952: JIT compiled System.Text.StringBuilder:AppendWithExpansion(byref,int) [Instrumented Tier1 with Static PGO, IL size=155, code size=302] ; Assembly listing for method System.Text.StringBuilder:ExpandByABlock(int):this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 62762 ; 9 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 mov esi, ecx G_M000_IG02: mov edi, dword ptr [esi+10H] lea ecx, [edx+edi] mov ebx, dword ptr [esi+0CH] add ecx, ebx cmp ecx, dword ptr [esi+14H] jg G_M000_IG08 cmp ecx, edx jge SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG08 G_M000_IG04: add edi, ebx mov ecx, edi mov eax, 0x1F40 cmp ecx, 0x1F40 cmovg ecx, eax cmp edx, ecx cmovl edx, ecx mov ebx, edx add edi, ebx cmp edi, ebx jl G_M000_IG09 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 cmp ebx, 0x400 jl G_M000_IG10 G_M000_IG05: push 16 mov edx, ebx mov ecx, 0xD1FFAB1E call System.GC:AllocateNewArray(int,int,int):System.Array mov edi, eax G_M000_IG06: 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_IG07: pop ebx pop esi pop edi pop ebp ret G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ebx, eax mov ecx, 0x183DB 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, ebx call [System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this] mov ecx, ebx call CORINFO_HELP_THROW G_M000_IG09: 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 G_M000_IG10: mov edx, ebx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov edi, eax jmp G_M000_IG06 ; Total bytes of code 301 953: JIT compiled System.Text.StringBuilder:ExpandByABlock(int) [Instrumented Tier1 with Static PGO, IL size=144, code size=301] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_Nanoseconds():double:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 954: JIT compiled BenchmarkDotNet.Reports.Measurement:get_Nanoseconds() [Instrumented Tier0, IL size=7, code size=32] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_Operations():long:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 955: JIT compiled BenchmarkDotNet.Reports.Measurement:get_Operations() [Instrumented Tier0, IL size=7, code size=38] ; Assembly listing for method System.String:PadLeft(int,ushort):System.String:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 4 ; 6 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 esi, esi jl SHORT G_M000_IG07 mov ebx, dword ptr [edi+04H] mov eax, esi sub eax, ebx mov dword ptr [ebp-10H], eax test eax, eax jle SHORT G_M000_IG05 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, esi call System.String:FastAllocateString(int):System.String mov esi, eax mov eax, esi cmp byte ptr [eax], al lea ecx, bword ptr [esi+08H] movzx edx, word ptr [ebp+08H] push edx mov edx, dword ptr [ebp-10H] call [System.SpanHelpers:Fill[ushort](byref,uint,ushort)] mov ecx, dword ptr [ebp-10H] lea ecx, bword ptr [esi+2*ecx+08H] lea edx, bword ptr [edi+08H] add ebx, ebx push ebx call [System.Buffer:Memmove(byref,byref,uint)] mov eax, esi G_M000_IG04: pop ecx pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, edi G_M000_IG06: pop ecx pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG07: mov ecx, 0x177F 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 144 956: JIT compiled System.String:PadLeft(int,ushort) [Instrumented Tier1 with Static PGO, IL size=83, code size=144] ; Assembly listing for method System.Double:ToString(System.String,System.IFormatProvider):System.String:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 22 ; 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 jne SHORT G_M000_IG06 G_M000_IG03: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] G_M000_IG04: 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_IG05: lea esp, [ebp-04H] pop esi pop ebp ret 4 G_M000_IG06: mov ecx, eax call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp SHORT G_M000_IG04 ; Total bytes of code 75 957: JIT compiled System.Double:ToString(System.String,System.IFormatProvider) [Instrumented Tier1 with Static PGO, IL size=15, code size=75] ; Assembly listing for method System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 106002 G_M000_IG01: push ebp mov ebp, esp push edi push esi mov esi, ecx G_M000_IG02: mov edx, esi mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] mov edi, eax test edi, edi je SHORT G_M000_IG07 G_M000_IG03: cmp byte ptr [edi+31H], 0 jne SHORT G_M000_IG06 mov esi, gword ptr [edi+0CH] test esi, esi je SHORT G_M000_IG12 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, esi G_M000_IG05: pop esi pop edi pop ebp ret G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG07: mov ecx, esi test ecx, ecx je SHORT G_M000_IG09 G_M000_IG08: xor eax, eax cmp dword ptr [ecx], 0xD1FFAB1E cmovne ecx, eax G_M000_IG09: mov edi, ecx test edi, edi je SHORT G_M000_IG14 G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, edi G_M000_IG11: pop esi pop edi pop ebp ret G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, edi mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, edi mov eax, dword ptr [ecx] mov eax, dword ptr [eax+30H] call [eax+08H]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this mov esi, eax jmp SHORT G_M000_IG04 G_M000_IG13: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG10 G_M000_IG14: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 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] mov edi, eax test edi, edi jne SHORT G_M000_IG13 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] mov edi, eax jmp SHORT G_M000_IG10 ; Total bytes of code 216 958: JIT compiled System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider) [Instrumented Tier1 with Static PGO, IL size=76, code size=216] ; Assembly listing for method System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 80 ; 13 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, 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 je SHORT G_M000_IG12 G_M000_IG05: lea eax, bword ptr [ecx+08H] mov esi, dword ptr [ecx+04H] G_M000_IG06: 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_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [ebp-14H] cmp ecx, dword ptr [ebp-0CH] ja SHORT G_M000_IG14 G_M000_IG08: 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 ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edx, gword ptr [ebp-18H] test edx, edx jne SHORT G_M000_IG13 G_M000_IG10: mov eax, esi cmp dword ptr [ebp-24H], 0xD1FFAB1E je SHORT G_M000_IG11 call CORINFO_HELP_FAIL_FAST G_M000_IG11: lea esp, [ebp-04H] pop esi pop ebp ret 8 G_M000_IG12: xor eax, eax xor esi, esi jmp SHORT G_M000_IG06 G_M000_IG13: 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] jmp SHORT G_M000_IG10 G_M000_IG14: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 ; Total bytes of code 240 959: JIT compiled System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo) [Instrumented Tier1 with Static PGO, IL size=71, code size=240] ; Assembly listing for method System.Number:FormatDouble[ushort](byref,double,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo):System.String (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 572 ; 18 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, 72 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-50H], 0xD1FFAB1E mov edi, ecx mov esi, edx vmovsd xmm0, qword ptr [ebp+10H] G_M000_IG02: vmovsd qword ptr [ebp+10H], xmm0 vmovsd qword ptr [ebp-3CH], xmm0 mov ecx, dword ptr [ebp-38H] and ecx, 0xD1FFAB1E cmp ecx, 0xD1FFAB1E jge G_M000_IG17 push dword ptr [ebp+0CH] push bword ptr [ebp+08H] lea ecx, [ebp-14H] call [System.Number:ParseFormatSpecifier(System.ReadOnlySpan`1[ushort],byref):ushort] mov ebx, eax mov ecx, -772 add ecx, esp jb SHORT G_M000_IG03 xor ecx, ecx G_M000_IG03: test dword ptr [esp], esp sub esp, 0x1000 cmp esp, ecx jae SHORT G_M000_IG03 mov esp, ecx lea eax, [esp] mov dword ptr [ebp-10H], esp mov dword ptr [ebp-18H], eax test ebx, ebx je G_M000_IG16 G_M000_IG04: mov eax, dword ptr [ebp-18H] xor edx, edx mov dword ptr [ebp-2CH], edx G_M000_IG05: mov dword ptr [ebp-28H], edx mov byte ptr [ebp-24H], 0 mov byte ptr [ebp-23H], 0 mov byte ptr [ebp-22H], 3 mov bword ptr [ebp-20H], eax mov dword ptr [ebp-1CH], 769 cmp dword ptr [ebp-1CH], 0 jbe G_M000_IG24 mov edx, bword ptr [ebp-20H] mov byte ptr [edx], 0 vmovsd xmm0, qword ptr [ebp+10H] vmovsd qword ptr [ebp-4CH], xmm0 cmp dword ptr [ebp-48H], 0 setl dl movzx edx, dl mov byte ptr [ebp-24H], dl push esi lea edx, [ebp-34H] push edx lea edx, [ebp-14H] mov ecx, ebx call [System.Number:GetFloatingPointMaxDigitsAndPrecision(ushort,byref,System.Globalization.NumberFormatInfo,byref):int] mov dword ptr [ebp-30H], eax vmovsd xmm0, qword ptr [ebp-4CH] vxorps xmm1, xmm1, xmm1 vucomisd xmm0, xmm1 jp SHORT G_M000_IG06 je SHORT G_M000_IG09 G_M000_IG06: cmp byte ptr [ebp-34H], 0 je SHORT G_M000_IG08 vmovsd xmm0, qword ptr [ebp+10H] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea edx, [ebp-2CH] mov ecx, dword ptr [ebp-14H] call [System.Number+Grisu3:TryRunDouble(double,int,byref):bool] test eax, eax jne G_M000_IG14 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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-34H] mov ecx, dword ptr [ebp-14H] call [System.Number:Dragon4Double(double,int,bool,byref)] G_M000_IG09: test ebx, ebx je SHORT G_M000_IG15 G_M000_IG10: cmp dword ptr [ebp-14H], -1 jne SHORT G_M000_IG11 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [ebp-2CH] mov edx, 17 cmp eax, 17 cmovl eax, edx mov edx, eax mov dword ptr [ebp-30H], edx G_M000_IG11: push ebx push dword ptr [ebp-30H] push esi lea edx, [ebp-2CH] mov ecx, edi call [System.Number:NumberToString[ushort](byref,byref,ushort,int,System.Globalization.NumberFormatInfo)] G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor eax, eax cmp dword ptr [ebp-50H], 0xD1FFAB1E je SHORT G_M000_IG13 call CORINFO_HELP_FAIL_FAST G_M000_IG13: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG14: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 test ebx, ebx jne SHORT G_M000_IG10 G_M000_IG15: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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)] jmp SHORT G_M000_IG12 G_M000_IG16: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov dword ptr [ebp-14H], 15 jmp G_M000_IG04 G_M000_IG17: vmovsd xmm0, qword ptr [ebp+10H] vucomisd xmm0, xmm0 jp SHORT G_M000_IG18 je SHORT G_M000_IG20 G_M000_IG18: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, gword ptr [esi+2CH] cmp dword ptr [ebp-50H], 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: vmovsd qword ptr [ebp-44H], xmm0 cmp dword ptr [ebp-40H], 0 jl SHORT G_M000_IG22 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, gword ptr [esi+30H] cmp dword ptr [ebp-50H], 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 16 G_M000_IG22: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, gword ptr [esi+34H] cmp dword ptr [ebp-50H], 0xD1FFAB1E je SHORT G_M000_IG23 call CORINFO_HELP_FAIL_FAST G_M000_IG23: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG24: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 631 960: JIT compiled System.Number:FormatDouble[ushort](byref,double,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) [Instrumented Tier1 with Static PGO, IL size=296, code size=631] ; Assembly listing for method System.Number:ParseFormatSpecifier(System.ReadOnlySpan`1[ushort],byref):ushort (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 1653 ; 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 sub esp, 20 mov esi, ecx G_M000_IG02: mov edi, dword ptr [ebp+0CH] xor ebx, ebx test edi, edi jle G_M000_IG13 G_M000_IG03: mov ecx, bword ptr [ebp+08H] movzx ebx, word ptr [ecx] mov ecx, ebx or ecx, 32 add ecx, -97 cmp ecx, 25 ja SHORT G_M000_IG11 G_M000_IG04: cmp edi, 1 jne SHORT G_M000_IG12 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov dword ptr [esi], -1 G_M000_IG06: movzx eax, bx G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, 71 G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG13 G_M000_IG12: cmp edi, 2 jne SHORT G_M000_IG16 mov ecx, bword ptr [ebp+08H] movzx eax, word ptr [ecx+02H] add eax, -48 mov dword ptr [ebp-18H], eax cmp eax, 10 jae G_M000_IG20 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edi, dword ptr [ebp-18H] mov dword ptr [esi], edi jmp SHORT G_M000_IG06 G_M000_IG13: mov dword ptr [esi], -1 test edi, edi je SHORT G_M000_IG09 G_M000_IG14: test ebx, ebx je SHORT G_M000_IG08 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor eax, eax G_M000_IG15: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG16: cmp edi, 3 jne SHORT G_M000_IG19 mov ecx, bword ptr [ebp+08H] movzx eax, word ptr [ecx+02H] add eax, -48 mov dword ptr [ebp-1CH], eax mov ecx, bword ptr [ebp+08H] movzx edx, word ptr [ecx+04H] add edx, -48 mov dword ptr [ebp-20H], edx cmp eax, 10 jae SHORT G_M000_IG18 cmp edx, 10 jae SHORT G_M000_IG17 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edi, dword ptr [ebp-1CH] lea ecx, [edi+4*edi] add ecx, ecx add ecx, dword ptr [ebp-20H] mov dword ptr [esi], ecx jmp G_M000_IG06 G_M000_IG17: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG20 G_M000_IG18: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG20 G_M000_IG19: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG20: xor eax, eax mov edx, 1 jmp SHORT G_M000_IG23 G_M000_IG21: mov dword ptr [ebp-10H], eax cmp eax, 0xD1FFAB1E jl SHORT G_M000_IG22 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 call [System.ThrowHelper:ThrowFormatException_BadFormatSpecifier()] int3 G_M000_IG22: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [ebp-14H] lea eax, [ecx+01H] mov dword ptr [ebp-14H], eax mov edx, bword ptr [ebp+08H] movzx ecx, word ptr [edx+2*ecx] mov edx, dword ptr [ebp-10H] lea edx, [edx+4*edx] lea edx, [ecx+2*edx-30H] mov dword ptr [ebp-10H], edx mov eax, dword ptr [ebp-10H] mov edx, dword ptr [ebp-14H] G_M000_IG23: cmp edx, edi jae SHORT G_M000_IG25 mov ecx, bword ptr [ebp+08H] mov dword ptr [ebp-14H], edx movzx ecx, word ptr [ecx+2*edx] add ecx, -48 cmp ecx, 9 jbe SHORT G_M000_IG21 mov dword ptr [ebp-10H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, bword ptr [ebp+08H] mov edx, dword ptr [ebp-14H] cmp word ptr [ecx+2*edx], 0 jne SHORT G_M000_IG26 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG24: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edi, dword ptr [ebp-10H] mov dword ptr [esi], edi jmp G_M000_IG06 G_M000_IG25: mov dword ptr [ebp-10H], eax jmp SHORT G_M000_IG24 G_M000_IG26: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG13 ; Total bytes of code 486 961: JIT compiled System.Number:ParseFormatSpecifier(System.ReadOnlySpan`1[ushort],byref) [Instrumented Tier1 with Static PGO, IL size=259, code size=486] ; Assembly listing for method System.Number:GetFloatingPointMaxDigitsAndPrecision(ushort,byref,System.Globalization.NumberFormatInfo,byref):int (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 574 ; 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, edx G_M000_IG02: movzx edi, cx test edi, edi je G_M000_IG10 G_M000_IG03: mov eax, dword ptr [esi] mov dword ptr [ebp-10H], eax cmp edi, 82 ja G_M000_IG15 lea edx, [edi-43H] cmp edx, 4 jne SHORT G_M000_IG06 G_M000_IG04: cmp dword ptr [esi], 0 je G_M000_IG39 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG31 G_M000_IG06: cmp edx, 4 ja SHORT G_M000_IG07 lea ecx, [@RWD00] mov ecx, dword ptr [ecx+4*edx] lea edi, G_M000_IG02 add ecx, edi jmp ecx G_M000_IG07: add edi, -78 cmp edi, 4 ja SHORT G_M000_IG14 lea ecx, [@RWD20] mov ecx, dword ptr [ecx+4*edi] lea edx, G_M000_IG02 add ecx, edx jmp ecx G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov dword ptr [esi], -1 jmp G_M000_IG31 G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, bword ptr [ebp+08H] mov byte ptr [ebx], 1 mov eax, dword ptr [esi] G_M000_IG11: pop ecx pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG36 G_M000_IG13: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG32 G_M000_IG14: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG36 G_M000_IG15: lea edx, [edi-63H] cmp edx, 4 ja SHORT G_M000_IG21 lea ecx, [@RWD40] mov ecx, dword ptr [ecx+4*edx] lea edi, G_M000_IG02 add ecx, edi jmp ecx G_M000_IG16: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG04 G_M000_IG17: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG32 G_M000_IG18: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG29 G_M000_IG19: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG36 G_M000_IG20: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG27 G_M000_IG21: add edi, -110 cmp edi, 4 ja SHORT G_M000_IG26 lea ecx, [@RWD60] mov ecx, dword ptr [ecx+4*edi] lea edx, G_M000_IG02 add ecx, edx jmp ecx G_M000_IG22: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG09 G_M000_IG23: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG34 G_M000_IG24: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG36 G_M000_IG25: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG32 G_M000_IG26: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG36 G_M000_IG27: cmp dword ptr [esi], -1 jne SHORT G_M000_IG28 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edi, gword ptr [ebp+0CH] mov ecx, dword ptr [edi+88H] mov dword ptr [esi], ecx G_M000_IG28: mov ebx, bword ptr [ebp+08H] mov byte ptr [ebx], 0 jmp G_M000_IG37 G_M000_IG29: cmp dword ptr [esi], -1 jne SHORT G_M000_IG30 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov dword ptr [esi], 6 G_M000_IG30: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 inc dword ptr [esi] G_M000_IG31: mov ebx, bword ptr [ebp+08H] mov byte ptr [ebx], 1 jmp SHORT G_M000_IG37 G_M000_IG32: cmp dword ptr [esi], -1 jne SHORT G_M000_IG33 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edi, gword ptr [ebp+0CH] mov ecx, dword ptr [edi+84H] mov dword ptr [esi], ecx G_M000_IG33: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG28 G_M000_IG34: cmp dword ptr [esi], -1 jne SHORT G_M000_IG35 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edi, gword ptr [ebp+0CH] mov ecx, dword ptr [edi+A0H] mov dword ptr [esi], ecx G_M000_IG35: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 add dword ptr [esi], 2 jmp G_M000_IG28 G_M000_IG36: call [System.ThrowHelper:ThrowFormatException_BadFormatSpecifier()] int3 G_M000_IG37: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [ebp-10H] G_M000_IG38: pop ecx pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG39: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov dword ptr [esi], -1 jmp G_M000_IG05 RWD00 dd G_M000_IG27 - G_M000_IG02 dd G_M000_IG36 - G_M000_IG02 dd G_M000_IG29 - G_M000_IG02 dd G_M000_IG32 - G_M000_IG02 dd G_M000_IG04 - G_M000_IG02 RWD20 dd G_M000_IG13 - G_M000_IG02 dd G_M000_IG12 - G_M000_IG02 dd G_M000_IG34 - G_M000_IG02 dd G_M000_IG12 - G_M000_IG02 dd G_M000_IG08 - G_M000_IG02 RWD40 dd G_M000_IG20 - G_M000_IG02 dd G_M000_IG19 - G_M000_IG02 dd G_M000_IG18 - G_M000_IG02 dd G_M000_IG17 - G_M000_IG02 dd G_M000_IG16 - G_M000_IG02 RWD60 dd G_M000_IG25 - G_M000_IG02 dd G_M000_IG24 - G_M000_IG02 dd G_M000_IG23 - G_M000_IG02 dd G_M000_IG24 - G_M000_IG02 dd G_M000_IG22 - G_M000_IG02 ; Total bytes of code 626 962: JIT compiled System.Number:GetFloatingPointMaxDigitsAndPrecision(ushort,byref,System.Globalization.NumberFormatInfo,byref) [Instrumented Tier1 with Static PGO, IL size=248, code size=626] ; Assembly listing for method System.SpanHelpers:ClearWithoutReferences(byref,uint) (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 25203 G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx push eax mov esi, ecx mov edi, edx G_M000_IG02: test edi, edi je G_M000_IG50 G_M000_IG03: xor ecx, ecx mov eax, edi sub eax, 1 sbb ecx, 0 cmp eax, 22 sbb ecx, 0 jae G_M000_IG30 G_M000_IG04: cmp eax, 11 je G_M000_IG14 G_M000_IG05: cmp eax, 21 ja G_M000_IG86 lea ecx, [@RWD00] mov ecx, dword ptr [ecx+4*eax] lea edx, G_M000_IG02 add ecx, edx jmp ecx G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, esi mov edx, edi call [System.Buffer:_ZeroMemory(byref,uint)] jmp G_M000_IG49 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov word ptr [esi], 0 jmp G_M000_IG49 G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov dword ptr [esi], ecx jmp G_M000_IG49 G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov dword ptr [esi], ecx mov word ptr [esi+04H], 0 jmp G_M000_IG49 G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov dword ptr [esi], ecx G_M000_IG11: mov dword ptr [esi+04H], ecx jmp G_M000_IG49 G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov dword ptr [esi], ecx G_M000_IG13: mov dword ptr [esi+04H], ecx mov word ptr [esi+08H], 0 jmp G_M000_IG49 G_M000_IG14: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov dword ptr [esi], ecx G_M000_IG15: mov dword ptr [esi+04H], ecx G_M000_IG16: mov dword ptr [esi+08H], ecx jmp G_M000_IG49 G_M000_IG17: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov dword ptr [esi], ecx G_M000_IG18: mov dword ptr [esi+04H], ecx G_M000_IG19: mov dword ptr [esi+08H], ecx mov word ptr [esi+0CH], 0 jmp G_M000_IG49 G_M000_IG20: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov dword ptr [esi], ecx G_M000_IG21: mov dword ptr [esi+04H], ecx G_M000_IG22: mov dword ptr [esi+08H], ecx G_M000_IG23: mov dword ptr [esi+0CH], ecx G_M000_IG24: mov dword ptr [esi+10H], ecx jmp G_M000_IG49 G_M000_IG25: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov dword ptr [esi], ecx G_M000_IG26: mov dword ptr [esi+04H], ecx G_M000_IG27: mov dword ptr [esi+08H], ecx G_M000_IG28: mov dword ptr [esi+0CH], ecx G_M000_IG29: mov dword ptr [esi+10H], ecx mov word ptr [esi+14H], 0 jmp G_M000_IG49 G_M000_IG30: cmp edi, 512 jae G_M000_IG06 G_M000_IG31: xor ebx, ebx mov ecx, esi test cl, 3 jne G_M000_IG89 G_M000_IG32: mov ecx, esi dec ecx test cl, 4 jne SHORT G_M000_IG34 G_M000_IG33: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov dword ptr [esi+ebx], ecx add ebx, 4 G_M000_IG34: lea eax, [edi-10H] mov dword ptr [ebp-10H], eax sub edi, ebx G_M000_IG35: lea ecx, [ebx+10H] xor edx, edx mov dword ptr [esi+ebx], edx G_M000_IG36: mov dword ptr [esi+ebx+04H], edx G_M000_IG37: mov dword ptr [esi+ebx+08H], edx G_M000_IG38: mov dword ptr [esi+ebx+0CH], edx mov ebx, ecx cmp ebx, eax ja SHORT G_M000_IG40 G_M000_IG39: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [ebp-10H] jmp SHORT G_M000_IG35 G_M000_IG40: test edi, 8 je SHORT G_M000_IG43 G_M000_IG41: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov dword ptr [esi+ebx], ecx G_M000_IG42: mov dword ptr [esi+ebx+04H], ecx add ebx, 8 G_M000_IG43: test edi, 4 jne SHORT G_M000_IG51 G_M000_IG44: test edi, 2 je SHORT G_M000_IG46 G_M000_IG45: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov word ptr [esi+ebx], 0 add ebx, 2 G_M000_IG46: test edi, 1 je SHORT G_M000_IG48 G_M000_IG47: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov byte ptr [esi+ebx], 0 G_M000_IG48: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG49: pop ecx pop ebx pop esi pop edi pop ebp ret G_M000_IG50: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG49 G_M000_IG51: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov dword ptr [esi+ebx], ecx add ebx, 4 jmp SHORT G_M000_IG44 G_M000_IG52: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov dword ptr [esi], ecx mov word ptr [esi+04H], 0 mov byte ptr [esi+06H], 0 jmp SHORT G_M000_IG49 G_M000_IG53: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov dword ptr [esi], ecx mov byte ptr [esi+04H], 0 jmp SHORT G_M000_IG49 G_M000_IG54: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov dword ptr [esi], ecx G_M000_IG55: mov dword ptr [esi+04H], ecx mov byte ptr [esi+08H], 0 jmp SHORT G_M000_IG49 G_M000_IG56: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov dword ptr [esi], ecx G_M000_IG57: mov dword ptr [esi+04H], ecx G_M000_IG58: mov dword ptr [esi+08H], ecx mov word ptr [esi+0CH], 0 mov byte ptr [esi+0EH], 0 jmp G_M000_IG49 G_M000_IG59: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov dword ptr [esi], ecx G_M000_IG60: mov dword ptr [esi+04H], ecx G_M000_IG61: mov dword ptr [esi+08H], ecx G_M000_IG62: mov dword ptr [esi+0CH], ecx mov word ptr [esi+10H], 0 mov byte ptr [esi+12H], 0 jmp G_M000_IG49 G_M000_IG63: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov dword ptr [esi], ecx G_M000_IG64: mov dword ptr [esi+04H], ecx mov word ptr [esi+08H], 0 mov byte ptr [esi+0AH], 0 jmp G_M000_IG49 G_M000_IG65: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov dword ptr [esi], ecx G_M000_IG66: mov dword ptr [esi+04H], ecx G_M000_IG67: mov dword ptr [esi+08H], ecx G_M000_IG68: mov dword ptr [esi+0CH], ecx jmp G_M000_IG49 G_M000_IG69: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov dword ptr [esi], ecx G_M000_IG70: mov dword ptr [esi+04H], ecx G_M000_IG71: mov dword ptr [esi+08H], ecx G_M000_IG72: mov dword ptr [esi+0CH], ecx mov word ptr [esi+10H], 0 jmp G_M000_IG49 G_M000_IG73: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov word ptr [esi], 0 mov byte ptr [esi+02H], 0 jmp G_M000_IG49 G_M000_IG74: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov dword ptr [esi], ecx G_M000_IG75: mov dword ptr [esi+04H], ecx G_M000_IG76: mov dword ptr [esi+08H], ecx G_M000_IG77: mov dword ptr [esi+0CH], ecx mov byte ptr [esi+10H], 0 jmp G_M000_IG49 G_M000_IG78: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov dword ptr [esi], ecx G_M000_IG79: mov dword ptr [esi+04H], ecx G_M000_IG80: mov dword ptr [esi+08H], ecx G_M000_IG81: mov dword ptr [esi+0CH], ecx G_M000_IG82: mov dword ptr [esi+10H], ecx mov byte ptr [esi+14H], 0 jmp G_M000_IG49 G_M000_IG83: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov dword ptr [esi], ecx G_M000_IG84: mov dword ptr [esi+04H], ecx G_M000_IG85: mov dword ptr [esi+08H], ecx mov byte ptr [esi+0CH], 0 jmp G_M000_IG49 G_M000_IG86: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG30 G_M000_IG87: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov byte ptr [esi], 0 jmp G_M000_IG49 G_M000_IG88: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG32 G_M000_IG89: mov ecx, esi test cl, 1 je SHORT G_M000_IG90 mov byte ptr [esi], 0 mov ebx, 1 mov ecx, esi test cl, 2 jne SHORT G_M000_IG88 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG90: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov word ptr [esi+ebx], 0 add ebx, 2 jmp G_M000_IG32 RWD00 dd G_M000_IG87 - G_M000_IG02 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG73 - G_M000_IG02 dd G_M000_IG08 - G_M000_IG02 dd G_M000_IG53 - G_M000_IG02 dd G_M000_IG09 - G_M000_IG02 dd G_M000_IG52 - G_M000_IG02 dd G_M000_IG10 - G_M000_IG02 dd G_M000_IG54 - G_M000_IG02 dd G_M000_IG12 - G_M000_IG02 dd G_M000_IG63 - G_M000_IG02 dd G_M000_IG14 - G_M000_IG02 dd G_M000_IG83 - G_M000_IG02 dd G_M000_IG17 - G_M000_IG02 dd G_M000_IG56 - G_M000_IG02 dd G_M000_IG65 - G_M000_IG02 dd G_M000_IG74 - G_M000_IG02 dd G_M000_IG69 - G_M000_IG02 dd G_M000_IG59 - G_M000_IG02 dd G_M000_IG20 - G_M000_IG02 dd G_M000_IG78 - G_M000_IG02 dd G_M000_IG25 - G_M000_IG02 ; Total bytes of code 1036 963: JIT compiled System.SpanHelpers:ClearWithoutReferences(byref,uint) [Instrumented Tier1 with Static PGO, IL size=1369, code size=1036] ; Assembly listing for method System.Number:RoundNumber(byref,int,bool) (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 673 ; 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 sub esp, 8 mov edi, ecx mov esi, edx G_M000_IG02: mov ebx, bword ptr [edi+0CH] xor eax, eax jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [ebp-10H] inc eax mov dword ptr [ebp-10H], eax G_M000_IG04: cmp eax, esi jge SHORT G_M000_IG07 G_M000_IG05: mov dword ptr [ebp-10H], eax cmp byte ptr [ebx+eax], 0 jne SHORT G_M000_IG03 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [ebp-10H] G_M000_IG07: cmp eax, esi je SHORT G_M000_IG14 G_M000_IG08: test eax, eax jle SHORT G_M000_IG11 G_M000_IG09: mov dword ptr [ebp-10H], eax cmp byte ptr [ebx+eax-01H], 48 je G_M000_IG19 G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [ebp-10H] G_M000_IG11: mov dword ptr [ebp-10H], eax test eax, eax je SHORT G_M000_IG16 G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov esi, dword ptr [ebp-10H] mov byte ptr [ebx+esi], 0 mov dword ptr [edi], esi G_M000_IG13: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG14: mov dword ptr [ebp-10H], eax movzx ecx, byte ptr [ebx+eax] mov dword ptr [ebp-14H], ecx xor edx, edx test ecx, ecx sete dl movzx ecx, byte ptr [ebp+08H] or ecx, edx jne SHORT G_M000_IG18 cmp dword ptr [ebp-14H], 53 jge SHORT G_M000_IG20 G_M000_IG15: jmp SHORT G_M000_IG18 G_M000_IG16: cmp byte ptr [edi+0AH], 3 jne G_M000_IG22 G_M000_IG17: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov dword ptr [edi+04H], ecx jmp SHORT G_M000_IG12 G_M000_IG18: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [ebp-10H] jmp G_M000_IG08 G_M000_IG19: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov esi, dword ptr [ebp-10H] dec esi mov dword ptr [ebp-10H], esi mov eax, dword ptr [ebp-10H] jmp G_M000_IG08 G_M000_IG20: mov eax, dword ptr [ebp-10H] test eax, eax jle SHORT G_M000_IG21 mov dword ptr [ebp-10H], eax cmp byte ptr [ebx+eax-01H], 57 je SHORT G_M000_IG23 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov esi, dword ptr [ebp-10H] lea ecx, [ebx+esi-01H] inc byte ptr [ecx] mov eax, esi jmp G_M000_IG11 G_M000_IG21: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 lea ecx, bword ptr [edi+04H] inc dword ptr [ecx] mov byte ptr [ebx], 49 mov dword ptr [ebp-10H], 1 mov eax, dword ptr [ebp-10H] jmp G_M000_IG11 G_M000_IG22: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov byte ptr [edi+08H], 0 jmp G_M000_IG17 G_M000_IG23: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov esi, dword ptr [ebp-10H] dec esi mov dword ptr [ebp-10H], esi jmp SHORT G_M000_IG20 ; Total bytes of code 361 964: JIT compiled System.Number:RoundNumber(byref,int,bool) [Instrumented Tier1 with Static PGO, IL size=158, code size=361] ; Assembly listing for method System.ReadOnlySpan`1[ushort]:ToString():System.String:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 72632 ; 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: 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 965: JIT compiled System.ReadOnlySpan`1[ushort]:ToString() [Instrumented Tier1 with Static PGO, IL size=144, code size=17] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_IterationStage():int:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 966: JIT compiled BenchmarkDotNet.Reports.Measurement:get_IterationStage() [Instrumented Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:GcCollect():this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 code ; ebp 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 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 call [BenchmarkDotNet.Engines.Engine:ForceGcCollect()] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 54 967: JIT compiled BenchmarkDotNet.Engines.Engine:GcCollect() [Instrumented Tier0, IL size=15, code size=54] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_ForceGcCleanups():bool:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 code ; ebp 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 968: JIT compiled BenchmarkDotNet.Engines.Engine:get_ForceGcCleanups() [Instrumented Tier0, IL size=7, code size=18] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:ForceGcCollect() (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 969: JIT compiled BenchmarkDotNet.Engines.Engine:ForceGcCollect() [Instrumented Tier0, IL size=16, code size=23] ; Assembly listing for method System.GC:WaitForPendingFinalizers() (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; 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 970: JIT compiled System.GC:WaitForPendingFinalizers() [Instrumented Tier1, IL size=6, code size=91] ; Assembly listing for method System.Diagnostics.Tracing.EventSource:IsEnabled():bool:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 319749 G_M000_IG01: G_M000_IG02: movzx eax, byte ptr [ecx+59H] G_M000_IG03: ret ; Total bytes of code 5 971: JIT compiled System.Diagnostics.Tracing.EventSource:IsEnabled() [Instrumented Tier1 with Static PGO, IL size=7, code size=5] ; Assembly listing for method System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 2 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push edi push esi sub esp, 20 mov dword ptr [esp+10H], 0xD1FFAB1E mov esi, ecx mov edi, edx G_M000_IG02: cmp byte ptr [esi+59H], 0 je SHORT G_M000_IG05 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 lea ecx, [esp] lea edx, [esp+20H] mov eax, ecx mov dword ptr [eax], edx xor edx, edx mov dword ptr [eax+04H], edx mov dword ptr [ecx+08H], 8 G_M000_IG04: mov dword ptr [ecx+0CH], edx push 0 push 1 push ecx mov ecx, esi mov edx, edi call [System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,uint,int,uint):this] G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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 107 972: JIT compiled System.Diagnostics.Tracing.EventSource:WriteEvent(int,long) [Instrumented Tier1, IL size=53, code size=107] ; Assembly listing for method Perfolizer.Horology.WindowsClock:GetTimestamp():long:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 973: JIT compiled Perfolizer.Horology.WindowsClock:GetTimestamp() [Instrumented Tier0, IL size=10, code size=35] ; Assembly listing for method System.Number+BigInteger:SetUInt64(byref,ulong) (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 4 G_M000_IG01: push esi mov esi, ecx G_M000_IG02: cmp dword ptr [esp+0CH], 1 jb SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [esp+08H] mov dword ptr [esi+04H], ecx mov ecx, dword ptr [esp+0CH] mov dword ptr [esi+08H], ecx mov dword ptr [esi], 2 G_M000_IG03: pop esi ret 8 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, esi mov edx, dword ptr [esp+08H] call [System.Number+BigInteger:SetUInt32(byref,uint)] G_M000_IG05: pop esi ret 8 ; Total bytes of code 70 974: JIT compiled System.Number+BigInteger:SetUInt64(byref,ulong) [Instrumented Tier1 with Static PGO, IL size=55, code size=70] ; Assembly listing for method System.Number:Dragon4Double(double,int,bool,byref) (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 4 ; 9 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, 52 vzeroupper mov dword ptr [ebp-10H], ecx mov dword ptr [ebp-14H], edx vmovsd xmm0, qword ptr [ebp+0CH] mov edi, bword ptr [ebp+08H] G_M000_IG02: vmovsd qword ptr [ebp-24H], xmm0 cmp dword ptr [ebp-20H], 0 jl G_M000_IG08 G_M000_IG03: vmovsd qword ptr [ebp-2CH], xmm0 mov ecx, dword ptr [ebp-2CH] mov eax, dword ptr [ebp-28H] mov edx, eax and edx, 0xD1FFAB1E shr eax, 20 and eax, 0x7FF je SHORT G_M000_IG04 or ecx, 0 or edx, 0xD1FFAB1E add eax, -0x433 jmp SHORT G_M000_IG05 G_M000_IG04: mov dword ptr [ebp-18H], -0x432 mov eax, dword ptr [ebp-18H] G_M000_IG05: mov dword ptr [ebp-30H], ecx mov dword ptr [ebp-34H], edx xor ebx, ebx mov esi, edx shr esi, 20 or esi, 0 je G_M000_IG09 mov esi, 52 mov ebx, edx xor ebx, 0xD1FFAB1E or ebx, ecx sete bl movzx ebx, bl mov dword ptr [ebp-18H], eax G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 push dword ptr [ebp-34H] push dword ptr [ebp-30H] push ebx push dword ptr [ebp-10H] movzx ecx, byte ptr [ebp-14H] push ecx lea ecx, bword ptr [edi+0CH] push dword ptr [ecx+04H] push bword ptr [ecx] lea ecx, [ebp-1CH] push ecx mov ecx, dword ptr [ebp-18H] mov edx, esi call [System.Number:Dragon4(ulong,int,uint,bool,int,bool,System.Span`1[ubyte],byref):uint] mov ecx, dword ptr [ebp-1CH] inc ecx mov dword ptr [edi+04H], ecx lea ecx, bword ptr [edi+0CH] cmp eax, dword ptr [ecx+04H] jae G_M000_IG12 mov ecx, bword ptr [ecx] mov byte ptr [ecx+eax], 0 mov dword ptr [edi], eax G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG08: vmovsd qword ptr [ebp+0CH], xmm0 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 vmovsd xmm0, qword ptr [ebp+0CH] jmp G_M000_IG03 G_M000_IG09: mov dword ptr [ebp-18H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [ebp-30H] mov eax, ecx or eax, 1 mov dword ptr [ebp-3CH], eax mov edx, dword ptr [ebp-34H] mov eax, edx or eax, 0 mov dword ptr [ebp-40H], eax mov eax, dword ptr [ebp-3CH] mov dword ptr [ebp-38H], eax mov eax, dword ptr [ebp-40H] test eax, eax jne SHORT G_M000_IG10 mov eax, dword ptr [ebp-38H] or eax, 1 lzcnt eax, eax xor eax, 31 jmp SHORT G_M000_IG11 G_M000_IG10: or eax, 1 lzcnt eax, eax xor eax, 31 add eax, 32 G_M000_IG11: mov esi, eax jmp G_M000_IG06 G_M000_IG12: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 341 975: JIT compiled System.Number:Dragon4Double(double,int,bool,byref) [Instrumented Tier1 with Static PGO, IL size=114, code size=341] ; Assembly listing for method System.Number:Dragon4(ulong,int,uint,bool,int,bool,System.Span`1[ubyte],byref):uint (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 4 ; 12 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, 0xEEC test eax, dword ptr [esp] vzeroupper xor eax, eax mov dword ptr [ebp-ED8H], eax mov dword ptr [ebp-10H], 0xD1FFAB1E mov dword ptr [ebp-E94H], edx mov ebx, ecx G_M000_IG02: mov eax, bword ptr [ebp+08H] mov bword ptr [ebp-EF8H], eax lea edi, bword ptr [ebp-ED8H] lea esi, bword ptr [ebp+0CH] movsd movsd mov eax, dword ptr [ebp+18H] mov esi, eax mov edi, bword ptr [ebp-ED8H] mov bword ptr [ebp-EF4H], edi mov eax, dword ptr [ebp-ED4H] mov dword ptr [ebp-ED0H], eax xor edx, edx mov dword ptr [ebp-E98H], edx cmp byte ptr [ebp+1CH], 0 jne G_M000_IG37 test ebx, ebx jg G_M000_IG40 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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_IG03 test eax, eax je G_M000_IG41 mov dword ptr [ebp-1DCH], eax mov dword ptr [ebp-1E0H], 1 jmp SHORT G_M000_IG04 G_M000_IG03: mov dword ptr [ebp-1DCH], eax mov dword ptr [ebp-1D8H], edx mov dword ptr [ebp-1E0H], 2 G_M000_IG04: mov ecx, ebx neg ecx inc ecx lea edx, [ebp-E90H] call [System.Number+BigInteger:Pow2(uint,byref)] mov dword ptr [ebp-3ACH], 1 mov dword ptr [ebp-3B0H], 1 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 lea eax, [ebp-3B0H] mov dword ptr [ebp-E9CH], eax G_M000_IG06: add ebx, dword ptr [ebp-E94H] 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_IG43 cmp ebx, 9 ja G_M000_IG42 cmp ebx, 10 jae G_M000_IG63 mov edx, dword ptr [4*ebx+D1FFAB1EH] lea ecx, [ebp-E90H] push ecx lea ecx, [ebp-E90H] call [System.Number+BigInteger:Multiply(byref,uint,byref)] G_M000_IG07: mov eax, dword ptr [ebp+20H] mov edx, dword ptr [ebp+24H] mov ecx, 2 cmp edx, ecx jb SHORT G_M000_IG08 mov edi, eax mov eax, edx xor edx, edx div edx:eax, ecx mov eax, edi G_M000_IG08: div edx:eax, ecx or edx, 0 sete al movzx eax, al mov dword ptr [ebp-EA0H], eax cmp esi, -1 je G_M000_IG44 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 lea ecx, [ebp-1E0H] lea edx, [ebp-E90H] call [System.Number+BigInteger:Compare(byref,byref):int] test eax, eax jl G_M000_IG23 G_M000_IG09: inc ebx G_M000_IG10: mov edx, ebx sub edx, dword ptr [ebp-ED0H] cmp esi, -1 je SHORT G_M000_IG12 cmp byte ptr [ebp+14H], 0 je G_M000_IG51 mov ecx, ebx sub ecx, esi G_M000_IG11: mov dword ptr [ebp-EB8H], ecx cmp ecx, edx jle G_M000_IG27 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edx, dword ptr [ebp-EB8H] mov dword ptr [ebp-EA4H], edx G_M000_IG12: dec ebx mov ecx, bword ptr [ebp-EF8H] mov dword ptr [ecx], ebx lea edi, bword ptr [ebp-E8CH] mov ecx, dword ptr [ebp-E90H] dec ecx mov edi, dword ptr [edi+4*ecx] cmp edi, 8 jb SHORT G_M000_IG14 cmp edi, 0xD1FFAB1E jbe G_M000_IG26 G_M000_IG13: mov dword ptr [ebp-EA4H], edx mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG49 G_M000_IG14: mov dword ptr [ebp-EA4H], edx jmp G_M000_IG49 G_M000_IG15: cmp esi, -1 mov edi, dword ptr [ebp-E9CH] je G_M000_IG22 mov esi, dword ptr [ebp-EA4H] cmp ebx, esi jl G_M000_IG56 xor eax, eax mov dword ptr [ebp-EA8H], eax xor edx, edx mov dword ptr [ebp-EACH], edx G_M000_IG16: lea ecx, [ebp-1E0H] lea edx, [ebp-E90H] call [System.Number+BigInteger:HeuristicDivide(byref,byref):uint] mov dword ptr [ebp-EB0H], eax cmp dword ptr [ebp-1E0H], 0 je SHORT G_M000_IG18 G_M000_IG17: cmp ebx, esi jle G_M000_IG25 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edi, dword ptr [ebp-E98H] cmp edi, dword ptr [ebp-ED0H] jae G_M000_IG63 mov ecx, dword ptr [ebp-EB0H] add ecx, 48 mov edx, bword ptr [ebp-EF4H] mov byte ptr [edx+edi], cl inc edi lea ecx, [ebp-1E0H] call [System.Number+BigInteger:Multiply10():this] dec ebx mov dword ptr [ebp-E98H], edi jmp SHORT G_M000_IG16 G_M000_IG18: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG19: mov ebx, dword ptr [ebp-EA8H] cmp ebx, dword ptr [ebp-EACH] jne G_M000_IG28 lea ecx, [ebp-1E0H] mov edx, 1 call [System.Number+BigInteger:ShiftLeft(uint):this] lea ecx, [ebp-1E0H] lea edx, [ebp-E90H] call [System.Number+BigInteger:Compare(byref,byref):int] mov ebx, eax shr ebx, 31 test eax, eax je G_M000_IG62 G_M000_IG20: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 test ebx, ebx je G_M000_IG29 G_M000_IG21: mov edi, dword ptr [ebp-E98H] cmp edi, dword ptr [ebp-ED0H] jae G_M000_IG63 mov ebx, dword ptr [ebp-EB0H] lea eax, [ebx+30H] mov esi, bword ptr [ebp-EF4H] mov dword ptr [ebp-E98H], edi mov byte ptr [esi+edi], al jmp G_M000_IG34 G_M000_IG22: lea ecx, [ebp-1E0H] lea edx, [ebp-E90H] call [System.Number+BigInteger:HeuristicDivide(byref,byref):uint] mov esi, eax lea ecx, [ebp-AF0H] push ecx lea ecx, [ebp-1E0H] mov edx, edi 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-EBCH], eax lea ecx, [ebp-AF0H] lea edx, [ebp-E90H] call [System.Number+BigInteger:Compare(byref,byref):int] mov dword ptr [ebp-EC0H], eax cmp dword ptr [ebp-EA0H], 0 je G_M000_IG52 xor ecx, ecx cmp dword ptr [ebp-EBCH], 0 setle cl not eax shr eax, 31 jmp G_M000_IG53 G_M000_IG23: 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 dword ptr [ebp-E9CH], ecx jne G_M000_IG50 G_M000_IG24: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG10 G_M000_IG25: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG19 G_M000_IG26: mov dword ptr [ebp-EA4H], edx mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG15 G_M000_IG27: mov dword ptr [ebp-EA4H], edx mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edx, dword ptr [ebp-EA4H] jmp G_M000_IG12 G_M000_IG28: test ebx, ebx jne G_M000_IG21 G_M000_IG29: mov esi, dword ptr [ebp-EB0H] cmp esi, 9 jne SHORT G_M000_IG33 G_M000_IG30: mov edi, dword ptr [ebp-E98H] test edi, edi jne SHORT G_M000_IG31 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 cmp dword ptr [ebp-ED0H], 0 jbe G_M000_IG63 mov esi, bword ptr [ebp-EF4H] mov byte ptr [esi], 49 mov edi, 1 mov ebx, bword ptr [ebp-EF8H] inc dword ptr [ebx] jmp SHORT G_M000_IG35 G_M000_IG31: dec edi cmp edi, dword ptr [ebp-ED0H] jae G_M000_IG63 mov esi, bword ptr [ebp-EF4H] cmp byte ptr [esi+edi], 57 je SHORT G_M000_IG32 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 add esi, edi inc byte ptr [esi] mov dword ptr [ebp-E98H], edi jmp SHORT G_M000_IG34 G_M000_IG32: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov dword ptr [ebp-E98H], edi jmp SHORT G_M000_IG30 G_M000_IG33: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edi, dword ptr [ebp-E98H] cmp edi, dword ptr [ebp-ED0H] jae G_M000_IG63 lea ecx, [esi+31H] mov esi, bword ptr [ebp-EF4H] mov byte ptr [esi+edi], cl mov dword ptr [ebp-E98H], edi G_M000_IG34: mov edi, dword ptr [ebp-E98H] inc edi G_M000_IG35: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, edi cmp dword ptr [ebp-10H], 0xD1FFAB1E je SHORT G_M000_IG36 call CORINFO_HELP_FAIL_FAST G_M000_IG36: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 32 G_M000_IG37: test ebx, ebx jle SHORT G_M000_IG38 push dword ptr [ebp+24H] push dword ptr [ebp+20H] push 0 push 4 call CORINFO_HELP_LMUL push edx push eax lea ecx, [ebp-1E0H] call [System.Number+BigInteger:SetUInt64(byref,ulong)] lea ecx, [ebp-1E0H] mov edx, ebx call [System.Number+BigInteger:ShiftLeft(uint):this] lea ecx, [ebp-E90H] mov edx, 4 call [System.Number+BigInteger:SetUInt32(byref,uint)] 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 SHORT G_M000_IG39 G_M000_IG38: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 push dword ptr [ebp+24H] push dword ptr [ebp+20H] push 0 push 4 call CORINFO_HELP_LMUL push edx push eax lea ecx, [ebp-1E0H] call [System.Number+BigInteger:SetUInt64(byref,ulong)] mov ecx, ebx neg ecx add ecx, 2 lea edx, [ebp-E90H] call [System.Number+BigInteger:Pow2(uint,byref)] lea ecx, [ebp-3B0H] mov edx, 1 call [System.Number+BigInteger:SetUInt32(byref,uint)] lea ecx, [ebp-580H] mov edx, 2 call [System.Number+BigInteger:SetUInt32(byref,uint)] G_M000_IG39: lea eax, [ebp-580H] mov dword ptr [ebp-E9CH], eax jmp G_M000_IG06 G_M000_IG40: push dword ptr [ebp+24H] push dword ptr [ebp+20H] push 0 push 2 call CORINFO_HELP_LMUL push edx push eax lea ecx, [ebp-1E0H] call [System.Number+BigInteger:SetUInt64(byref,ulong)] lea ecx, [ebp-1E0H] mov edx, ebx call [System.Number+BigInteger:ShiftLeft(uint):this] lea ecx, [ebp-E90H] mov edx, 2 call [System.Number+BigInteger:SetUInt32(byref,uint)] lea edx, [ebp-3B0H] mov ecx, ebx call [System.Number+BigInteger:Pow2(uint,byref)] jmp G_M000_IG05 G_M000_IG41: xor edx, edx mov dword ptr [ebp-1E0H], edx jmp G_M000_IG04 G_M000_IG42: cmp dword ptr [ebp-E90H], 0 je G_M000_IG07 lea edx, [ebp-CC0H] mov ecx, ebx call [System.Number+BigInteger:Pow10(uint,byref)] lea ecx, [ebp-E90H] lea edx, [ebp-CC0H] call [System.Number+BigInteger:Multiply(byref):this] jmp G_M000_IG07 G_M000_IG43: test ebx, ebx jge G_M000_IG46 mov ecx, ebx neg ecx lea edx, [ebp-750H] call [System.Number+BigInteger:Pow10(uint,byref)] lea ecx, [ebp-1E0H] lea edx, [ebp-750H] call [System.Number+BigInteger:Multiply(byref):this] lea ecx, [ebp-3B0H] lea edx, [ebp-750H] call [System.Number+BigInteger:Multiply(byref):this] lea ecx, [ebp-3B0H] cmp dword ptr [ebp-E9CH], ecx je SHORT G_M000_IG45 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 push dword ptr [ebp-E9CH] lea ecx, [ebp-3B0H] mov edx, 2 call [System.Number+BigInteger:Multiply(byref,uint,byref)] jmp G_M000_IG07 G_M000_IG44: lea ecx, [ebp-920H] push ecx lea ecx, [ebp-1E0H] mov edx, dword ptr [ebp-E9CH] call [System.Number+BigInteger:Add(byref,byref,byref)] lea ecx, [ebp-920H] lea edx, [ebp-E90H] call [System.Number+BigInteger:Compare(byref,byref):int] mov dword ptr [ebp-EB4H], eax cmp dword ptr [ebp-EA0H], 0 jne SHORT G_M000_IG47 xor ecx, ecx test eax, eax setg cl jmp SHORT G_M000_IG48 G_M000_IG45: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG07 G_M000_IG46: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG07 G_M000_IG47: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx cmp dword ptr [ebp-EB4H], 0 setge cl G_M000_IG48: movzx ecx, cl test ecx, ecx je G_M000_IG23 jmp G_M000_IG09 G_M000_IG49: or edi, 1 xor ecx, ecx lzcnt ecx, edi xor ecx, 31 mov edi, ecx neg edi add edi, 59 and edi, 31 lea ecx, [ebp-E90H] mov edx, edi call [System.Number+BigInteger:ShiftLeft(uint):this] lea ecx, [ebp-1E0H] mov edx, edi call [System.Number+BigInteger:ShiftLeft(uint):this] lea ecx, [ebp-3B0H] mov edx, edi call [System.Number+BigInteger:ShiftLeft(uint):this] lea ecx, [ebp-3B0H] mov edi, dword ptr [ebp-E9CH] cmp edi, ecx mov dword ptr [ebp-E9CH], edi je G_M000_IG15 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edi, dword ptr [ebp-E9CH] push edi lea ecx, [ebp-3B0H] mov edx, 2 call [System.Number+BigInteger:Multiply(byref,uint,byref)] mov dword ptr [ebp-E9CH], edi jmp G_M000_IG15 G_M000_IG50: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edi, dword ptr [ebp-E9CH] push edi lea ecx, [ebp-3B0H] mov edx, 2 call [System.Number+BigInteger:Multiply(byref,uint,byref)] mov dword ptr [ebp-E9CH], edi jmp G_M000_IG10 G_M000_IG51: mov dword ptr [ebp-EA4H], edx mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edx, esi neg edx mov ecx, edx mov edx, dword ptr [ebp-EA4H] jmp G_M000_IG11 G_M000_IG52: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx cmp dword ptr [ebp-EBCH], 0 setl cl mov eax, ecx xor ecx, ecx cmp dword ptr [ebp-EC0H], 0 setg cl mov edx, ecx mov ecx, eax mov eax, edx G_M000_IG53: mov dword ptr [ebp-EA8H], ecx mov dword ptr [ebp-EACH], eax mov edx, ecx or edx, eax mov dword ptr [ebp-EB0H], esi mov dword ptr [ebp-E9CH], edi jne G_M000_IG19 mov edx, dword ptr [ebp-EA4H] cmp ebx, edx je G_M000_IG55 mov edi, dword ptr [ebp-E98H] cmp edi, dword ptr [ebp-ED0H] jae G_M000_IG63 mov esi, dword ptr [ebp-EB0H] lea ecx, [esi+30H] mov esi, bword ptr [ebp-EF4H] mov byte ptr [esi+edi], cl 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 dword ptr [ebp-E9CH], ecx je SHORT G_M000_IG54 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 push dword ptr [ebp-E9CH] lea ecx, [ebp-3B0H] mov edx, 2 call [System.Number+BigInteger:Multiply(byref,uint,byref)] G_M000_IG54: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 dec ebx mov dword ptr [ebp-E98H], edi mov edi, dword ptr [ebp-E9CH] jmp G_M000_IG22 G_M000_IG55: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG19 G_M000_IG56: lea ecx, [ebp-1E0H] lea edx, [ebp-E90H] call [System.Number+BigInteger:HeuristicDivide(byref,byref):uint] mov esi, eax cmp esi, 5 ja SHORT G_M000_IG57 cmp esi, 5 jne SHORT G_M000_IG61 cmp dword ptr [ebp-1E0H], 0 je SHORT G_M000_IG60 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG57: mov ebx, bword ptr [ebp-EF8H] inc dword ptr [ebx] mov esi, 1 G_M000_IG58: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 cmp dword ptr [ebp-ED0H], 0 jbe SHORT G_M000_IG63 lea eax, [esi+30H] mov esi, bword ptr [ebp-EF4H] mov byte ptr [esi], al mov eax, 1 cmp dword ptr [ebp-10H], 0xD1FFAB1E je SHORT G_M000_IG59 call CORINFO_HELP_FAIL_FAST G_M000_IG59: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 32 G_M000_IG60: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG58 G_M000_IG61: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG58 G_M000_IG62: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov esi, dword ptr [ebp-EB0H] mov ecx, esi not ecx and ecx, 1 mov dword ptr [ebp-EB0H], esi mov ebx, ecx jmp G_M000_IG28 G_M000_IG63: call CORINFO_HELP_RNGCHKFAIL int3 RWD00 dq 3FD34413509F79FFh ; 0.301029996 RWD08 dq 3FE6147AE147AE14h ; 0.69 ; Total bytes of code 2573 976: JIT compiled System.Number:Dragon4(ulong,int,uint,bool,int,bool,System.Span`1[ubyte],byref) [Instrumented Tier1 with Static PGO, IL size=1029, code size=2573] ; Assembly listing for method System.Number+BigInteger:Pow2(uint,byref) (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 4 ; 3 inlinees with PGO data; 0 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_IG03 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 lea ecx, bword ptr [esi+04H] lea edx, [4*ebx] call [System.SpanHelpers:ClearWithoutReferences(byref,uint)] G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, 1 mov ecx, edi shl eax, cl mov dword ptr [esi+4*ebx+04H], eax G_M000_IG04: pop ebx pop esi pop edi ret ; Total bytes of code 77 977: JIT compiled System.Number+BigInteger:Pow2(uint,byref) [Instrumented Tier1 with Static PGO, IL size=55, code size=77] ; Assembly listing for method System.Number+BigInteger:ShiftLeft(uint):this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 4 ; 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, 24 mov esi, ecx G_M000_IG02: mov edi, dword ptr [esi] test edi, edi jne G_M000_IG13 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG05: mov ebx, edx and ebx, 31 mov dword ptr [ebp-14H], ebx mov eax, edx shr eax, 5 mov dword ptr [ebp-10H], eax dec edi lea ecx, [edi+eax] test ebx, ebx je SHORT G_M000_IG07 inc ecx mov dword ptr [ebp-18H], ecx lea edx, [ecx+01H] mov dword ptr [esi], edx mov edx, ebx neg edx add edx, 32 mov dword ptr [ebp-1CH], edx xor ebx, ebx mov dword ptr [ebp-20H], ebx mov eax, dword ptr [ebp-10H] jmp SHORT G_M000_IG10 G_M000_IG06: mov dword ptr [ebp-18H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [esi+4*edi+04H] mov ebx, dword ptr [ebp-18H] mov dword ptr [esi+4*ebx+04H], ecx dec edi dec ebx mov ecx, ebx G_M000_IG07: test edi, edi jge SHORT G_M000_IG06 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, dword ptr [ebp-10H] add dword ptr [esi], ebx mov ecx, esi mov edx, ebx call [System.Number+BigInteger:Clear(uint):this] G_M000_IG08: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [ebp-20H] or ecx, ebx mov ebx, dword ptr [ebp-18H] mov dword ptr [esi+4*ebx+04H], ecx mov edx, dword ptr [ebp-24H] mov ecx, dword ptr [ebp-14H] shl edx, cl mov ecx, edx dec edi dec ebx mov dword ptr [ebp-18H], ebx mov dword ptr [ebp-20H], ecx mov eax, dword ptr [ebp-10H] mov edx, dword ptr [ebp-1CH] G_M000_IG10: mov ecx, dword ptr [esi+4*edi+04H] mov dword ptr [ebp-24H], ecx mov ebx, ecx mov ecx, edx shr ebx, cl test edi, edi jg SHORT G_M000_IG09 mov ecx, dword ptr [ebp-20H] or ecx, ebx mov ebx, dword ptr [ebp-18H] mov dword ptr [esi+4*ebx+04H], ecx mov edx, dword ptr [ebp-24H] mov ecx, dword ptr [ebp-14H] shl edx, cl mov dword ptr [esi+4*ebx], edx mov ecx, esi mov edx, eax call [System.Number+BigInteger:Clear(uint):this] mov ecx, dword ptr [esi] cmp dword ptr [esi+4*ecx], 0 jne SHORT G_M000_IG11 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 dec dword ptr [esi] G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG12: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG13: test edx, edx jne G_M000_IG05 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG03 ; Total bytes of code 314 978: JIT compiled System.Number+BigInteger:ShiftLeft(uint) [Instrumented Tier1 with Static PGO, IL size=337, code size=314] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Count():int:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 code ; ebp 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 979: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Count() [Instrumented Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:__Overhead():int:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 980: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:__Overhead() [Tier1, IL size=2, code size=3] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_Host():BenchmarkDotNet.Engines.IHost:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 code ; ebp 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 981: JIT compiled BenchmarkDotNet.Engines.Engine:get_Host() [Instrumented Tier0, IL size=7, code size=17] ; Assembly listing for method System.IO.StreamWriter:Flush(bool,bool):this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 1413 ; 12 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, 52 xor eax, eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-10H], esp mov dword ptr [ebp-3CH], 0xD1FFAB1E mov esi, ecx mov ebx, edx G_M000_IG02: cmp byte ptr [esi+33H], 0 jne G_M000_IG26 cmp dword ptr [esi+28H], 0 je G_M000_IG23 G_M000_IG03: cmp byte ptr [esi+31H], 0 je G_M000_IG14 G_M000_IG04: mov ecx, gword ptr [esi+1CH] test ecx, ecx je G_M000_IG16 G_M000_IG05: lea edi, bword ptr [ecx+08H] mov eax, dword ptr [ecx+04H] mov bword ptr [ebp-34H], edi G_M000_IG06: mov edx, gword ptr [esi+18H] mov ecx, edx mov gword ptr [ebp-2CH], ecx mov edx, gword ptr [esi+20H] mov edi, dword ptr [esi+28H] test edx, edx je G_M000_IG27 mov dword ptr [ebp-20H], eax mov eax, dword ptr [edx+04H] cmp eax, edi jb G_M000_IG25 lea eax, bword ptr [edx+08H] mov bword ptr [ebp-38H], eax G_M000_IG07: mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-2CH] push edi push bword ptr [ebp-38H] mov edi, dword ptr [ebp-20H] push edi push bword ptr [ebp-34H] 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 mov dword ptr [ebp-14H], eax xor ecx, ecx mov dword ptr [esi+28H], ecx test eax, eax jle SHORT G_M000_IG10 G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, gword ptr [esi+10H] mov ecx, eax mov gword ptr [ebp-30H], ecx mov eax, dword ptr [ebp-14H] cmp eax, edi ja G_M000_IG25 G_M000_IG09: mov edi, bword ptr [ebp-34H] mov dword ptr [ebp-28H], eax mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-30H] push dword ptr [ebp-28H] 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_IG10: test bl, bl jne SHORT G_M000_IG13 G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 cmp dword ptr [ebp-3CH], 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 4 G_M000_IG13: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, gword ptr [esi+10H] mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, ebx mov eax, dword ptr [ecx] mov eax, dword ptr [eax+30H] call [eax+18H]System.IO.Stream:Flush():this jmp SHORT G_M000_IG11 G_M000_IG14: mov byte ptr [esi+31H], 1 mov edi, gword ptr [esi+14H] mov ecx, edi mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, edi lea edx, [ebp-1CH] 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-18H], 0 jg SHORT G_M000_IG18 G_M000_IG15: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG04 G_M000_IG16: mov edi, gword ptr [esi+14H] mov ecx, edi mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, edi 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_IG22 G_M000_IG17: jmp SHORT G_M000_IG19 G_M000_IG18: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edi, gword ptr [esi+10H] mov ecx, edi mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, edi push dword ptr [ebp-18H] push bword ptr [ebp-1CH] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+38H] call [eax+1CH]System.IO.Stream:Write(System.ReadOnlySpan`1[ubyte]):this jmp G_M000_IG04 G_M000_IG19: mov ecx, -0x400 add ecx, esp jb SHORT G_M000_IG20 xor ecx, ecx G_M000_IG20: test dword ptr [esp], esp sub esp, 0x1000 cmp esp, ecx jae SHORT G_M000_IG20 mov esp, ecx lea edi, [esp] mov dword ptr [ebp-10H], esp mov ecx, 0x400 mov dword ptr [ebp-24H], ecx G_M000_IG21: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov bword ptr [ebp-34H], edi mov eax, dword ptr [ebp-24H] mov dword ptr [ebp-20H], eax jmp G_M000_IG06 G_M000_IG22: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edi, gword ptr [esi+14H] mov ecx, edi mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, edi 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 edi, bword ptr [eax+08H] mov eax, dword ptr [eax+04H] mov dword ptr [ebp-24H], eax jmp SHORT G_M000_IG21 G_M000_IG23: test bl, bl je SHORT G_M000_IG29 G_M000_IG24: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG03 G_M000_IG25: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG26: mov ecx, esi call [System.IO.StreamWriter:g__ThrowObjectDisposedException|77_0():this] int3 G_M000_IG27: test edi, edi jne SHORT G_M000_IG25 xor edx, edx xor edi, edi G_M000_IG28: mov dword ptr [ebp-20H], eax mov bword ptr [ebp-38H], edi mov edi, edx jmp G_M000_IG07 G_M000_IG29: cmp byte ptr [ebp+08H], 0 jne SHORT G_M000_IG31 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 cmp dword ptr [ebp-3CH], 0xD1FFAB1E je SHORT G_M000_IG30 call CORINFO_HELP_FAIL_FAST G_M000_IG30: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG31: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG03 ; Total bytes of code 686 982: JIT compiled System.IO.StreamWriter:Flush(bool,bool) [Instrumented Tier1 with Static PGO, IL size=272, code size=686] ; Assembly listing for method System.Text.UTF8Encoding:GetMaxByteCount(int):int:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 288 ; 4 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, 12 mov edi, ecx mov esi, edx G_M000_IG02: test esi, esi jl SHORT G_M000_IG05 mov ebx, esi sar ebx, 31 add esi, 1 adc ebx, 0 mov eax, gword ptr [edi+08H] mov ecx, eax mov gword ptr [ebp-18H], ecx mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-18H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+14H]System.Text.EncoderFallback:get_MaxCharCount():int:this cmp eax, 1 jg SHORT G_M000_IG06 G_M000_IG03: push ebx push esi push 0 push 3 call CORINFO_HELP_LMUL mov esi, eax mov ebx, edx cmp esi, 0xD1FFAB1E mov ecx, ebx sbb ecx, 0 jge SHORT G_M000_IG07 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, esi G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG05: mov ecx, 0x13AEA mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax mov edx, esi call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] int3 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 push ebx push esi mov esi, gword ptr [edi+08H] mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, esi 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 jmp G_M000_IG03 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0x13AEA 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 248 983: JIT compiled System.Text.UTF8Encoding:GetMaxByteCount(int) [Instrumented Tier1 with Static PGO, IL size=79, code size=248] ; Assembly listing for method System.Text.EncoderExceptionFallback:get_MaxCharCount():int:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 133 G_M000_IG01: G_M000_IG02: xor eax, eax G_M000_IG03: ret ; Total bytes of code 3 984: JIT compiled System.Text.EncoderExceptionFallback:get_MaxCharCount() [Instrumented Tier1 with Static PGO, IL size=2, code size=3] ; Assembly listing for method System.Text.EncoderNLS:GetBytes(uint,int,uint,int,bool):int:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 6468 ; 6 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, dword ptr [ebp+14H] mov edx, dword ptr [ebp+10H] mov eax, dword ptr [ebp+0CH] G_M000_IG02: test edi, edi je SHORT G_M000_IG04 mov dword ptr [ebp+10H], edx test edx, edx je SHORT G_M000_IG05 mov dword ptr [ebp+0CH], eax test eax, eax jl SHORT G_M000_IG06 test ebx, ebx jl G_M000_IG07 mov ecx, dword ptr [ebp+08H] mov byte ptr [esi+16H], cl mov byte ptr [esi+17H], 1 mov ecx, gword ptr [esi+0CH] mov gword ptr [ebp-10H], ecx mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-10H] push ebx push dword ptr [ebp+10H] push dword ptr [ebp+0CH] push esi mov edx, edi mov eax, dword ptr [ecx] 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 ecx pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG04: mov ecx, 0x13ACA mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 G_M000_IG05: mov ecx, 0x1DDB mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 G_M000_IG06: mov ecx, 0x13AB0 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax mov edx, dword ptr [ebp+0CH] call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] int3 G_M000_IG07: mov ecx, 0x13AEA mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax mov edx, ebx call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] int3 ; Total bytes of code 202 985: JIT compiled System.Text.EncoderNLS:GetBytes(uint,int,uint,int,bool) [Instrumented Tier1 with Static PGO, IL size=78, code size=202] ; Assembly listing for method System.Text.EncoderNLS:get_HasLeftoverData():bool:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 6468 G_M000_IG01: push ebp mov ebp, esp push esi mov esi, ecx G_M000_IG02: cmp word ptr [esi+14H], 0 jne SHORT G_M000_IG04 cmp gword ptr [esi+08H], 0 jne SHORT G_M000_IG06 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor eax, eax G_M000_IG03: pop esi pop ebp ret G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, 1 G_M000_IG05: pop esi pop ebp ret G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov esi, gword ptr [esi+08H] mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, esi 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_IG07: pop esi pop ebp ret ; Total bytes of code 97 986: JIT compiled System.Text.EncoderNLS:get_HasLeftoverData() [Instrumented Tier1 with Static PGO, IL size=35, code size=97] ; Assembly listing for method System.Text.Unicode.Utf8Utility:TranscodeToUtf8(uint,int,uint,int,byref,byref):int (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 204359 ; 42 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, 44 mov esi, ecx mov eax, edx mov edi, 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, esi mov edx, edi call [System.Text.Ascii:NarrowUtf16ToAscii(uint,uint,uint):uint] lea esi, [esi+2*eax] add edi, eax mov edx, dword ptr [ebp-10H] cmp eax, edx jne G_M000_IG30 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, bword ptr [ebp+0CH] mov dword ptr [ebx], esi mov ebx, bword ptr [ebp+08H] mov dword ptr [ebx], edi xor eax, eax G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG05: lea eax, [ecx+D1FFAB1EH] cmp eax, 0xD1FFAB1E ja G_M000_IG23 cmp ebx, 4 jl SHORT G_M000_IG08 G_M000_IG06: mov eax, ecx shr eax, 6 and eax, 0xD1FFAB1E shl ecx, 8 and ecx, 0xD1FFAB1E add ecx, eax add ecx, 0xD1FFAB1E mov dword ptr [edi], ecx add esi, 4 add edi, 4 add ebx, -4 cmp esi, dword ptr [ebp-14H] ja G_M000_IG58 G_M000_IG07: mov edx, dword ptr [esi] mov dword ptr [ebp-18H], edx lea ecx, [edx-80H] movzx ecx, cx cmp ecx, 0x780 jae SHORT G_M000_IG10 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [ebp-18H] jmp SHORT G_M000_IG05 G_M000_IG08: mov dword ptr [ebp-18H], ecx jmp G_M000_IG80 G_M000_IG09: mov eax, dword ptr [ebp-2CH] mov ecx, eax jmp G_M000_IG16 G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [ebp-18H] G_M000_IG11: test ecx, 0xD1FFAB1E je SHORT G_M000_IG15 G_M000_IG12: test ecx, 0xFF80 je G_M000_IG21 G_M000_IG13: test ecx, 0xF800 jne G_M000_IG27 G_M000_IG14: jmp G_M000_IG05 G_M000_IG15: cmp ebx, 2 jl G_M000_IG49 mov eax, ecx shr eax, 8 or eax, ecx mov word ptr [edi], ax add esi, 4 add edi, 2 add ebx, -2 mov edx, dword ptr [ebp-14H] mov eax, edx sub eax, esi mov ecx, eax shr ecx, 31 add eax, ecx sar eax, 1 add eax, 2 xor ecx, ecx mov dword ptr [ebp-2CH], eax mov dword ptr [ebp-30H], ecx mov ecx, ebx mov eax, ecx sar eax, 31 mov dword ptr [ebp-34H], eax mov eax, dword ptr [ebp-2CH] cmp ecx, eax mov eax, dword ptr [ebp-34H] sbb eax, dword ptr [ebp-30H] jge G_M000_IG09 G_M000_IG16: mov eax, ecx shr eax, 2 mov dword ptr [ebp-20H], eax xor ecx, ecx mov dword ptr [ebp-28H], ecx test eax, eax jbe SHORT G_M000_IG19 G_M000_IG17: mov edx, dword ptr [esi] mov eax, dword ptr [esi+04H] mov dword ptr [ebp-24H], eax mov dword ptr [ebp-18H], edx mov ecx, edx or ecx, eax test ecx, 0xD1FFAB1E jne G_M000_IG33 G_M000_IG18: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [ebp-18H] mov ecx, eax shr ecx, 8 or ecx, eax mov word ptr [edi], cx mov edx, dword ptr [ebp-24H] mov ecx, edx shr ecx, 8 or ecx, edx mov word ptr [edi+02H], cx add esi, 8 add edi, 4 mov ecx, dword ptr [ebp-28H] inc ecx mov dword ptr [ebp-28H], ecx mov eax, dword ptr [ebp-20H] cmp ecx, eax jb SHORT G_M000_IG17 G_M000_IG19: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [ebp-28H] shl ecx, 2 sub ebx, ecx jmp SHORT G_M000_IG24 G_M000_IG20: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [ebp-18H] jmp G_M000_IG12 G_M000_IG21: test ebx, ebx je G_M000_IG51 G_M000_IG22: jmp G_M000_IG35 G_M000_IG23: cmp ebx, 2 jl G_M000_IG46 lea eax, [4*ecx] and eax, 0x1F00 mov edx, ecx and edx, 63 lea eax, [eax+edx+C080H] movzx eax, ax ror ax, 8 movzx eax, ax mov word ptr [edi], ax cmp ecx, 0xD1FFAB1E jae G_M000_IG79 cmp ebx, 3 jl G_M000_IG52 shr ecx, 16 mov byte ptr [edi+02H], cl add esi, 4 add edi, 3 add ebx, -3 G_M000_IG24: cmp esi, dword ptr [ebp-14H] ja G_M000_IG44 G_M000_IG25: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG26: mov eax, dword ptr [esi] mov ecx, eax jmp G_M000_IG11 G_M000_IG27: mov dword ptr [ebp-18H], ecx lea eax, [ecx-D800H] test eax, 0xF800 je G_M000_IG48 G_M000_IG28: mov ecx, dword ptr [ebp-18H] test ecx, 0xD1FFAB1E je G_M000_IG43 mov dword ptr [ebp-18H], ecx lea eax, [ecx+D1FFAB1EH] cmp eax, 0xD1FFAB1E jb G_M000_IG38 G_M000_IG29: jmp G_M000_IG36 G_M000_IG30: sub edx, eax sub ebx, eax cmp edx, 2 jl SHORT G_M000_IG32 G_M000_IG31: mov dword ptr [ebp-10H], edx lea eax, [esi+2*edx-04H] mov dword ptr [ebp-14H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG26 G_M000_IG32: mov eax, edx jmp G_M000_IG59 G_M000_IG33: mov ecx, dword ptr [ebp-28H] shl ecx, 2 sub ebx, ecx test dword ptr [ebp-18H], 0xD1FFAB1E jne G_M000_IG20 G_M000_IG34: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [ebp-18H] mov ecx, eax shr ecx, 8 or ecx, eax mov word ptr [edi], cx add esi, 4 add edi, 2 add ebx, -2 mov eax, dword ptr [ebp-24H] mov ecx, eax jmp G_M000_IG12 G_M000_IG35: mov byte ptr [edi], cl add esi, 2 inc edi dec ebx cmp esi, dword ptr [ebp-14H] ja G_M000_IG50 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [esi] mov eax, ecx jmp G_M000_IG13 G_M000_IG36: cmp ebx, 6 jl G_M000_IG40 mov ecx, dword ptr [ebp-18H] lea eax, [4*ecx] and eax, 0x3F00 mov edx, ecx and edx, 63 shl edx, 16 or eax, edx mov dword ptr [ebp-38H], 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-38H] add eax, 0xD1FFAB1E mov dword ptr [edi], eax mov eax, ecx shr eax, 22 and eax, 63 shr ecx, 8 and ecx, 0x3F00 add ecx, eax add ecx, 0x8080 mov word ptr [edi+04H], cx add esi, 4 add edi, 6 add ebx, -6 cmp esi, dword ptr [ebp-14H] ja SHORT G_M000_IG42 G_M000_IG37: jmp SHORT G_M000_IG39 G_M000_IG38: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [ebp-18H] jmp SHORT G_M000_IG43 G_M000_IG39: mov ecx, dword ptr [esi] mov edx, ecx mov dword ptr [ebp-18H], edx test edx, 0xF800 je SHORT G_M000_IG41 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [ebp-18H] jmp G_M000_IG27 G_M000_IG40: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [ebp-18H] jmp SHORT G_M000_IG43 G_M000_IG41: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [ebp-18H] jmp G_M000_IG11 G_M000_IG42: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG58 G_M000_IG43: cmp ebx, 3 jl G_M000_IG55 lea eax, [4*ecx] and eax, 0x3F00 movzx edx, cx shr edx, 12 add eax, edx add eax, 0x80E0 mov word ptr [edi], ax mov eax, ecx and eax, 63 or eax, -128 mov byte ptr [edi+02H], al add esi, 2 add edi, 3 add ebx, -3 cmp ecx, 0xD1FFAB1E jae SHORT G_M000_IG47 test ebx, ebx je G_M000_IG54 shr ecx, 16 mov byte ptr [edi], cl add esi, 2 inc edi dec ebx cmp esi, dword ptr [ebp-14H] ja G_M000_IG53 mov ecx, dword ptr [esi] mov eax, ecx mov dword ptr [ebp-18H], eax test eax, 0xF800 je SHORT G_M000_IG45 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [ebp-18H] jmp G_M000_IG27 G_M000_IG44: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG58 G_M000_IG45: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [ebp-18H] jmp G_M000_IG11 G_M000_IG46: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG77 G_M000_IG47: cmp esi, dword ptr [ebp-14H] ja G_M000_IG56 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [esi] mov ecx, eax jmp G_M000_IG12 G_M000_IG48: mov ecx, dword ptr [ebp-18H] lea eax, [ecx+D1FFAB1EH] test eax, 0xD1FFAB1E jne G_M000_IG74 cmp ebx, 4 jl G_M000_IG73 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [ebp-18H] lea ecx, [eax+40H] mov eax, ecx and eax, 3 shl eax, 20 or eax, 0xD1FFAB1E mov edx, ecx and edx, 0xD1FFAB1E bswap edx rol edx, 16 or eax, edx mov edx, ecx shr edx, 6 and edx, 0xD1FFAB1E or eax, edx and ecx, 252 shl ecx, 6 or ecx, eax mov dword ptr [edi], ecx add esi, 4 add edi, 4 add ebx, -4 jmp G_M000_IG24 G_M000_IG49: mov dword ptr [ebp-18H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG80 G_M000_IG50: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG58 G_M000_IG51: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG77 G_M000_IG52: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 add esi, 2 add edi, 2 jmp G_M000_IG77 G_M000_IG53: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG58 G_M000_IG54: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG77 G_M000_IG55: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG77 G_M000_IG56: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG58 G_M000_IG57: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG58: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edx, dword ptr [ebp-14H] sub edx, esi mov ecx, edx shr ecx, 31 add edx, ecx sar edx, 1 add edx, 2 mov eax, edx G_M000_IG59: mov dword ptr [ebp-10H], eax test eax, eax je G_M000_IG67 G_M000_IG60: movzx edx, word ptr [esi] G_M000_IG61: cmp edx, 127 jbe G_M000_IG75 G_M000_IG62: mov dword ptr [ebp-1CH], edx cmp edx, 0x800 jae SHORT G_M000_IG64 G_M000_IG63: cmp ebx, 2 jl G_M000_IG76 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, dword ptr [ebp-1CH] mov ecx, ebx and ecx, 63 or ecx, -128 mov byte ptr [edi+01H], cl mov edx, ebx shr edx, 6 or edx, -64 mov byte ptr [edi], dl add esi, 2 add edi, 2 jmp SHORT G_M000_IG65 G_M000_IG64: mov edx, dword ptr [ebp-1CH] lea ecx, [edx-D800H] cmp ecx, 0x7FF jbe G_M000_IG72 cmp ebx, 3 jl SHORT G_M000_IG71 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, dword ptr [ebp-1CH] mov ecx, ebx and ecx, 63 or ecx, -128 mov byte ptr [edi+02H], cl mov ecx, ebx shr ecx, 6 and ecx, 63 or ecx, -128 mov byte ptr [edi+01H], cl mov ecx, ebx shr ecx, 12 or ecx, -32 mov byte ptr [edi], cl add esi, 2 add edi, 3 G_M000_IG65: cmp dword ptr [ebp-10H], 1 jg SHORT G_M000_IG70 G_M000_IG66: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG67: xor ebx, ebx G_M000_IG68: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edx, bword ptr [ebp+0CH] mov dword ptr [edx], esi mov esi, bword ptr [ebp+08H] mov dword ptr [esi], edi mov eax, ebx G_M000_IG69: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG70: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG77 G_M000_IG71: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG77 G_M000_IG72: cmp dword ptr [ebp-1CH], 0xDBFF ja SHORT G_M000_IG78 jmp G_M000_IG81 G_M000_IG73: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG77 G_M000_IG74: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG78 G_M000_IG75: test ebx, ebx je SHORT G_M000_IG77 mov byte ptr [edi], dl add esi, 2 inc edi jmp SHORT G_M000_IG65 G_M000_IG76: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG77: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, 1 jmp G_M000_IG68 G_M000_IG78: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, 3 jmp G_M000_IG68 G_M000_IG79: add esi, 2 add edi, 2 add ebx, -2 cmp esi, dword ptr [ebp-14H] ja G_M000_IG57 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edx, dword ptr [esi] mov eax, edx mov ecx, eax jmp G_M000_IG27 G_M000_IG80: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 movzx ecx, word ptr [ebp-18H] mov edx, ecx jmp G_M000_IG61 G_M000_IG81: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, 2 jmp G_M000_IG68 ; Total bytes of code 1899 987: JIT compiled System.Text.Unicode.Utf8Utility:TranscodeToUtf8(uint,int,uint,int,byref,byref) [Instrumented Tier1 with Static PGO, IL size=1446, code size=1899] ; Assembly listing for method System.IO.Strategies.OSFileStreamStrategy:Write(System.ReadOnlySpan`1[ubyte]):this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 532 ; 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: 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, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 call [System.ThrowHelper:ThrowNotSupportedException_UnwritableStream()] int3 ; Total bytes of code 124 988: JIT compiled System.IO.Strategies.OSFileStreamStrategy:Write(System.ReadOnlySpan`1[ubyte]) [Instrumented Tier1 with Static PGO, IL size=75, code size=124] ; Assembly listing for method System.IO.RandomAccess:WriteAtOffset(Microsoft.Win32.SafeHandles.SafeFileHandle,System.ReadOnlySpan`1[ubyte],long) (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 1453 ; 8 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, 52 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 je G_M000_IG08 mov ebx, esi cmp byte ptr [ebx], bl mov ecx, esi call [Microsoft.Win32.SafeHandles.SafeFileHandle:GetFileOptions():int:this] test eax, 0xD1FFAB1E jne G_M000_IG10 xor ebx, ebx xor eax, eax mov dword ptr [ebp-40H], eax vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [ebp-3CH], xmm0 vmovdqu xmmword ptr [ebp-38H], xmm0 test byte ptr [esi+08H], 1 jne SHORT G_M000_IG04 mov edx, dword ptr [esi+2CH] cmp edx, -1 je SHORT G_M000_IG06 G_M000_IG03: cmp edx, 1 jne SHORT G_M000_IG04 mov ebx, dword ptr [ebp+08H] mov eax, dword ptr [ebp+0CH] mov dword ptr [ebp-40H], eax G_M000_IG04: 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 dword ptr [ebp-18H], ebx mov eax, dword ptr [ebp-40H] mov dword ptr [ebp-14H], eax 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_IG07 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG06: mov ecx, esi call [Interop+Kernel32:GetFileType(System.Runtime.InteropServices.SafeHandle):int] mov edx, eax mov dword ptr [esi+2CH], edx jmp SHORT G_M000_IG03 G_M000_IG07: 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 G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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_IG11: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 ; Total bytes of code 275 989: JIT compiled System.IO.RandomAccess:WriteAtOffset(Microsoft.Win32.SafeHandles.SafeFileHandle,System.ReadOnlySpan`1[ubyte],long) [Instrumented Tier1 with Static PGO, IL size=89, code size=275] ; Assembly listing for method Microsoft.Win32.SafeHandles.SafeFileHandle:GetFileOptions():int:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 18875 G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 12 mov esi, ecx G_M000_IG02: mov edi, dword ptr [esi+28H] cmp edi, -1 je SHORT G_M000_IG05 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, edi G_M000_IG04: lea esp, [ebp-08H] pop esi pop edi pop ebp ret G_M000_IG05: lea edx, [ebp-0CH] push edx push 4 push 16 lea edx, [ebp-14H] mov ecx, esi call [Interop+NtDll:NtQueryInformationFile(Microsoft.Win32.SafeHandles.SafeFileHandle,byref,uint,uint,uint):int] test eax, eax jne SHORT G_M000_IG12 xor edi, edi test byte ptr [ebp-0CH], 48 je SHORT G_M000_IG13 test byte ptr [ebp-0CH], 2 jne G_M000_IG14 G_M000_IG06: test dword ptr [ebp-0CH], 0x800 jne G_M000_IG15 G_M000_IG07: test byte ptr [ebp-0CH], 4 jne G_M000_IG16 G_M000_IG08: test dword ptr [ebp-0CH], 0x1000 jne G_M000_IG17 G_M000_IG09: test byte ptr [ebp-0CH], 8 jne G_M000_IG18 G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov dword ptr [esi+28H], edi mov eax, edi G_M000_IG11: lea esp, [ebp-08H] pop esi pop edi pop ebp ret G_M000_IG12: mov ecx, eax 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 G_M000_IG13: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edi, 0xD1FFAB1E test byte ptr [ebp-0CH], 2 je G_M000_IG06 G_M000_IG14: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 or edi, 0xD1FFAB1E test dword ptr [ebp-0CH], 0x800 je G_M000_IG07 G_M000_IG15: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 or edi, 0xD1FFAB1E test byte ptr [ebp-0CH], 4 je G_M000_IG08 G_M000_IG16: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 or edi, 0xD1FFAB1E test dword ptr [ebp-0CH], 0x1000 je G_M000_IG09 G_M000_IG17: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 or edi, 0xD1FFAB1E test byte ptr [ebp-0CH], 8 je G_M000_IG10 G_M000_IG18: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 or edi, 0xD1FFAB1E jmp G_M000_IG10 ; Total bytes of code 343 990: JIT compiled Microsoft.Win32.SafeHandles.SafeFileHandle:GetFileOptions() [Instrumented Tier1 with Static PGO, IL size=159, code size=343] ; Assembly listing for method System.IO.RandomAccess:GetNativeOverlappedForSyncHandle(Microsoft.Win32.SafeHandles.SafeFileHandle,long):System.Threading.NativeOverlapped (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 17488 ; 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 sub esp, 24 vzeroupper mov esi, ecx mov edi, edx G_M000_IG02: xor ebx, ebx xor eax, eax mov dword ptr [ebp-24H], eax vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [ebp-20H], xmm0 vmovdqu xmmword ptr [ebp-1CH], xmm0 test byte ptr [edi+08H], 1 jne SHORT G_M000_IG04 mov edx, dword ptr [edi+2CH] cmp edx, -1 je SHORT G_M000_IG06 G_M000_IG03: cmp edx, 1 jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, dword ptr [ebp+08H] mov eax, dword ptr [ebp+0CH] mov dword ptr [ebp-24H], eax G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 vmovdqu xmm0, xmmword ptr [ebp-20H] vmovdqu xmmword ptr [esi], xmm0 mov eax, dword ptr [ebp-10H] mov dword ptr [esi+10H], eax mov dword ptr [esi+08H], ebx mov edi, dword ptr [ebp-24H] mov dword ptr [esi+0CH], edi G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG06: mov ecx, edi call [Interop+Kernel32:GetFileType(System.Runtime.InteropServices.SafeHandle):int] mov edx, eax mov dword ptr [edi+2CH], edx jmp SHORT G_M000_IG03 ; Total bytes of code 134 991: JIT compiled System.IO.RandomAccess:GetNativeOverlappedForSyncHandle(Microsoft.Win32.SafeHandles.SafeFileHandle,long) [Instrumented Tier1 with Static PGO, IL size=39, code size=134] ; Assembly listing for method Microsoft.Win32.SafeHandles.SafeFileHandle:get_CanSeek():bool:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 284641 ; 2 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 byte ptr [esi+08H], 1 jne SHORT G_M000_IG06 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edi, dword ptr [esi+2CH] cmp edi, -1 je SHORT G_M000_IG05 G_M000_IG03: xor eax, eax cmp edi, 1 sete al G_M000_IG04: pop esi pop edi pop ebp ret G_M000_IG05: mov ecx, esi call [Interop+Kernel32:GetFileType(System.Runtime.InteropServices.SafeHandle):int] mov edi, eax mov dword ptr [esi+2CH], edi jmp SHORT G_M000_IG03 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor eax, eax G_M000_IG07: pop esi pop edi pop ebp ret ; Total bytes of code 74 992: JIT compiled Microsoft.Win32.SafeHandles.SafeFileHandle:get_CanSeek() [Instrumented Tier1 with Static PGO, IL size=20, code size=74] ; Assembly listing for method Interop+Kernel32:WriteFile(System.Runtime.InteropServices.SafeHandle,uint,int,byref,uint):int (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 7 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, 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|268_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: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov bword ptr [ebp-30H], ecx jmp SHORT G_M000_IG13 G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov bword ptr [ebp-30H], ecx pop eax jmp eax G_M000_IG13: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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 291 993: JIT compiled Interop+Kernel32:WriteFile(System.Runtime.InteropServices.SafeHandle,uint,int,byref,uint) [Instrumented Tier1 with Static PGO, IL size=91, code size=291] ; Assembly listing for method System.Runtime.InteropServices.SafeHandle:DangerousAddRef(byref):this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 305553 ; 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 mov esi, ecx mov edi, edx G_M000_IG02: mov eax, dword ptr [esi+08H] test al, 1 jne SHORT G_M000_IG07 G_M000_IG03: lea ecx, bword ptr [esi+08H] lea edx, [eax+04H] mov dword ptr [ebp-0CH], eax lock cmpxchg dword ptr [ecx], edx cmp eax, dword ptr [ebp-0CH] jne SHORT G_M000_IG06 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov byte ptr [edi], 1 G_M000_IG05: pop ecx pop esi pop edi pop ebp ret G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [esi+08H] test al, 1 je SHORT G_M000_IG03 G_M000_IG07: mov ecx, esi call [System.ThrowHelper:ThrowObjectDisposedException(System.Object)] int3 ; Total bytes of code 79 994: JIT compiled System.Runtime.InteropServices.SafeHandle:DangerousAddRef(byref) [Instrumented Tier1 with Static PGO, IL size=45, code size=79] ; Assembly listing for method System.Runtime.InteropServices.SafeHandle:InternalRelease(bool):this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 323848 ; 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, 12 mov esi, ecx mov edi, edx G_M000_IG02: mov ebx, dword ptr [esi+08H] mov eax, edi movzx eax, al mov dword ptr [ebp-18H], eax test eax, eax jne SHORT G_M000_IG12 G_M000_IG03: test ebx, -4 je G_M000_IG23 mov ecx, ebx and ecx, -3 cmp ecx, 4 je G_M000_IG17 G_M000_IG04: xor ecx, ecx G_M000_IG05: movzx edx, cl mov dword ptr [ebp-10H], edx lea ecx, [ebx-04H] mov dword ptr [ebp-14H], ecx mov eax, ebx and eax, -4 cmp eax, 4 je G_M000_IG16 G_M000_IG06: cmp dword ptr [ebp-18H], 0 jne SHORT G_M000_IG15 G_M000_IG07: lea edx, bword ptr [esi+08H] mov ecx, dword ptr [ebp-14H] mov eax, ebx lock cmpxchg dword ptr [edx], ecx cmp eax, ebx jne SHORT G_M000_IG11 G_M000_IG08: cmp dword ptr [ebp-10H], 0 jne SHORT G_M000_IG14 G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG02 G_M000_IG12: test bl, 2 je G_M000_IG19 G_M000_IG13: jmp G_M000_IG21 G_M000_IG14: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 call System.Runtime.InteropServices.Marshal:GetLastPInvokeError():int mov edi, eax mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 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_IG09 G_M000_IG15: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [ebp-14H] or ecx, 2 mov dword ptr [ebp-14H], ecx jmp G_M000_IG07 G_M000_IG16: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [ebp-14H] or ecx, 1 mov dword ptr [ebp-14H], ecx jmp G_M000_IG06 G_M000_IG17: cmp byte ptr [esi+0CH], 0 je SHORT G_M000_IG20 G_M000_IG18: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+28H] call [eax+10H]System.Runtime.InteropServices.SafeHandle:get_IsInvalid():bool:this test eax, eax sete al movzx eax, al mov ecx, eax jmp G_M000_IG05 G_M000_IG19: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG03 G_M000_IG20: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG04 G_M000_IG21: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG22: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG23: mov ecx, esi call [System.ThrowHelper:ThrowObjectDisposedException(System.Object)] int3 ; Total bytes of code 360 995: JIT compiled System.Runtime.InteropServices.SafeHandle:InternalRelease(bool) [Instrumented Tier1 with Static PGO, IL size=120, code size=360] ; Assembly listing for method System.IO.FileStream:Flush():this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 469 G_M000_IG01: push ebp mov ebp, esp push esi mov esi, ecx G_M000_IG02: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, esi xor edx, edx mov eax, dword ptr [esi] mov eax, dword ptr [eax+3CH] call [eax+14H]System.IO.FileStream:Flush(bool):this G_M000_IG03: pop esi pop ebp ret ; Total bytes of code 33 996: JIT compiled System.IO.FileStream:Flush() [Instrumented Tier1 with Static PGO, IL size=8, code size=33] ; Assembly listing for method System.IO.Strategies.OSFileStreamStrategy:get_IsClosed():bool:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 246009 ; 1 inlinees with PGO data; 0 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 997: JIT compiled System.IO.Strategies.OSFileStreamStrategy:get_IsClosed() [Instrumented Tier1 with Static PGO, IL size=12, code size=10] ; Assembly listing for method System.IO.Strategies.OSFileStreamStrategy:Flush(bool):this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 4180 G_M000_IG01: push ebp mov ebp, esp push esi mov esi, ecx G_M000_IG02: test dl, dl jne SHORT G_M000_IG06 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG04: pop esi pop ebp ret G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG03 G_M000_IG06: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+28H] call [eax+18H]System.IO.Stream:get_CanWrite():bool:this test eax, eax je SHORT G_M000_IG05 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [esi+1CH] call [System.IO.Strategies.FileStreamHelpers:FlushToDisk(Microsoft.Win32.SafeHandles.SafeFileHandle)] jmp SHORT G_M000_IG03 ; Total bytes of code 82 998: JIT compiled System.IO.Strategies.OSFileStreamStrategy:Flush(bool) [Instrumented Tier1 with Static PGO, IL size=23, code size=82] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:IsOutlier(int,double,double,double):bool (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 ecx, dword ptr [ebp-04H] 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_IG13 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG05: xor eax, eax G_M000_IG06: mov esp, ebp pop ebp ret 24 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 vmovsd xmm0, qword ptr [ebp+18H] xor ecx, ecx vucomisd xmm0, qword ptr [ebp+08H] seta cl mov dword ptr [ebp-10H], ecx jmp G_M000_IG14 G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 vmovsd xmm0, qword ptr [ebp+10H] xor ecx, ecx vucomisd xmm0, qword ptr [ebp+18H] seta cl mov dword ptr [ebp-10H], ecx jmp G_M000_IG14 G_M000_IG09: vmovsd xmm0, qword ptr [ebp+10H] vucomisd xmm0, qword ptr [ebp+18H] ja SHORT G_M000_IG10 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 vmovsd xmm0, qword ptr [ebp+18H] xor ecx, ecx vucomisd xmm0, qword ptr [ebp+08H] seta cl mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG14 G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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 293 999: JIT compiled BenchmarkDotNet.Mathematics.MeasurementsStatistics:IsOutlier(int,double,double,double) [Instrumented Tier0, IL size=65, code size=293] ; Assembly listing for method Perfolizer.Horology.StartedClock:GetElapsed():Perfolizer.Horology.ClockSpan:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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-3CH], eax mov dword ptr [ebp-40H], eax mov dword ptr [ebp-44H], eax mov dword ptr [ebp-48H], 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-48H], ecx mov ecx, bword ptr [ebp-48H] mov ecx, dword ptr [ecx] mov edx, bword ptr [ebp-48H] mov edx, dword ptr [edx+04H] mov dword ptr [ebp-10H], ecx mov dword ptr [ebp-0CH], edx mov ecx, bword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] mov gword ptr [ebp-3CH], ecx mov ecx, gword ptr [ebp-3CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-3CH] 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] mov gword ptr [ebp-40H], ecx mov ecx, gword ptr [ebp-40H] mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-40H] mov gword ptr [ebp-44H], ecx mov ecx, gword ptr [ebp-44H] 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 196 1000: JIT compiled Perfolizer.Horology.StartedClock:GetElapsed() [Instrumented Tier0, IL size=34, code size=196] ; Assembly listing for method Perfolizer.Horology.WindowsClock:get_Frequency():Perfolizer.Horology.Frequency:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 1001: JIT compiled Perfolizer.Horology.WindowsClock:get_Frequency() [Instrumented Tier0, IL size=12, code size=89] ; Assembly listing for method Perfolizer.Horology.ClockSpan:.ctor(long,long,Perfolizer.Horology.Frequency):this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 1002: JIT compiled Perfolizer.Horology.ClockSpan:.ctor(long,long,Perfolizer.Horology.Frequency) [Instrumented Tier0, IL size=22, code size=87] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:IterationStop(int,int,long):this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG14 G_M000_IG04: cmp dword ptr [ebp-08H], 0 jne SHORT G_M000_IG05 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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_IG15 G_M000_IG05: cmp dword ptr [ebp-08H], 1 jne G_M000_IG14 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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_IG15 G_M000_IG06: cmp dword ptr [ebp-08H], 1 jne SHORT G_M000_IG07 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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_IG15 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG14 G_M000_IG08: cmp dword ptr [ebp-08H], 0 jne SHORT G_M000_IG09 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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_IG15 G_M000_IG09: cmp dword ptr [ebp-08H], 1 jne SHORT G_M000_IG10 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:WorkloadWarmupStop(long):this] jmp G_M000_IG15 G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG14 G_M000_IG11: cmp dword ptr [ebp-08H], 0 jne SHORT G_M000_IG12 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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_IG15 G_M000_IG12: cmp dword ptr [ebp-08H], 1 jne SHORT G_M000_IG13 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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_IG15 G_M000_IG13: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG14: 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_IG15: 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_IG08 - G_M000_IG02 dd G_M000_IG11 - G_M000_IG02 ; Total bytes of code 446 1003: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:IterationStop(int,int,long) [Instrumented Tier0, IL size=125, code size=446] ; Assembly listing for method System.Diagnostics.Tracing.ActivityTracker:OnStop(System.String,System.String,int,byref,bool):this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 9 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, 32 vzeroupper xor eax, eax mov dword ptr [ebp-14H], eax mov esi, ecx mov ecx, edx mov edi, bword ptr [ebp+0CH] G_M000_IG02: cmp gword ptr [esi+04H], 0 jne SHORT G_M000_IG05 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG05: push dword ptr [ebp+10H] mov edx, gword ptr [ebp+14H] call [System.Diagnostics.Tracing.ActivityTracker:NormalizeActivityName(System.String,System.String,int):System.String] mov ebx, eax cmp byte ptr [ebp+08H], 0 jne SHORT G_M000_IG06 xor eax, eax jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, gword ptr [D1FFAB1EH] G_M000_IG07: mov gword ptr [ebp-18H], eax test eax, eax je SHORT G_M000_IG08 movzx edx, byte ptr [eax+6DH] jmp SHORT G_M000_IG09 G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor edx, edx G_M000_IG09: movzx edx, dl mov dword ptr [ebp-10H], edx test edx, edx je SHORT G_M000_IG12 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, gword ptr [ebp-18H] 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_IG11 G_M000_IG10: mov edx, 0xD1FFAB1E cmp dword ptr [ecx], edx jne G_M000_IG46 G_M000_IG11: 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] G_M000_IG12: mov ecx, gword ptr [esi+04H] mov gword ptr [ebp-2CH], ecx cmp byte ptr [ecx], cl mov edx, dword ptr FS:[0x002C] mov edx, dword ptr [edx+0CH] cmp dword ptr [edx+F8H], 2 jl G_M000_IG47 mov edx, dword ptr [edx+F0H] mov edx, dword ptr [edx+08H] test edx, edx je G_M000_IG47 mov edx, bword ptr [edx] add edx, 8 G_M000_IG13: mov edx, gword ptr [edx+0CH] test edx, edx je G_M000_IG29 G_M000_IG14: mov edx, gword ptr [edx+04H] test edx, edx je G_M000_IG27 G_M000_IG15: mov edx, gword ptr [edx+04H] cmp dword ptr [edx], 0xD1FFAB1E je G_M000_IG24 G_M000_IG16: lea eax, [ebp-14H] push eax mov ecx, edx mov edx, gword ptr [ebp-2CH] call [System.Threading.IAsyncLocalValueMap:TryGetValue(System.Threading.IAsyncLocal,byref):bool:this] G_M000_IG17: mov edx, gword ptr [ebp-14H] G_M000_IG18: xor ecx, ecx mov gword ptr [ebp-14H], ecx mov eax, edx test eax, eax jne SHORT G_M000_IG23 G_M000_IG19: mov edx, eax mov gword ptr [ebp-1CH], edx xor ecx, ecx mov gword ptr [ebp-20H], ecx mov ecx, ebx call [System.Diagnostics.Tracing.ActivityTracker:FindActiveActivity(System.String,System.Diagnostics.Tracing.ActivityTracker+ActivityInfo):System.Diagnostics.Tracing.ActivityTracker+ActivityInfo] mov gword ptr [ebp-24H], eax test eax, eax jne G_M000_IG32 G_M000_IG20: vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [edi], xmm0 cmp dword ptr [ebp-10H], 0 je SHORT G_M000_IG21 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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_IG21: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG22: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG23: mov ecx, 0xD1FFAB1E cmp dword ptr [eax], ecx jne G_M000_IG48 jmp SHORT G_M000_IG19 G_M000_IG24: mov ecx, gword ptr [ebp-2CH] cmp ecx, gword ptr [edx+04H] jne SHORT G_M000_IG31 G_M000_IG25: mov ecx, gword ptr [edx+08H] mov gword ptr [ebp-14H], ecx jmp G_M000_IG17 G_M000_IG26: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, gword ptr [ebp-28H] mov dword ptr [eax+28H], 1 jmp SHORT G_M000_IG35 G_M000_IG27: xor edx, edx jmp G_M000_IG18 G_M000_IG28: cmp gword ptr [ebp-20H], 0 jne SHORT G_M000_IG35 jmp SHORT G_M000_IG30 G_M000_IG29: call [System.Threading.Thread:InitializeCurrentThread():System.Threading.Thread] mov edx, eax jmp G_M000_IG14 G_M000_IG30: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-28H] mov edx, ecx mov gword ptr [ebp-28H], ecx mov gword ptr [ebp-20H], edx jmp SHORT G_M000_IG35 G_M000_IG31: xor ecx, ecx mov gword ptr [ebp-14H], ecx jmp G_M000_IG17 G_M000_IG32: vmovups xmm0, xmmword ptr [eax+2CH] vmovups xmmword ptr [edi], xmm0 mov edx, gword ptr [ebp-1CH] jmp SHORT G_M000_IG37 G_M000_IG33: mov gword ptr [ebp-28H], edx cmp dword ptr [edx+28H], 0 je SHORT G_M000_IG34 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG36 G_M000_IG34: mov edx, gword ptr [ebp-28H] test byte ptr [edx+24H], 8 je SHORT G_M000_IG26 jmp SHORT G_M000_IG28 G_M000_IG35: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG36: mov eax, gword ptr [ebp-28H] mov eax, gword ptr [eax+18H] mov edx, eax mov eax, gword ptr [ebp-24H] G_M000_IG37: cmp edx, eax je SHORT G_M000_IG40 G_M000_IG38: test edx, edx jne SHORT G_M000_IG33 G_M000_IG39: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG40: mov eax, gword ptr [ebp-24H] lea ecx, bword ptr [eax+28H] mov edx, 1 xor eax, eax lock cmpxchg dword ptr [ecx], edx test eax, eax jne G_M000_IG45 G_M000_IG41: mov ebx, gword ptr [ebp-20H] test ebx, ebx jne SHORT G_M000_IG42 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, gword ptr [ebp-24H] mov ebx, gword ptr [ebx+18H] G_M000_IG42: 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_IG43 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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_IG43: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG44: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG45: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG12 G_M000_IG46: mov ecx, edx mov edx, eax call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 G_M000_IG47: mov ecx, 2 call CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED mov edx, eax jmp G_M000_IG13 G_M000_IG48: call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 ; Total bytes of code 857 1004: JIT compiled System.Diagnostics.Tracing.ActivityTracker:OnStop(System.String,System.String,int,byref,bool) [Instrumented Tier1, IL size=322, code size=857] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_Index():int:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 1005: JIT compiled BenchmarkDotNet.Engines.IterationData:get_Index() [Instrumented Tier0, IL size=7, code size=17] ; Assembly listing for method Perfolizer.Horology.ClockSpan:GetNanoseconds():double:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 1006: JIT compiled Perfolizer.Horology.ClockSpan:GetNanoseconds() [Instrumented Tier0, IL size=19, code size=90] ; Assembly listing for method Perfolizer.Horology.ClockSpan:GetSeconds():double:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 1007: JIT compiled Perfolizer.Horology.ClockSpan:GetSeconds() [Instrumented Tier0, IL size=48, code size=169] ; Assembly listing for method System.Math:Max(long,long):long (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 50410 G_M000_IG01: G_M000_IG02: mov ecx, dword ptr [esp+0CH] cmp ecx, dword ptr [esp+04H] mov ecx, dword ptr [esp+10H] sbb ecx, dword ptr [esp+08H] jge SHORT G_M000_IG05 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [esp+04H] mov edx, dword ptr [esp+08H] G_M000_IG04: ret 16 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [esp+0CH] mov edx, dword ptr [esp+10H] G_M000_IG06: ret 16 ; Total bytes of code 60 1008: JIT compiled System.Math:Max(long,long) [Instrumented Tier1 with Static PGO, IL size=8, code size=60] ; Assembly listing for method Perfolizer.Horology.Frequency:op_Implicit(double):Perfolizer.Horology.Frequency (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 1009: JIT compiled Perfolizer.Horology.Frequency:op_Implicit(double) [Instrumented Tier0, IL size=7, code size=62] ; Assembly listing for method Perfolizer.Horology.Frequency:op_Division(Perfolizer.Horology.Frequency,Perfolizer.Horology.Frequency):double (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 1010: JIT compiled Perfolizer.Horology.Frequency:op_Division(Perfolizer.Horology.Frequency,Perfolizer.Horology.Frequency) [Instrumented Tier0, IL size=26, code size=79] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:.ctor(int,int,int,int,long,double):this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 1011: JIT compiled BenchmarkDotNet.Reports.Measurement:.ctor(int,int,int,int,long,double) [Instrumented Tier0, IL size=46, code size=100] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:ToString():System.String:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 128 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-78H], 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 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 edx, dword ptr [ebp-08H] mov dword ptr [ecx+04H], edx mov ecx, gword ptr [ebp-30H] mov gword ptr [ebp-40H], ecx mov ecx, gword ptr [ebp-40H] mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-40H] mov gword ptr [ebp-4CH], ecx mov ecx, gword ptr [ebp-4CH] mov eax, gword ptr [ebp-4CH] 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 edx, dword ptr [ebp-0CH] mov dword ptr [ecx+04H], edx mov ecx, gword ptr [ebp-2CH] mov gword ptr [ebp-64H], ecx mov ecx, gword ptr [ebp-34H] mov gword ptr [ebp-58H], ecx mov ecx, gword ptr [ebp-38H] mov gword ptr [ebp-44H], ecx mov ecx, gword ptr [ebp-44H] mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-44H] mov gword ptr [ebp-50H], ecx mov ecx, gword ptr [ebp-50H] mov eax, gword ptr [ebp-50H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+04H]System.Object:ToString():System.String:this mov gword ptr [ebp-54H], eax mov edx, gword ptr [ebp-54H] mov ecx, gword ptr [ebp-58H] call [System.String:Concat(System.String,System.String):System.String] mov gword ptr [ebp-5CH], eax push 32 mov ecx, gword ptr [ebp-5CH] G_M000_IG03: mov edx, dword ptr [D1FFAB1EH] cmp dword ptr [ecx], ecx call [System.String:PadRight(int,ushort):System.String:this] mov gword ptr [ebp-60H], eax mov edx, gword ptr [ebp-60H] mov ecx, gword ptr [ebp-64H] 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, bword ptr [ebp-04H] call [BenchmarkDotNet.Reports.Measurement:get_IterationIndex():int:this] mov dword ptr [ebp-10H], eax lea ecx, [ebp-10H] mov edx, gword ptr [D1FFAB1EH] call [System.Int32:ToString(System.IFormatProvider):System.String:this] mov gword ptr [ebp-68H], eax push 32 mov ecx, gword ptr [ebp-68H] mov edx, 2 cmp dword ptr [ecx], ecx call [System.String:PadLeft(int,ushort):System.String:this] mov gword ptr [ebp-6CH], eax mov edx, gword ptr [ebp-6CH] 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 lea ecx, [ebp-18H] mov edx, gword ptr [D1FFAB1EH] call [System.Int64:ToString(System.IFormatProvider):System.String:this] 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, 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-80H] vmovsd xmm0, qword ptr [ebp-80H] vmovsd qword ptr [ebp-20H], xmm0 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] push 0xD1FFAB1E push 0 lea ecx, [ebp-28H] mov edx, gword ptr [D1FFAB1EH] 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-74H], eax mov edx, gword ptr [ebp-74H] 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 gword ptr [ebp-48H], ecx mov ecx, gword ptr [ebp-48H] mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-48H] mov gword ptr [ebp-78H], ecx mov ecx, gword ptr [ebp-78H] mov eax, gword ptr [ebp-78H] 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 709 1012: JIT compiled BenchmarkDotNet.Reports.Measurement:ToString() [Instrumented Tier0, IL size=304, code size=709] ; Assembly listing for method System.Text.StringBuilder:.ctor():this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 25043 ; 1 inlinees with PGO data; 0 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 1013: JIT compiled System.Text.StringBuilder:.ctor() [Instrumented Tier1 with Static PGO, IL size=31, code size=35] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_IterationMode():int:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 1014: JIT compiled BenchmarkDotNet.Reports.Measurement:get_IterationMode() [Instrumented Tier0, IL size=7, code size=16] ; Assembly listing for method System.String:Concat(System.String,System.String):System.String (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 113904 ; 9 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, 12 mov edi, ecx mov esi, edx G_M000_IG02: test edi, edi je SHORT G_M000_IG06 G_M000_IG03: mov ebx, dword ptr [edi+04H] test ebx, ebx je SHORT G_M000_IG06 G_M000_IG04: test esi, esi je SHORT G_M000_IG10 G_M000_IG05: jmp SHORT G_M000_IG12 G_M000_IG06: test esi, esi je G_M000_IG15 G_M000_IG07: mov edi, dword ptr [esi+04H] test edi, edi je G_M000_IG15 G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, esi G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, edi G_M000_IG11: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG12: mov ecx, dword ptr [esi+04H] mov eax, ecx test eax, eax je SHORT G_M000_IG10 G_M000_IG13: mov dword ptr [ebp-14H], eax lea edx, [eax+ebx] mov dword ptr [ebp-10H], edx test edx, edx jl SHORT G_M000_IG17 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [ebp-10H] call System.String:FastAllocateString(int):System.String mov gword ptr [ebp-18H], eax cmp byte ptr [eax], al lea ecx, bword ptr [eax+08H] lea edx, bword ptr [edi+08H] lea edi, [ebx+ebx] push edi call [System.Buffer:Memmove(byref,byref,uint)] mov edi, gword ptr [ebp-18H] lea ecx, bword ptr [edi+2*ebx+08H] lea edx, bword ptr [esi+08H] mov esi, dword ptr [ebp-14H] add esi, esi push esi call [System.Buffer:Memmove(byref,byref,uint)] mov eax, edi G_M000_IG14: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG15: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, 0xD1FFAB1E G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG17: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 call [System.ThrowHelper:ThrowOutOfMemoryException_StringTooLong()] int3 ; Total bytes of code 222 1015: JIT compiled System.String:Concat(System.String,System.String) [Instrumented Tier1 with Static PGO, IL size=84, code size=222] ; Assembly listing for method System.String:PadRight(int,ushort):System.String:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 39 ; 6 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 esi, esi jl SHORT G_M000_IG07 mov ebx, dword ptr [edi+04H] mov eax, esi sub eax, ebx mov dword ptr [ebp-10H], eax test eax, eax jle SHORT G_M000_IG05 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, esi call System.String:FastAllocateString(int):System.String mov esi, eax mov eax, esi cmp byte ptr [eax], al lea ecx, bword ptr [esi+08H] lea edx, bword ptr [edi+08H] lea eax, [ebx+ebx] push eax call [System.Buffer:Memmove(byref,byref,uint)] lea ecx, bword ptr [esi+2*ebx+08H] 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_IG04: pop ecx pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, edi G_M000_IG06: pop ecx pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG07: mov ecx, 0x177F 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 142 1016: JIT compiled System.String:PadRight(int,ushort) [Instrumented Tier1 with Static PGO, IL size=83, code size=142] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_IterationIndex():int:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 1017: JIT compiled BenchmarkDotNet.Reports.Measurement:get_IterationIndex() [Instrumented Tier0, IL size=7, code size=17] ; Assembly listing for method System.Int32:ToString(System.IFormatProvider):System.String:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 66599 ; 6 inlinees with PGO data; 0 single block inlinees; 0 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 jl SHORT G_M000_IG08 G_M000_IG03: cmp esi, 300 jae SHORT G_M000_IG06 G_M000_IG04: mov ecx, gword ptr [D1FFAB1EH] cmp esi, dword ptr [ecx+04H] jae SHORT G_M000_IG12 mov eax, gword ptr [ecx+4*esi+08H] test eax, eax je SHORT G_M000_IG07 G_M000_IG05: pop esi pop ebp ret G_M000_IG06: mov ecx, esi call [System.Number:UInt32ToDecStr_NoSmallNumberCheck(uint):System.String] jmp SHORT G_M000_IG05 G_M000_IG07: mov ecx, esi call [System.Number:g__CreateAndCacheString|70_0(uint):System.String] jmp SHORT G_M000_IG05 G_M000_IG08: test edx, edx jne SHORT G_M000_IG11 G_M000_IG09: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] G_M000_IG10: 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_IG05 G_M000_IG11: mov ecx, edx call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp SHORT G_M000_IG10 G_M000_IG12: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 104 1018: JIT compiled System.Int32:ToString(System.IFormatProvider) [Instrumented Tier1 with Static PGO, IL size=11, code size=104] ; Assembly listing for method System.Number:UInt32ToDecStr(uint):System.String (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 104636 ; 1 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi mov esi, ecx G_M000_IG02: cmp esi, 300 jae SHORT G_M000_IG05 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [D1FFAB1EH] cmp esi, dword ptr [ecx+04H] jae SHORT G_M000_IG08 mov eax, gword ptr [ecx+4*esi+08H] test eax, eax je SHORT G_M000_IG07 G_M000_IG04: pop esi pop ebp ret G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, esi call [System.Number:UInt32ToDecStr_NoSmallNumberCheck(uint):System.String] G_M000_IG06: pop esi pop ebp ret G_M000_IG07: mov ecx, esi call [System.Number:g__CreateAndCacheString|70_0(uint):System.String] jmp SHORT G_M000_IG04 G_M000_IG08: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 83 1019: JIT compiled System.Number:UInt32ToDecStr(uint) [Instrumented Tier1 with Static PGO, IL size=22, code size=83] ; Assembly listing for method System.Number:UInt32ToDecStrForKnownSmallNumber(uint):System.String (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 92226 G_M000_IG01: push ebp mov ebp, esp push edi push esi mov esi, ecx G_M000_IG02: mov ecx, gword ptr [D1FFAB1EH] cmp esi, dword ptr [ecx+04H] jae SHORT G_M000_IG06 mov edi, gword ptr [ecx+4*esi+08H] test edi, edi je SHORT G_M000_IG05 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, edi G_M000_IG04: pop esi pop edi pop ebp ret G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, esi call [System.Number:g__CreateAndCacheString|70_0(uint):System.String] mov edi, eax jmp SHORT G_M000_IG03 G_M000_IG06: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 70 1020: JIT compiled System.Number:UInt32ToDecStrForKnownSmallNumber(uint) [Instrumented Tier1 with Static PGO, IL size=18, code size=70] ; Assembly listing for method System.Int64:ToString(System.IFormatProvider):System.String:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 85 ; 4 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 eax, edx G_M000_IG02: mov esi, dword ptr [ecx] mov edi, dword ptr [ecx+04H] test edi, edi jl SHORT G_M000_IG04 push edi push esi call [System.Number:UInt64ToDecStr(ulong):System.String] G_M000_IG03: pop esi pop edi pop ebp ret G_M000_IG04: test eax, eax je SHORT G_M000_IG05 mov ecx, eax 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_IG03 ; Total bytes of code 66 1021: JIT compiled System.Int64:ToString(System.IFormatProvider) [Instrumented Tier1 with Static PGO, IL size=10, code size=66] ; Assembly listing for method System.Number:UInt64ToDecStr(ulong):System.String (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 93 ; 9 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 xor eax, eax mov dword ptr [ebp-10H], 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, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [ebp+08H] call [System.Number:UInt32ToDecStrForKnownSmallNumber(uint):System.String] G_M000_IG04: pop ecx pop ebx pop esi pop edi 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_IG10 G_M000_IG06: or eax, 1 lzcnt eax, eax xor eax, 31 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 je SHORT G_M000_IG11 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 lea ecx, bword ptr [esi+08H] mov bword ptr [ebp-10H], ecx mov edi, bword ptr [ebp-10H] G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] lea ecx, [edi+2*ebx] call [System.Number:UInt64ToDecChars[ushort](uint,ulong):uint] xor eax, eax mov bword ptr [ebp-10H], eax mov eax, esi G_M000_IG09: pop ecx pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG10: or edx, 1 xor eax, eax lzcnt eax, edx xor eax, 31 add eax, 32 jmp SHORT G_M000_IG07 G_M000_IG11: xor edi, edi jmp SHORT G_M000_IG08 ; Total bytes of code 208 1022: JIT compiled System.Number:UInt64ToDecStr(ulong) [Instrumented Tier1 with Static PGO, IL size=71, code size=208] ; Assembly listing for method System.Number:UInt64ToDecChars[ushort](uint,ulong):uint (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 1503 ; 17 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 mov esi, ecx G_M000_IG02: cmp dword ptr [ebp+0CH], 0 jne SHORT G_M000_IG11 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, esi mov esi, dword ptr [ebp+08H] cmp esi, 10 jae SHORT G_M000_IG07 G_M000_IG04: add ecx, -2 lea eax, [esi+30H] mov word ptr [ecx], ax G_M000_IG05: mov eax, ecx G_M000_IG06: pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG07: cmp esi, 100 jb SHORT G_M000_IG09 G_M000_IG08: 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 mov esi, edx jae SHORT G_M000_IG08 G_M000_IG09: cmp esi, 10 jb SHORT G_M000_IG04 G_M000_IG10: add ecx, -4 mov eax, gword ptr [D1FFAB1EH] cmp byte ptr [eax], al mov eax, dword ptr [eax+4*esi+08H] mov dword ptr [ecx], eax jmp SHORT G_M000_IG05 G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [ebp+08H] mov edx, dword ptr [ebp+0CH] mov ecx, 0xD1FFAB1E cmp edx, ecx jb SHORT G_M000_IG12 mov edi, eax mov eax, edx xor edx, edx div edx:eax, ecx mov eax, edi G_M000_IG12: 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 jae SHORT G_M000_IG17 G_M000_IG13: test edi, edi je SHORT G_M000_IG15 G_M000_IG14: dec ecx mov edx, 0xD1FFAB1E mov eax, edi mul edx:eax, edx shr edx, 3 lea eax, [edx+4*edx] add eax, eax 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_IG14 G_M000_IG15: test ecx, ecx jg SHORT G_M000_IG14 cmp dword ptr [ebp+0CH], 0 jne SHORT G_M000_IG11 G_M000_IG16: jmp G_M000_IG03 G_M000_IG17: 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 mov edi, edx jae SHORT G_M000_IG17 G_M000_IG18: jmp SHORT G_M000_IG13 ; Total bytes of code 294 1023: JIT compiled System.Number:UInt64ToDecChars[ushort](uint,ulong) [Instrumented Tier1 with Static PGO, IL size=35, code size=294] ; Assembly listing for method System.Number+Grisu3:TryRunDouble(double,int,byref):bool (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 571 ; 20 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, 284 vzeroupper mov edi, ecx mov esi, edx vmovsd xmm0, qword ptr [ebp+08H] G_M000_IG02: vmovsd qword ptr [ebp-60H], xmm0 cmp dword ptr [ebp-5CH], 0 jl G_M000_IG19 G_M000_IG03: vmovsd qword ptr [ebp-14H], xmm0 cmp edi, -1 jne G_M000_IG12 G_M000_IG04: vmovsd qword ptr [ebp-78H], xmm0 mov ecx, dword ptr [ebp-78H] mov edx, dword ptr [ebp-74H] mov eax, edx and eax, 0xD1FFAB1E shr edx, 20 and edx, 0x7FF mov dword ptr [ebp-68H], edx cmp dword ptr [ebp-68H], 0 je SHORT G_M000_IG05 or ecx, 0 or eax, 0xD1FFAB1E mov edx, dword ptr [ebp-68H] add edx, -0x433 mov dword ptr [ebp-68H], edx jmp SHORT G_M000_IG06 G_M000_IG05: mov dword ptr [ebp-68H], -0x432 G_M000_IG06: mov dword ptr [ebp-70H], ecx mov dword ptr [ebp-6CH], eax lea ecx, [ebp-38H] push ecx lea ecx, [ebp-48H] push ecx lea ecx, [ebp-70H] mov edx, 52 call [System.Number+DiyFp:GetBoundaries(int,byref,byref):this] mov eax, dword ptr [ebp-70H] mov edx, dword ptr [ebp-6CH] mov dword ptr [ebp-10CH], eax mov dword ptr [ebp-108H], edx mov edi, dword ptr [ebp-68H] mov eax, dword ptr [ebp-10CH] mov edx, dword ptr [ebp-108H] xor ebx, ebx lzcnt ebx, edx lzcnt eax, eax add eax, 32 test edx, edx cmove ebx, eax mov eax, dword ptr [ebp-10CH] mov edx, dword ptr [ebp-108H] mov ecx, ebx and ecx, 63 call CORINFO_HELP_LLSH sub edi, ebx mov dword ptr [ebp-11CH], eax mov dword ptr [ebp-118H], edx mov edx, dword ptr [ebp-11CH] mov ecx, dword ptr [ebp-118H] mov dword ptr [ebp-28H], edx mov dword ptr [ebp-24H], ecx mov dword ptr [ebp-20H], edi mov edi, bword ptr [esi+0CH] mov ebx, dword ptr [esi+10H] mov edx, dword ptr [ebp-20H] add edx, 64 neg edx lea ecx, [edx-20H] push ecx lea ecx, [ebp-84H] push ecx add edx, -60 lea ecx, [ebp-94H] call [System.Number+Grisu3:GetCachedPowerForBinaryExponentRange(int,int,byref):System.Number+DiyFp] lea ecx, [ebp-94H] push ecx lea ecx, [ebp-28H] lea edx, [ebp-A4H] call [System.Number+DiyFp:Multiply(byref):System.Number+DiyFp:this] lea ecx, [ebp-94H] push ecx lea ecx, [ebp-38H] lea edx, [ebp-B4H] call [System.Number+DiyFp:Multiply(byref):System.Number+DiyFp:this] lea ecx, [ebp-94H] push ecx G_M000_IG07: lea ecx, [ebp-48H] lea edx, [ebp-C4H] call [System.Number+DiyFp:Multiply(byref):System.Number+DiyFp:this] lea edx, [ebp-C4H] push edx push ebx push edi lea edx, [ebp-18H] push edx lea edx, [ebp-C8H] push edx lea edx, [ebp-A4H] lea ecx, [ebp-B4H] call [System.Number+Grisu3:TryDigitGenShortest(byref,byref,byref,System.Span`1[ubyte],byref,byref):bool] mov ebx, eax mov ecx, dword ptr [ebp-84H] mov edi, ecx neg edi add edi, dword ptr [ebp-C8H] G_M000_IG08: test ebx, ebx je SHORT G_M000_IG10 G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 add edi, dword ptr [ebp-18H] mov dword ptr [esi+04H], edi lea ecx, bword ptr [esi+0CH] mov eax, dword ptr [ecx+04H] cmp dword ptr [ebp-18H], eax jae G_M000_IG20 mov ecx, bword ptr [ecx] mov eax, dword ptr [ebp-18H] mov byte ptr [ecx+eax], 0 mov ecx, dword ptr [ebp-18H] mov dword ptr [esi], ecx G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, ebx G_M000_IG11: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 vmovsd xmm0, qword ptr [ebp-14H] vmovsd qword ptr [ebp-D0H], xmm0 mov eax, dword ptr [ebp-D0H] mov edx, dword ptr [ebp-CCH] mov ecx, edx and ecx, 0xD1FFAB1E shr edx, 20 and edx, 0x7FF je SHORT G_M000_IG14 G_M000_IG13: or eax, 0 or ecx, 0xD1FFAB1E add edx, -0x433 jmp SHORT G_M000_IG15 G_M000_IG14: mov edx, -0x432 G_M000_IG15: mov dword ptr [ebp-114H], eax mov dword ptr [ebp-110H], ecx mov eax, dword ptr [ebp-114H] mov ecx, dword ptr [ebp-110H] mov dword ptr [ebp-10CH], eax mov dword ptr [ebp-108H], ecx mov ebx, edx mov eax, dword ptr [ebp-10CH] mov edx, dword ptr [ebp-108H] test edx, edx je G_M000_IG18 G_M000_IG16: xor ecx, ecx lzcnt ecx, edx G_M000_IG17: mov eax, dword ptr [ebp-10CH] mov edx, dword ptr [ebp-108H] mov dword ptr [ebp-D4H], ecx and ecx, 63 call CORINFO_HELP_LLSH mov ecx, ebx sub ecx, dword ptr [ebp-D4H] mov dword ptr [ebp-124H], eax mov dword ptr [ebp-120H], edx mov edx, dword ptr [ebp-124H] mov eax, dword ptr [ebp-120H] mov dword ptr [ebp-58H], edx mov dword ptr [ebp-54H], eax mov dword ptr [ebp-50H], ecx mov ebx, bword ptr [esi+0CH] mov eax, dword ptr [esi+10H] mov dword ptr [ebp-128H], eax mov edx, dword ptr [ebp-50H] add edx, 64 neg edx lea ecx, [edx-20H] push ecx lea ecx, [ebp-E0H] push ecx add edx, -60 lea ecx, [ebp-F0H] call [System.Number+Grisu3:GetCachedPowerForBinaryExponentRange(int,int,byref):System.Number+DiyFp] lea ecx, [ebp-F0H] push ecx lea ecx, [ebp-58H] lea edx, [ebp-100H] call [System.Number+DiyFp:Multiply(byref):System.Number+DiyFp:this] push dword ptr [ebp-128H] push ebx lea ecx, [ebp-18H] push ecx lea ecx, [ebp-104H] push ecx lea ecx, [ebp-100H] mov edx, edi call [System.Number+Grisu3:TryDigitGenCounted(byref,int,System.Span`1[ubyte],byref,byref):bool] mov ebx, eax mov ecx, dword ptr [ebp-E0H] mov edi, ecx neg edi add edi, dword ptr [ebp-104H] jmp G_M000_IG08 G_M000_IG18: xor ecx, ecx lzcnt ecx, eax add ecx, 32 jmp G_M000_IG17 G_M000_IG19: vmovsd qword ptr [ebp+08H], xmm0 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 vmovsd xmm1, qword ptr [ebp+08H] vxorps xmm0, xmm1, xmmword ptr [@RWD00] jmp G_M000_IG03 G_M000_IG20: call CORINFO_HELP_RNGCHKFAIL int3 RWD00 dq 8000000000000000h, 8000000000000000h ; Total bytes of code 870 1024: JIT compiled System.Number+Grisu3:TryRunDouble(double,int,byref) [Instrumented Tier1 with Static PGO, IL size=134, code size=870] ; Assembly listing for method System.Number+DiyFp:Normalize():System.Number+DiyFp:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 1141 ; 2 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, 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 1025: JIT compiled System.Number+DiyFp:Normalize() [Instrumented Tier1 with Static PGO, IL size=37, code size=101] ; Assembly listing for method System.Number+Grisu3:TryRunCounted(byref,int,System.Span`1[ubyte],byref,byref):bool (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 5 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 1026: JIT compiled System.Number+Grisu3:TryRunCounted(byref,int,System.Span`1[ubyte],byref,byref) [Instrumented Tier1 with Static PGO, IL size=71, code size=103] ; Assembly listing for method System.Number+Grisu3:GetCachedPowerForBinaryExponentRange(int,int,byref):System.Number+DiyFp (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 573 ; 4 inlinees with PGO data; 0 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 1027: JIT compiled System.Number+Grisu3:GetCachedPowerForBinaryExponentRange(int,int,byref) [Instrumented Tier1 with Static PGO, IL size=91, code size=131] ; Assembly listing for method System.Number+DiyFp:Multiply(byref):System.Number+DiyFp:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 1709 ; 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, 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 1028: JIT compiled System.Number+DiyFp:Multiply(byref) [Instrumented Tier1 with Static PGO, IL size=136, code size=191] ; Assembly listing for method System.Number+Grisu3:TryDigitGenCounted(byref,int,System.Span`1[ubyte],byref,byref):bool (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 5 ; 4 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, 140 mov esi, edx mov edi, bword ptr [ebp+0CH] mov ebx, bword ptr [ebp+08H] G_M000_IG02: mov edx, bword ptr [ebp+10H] mov bword ptr [ebp-90H], edx mov eax, dword ptr [ebp+14H] mov dword ptr [ebp-40H], eax xor edx, edx mov dword ptr [ebp-4CH], 1 mov dword ptr [ebp-50H], edx mov bword ptr [ebp-8CH], ecx mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-48H], ecx neg ecx and ecx, 63 mov dword ptr [ebp-44H], ecx mov dword ptr [ebp-64H], 1 xor ecx, ecx mov eax, dword ptr [ebp-64H] mov edx, ecx mov ecx, dword ptr [ebp-44H] call CORINFO_HELP_LLSH mov ecx, dword ptr [ebp-48H] mov dword ptr [ebp-38H], eax mov dword ptr [ebp-34H], edx mov dword ptr [ebp-3CH], ecx mov edx, bword ptr [ebp-8CH] mov eax, edx mov ecx, dword ptr [eax] mov eax, dword ptr [eax+04H] mov dword ptr [ebp-68H], eax mov eax, ecx mov edx, dword ptr [ebp-68H] mov ecx, dword ptr [ebp-44H] call CORINFO_HELP_LRSZ mov dword ptr [ebp-18H], eax mov ecx, bword ptr [ebp-8CH] mov edx, dword ptr [ecx] mov dword ptr [ebp-94H], edx mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-98H], ecx mov ecx, dword ptr [ebp-38H] mov edx, dword ptr [ebp-34H] sub ecx, 1 sbb edx, 0 mov dword ptr [ebp-5CH], ecx mov dword ptr [ebp-60H], edx mov edx, dword ptr [ebp-94H] and edx, ecx mov ecx, dword ptr [ebp-98H] and ecx, dword ptr [ebp-60H] mov dword ptr [ebp-54H], edx mov dword ptr [ebp-58H], ecx mov eax, edx or eax, ecx jne G_M000_IG13 G_M000_IG03: cmp esi, 11 jl G_M000_IG22 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 push dword ptr [ebp-58H] push dword ptr [ebp-54H] push 0 push 10 call CORINFO_HELP_LMUL mov dword ptr [ebp-54H], eax mov dword ptr [ebp-58H], edx push dword ptr [ebp-50H] push dword ptr [ebp-4CH] push 0 push 10 call CORINFO_HELP_LMUL mov dword ptr [ebp-4CH], eax mov dword ptr [ebp-50H], edx mov eax, dword ptr [ebp-54H] mov edx, dword ptr [ebp-58H] mov ecx, dword ptr [ebp-44H] call CORINFO_HELP_LRSZ mov ecx, dword ptr [edi] cmp ecx, dword ptr [ebp-40H] jae G_M000_IG26 add eax, 48 mov edx, bword ptr [ebp-90H] mov byte ptr [edx+ecx], al inc dword ptr [edi] dec esi dec dword ptr [ebx] mov eax, dword ptr [ebp-5CH] mov ecx, eax and ecx, dword ptr [ebp-54H] mov edx, dword ptr [ebp-60H] mov eax, edx and eax, dword ptr [ebp-58H] mov dword ptr [ebp-54H], ecx mov dword ptr [ebp-58H], eax G_M000_IG08: test esi, esi jle SHORT G_M000_IG11 G_M000_IG09: mov edx, dword ptr [ebp-54H] cmp dword ptr [ebp-4CH], edx mov ecx, dword ptr [ebp-50H] sbb ecx, dword ptr [ebp-58H] jb G_M000_IG07 G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG11: test esi, esi jne G_M000_IG19 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 push dword ptr [ebp+14H] push bword ptr [ebp+10H] mov ecx, dword ptr [edi] push dword ptr [ebp-58H] push dword ptr [ebp-54H] push dword ptr [ebp-34H] push dword ptr [ebp-38H] push dword ptr [ebp-50H] push dword ptr [ebp-4CH] mov edx, ebx call [System.Number+Grisu3:TryRoundWeedCounted(System.Span`1[ubyte],int,ulong,ulong,ulong,byref):bool] G_M000_IG12: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG13: push ebx mov eax, dword ptr [ebp-3CH] neg eax neg eax lea edx, [eax+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 SHORT G_M000_IG17 G_M000_IG14: 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-40H] jae G_M000_IG26 mov eax, dword ptr [ebp-30H] add eax, 48 mov ecx, bword ptr [ebp-90H] mov byte ptr [ecx+edx], al inc dword ptr [edi] dec esi dec dword ptr [ebx] test esi, esi je SHORT G_M000_IG18 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edx, 0xD1FFAB1E mov ecx, dword ptr [ebp-24H] mov eax, ecx mul edx:eax, edx mov ecx, edx shr ecx, 3 cmp dword ptr [ebx], 0 jg SHORT G_M000_IG16 G_M000_IG15: test esi, esi je G_M000_IG24 jmp G_M000_IG08 G_M000_IG16: mov edx, ecx jmp SHORT G_M000_IG14 G_M000_IG17: mov ecx, edx jmp SHORT G_M000_IG15 G_M000_IG18: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [ebp-24H] jmp SHORT G_M000_IG15 G_M000_IG19: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 cmp dword ptr [ebp-40H], 0 jbe G_M000_IG26 mov esi, bword ptr [ebp-90H] mov byte ptr [esi], 0 xor eax, eax mov dword ptr [edi], eax G_M000_IG20: mov dword ptr [ebx], eax G_M000_IG21: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG22: lea eax, [esi-01H] cmp eax, 10 jae G_M000_IG26 mov eax, dword ptr [ebp-18H] cmp eax, dword ptr [4*esi+D1FFAB1EH] jae SHORT G_M000_IG23 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG04 G_M000_IG23: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG13 G_M000_IG24: mov dword ptr [ebp-24H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 push dword ptr [ebp+14H] push bword ptr [ebp+10H] mov edi, dword ptr [edi] xor edx, edx mov eax, dword ptr [ebp-18H] mov ecx, dword ptr [ebp-44H] call CORINFO_HELP_LLSH mov esi, dword ptr [ebp-54H] add eax, esi mov esi, dword ptr [ebp-58H] adc edx, esi push edx push eax xor edx, edx mov eax, dword ptr [ebp-24H] mov ecx, dword ptr [ebp-44H] call CORINFO_HELP_LLSH push edx push eax push 0 push 1 mov ecx, edi mov edx, ebx call [System.Number+Grisu3:TryRoundWeedCounted(System.Span`1[ubyte],int,ulong,ulong,ulong,byref):bool] G_M000_IG25: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG26: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 804 1029: JIT compiled System.Number+Grisu3:TryDigitGenCounted(byref,int,System.Span`1[ubyte],byref,byref) [Instrumented Tier1 with Static PGO, IL size=372, code size=804] ; Assembly listing for method System.Number:FindSection(System.ReadOnlySpan`1[ushort],int):int (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 104 ; 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, 8 xor eax, eax mov dword ptr [ebp-14H], eax mov esi, ecx G_M000_IG02: test esi, esi jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor eax, eax G_M000_IG03: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG04: mov edi, bword ptr [ebp+08H] mov bword ptr [ebp-14H], edi xor ebx, ebx G_M000_IG05: cmp ebx, dword ptr [ebp+0CH] jl SHORT G_M000_IG07 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor eax, eax G_M000_IG06: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG07: lea ecx, [ebx+01H] mov dword ptr [ebp-10H], ecx movzx ebx, word ptr [edi+2*ebx] mov edx, ebx cmp ebx, 34 ja SHORT G_M000_IG08 test ebx, ebx je G_M000_IG23 cmp ebx, 34 je SHORT G_M000_IG10 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, dword ptr [ebp-10H] jmp SHORT G_M000_IG05 G_M000_IG08: cmp ebx, 39 je SHORT G_M000_IG09 cmp edx, 59 je G_M000_IG17 cmp edx, 92 je G_M000_IG14 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, dword ptr [ebp-10H] jmp SHORT G_M000_IG05 G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG10: mov eax, dword ptr [ebp-10H] cmp eax, dword ptr [ebp+0CH] jge SHORT G_M000_IG13 cmp word ptr [edi+2*eax], 0 je SHORT G_M000_IG12 mov ecx, eax lea eax, [ecx+01H] mov dword ptr [ebp-10H], eax movzx ecx, word ptr [edi+2*ecx] cmp ecx, ebx jne SHORT G_M000_IG11 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, dword ptr [ebp-10H] jmp G_M000_IG05 G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG10 G_M000_IG12: mov dword ptr [ebp-10H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, dword ptr [ebp-10H] jmp G_M000_IG05 G_M000_IG13: mov dword ptr [ebp-10H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, dword ptr [ebp-10H] jmp G_M000_IG05 G_M000_IG14: mov eax, dword ptr [ebp-10H] cmp eax, dword ptr [ebp+0CH] jge SHORT G_M000_IG16 mov dword ptr [ebp-10H], eax cmp word ptr [edi+2*eax], 0 je SHORT G_M000_IG15 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, dword ptr [ebp-10H] inc ebx mov dword ptr [ebp-10H], ebx jmp G_M000_IG05 G_M000_IG15: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, dword ptr [ebp-10H] jmp G_M000_IG05 G_M000_IG16: mov dword ptr [ebp-10H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, dword ptr [ebp-10H] jmp G_M000_IG05 G_M000_IG17: dec esi jne SHORT G_M000_IG22 mov eax, dword ptr [ebp-10H] cmp eax, dword ptr [ebp+0CH] jge SHORT G_M000_IG21 cmp word ptr [edi+2*eax], 0 je SHORT G_M000_IG20 mov dword ptr [ebp-10H], eax cmp word ptr [edi+2*eax], 59 je SHORT G_M000_IG19 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [ebp-10H] G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG19: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG23 G_M000_IG20: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG23 G_M000_IG21: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG23 G_M000_IG22: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, dword ptr [ebp-10H] jmp G_M000_IG05 G_M000_IG23: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor eax, eax G_M000_IG24: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 479 1030: JIT compiled System.Number:FindSection(System.ReadOnlySpan`1[ushort],int) [Instrumented Tier1 with Static PGO, IL size=190, code size=479] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:GetAverageTime():Perfolizer.Horology.TimeInterval:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 1031: JIT compiled BenchmarkDotNet.Reports.Measurement:GetAverageTime() [Instrumented Tier0, IL size=20, code size=101] ; Assembly listing for method Perfolizer.Horology.TimeInterval:FromNanoseconds(double):Perfolizer.Horology.TimeInterval (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 1032: JIT compiled Perfolizer.Horology.TimeInterval:FromNanoseconds(double) [Instrumented Tier0, IL size=12, code size=48] ; Assembly listing for method Perfolizer.Horology.TimeInterval:op_Multiply(Perfolizer.Horology.TimeInterval,double):Perfolizer.Horology.TimeInterval (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 1033: JIT compiled Perfolizer.Horology.TimeInterval:op_Multiply(Perfolizer.Horology.TimeInterval,double) [Instrumented Tier0, IL size=15, code size=79] ; Assembly listing for method Perfolizer.Horology.TimeInterval:.ctor(double):this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 1034: JIT compiled Perfolizer.Horology.TimeInterval:.ctor(double) [Instrumented Tier0, IL size=8, code size=28] ; Assembly listing for method Perfolizer.Horology.TimeInterval:ToString(System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation):System.String:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 1035: JIT compiled Perfolizer.Horology.TimeInterval:ToString(System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation) [Instrumented 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 (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 68 vzeroupper 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 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 call CORINFO_HELP_COUNTPROFILE32 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-44H] vmovsd xmm0, qword ptr [ebp-44H] 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, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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 ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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 call CORINFO_HELP_COUNTPROFILE32 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-44H] vmovsd xmm0, qword ptr [ebp-44H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [D1FFAB1EH] mov edx, gword ptr [ebp-08H] call [Perfolizer.Horology.TimeUnit:Convert(double,Perfolizer.Horology.TimeUnit,Perfolizer.Horology.TimeUnit):double] fstp qword ptr [ebp-44H] vmovsd xmm0, qword ptr [ebp-44H] 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, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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-38H], eax mov edx, dword ptr [ebp-38H] 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-3CH], eax push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-3CH] 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: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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 456 1036: JIT compiled Perfolizer.Horology.TimeInterval:ToString(Perfolizer.Horology.TimeUnit,System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation) [Instrumented Tier0, IL size=141, code size=456] ; Assembly listing for method Perfolizer.Horology.TimeUnit:Convert(double,Perfolizer.Horology.TimeUnit,Perfolizer.Horology.TimeUnit):double (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 call CORINFO_HELP_COUNTPROFILE32 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, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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 219 1037: JIT compiled Perfolizer.Horology.TimeUnit:Convert(double,Perfolizer.Horology.TimeUnit,Perfolizer.Horology.TimeUnit) [Instrumented Tier0, IL size=37, code size=219] ; Assembly listing for method Perfolizer.Common.UnitPresentation:get_IsVisible():bool:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 code ; ebp 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 1038: JIT compiled Perfolizer.Common.UnitPresentation:get_IsVisible() [Instrumented Tier0, IL size=7, code size=18] ; Assembly listing for method Perfolizer.Horology.TimeUnit:get_Name():System.String:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 code ; ebp 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 1039: JIT compiled Perfolizer.Horology.TimeUnit:get_Name() [Instrumented Tier0, IL size=7, code size=17] ; Assembly listing for method Perfolizer.Common.UnitPresentation:get_MinUnitWidth():int:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 code ; ebp 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 1040: JIT compiled Perfolizer.Common.UnitPresentation:get_MinUnitWidth() [Instrumented Tier0, IL size=7, code size=17] ; Assembly listing for method System.String:PadLeft(int):System.String:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 3 ; 7 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, 8 mov edi, ecx mov esi, edx G_M000_IG02: test esi, esi jl SHORT G_M000_IG05 mov ebx, dword ptr [edi+04H] mov eax, esi sub eax, ebx mov dword ptr [ebp-10H], eax test eax, eax jg SHORT G_M000_IG03 mov eax, edi jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, esi call System.String:FastAllocateString(int):System.String mov gword ptr [ebp-14H], eax cmp byte ptr [eax], al lea ecx, bword ptr [eax+08H] push 32 mov edx, dword ptr [ebp-10H] call [System.SpanHelpers:Fill[ushort](byref,uint,ushort)] mov eax, gword ptr [ebp-14H] mov esi, dword ptr [ebp-10H] lea ecx, bword ptr [eax+2*esi+08H] lea edx, bword ptr [edi+08H] add ebx, ebx push ebx call [System.Buffer:Memmove(byref,byref,uint)] mov ebx, gword ptr [ebp-14H] mov eax, ebx G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG05: mov ecx, 0x177F 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 122 1041: JIT compiled System.String:PadLeft(int) [Instrumented Tier1 with Static PGO, IL size=10, code size=122] ; Assembly listing for method System.Number+BigInteger:Clear(uint):this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 4 ; 1 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data G_M000_IG01: G_M000_IG02: cmp byte ptr [ecx], cl add ecx, 4 shl edx, 2 call [System.SpanHelpers:ClearWithoutReferences(byref,uint)] G_M000_IG03: ret ; Total bytes of code 15 1042: JIT compiled System.Number+BigInteger:Clear(uint) [Instrumented Tier1 with Static PGO, IL size=26, code size=15] ; Assembly listing for method System.Number:NumberToString[ushort](byref,byref,ushort,int,System.Globalization.NumberFormatInfo) (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 570 ; 41 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, 60 mov edi, ecx mov esi, edx mov ebx, dword ptr [ebp+10H] mov eax, dword ptr [ebp+0CH] G_M000_IG02: xor edx, edx cmp byte ptr [esi+0AH], 3 sete dl mov dword ptr [ebp-10H], edx movzx ecx, bx cmp ecx, 82 ja G_M000_IG19 movzx ecx, bx add ecx, -67 cmp ecx, 4 jne G_M000_IG13 G_M000_IG03: xor ecx, ecx test eax, eax jle SHORT G_M000_IG08 G_M000_IG04: mov dword ptr [ebp-14H], ecx G_M000_IG05: push dword ptr [ebp-10H] mov ecx, esi mov dword ptr [ebp+0CH], eax mov edx, eax call [System.Number:RoundNumber(byref,int,bool)] G_M000_IG06: cmp byte ptr [esi+08H], 0 jne G_M000_IG50 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 push dword ptr [ebp+0CH] push gword ptr [ebp+08H] 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 G_M000_IG15 G_M000_IG08: cmp byte ptr [esi+0AH], 2 jne SHORT G_M000_IG10 mov dword ptr [ebp+0CH], eax cmp eax, -1 jne SHORT G_M000_IG11 mov eax, dword ptr [ebp+0CH] mov dword ptr [ebp-14H], 1 lea edx, bword ptr [esi+0CH] cmp dword ptr [edx+04H], 0 jbe G_M000_IG59 mov edx, bword ptr [edx] cmp byte ptr [edx], 0 je G_M000_IG51 G_M000_IG09: mov dword ptr [ebp+0CH], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG06 G_M000_IG10: mov dword ptr [ebp-14H], ecx jmp G_M000_IG52 G_M000_IG11: mov dword ptr [ebp-14H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG52 G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 movzx ebx, bx add ebx, -11 mov eax, dword ptr [ebp+0CH] jmp G_M000_IG03 G_M000_IG13: cmp ecx, 4 ja SHORT G_M000_IG16 mov dword ptr [ebp+0CH], eax lea edx, [@RWD00] mov edx, dword ptr [edx+4*ecx] lea eax, G_M000_IG02 add edx, eax jmp edx G_M000_IG14: mov eax, dword ptr [ebp+0CH] jmp G_M000_IG03 G_M000_IG15: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG16: movzx ecx, bx add ecx, -78 mov dword ptr [ebp-28H], ecx cmp ecx, 4 ja SHORT G_M000_IG18 mov dword ptr [ebp+0CH], eax lea ecx, [@RWD20] mov eax, dword ptr [ebp-28H] mov ecx, dword ptr [ecx+4*eax] lea edx, G_M000_IG02 add ecx, edx jmp ecx G_M000_IG17: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG58 G_M000_IG18: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG58 G_M000_IG19: movzx ecx, bx add ecx, -99 cmp ecx, 4 ja SHORT G_M000_IG25 mov dword ptr [ebp+10H], ebx lea ebx, [@RWD40] mov ebx, dword ptr [ebx+4*ecx] lea edx, G_M000_IG02 add ebx, edx jmp ebx G_M000_IG20: mov dword ptr [ebp+0CH], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [ebp+0CH] movzx ebx, word ptr [ebp+10H] jmp G_M000_IG03 G_M000_IG21: mov dword ptr [ebp+0CH], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG33 G_M000_IG22: mov dword ptr [ebp+0CH], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 movzx ebx, word ptr [ebp+10H] jmp G_M000_IG43 G_M000_IG23: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG58 G_M000_IG24: mov dword ptr [ebp+0CH], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG31 G_M000_IG25: movzx ecx, bx add ecx, -110 cmp ecx, 4 ja SHORT G_M000_IG30 mov bword ptr [ebp-30H], esi mov bword ptr [ebp-2CH], edi lea esi, [@RWD60] mov esi, dword ptr [esi+4*ecx] lea edi, G_M000_IG02 add esi, edi jmp esi G_M000_IG26: mov dword ptr [ebp+0CH], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov esi, bword ptr [ebp-30H] mov edi, bword ptr [ebp-2CH] jmp G_M000_IG12 G_M000_IG27: mov dword ptr [ebp+0CH], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov esi, bword ptr [ebp-30H] mov edi, bword ptr [ebp-2CH] jmp G_M000_IG56 G_M000_IG28: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG58 G_M000_IG29: mov dword ptr [ebp+0CH], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov esi, bword ptr [ebp-30H] mov edi, bword ptr [ebp-2CH] jmp G_M000_IG41 G_M000_IG30: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG58 G_M000_IG31: mov ebx, dword ptr [ebp+0CH] test ebx, ebx jge SHORT G_M000_IG32 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, gword ptr [ebp+08H] mov ecx, dword ptr [ebx+88H] mov eax, ecx mov gword ptr [ebp+08H], ebx mov ebx, eax G_M000_IG32: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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_IG15 G_M000_IG33: mov ebx, dword ptr [ebp+0CH] test ebx, ebx jge SHORT G_M000_IG34 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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_IG34: 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_IG38 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, gword ptr [ebp+08H] mov ecx, gword ptr [eax+14H] test ecx, ecx jne SHORT G_M000_IG35 xor edx, edx xor ecx, ecx jmp SHORT G_M000_IG36 G_M000_IG35: lea edx, bword ptr [ecx+08H] mov ecx, dword ptr [ecx+04H] G_M000_IG36: mov bword ptr [ebp-38H], edx mov eax, dword ptr [edi+04H] mov edx, bword ptr [edi+08H] mov bword ptr [ebp-34H], edx mov edx, dword ptr [edi+0CH] cmp ecx, 1 jne SHORT G_M000_IG37 cmp eax, edx jae SHORT G_M000_IG37 mov edx, bword ptr [ebp-38H] movzx edx, word ptr [edx] mov ecx, bword ptr [ebp-34H] mov word ptr [ecx+2*eax], dx inc eax mov dword ptr [edi+04H], eax jmp SHORT G_M000_IG38 G_M000_IG37: push ecx push bword ptr [ebp-38H] mov ecx, edi call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] G_M000_IG38: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, gword ptr [ebp+08H] mov ecx, gword ptr [eax+18H] test ecx, ecx jne SHORT G_M000_IG39 xor edx, edx xor eax, eax jmp SHORT G_M000_IG40 G_M000_IG39: lea edx, bword ptr [ecx+08H] mov eax, dword ptr [ecx+04H] G_M000_IG40: 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_IG15 G_M000_IG41: mov ebx, dword ptr [ebp+0CH] test ebx, ebx jge SHORT G_M000_IG42 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, gword ptr [ebp+08H] mov ecx, dword ptr [ebx+84H] mov eax, ecx mov gword ptr [ebp+08H], ebx mov ebx, eax G_M000_IG42: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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_IG15 G_M000_IG43: mov eax, dword ptr [ebp+0CH] test eax, eax jge SHORT G_M000_IG44 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, 6 mov eax, ecx G_M000_IG44: inc eax push dword ptr [ebp-10H] mov ecx, esi mov dword ptr [ebp+0CH], eax mov edx, eax call [System.Number:RoundNumber(byref,int,bool)] cmp byte ptr [esi+08H], 0 je SHORT G_M000_IG48 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, gword ptr [ebp+08H] mov ecx, gword ptr [eax+14H] test ecx, ecx jne SHORT G_M000_IG45 xor edx, edx xor ecx, ecx jmp SHORT G_M000_IG46 G_M000_IG45: lea edx, bword ptr [ecx+08H] mov ecx, dword ptr [ecx+04H] G_M000_IG46: mov bword ptr [ebp-40H], edx mov dword ptr [ebp-20H], ecx mov edx, dword ptr [edi+04H] mov dword ptr [ebp-18H], edx mov edx, bword ptr [edi+08H] mov bword ptr [ebp-3CH], edx mov edx, dword ptr [edi+0CH] cmp ecx, 1 jne SHORT G_M000_IG47 mov ecx, dword ptr [ebp-18H] cmp ecx, edx jae SHORT G_M000_IG47 mov edx, bword ptr [ebp-40H] movzx edx, word ptr [edx] mov eax, bword ptr [ebp-3CH] mov word ptr [eax+2*ecx], dx inc ecx mov dword ptr [edi+04H], ecx jmp SHORT G_M000_IG48 G_M000_IG47: push dword ptr [ebp-20H] push bword ptr [ebp-40H] mov ecx, edi call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] G_M000_IG48: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 push dword ptr [ebp+0CH] push gword ptr [ebp+08H] movzx ecx, bx push ecx mov ecx, edi mov edx, esi call [System.Number:FormatScientific[ushort](byref,byref,int,System.Globalization.NumberFormatInfo,ushort)] jmp G_M000_IG15 G_M000_IG49: call CORINFO_HELP_OVERFLOW G_M000_IG50: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, gword ptr [ebp+08H] mov ecx, gword ptr [eax+14H] test ecx, ecx jne SHORT G_M000_IG53 xor edx, edx xor ecx, ecx jmp SHORT G_M000_IG54 G_M000_IG51: mov dword ptr [ebp+0CH], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG07 G_M000_IG52: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [esi] mov dword ptr [ebp+0CH], eax jmp G_M000_IG05 G_M000_IG53: lea edx, bword ptr [ecx+08H] mov ecx, dword ptr [ecx+04H] G_M000_IG54: mov bword ptr [ebp-48H], edx mov dword ptr [ebp-24H], ecx mov edx, dword ptr [edi+04H] mov dword ptr [ebp-1CH], edx mov edx, bword ptr [edi+08H] mov bword ptr [ebp-44H], edx mov edx, dword ptr [edi+0CH] cmp ecx, 1 jne SHORT G_M000_IG55 mov ecx, dword ptr [ebp-1CH] cmp ecx, edx jae SHORT G_M000_IG55 mov edx, bword ptr [ebp-48H] movzx edx, word ptr [edx] mov eax, bword ptr [ebp-44H] mov word ptr [eax+2*ecx], dx inc ecx mov dword ptr [edi+04H], ecx jmp G_M000_IG07 G_M000_IG55: push dword ptr [ebp-24H] push bword ptr [ebp-48H] mov ecx, edi call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] jmp G_M000_IG07 G_M000_IG56: mov ebx, dword ptr [ebp+0CH] test ebx, ebx jge SHORT G_M000_IG57 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, gword ptr [ebp+08H] mov ecx, dword ptr [ebx+A0H] mov eax, ecx mov gword ptr [ebp+08H], ebx mov ebx, eax G_M000_IG57: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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 G_M000_IG15 G_M000_IG58: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 call [System.ThrowHelper:ThrowFormatException_BadFormatSpecifier()] int3 G_M000_IG59: call CORINFO_HELP_RNGCHKFAIL int3 RWD00 dd G_M000_IG31 - G_M000_IG02 dd G_M000_IG58 - G_M000_IG02 dd G_M000_IG43 - G_M000_IG02 dd G_M000_IG33 - G_M000_IG02 dd G_M000_IG14 - G_M000_IG02 RWD20 dd G_M000_IG41 - G_M000_IG02 dd G_M000_IG17 - G_M000_IG02 dd G_M000_IG56 - G_M000_IG02 dd G_M000_IG17 - G_M000_IG02 dd G_M000_IG12 - G_M000_IG02 RWD40 dd G_M000_IG24 - G_M000_IG02 dd G_M000_IG23 - G_M000_IG02 dd G_M000_IG22 - G_M000_IG02 dd G_M000_IG21 - G_M000_IG02 dd G_M000_IG20 - G_M000_IG02 RWD60 dd G_M000_IG29 - G_M000_IG02 dd G_M000_IG28 - G_M000_IG02 dd G_M000_IG27 - G_M000_IG02 dd G_M000_IG28 - G_M000_IG02 dd G_M000_IG26 - G_M000_IG02 ; Total bytes of code 1421 1043: JIT compiled System.Number:NumberToString[ushort](byref,byref,ushort,int,System.Globalization.NumberFormatInfo) [Instrumented Tier1 with Static PGO, IL size=503, code size=1421] ; Assembly listing for method System.String:Concat(System.String,System.String,System.String):System.String (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 147773 ; 12 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, 16 mov edi, ecx mov esi, edx mov ebx, gword ptr [ebp+08H] G_M000_IG02: test edi, edi je SHORT G_M000_IG06 G_M000_IG03: mov eax, dword ptr [edi+04H] test eax, eax je SHORT G_M000_IG06 G_M000_IG04: test esi, esi je SHORT G_M000_IG08 G_M000_IG05: jmp SHORT G_M000_IG10 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, esi mov edx, ebx call [System.String:Concat(System.String,System.String):System.String] G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, edi mov edx, ebx call [System.String:Concat(System.String,System.String):System.String] G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG10: cmp dword ptr [esi+04H], 0 je SHORT G_M000_IG08 G_M000_IG11: test ebx, ebx je G_M000_IG15 G_M000_IG12: cmp dword ptr [ebx+04H], 0 je G_M000_IG15 G_M000_IG13: xor ecx, ecx mov dword ptr [ebp-10H], eax mov edx, eax add edx, dword ptr [esi+04H] adc ecx, 0 add edx, dword ptr [ebx+04H] adc ecx, 0 mov dword ptr [ebp-14H], edx cmp edx, 0xD1FFAB1E sbb ecx, 0 jge G_M000_IG17 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [ebp-14H] call System.String:FastAllocateString(int):System.String mov gword ptr [ebp-18H], eax cmp byte ptr [eax], al lea ecx, bword ptr [eax+08H] lea edx, bword ptr [edi+08H] mov bword ptr [ebp-1CH], edx mov edi, dword ptr [ebp-10H] mov edx, edi add edx, edx push edx mov edx, bword ptr [ebp-1CH] call [System.Buffer:Memmove(byref,byref,uint)] mov eax, gword ptr [ebp-18H] lea ecx, bword ptr [eax+2*edi+08H] lea edx, bword ptr [esi+08H] mov eax, dword ptr [esi+04H] add eax, eax push eax call [System.Buffer:Memmove(byref,byref,uint)] add edi, dword ptr [esi+04H] mov esi, gword ptr [ebp-18H] lea ecx, bword ptr [esi+2*edi+08H] lea edx, bword ptr [ebx+08H] mov eax, dword ptr [ebx+04H] add eax, eax push eax call [System.Buffer:Memmove(byref,byref,uint)] mov eax, esi G_M000_IG14: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG15: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, edi mov edx, esi call [System.String:Concat(System.String,System.String):System.String] G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG17: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 call [System.ThrowHelper:ThrowOutOfMemoryException_StringTooLong()] int3 ; Total bytes of code 309 1044: JIT compiled System.String:Concat(System.String,System.String,System.String) [Instrumented Tier1 with Static PGO, IL size=137, code size=309] ; Assembly listing for method BenchmarkDotNet.Helpers.AsciiHelper:ToAscii(System.String):System.String (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 code ; 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 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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 62 1045: JIT compiled BenchmarkDotNet.Helpers.AsciiHelper:ToAscii(System.String) [Instrumented Tier0, IL size=22, code size=62] ; Assembly listing for method System.String:Replace(System.String,System.String):System.String:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 43287 ; 15 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, 80 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], esp mov dword ptr [ebp-58H], 0xD1FFAB1E mov esi, ecx mov edi, edx mov ebx, gword ptr [ebp+08H] G_M000_IG02: test edi, edi je G_M000_IG37 G_M000_IG03: mov eax, dword ptr [edi+04H] mov dword ptr [ebp-44H], eax test eax, eax je G_M000_IG37 G_M000_IG04: test ebx, ebx je G_M000_IG38 G_M000_IG05: mov ecx, -512 add ecx, esp jb SHORT G_M000_IG06 xor ecx, ecx G_M000_IG06: test dword ptr [esp], esp sub esp, 0x1000 cmp esp, ecx jae SHORT G_M000_IG06 mov esp, ecx lea ecx, [esp] mov dword ptr [ebp-10H], esp mov bword ptr [ebp-18H], ecx mov dword ptr [ebp-14H], 128 xor ecx, ecx mov gword ptr [ebp-20H], ecx G_M000_IG07: mov dword ptr [ebp-1CH], ecx cmp eax, 1 jne G_M000_IG24 G_M000_IG08: cmp dword ptr [ebx+04H], 1 je SHORT G_M000_IG13 G_M000_IG09: movzx edi, word ptr [edi+08H] xor edx, edx lea ecx, [edi-01H] cmp ecx, 254 jae G_M000_IG29 G_M000_IG10: mov gword ptr [ebp+08H], ebx G_M000_IG11: lea ecx, bword ptr [esi+2*edx+08H] mov ebx, dword ptr [esi+04H] mov dword ptr [ebp-24H], edx sub ebx, edx push ebx movsx edx, di call [System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short]](byref,short,int):int] mov ebx, eax test ebx, ebx jl G_M000_IG28 G_M000_IG12: jmp SHORT G_M000_IG15 G_M000_IG13: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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-58H], 0xD1FFAB1E je SHORT G_M000_IG14 call CORINFO_HELP_FAIL_FAST G_M000_IG14: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG15: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [ebp-24H] add ebx, eax mov edx, ebx mov ecx, dword ptr [ebp-1CH] mov eax, bword ptr [ebp-18H] mov bword ptr [ebp-4CH], eax mov eax, dword ptr [ebp-14H] cmp ecx, eax jae SHORT G_M000_IG21 G_M000_IG16: mov eax, bword ptr [ebp-4CH] mov dword ptr [eax+4*ecx], edx inc ecx mov dword ptr [ebp-1CH], ecx G_M000_IG17: lea eax, [ebx+01H] mov ebx, eax mov edx, ebx jmp G_M000_IG11 G_M000_IG18: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG19: cmp dword ptr [ebp-1CH], 0 jne G_M000_IG33 G_M000_IG20: jmp SHORT G_M000_IG22 G_M000_IG21: lea ecx, [ebp-20H] call [System.Collections.Generic.ValueListBuilder`1[int]:AddWithResize(int):this] jmp SHORT G_M000_IG17 G_M000_IG22: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, esi cmp dword ptr [ebp-58H], 0xD1FFAB1E je SHORT G_M000_IG23 call CORINFO_HELP_FAIL_FAST G_M000_IG23: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG24: xor edx, edx mov gword ptr [ebp+08H], ebx G_M000_IG25: lea ecx, bword ptr [esi+2*edx+08H] mov ebx, dword ptr [esi+04H] mov dword ptr [ebp-2CH], edx sub ebx, edx lea edx, bword ptr [edi+08H] push edx push dword ptr [ebp-44H] mov edx, ebx call [System.SpanHelpers:IndexOf(byref,int,byref,int):int] mov ebx, eax test ebx, ebx jl SHORT G_M000_IG18 G_M000_IG26: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [ebp-2CH] add ebx, eax mov edx, ebx mov ecx, dword ptr [ebp-1CH] mov eax, bword ptr [ebp-18H] mov bword ptr [ebp-54H], eax mov eax, dword ptr [ebp-14H] cmp ecx, eax jae SHORT G_M000_IG31 G_M000_IG27: mov eax, bword ptr [ebp-54H] mov dword ptr [eax+4*ecx], edx inc ecx mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG32 G_M000_IG28: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG19 G_M000_IG29: mov dword ptr [ebp-24H], edx mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG30: mov eax, dword ptr [ebp-24H] lea ecx, bword ptr [esi+2*eax+08H] mov edx, dword ptr [esi+04H] mov dword ptr [ebp-24H], eax sub edx, eax push edx movsx edx, di call [System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int] mov dword ptr [ebp-28H], eax test eax, eax jge G_M000_IG39 mov gword ptr [ebp+08H], ebx jmp G_M000_IG19 G_M000_IG31: lea ecx, [ebp-20H] call [System.Collections.Generic.ValueListBuilder`1[int]:AddWithResize(int):this] G_M000_IG32: add ebx, dword ptr [ebp-44H] mov edx, ebx jmp G_M000_IG25 G_M000_IG33: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edi, dword ptr [ebp-44H] lea ecx, [ebp-20H] lea edx, [ebp-34H] call [System.Collections.Generic.ValueListBuilder`1[int]:AsSpan():System.ReadOnlySpan`1[int]:this] push gword ptr [ebp+08H] push dword ptr [ebp-30H] push bword ptr [ebp-34H] mov ecx, esi mov edx, edi call [System.String:ReplaceHelper(int,System.String,System.ReadOnlySpan`1[int]):System.String:this] mov esi, eax mov edi, gword ptr [ebp-20H] test edi, edi jne SHORT G_M000_IG36 G_M000_IG34: mov eax, esi cmp dword ptr [ebp-58H], 0xD1FFAB1E je SHORT G_M000_IG35 call CORINFO_HELP_FAIL_FAST G_M000_IG35: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG36: xor ecx, ecx mov gword ptr [ebp-20H], ecx mov ecx, 0xD1FFAB1E mov edx, 56 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov ecx, gword ptr [D1FFAB1EH] push 0 mov edx, edi cmp dword ptr [ecx], ecx call [System.Buffers.SharedArrayPool`1[int]:Return(int[],bool):this] jmp SHORT G_M000_IG34 G_M000_IG37: mov ecx, 0x1795 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov edx, eax mov ecx, edi call [System.ArgumentException:ThrowNullOrEmptyException(System.String,System.String)] int3 G_M000_IG38: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, 0xD1FFAB1E mov eax, dword ptr [ebp-44H] jmp G_M000_IG05 G_M000_IG39: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [ebp-24H] mov ecx, eax add ecx, dword ptr [ebp-28H] mov dword ptr [ebp-3CH], ecx mov ecx, dword ptr [ebp-1CH] mov dword ptr [ebp-38H], ecx mov ecx, bword ptr [ebp-18H] mov bword ptr [ebp-50H], ecx mov ecx, dword ptr [ebp-14H] mov dword ptr [ebp-40H], ecx mov ecx, dword ptr [ebp-38H] cmp ecx, dword ptr [ebp-40H] jae SHORT G_M000_IG40 mov gword ptr [ebp-48H], esi mov esi, bword ptr [ebp-50H] mov edx, dword ptr [ebp-3CH] mov dword ptr [esi+4*ecx], edx inc ecx mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG41 G_M000_IG40: lea ecx, [ebp-20H] mov edx, dword ptr [ebp-3CH] call [System.Collections.Generic.ValueListBuilder`1[int]:AddWithResize(int):this] mov gword ptr [ebp-48H], esi G_M000_IG41: mov eax, dword ptr [ebp-24H] mov edx, dword ptr [ebp-28H] lea eax, [eax+edx+01H] mov dword ptr [ebp-24H], eax mov esi, gword ptr [ebp-48H] jmp G_M000_IG30 ; Total bytes of code 816 1046: JIT compiled System.String:Replace(System.String,System.String) [Instrumented Tier1 with Static PGO, IL size=353, code size=816] ; Assembly listing for method System.String:Replace(ushort,ushort):System.String:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 55357 ; 11 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, 12 mov esi, ecx mov edi, edx mov ebx, dword ptr [ebp+08H] G_M000_IG02: movzx edx, di mov dword ptr [ebp+08H], ebx movzx ecx, bx cmp edx, ecx je G_M000_IG15 lea ecx, bword ptr [esi+08H] mov eax, dword ptr [esi+04H] movsx edx, di movzx ebx, dx dec ebx cmp ebx, 254 jae G_M000_IG14 G_M000_IG03: movzx edx, dx push eax movsx edx, dx call [System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short]](byref,short,int):int] mov ebx, eax G_M000_IG04: test ebx, ebx jge SHORT G_M000_IG07 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, esi G_M000_IG06: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG07: mov eax, dword ptr [esi+04H] sub eax, ebx mov dword ptr [ebp-10H], eax mov ecx, dword ptr [esi+04H] call System.String:FastAllocateString(int):System.String mov gword ptr [ebp-14H], eax test ebx, ebx jle SHORT G_M000_IG09 G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, gword ptr [ebp-14H] cmp byte ptr [eax], al lea ecx, bword ptr [eax+08H] lea edx, bword ptr [esi+08H] lea eax, [ebx+ebx] push eax call [System.Buffer:Memmove(byref,byref,uint)] G_M000_IG09: lea eax, bword ptr [esi+2*ebx+08H] mov bword ptr [ebp-18H], eax mov edx, gword ptr [ebp-14H] cmp byte ptr [edx], dl lea ebx, bword ptr [edx+2*ebx+08H] mov esi, dword ptr [esi+04H] cmp esi, 8 jb SHORT G_M000_IG13 G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [ebp-10H] sub esi, ecx and esi, 7 lea eax, [esi+esi] mov edx, bword ptr [ebp-18H] sub edx, eax mov bword ptr [ebp-18H], edx sub ebx, eax add ecx, esi mov dword ptr [ebp-10H], ecx G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 movzx ecx, di push ecx movzx ecx, word ptr [ebp+08H] push ecx push dword ptr [ebp-10H] mov ecx, bword ptr [ebp-18H] mov edx, ebx call [System.SpanHelpers:ReplaceValueType[ushort](byref,byref,ushort,ushort,uint)] mov eax, gword ptr [ebp-14H] G_M000_IG12: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG13: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG11 G_M000_IG14: push eax call [System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int] mov ebx, eax jmp G_M000_IG04 G_M000_IG15: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, esi G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 307 1047: JIT compiled System.String:Replace(ushort,ushort) [Instrumented Tier1 with Static PGO, IL size=179, code size=307] ; Assembly listing for method System.Text.StringBuilder:ToString():System.String:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 80677 ; 5 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, 8 mov esi, ecx G_M000_IG02: mov ecx, dword ptr [esi+10H] add ecx, dword ptr [esi+0CH] je SHORT G_M000_IG09 G_M000_IG03: call System.String:FastAllocateString(int):System.String mov edi, eax G_M000_IG04: mov ebx, dword ptr [esi+0CH] test ebx, ebx jle SHORT G_M000_IG06 G_M000_IG05: mov eax, gword ptr [esi+04H] mov edx, eax mov gword ptr [ebp-14H], edx mov eax, dword ptr [esi+10H] mov dword ptr [ebp-10H], eax lea ecx, [ebx+eax] cmp ecx, dword ptr [edi+04H] ja SHORT G_M000_IG13 cmp dword ptr [edx+04H], ebx jb SHORT G_M000_IG08 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, dword ptr [ebp-10H] lea ecx, bword ptr [edi+2*ecx+08H] mov edx, gword ptr [ebp-14H] add edx, 8 add ebx, ebx push ebx call [System.Buffer:Memmove(byref,byref,uint)] G_M000_IG06: mov esi, gword ptr [esi+08H] test esi, esi je SHORT G_M000_IG11 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG04 G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG13 G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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 call CORINFO_HELP_COUNTPROFILE32 mov eax, edi G_M000_IG12: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG13: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0x18395 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 220 1048: JIT compiled System.Text.StringBuilder:ToString() [Instrumented Tier1 with Static PGO, IL size=132, code size=220] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:WriteLine(System.String):this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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] call [BenchmarkDotNet.Engines.Engine:get_Host():BenchmarkDotNet.Engines.IHost:this] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-0CH] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-10H] 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 67 1049: JIT compiled BenchmarkDotNet.Engines.Engine:WriteLine(System.String) [Instrumented Tier0, IL size=13, code size=67] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:WriteLine(System.String):this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-0CH] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-10H] 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 69 1050: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:WriteLine(System.String) [Instrumented Tier0, IL size=13, code size=69] ; Assembly listing for method System.IO.StreamWriter:WriteLine(System.String):this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 34 ; 14 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, 44 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_IG31 test edx, edx je SHORT G_M000_IG10 G_M000_IG03: lea edi, bword ptr [edx+08H] mov ebx, dword ptr [edx+04H] G_M000_IG04: mov bword ptr [ebp-34H], edi mov ecx, gword ptr [esi+24H] test dword ptr [ecx+1CH], 0xD1FFAB1E je G_M000_IG31 cmp ebx, 4 jg G_M000_IG17 G_M000_IG05: mov ecx, dword ptr [esi+2CH] sub ecx, dword ptr [esi+28H] cmp ecx, ebx jl G_M000_IG17 G_M000_IG06: xor ecx, ecx test ebx, ebx jle G_M000_IG14 G_M000_IG07: mov eax, gword ptr [esi+20H] G_M000_IG08: mov gword ptr [ebp-38H], 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-34H] movzx edi, word ptr [edi+2*ecx] cmp eax, dword ptr [edx+04H] jae G_M000_IG34 mov word ptr [edx+2*eax+08H], di inc ecx cmp ecx, ebx mov eax, gword ptr [ebp-38H] jl SHORT G_M000_IG08 G_M000_IG09: jmp SHORT G_M000_IG14 G_M000_IG10: xor edi, edi xor ebx, ebx jmp SHORT G_M000_IG04 G_M000_IG11: mov dword ptr [ebp-24H], edx lea eax, [edx+edx] mov dword ptr [ebp-28H], eax mov edi, eax sar edi, 31 test edi, edi jne G_M000_IG30 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-28H] add eax, dword ptr [ebp-1CH] sub ebx, ecx test ebx, ebx mov dword ptr [ebp-1CH], eax mov ecx, edx jg SHORT G_M000_IG16 G_M000_IG12: xor ecx, ecx mov bword ptr [ebp-14H], ecx G_M000_IG13: mov bword ptr [ebp-10H], ecx G_M000_IG14: mov edi, gword ptr [esi+04H] xor ebx, ebx cmp dword ptr [edi+04H], 0 jle G_M000_IG22 G_M000_IG15: jmp G_M000_IG29 G_M000_IG16: mov eax, gword ptr [ebp-30H] jmp SHORT G_M000_IG18 G_M000_IG17: cmp byte ptr [esi+33H], 0 jne G_M000_IG32 mov eax, gword ptr [esi+20H] mov gword ptr [ebp-30H], eax mov edi, bword ptr [ebp-34H] mov bword ptr [ebp-10H], edi cmp dword ptr [eax+04H], 0 jbe G_M000_IG34 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_IG12 G_M000_IG18: cmp dword ptr [eax+04H], ecx je SHORT G_M000_IG24 G_M000_IG19: mov eax, gword ptr [ebp-30H] mov edx, dword ptr [eax+04H] sub edx, ecx cmp edx, ebx jle G_M000_IG11 G_M000_IG20: mov edx, ebx jmp G_M000_IG11 G_M000_IG21: mov eax, gword ptr [esi+20H] mov edx, dword ptr [esi+28H] mov dword ptr [ebp-2CH], edx mov ecx, edx movzx edx, word ptr [edi+2*ebx+08H] cmp ecx, dword ptr [eax+04H] jae G_M000_IG34 mov word ptr [eax+2*ecx+08H], dx mov edx, dword ptr [ebp-2CH] inc edx mov dword ptr [esi+28H], edx inc ebx cmp dword ptr [edi+04H], ebx jg SHORT G_M000_IG29 G_M000_IG22: cmp byte ptr [esi+30H], 0 je SHORT G_M000_IG26 G_M000_IG23: jmp SHORT G_M000_IG25 G_M000_IG24: 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 jmp SHORT G_M000_IG19 G_M000_IG25: push 0 mov ecx, esi mov edx, 1 call [System.IO.StreamWriter:Flush(bool,bool):this] G_M000_IG26: xor ecx, ecx mov bword ptr [ebp-10H], ecx G_M000_IG27: mov bword ptr [ebp-14H], ecx G_M000_IG28: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG29: mov ecx, dword ptr [esi+28H] cmp ecx, dword ptr [esi+2CH] je SHORT G_M000_IG33 jmp SHORT G_M000_IG21 G_M000_IG30: call CORINFO_HELP_OVERFLOW G_M000_IG31: call [System.IO.StreamWriter:ThrowAsyncIOInProgress()] int3 G_M000_IG32: mov ecx, esi call [System.IO.StreamWriter:g__ThrowObjectDisposedException|77_0():this] int3 G_M000_IG33: push 0 mov ecx, esi xor edx, edx call [System.IO.StreamWriter:Flush(bool,bool):this] jmp G_M000_IG21 G_M000_IG34: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 491 1051: JIT compiled System.IO.StreamWriter:WriteLine(System.String) [Instrumented Tier1 with Static PGO, IL size=20, code size=491] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:Consume(byref):this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 1052: JIT compiled BenchmarkDotNet.Engines.Engine:Consume(byref) [Instrumented Tier0, IL size=1, code size=16] ; Assembly listing for method BenchmarkDotNet.Engines.EngineStage:RunIteration(int,int,int,long,int):BenchmarkDotNet.Reports.Measurement:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 108 vzeroupper 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 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-64H], eax mov eax, dword ptr [ebp-64H] sar eax, 31 push eax push dword ptr [ebp-64H] call CORINFO_HELP_LMOD mov dword ptr [ebp-6CH], eax mov dword ptr [ebp-68H], edx mov ecx, dword ptr [ebp-6CH] or ecx, dword ptr [ebp-68H] 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-50H], eax mov edx, gword ptr [ebp-50H] 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-54H], eax mov edx, gword ptr [ebp-54H] 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-58H], eax mov edx, gword ptr [ebp-58H] 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-5CH], eax mov edx, gword ptr [ebp-5CH] 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] mov ecx, gword ptr [ebp-44H] mov gword ptr [ebp-4CH], ecx mov ecx, gword ptr [ebp-4CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-4CH] mov gword ptr [ebp-60H], ecx 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-60H] 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 387 1053: JIT compiled BenchmarkDotNet.Engines.EngineStage:RunIteration(int,int,int,long,int) [Instrumented Tier0, IL size=109, code size=387] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:.ctor(int,int,int,long,int):this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 1054: JIT compiled BenchmarkDotNet.Engines.IterationData:.ctor(int,int,int,long,int) [Instrumented Tier0, IL size=38, code size=84] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:RunIteration(BenchmarkDotNet.Engines.IterationData):BenchmarkDotNet.Reports.Measurement:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 248 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-E0H], 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 dword ptr [ebp-0CH], esp mov dword ptr [ebp-F8H], 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-E8H], eax mov dword ptr [ebp-E4H], edx push dword ptr [ebp-E4H] push dword ptr [ebp-E8H] 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: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Engines.Engine:get_IterationSetupAction():System.Action:this] mov gword ptr [ebp-BCH], eax mov ecx, gword ptr [ebp-BCH] mov edx, 0xD1FFAB1E call CORINFO_HELP_DELEGATEPROFILE32 mov ecx, gword ptr [ebp-BCH] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-BCH] call [eax+0CH]System.Action:Invoke():this G_M000_IG07: mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Engines.Engine:GcCollect():this] 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 call CORINFO_HELP_COUNTPROFILE32 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 G_M000_IG11 mov ecx, gword ptr [ebp-10H] mov ecx, gword ptr [ecx+58H] mov gword ptr [ebp-C0H], ecx mov ecx, gword ptr [ebp-C0H] mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-C0H] mov gword ptr [ebp-CCH], ecx mov ecx, gword ptr [ebp-CCH] mov edx, 32 mov eax, gword ptr [ebp-CCH] 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-D0H], edx push dword ptr [ebp-8CH] mov edx, dword ptr [ebp-D0H] 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: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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-D4H], eax mov edx, gword ptr [ebp-D4H] lea ecx, [ebp-48H] call [Perfolizer.Horology.ClockExtensions:Start(Perfolizer.Horology.IClock):Perfolizer.Horology.StartedClock] mov ecx, gword ptr [ebp-34H] mov gword ptr [ebp-C4H], ecx mov ecx, gword ptr [ebp-C4H] mov edx, 0xD1FFAB1E call CORINFO_HELP_DELEGATEPROFILE32 mov eax, gword ptr [ebp-C4H] mov gword ptr [ebp-D8H], eax push dword ptr [ebp-18H] push dword ptr [ebp-1CH] mov eax, dword ptr [ebp-20H] mov dword ptr [ebp-ECH], eax mov eax, dword ptr [ebp-ECH] sar eax, 31 push eax push dword ptr [ebp-ECH] call CORINFO_HELP_LDIV mov dword ptr [ebp-F4H], eax mov dword ptr [ebp-F0H], edx push dword ptr [ebp-F0H] push dword ptr [ebp-F4H] mov ecx, gword ptr [ebp-D8H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-D8H] 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, 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 call CORINFO_HELP_COUNTPROFILE32 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, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Engines.Engine:get_IterationCleanupAction():System.Action:this] mov gword ptr [ebp-C8H], eax mov ecx, gword ptr [ebp-C8H] mov edx, 0xD1FFAB1E call CORINFO_HELP_DELEGATEPROFILE32 mov ecx, gword ptr [ebp-C8H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-C8H] call [eax+0CH]System.Action:Invoke():this G_M000_IG14: cmp dword ptr [ebp-30H], 0 je SHORT G_M000_IG15 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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-100H] vmovsd xmm0, qword ptr [ebp-100H] 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-DCH], eax mov edx, gword ptr [ebp-DCH] 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, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, gword ptr [ebp-10H] mov ecx, gword ptr [ecx+48H] mov gword ptr [ebp-E0H], 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-E0H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:Add(BenchmarkDotNet.Reports.Measurement):this] G_M000_IG16: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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-F8H], 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 1260 1055: JIT compiled BenchmarkDotNet.Engines.Engine:RunIteration(BenchmarkDotNet.Engines.IterationData) [Instrumented Tier0, IL size=361, code size=1260] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_InvokeCount():long:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 1056: JIT compiled BenchmarkDotNet.Engines.IterationData:get_InvokeCount() [Instrumented Tier0, IL size=7, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_UnrollFactor():int:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 1057: JIT compiled BenchmarkDotNet.Engines.IterationData:get_UnrollFactor() [Instrumented Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_OperationsPerInvoke():long:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 1058: JIT compiled BenchmarkDotNet.Engines.Engine:get_OperationsPerInvoke() [Instrumented Tier0, IL size=7, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:IterationStart(int,int,long):this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG14 G_M000_IG04: cmp dword ptr [ebp-08H], 0 jne SHORT G_M000_IG05 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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_IG15 G_M000_IG05: cmp dword ptr [ebp-08H], 1 jne G_M000_IG14 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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_IG15 G_M000_IG06: cmp dword ptr [ebp-08H], 1 jne SHORT G_M000_IG07 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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_IG15 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG14 G_M000_IG08: cmp dword ptr [ebp-08H], 0 jne SHORT G_M000_IG09 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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_IG15 G_M000_IG09: cmp dword ptr [ebp-08H], 1 jne SHORT G_M000_IG10 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:WorkloadWarmupStart(long):this] jmp G_M000_IG15 G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG14 G_M000_IG11: cmp dword ptr [ebp-08H], 0 jne SHORT G_M000_IG12 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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_IG15 G_M000_IG12: cmp dword ptr [ebp-08H], 1 jne SHORT G_M000_IG13 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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_IG15 G_M000_IG13: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG14: 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_IG15: 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_IG08 - G_M000_IG02 dd G_M000_IG11 - G_M000_IG02 ; Total bytes of code 446 1059: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:IterationStart(int,int,long) [Instrumented Tier0, IL size=125, code size=446] ; Assembly listing for method System.Diagnostics.Tracing.ActivityTracker:OnStart(System.String,System.String,int,byref,byref,int,bool):this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 13 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, 56 vzeroupper mov esi, ecx mov edi, edx mov ebx, bword ptr [ebp+14H] G_M000_IG02: cmp gword ptr [esi+04H], 0 jne G_M000_IG12 G_M000_IG03: cmp byte ptr [esi+08H], 0 je SHORT G_M000_IG05 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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_IG11 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_IG11 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, esi call [System.Diagnostics.Tracing.ActivityTracker:Enable():this] G_M000_IG08: cmp gword ptr [esi+04H], 0 jne SHORT G_M000_IG10 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 24 G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG12 G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG08 G_M000_IG12: mov ecx, gword ptr [esi+04H] cmp byte ptr [ecx], cl call [System.Threading.ExecutionContext:GetLocalValue(System.Threading.IAsyncLocal):System.Object] mov edx, eax test edx, edx je SHORT G_M000_IG14 G_M000_IG13: mov ecx, 0xD1FFAB1E cmp dword ptr [edx], ecx jne G_M000_IG35 G_M000_IG14: 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 cmp byte ptr [ebp+08H], 0 jne SHORT G_M000_IG15 xor edx, edx jmp SHORT G_M000_IG16 G_M000_IG15: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edx, gword ptr [D1FFAB1EH] G_M000_IG16: mov gword ptr [ebp-34H], edx test edx, edx je SHORT G_M000_IG17 movzx ecx, byte ptr [edx+6DH] jmp SHORT G_M000_IG18 G_M000_IG17: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx G_M000_IG18: movzx ecx, cl mov dword ptr [ebp-10H], ecx test ecx, ecx je SHORT G_M000_IG19 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, gword ptr [ebp-34H] cmp byte ptr [eax], al push 0xD1FFAB1E push gword ptr [ebp-30H] mov ecx, eax 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] G_M000_IG19: mov eax, gword ptr [ebp-2CH] test eax, eax je G_M000_IG25 cmp dword ptr [eax+20H], 100 jl SHORT G_M000_IG22 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_IG20 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ebx, gword ptr [ebp-34H] 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_IG20: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG21: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 24 G_M000_IG22: test byte ptr [ebp+0CH], 4 jne G_M000_IG28 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 je SHORT G_M000_IG27 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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_IG24 G_M000_IG23: mov edx, 0xD1FFAB1E cmp dword ptr [ecx], edx jne G_M000_IG36 G_M000_IG24: mov edi, ecx mov eax, edi G_M000_IG25: mov gword ptr [ebp-2CH], eax test eax, eax jne SHORT G_M000_IG29 G_M000_IG26: 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_IG30 G_M000_IG27: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, gword ptr [ebp-2CH] jmp SHORT G_M000_IG25 G_M000_IG28: mov gword ptr [ebp-2CH], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG29: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, gword ptr [ebp-2CH] cmp byte ptr [eax], al mov gword ptr [ebp-2CH], eax lea ecx, bword ptr [eax+0CH] push 0 push 1 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_IG30: 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_IG31 xor edx, edx jmp SHORT G_M000_IG32 G_M000_IG31: mov edx, dword ptr [ecx+20H] inc edx G_M000_IG32: 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_IG33 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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_IG33: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG34: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 24 G_M000_IG35: mov edx, eax call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 G_M000_IG36: mov ecx, edx mov edx, eax call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 ; Total bytes of code 957 1060: JIT compiled System.Diagnostics.Tracing.ActivityTracker:OnStart(System.String,System.String,int,byref,byref,int,bool) [Instrumented Tier1, IL size=389, code size=957] ; Assembly listing for method System.Span`1[ubyte]:get_Empty():System.Span`1[ubyte] (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; 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 1061: JIT compiled System.Span`1[ubyte]:get_Empty() [Instrumented Tier1, IL size=10, code size=8] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_Clock():Perfolizer.Horology.IClock:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 code ; ebp 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 1062: JIT compiled BenchmarkDotNet.Engines.Engine:get_Clock() [Instrumented Tier0, IL size=7, code size=17] ; Assembly listing for method Perfolizer.Horology.ClockExtensions:Start(Perfolizer.Horology.IClock):Perfolizer.Horology.StartedClock (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 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] mov gword ptr [ebp-24H], ecx mov ecx, gword ptr [ebp-10H] mov gword ptr [ebp-20H], ecx mov ecx, gword ptr [ebp-20H] mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, gword ptr [ebp-20H] call [Perfolizer.Horology.IClock:GetTimestamp():long:this] mov dword ptr [ebp-2CH], eax mov dword ptr [ebp-28H], edx push dword ptr [ebp-28H] push dword ptr [ebp-2CH] mov edx, gword ptr [ebp-24H] lea ecx, [ebp-1CH] 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 117 1063: JIT compiled Perfolizer.Horology.ClockExtensions:Start(Perfolizer.Horology.IClock) [Instrumented Tier0, IL size=13, code size=117] ; Assembly listing for method Perfolizer.Horology.StartedClock:.ctor(Perfolizer.Horology.IClock,long):this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 1064: JIT compiled Perfolizer.Horology.StartedClock:.ctor(Perfolizer.Horology.IClock,long) [Instrumented Tier0, IL size=15, code size=60] ; Assembly listing for method System.Number+Grisu3:BiggestPowerTen(uint,int,byref):uint (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 569 ; 2 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 G_M000_IG02: inc edx imul esi, edx, 0x4D1 sar esi, 12 cmp esi, 10 jae SHORT G_M000_IG06 mov edi, dword ptr [4*esi+D1FFAB1EH] cmp ecx, edi jae SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 dec esi cmp esi, 10 jae SHORT G_M000_IG06 mov edi, dword ptr [4*esi+D1FFAB1EH] G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 lea eax, [esi+01H] mov esi, bword ptr [ebp+08H] mov dword ptr [esi], eax mov eax, edi G_M000_IG05: pop esi pop edi pop ebp ret 4 G_M000_IG06: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 86 1065: JIT compiled System.Number+Grisu3:BiggestPowerTen(uint,int,byref) [Instrumented Tier1 with Static PGO, IL size=60, code size=86] ; Assembly listing for method System.GC:Collect() (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 32 G_M000_IG02: lea edi, [ebp-28H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-14H], eax push 2 push -1 mov dword ptr [ebp-20H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-1CH], eax lea eax, G_M000_IG05 mov dword ptr [ebp-18H], eax mov byte ptr [esi+08H], 0 G_M000_IG03: mov eax, 0xD1FFAB1E G_M000_IG04: call eax ; System.GC:_Collect(int,int) G_M000_IG05: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG06 call CORINFO_HELP_STOP_FOR_GC G_M000_IG06: xor eax, eax mov dword ptr [ebp-18H], eax mov eax, bword ptr [ebp-24H] mov dword ptr [esi+0CH], eax G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 95 1066: JIT compiled System.GC:Collect() [Tier1, IL size=8, code size=95] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_IterationMode():int:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 1067: JIT compiled BenchmarkDotNet.Engines.IterationData:get_IterationMode() [Tier1, IL size=7, code size=3] ; Assembly listing for method System.Gen2GcCallback:Finalize():this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 36 ; 9 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, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-1CH], ecx G_M000_IG02: mov eax, dword ptr [ecx+0CH] test eax, eax je SHORT G_M000_IG09 and eax, -2 mov edx, gword ptr [eax] test edx, edx je G_M000_IG11 G_M000_IG03: mov esi, gword ptr [ecx+08H] cmp dword ptr [esi+0CH], 0xD1FFAB1E jne SHORT G_M000_IG06 mov eax, edx mov esi, 0xD1FFAB1E cmp dword ptr [eax], esi jne SHORT G_M000_IG05 mov ecx, eax call [System.Buffers.SharedArrayPool`1[ushort]:Trim():bool:this] jmp SHORT G_M000_IG07 G_M000_IG04: mov ecx, gword ptr [ebp-1CH] add ecx, 12 call [System.Runtime.InteropServices.GCHandle:Free():this] mov dword ptr [ebp-14H], 0 mov dword ptr [ebp-10H], 252 push G_M000_IG16 jmp G_M000_IG18 G_M000_IG05: mov ecx, esi call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 G_M000_IG06: mov ecx, gword ptr [esi+04H] call [esi+0CH]System.Func`2[System.__Canon,bool]:Invoke(System.__Canon):bool:this G_M000_IG07: test eax, eax je SHORT G_M000_IG04 jmp SHORT G_M000_IG13 G_M000_IG08: call CORINFO_HELP_ENDCATCH jmp SHORT G_M000_IG13 G_M000_IG09: 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_IG13 mov dword ptr [ebp-14H], 0 mov dword ptr [ebp-10H], 252 push G_M000_IG17 jmp SHORT G_M000_IG18 G_M000_IG10: mov ecx, 0x12E9 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 G_M000_IG11: add ecx, 12 call [System.Runtime.InteropServices.GCHandle:Free():this] mov dword ptr [ebp-14H], 0 mov dword ptr [ebp-10H], 252 push G_M000_IG15 jmp SHORT G_M000_IG18 G_M000_IG12: call CORINFO_HELP_ENDCATCH G_M000_IG13: mov ecx, gword ptr [ebp-1CH] test ecx, ecx je SHORT G_M000_IG10 call System.GC:_ReRegisterForFinalize(System.Object) G_M000_IG14: mov ecx, gword ptr [ebp-1CH] call [System.Runtime.ConstrainedExecution.CriticalFinalizerObject:Finalize():this] jmp SHORT G_M000_IG19 G_M000_IG15: mov dword ptr [ebp-10H], 0 jmp SHORT G_M000_IG19 G_M000_IG16: mov dword ptr [ebp-10H], 0 jmp SHORT G_M000_IG19 G_M000_IG17: mov dword ptr [ebp-10H], 0 jmp SHORT G_M000_IG19 G_M000_IG18: mov ecx, gword ptr [ebp-1CH] call [System.Runtime.ConstrainedExecution.CriticalFinalizerObject:Finalize():this] pop eax jmp eax G_M000_IG19: lea esp, [ebp-04H] pop esi pop ebp ret ; Total bytes of code 293 1068: JIT compiled System.Gen2GcCallback:Finalize() [Tier1 with Dynamic PGO, IL size=111, code size=293] ; Assembly listing for method System.Buffers.SharedArrayPool`1+<>c[ushort]:b__11_0(System.Object):bool:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 30 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 1069: JIT compiled System.Buffers.SharedArrayPool`1+<>c[ushort]:b__11_0(System.Object) [Tier1 with Static PGO, IL size=12, code size=37] ; Assembly listing for method System.Buffers.SharedArrayPool`1[ushort]:Trim():bool:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 36 ; 21 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, 168 vxorps xmm4, xmm4, xmm4 mov eax, -96 vmovdqu xmmword ptr [ebp+eax-50H], xmm4 vmovdqu xmmword ptr [ebp+eax-40H], xmm4 vmovdqu xmmword ptr [ebp+eax-30H], xmm4 add eax, 48 jne SHORT -5 instr mov dword ptr [ebp-50H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-24H], 0xD1FFAB1E mov ebx, ecx G_M000_IG02: call System.Environment:get_TickCount():int mov esi, eax mov dword ptr [ebp-48H], esi call [System.Buffers.Utilities:GetMemoryPressure():int] mov edi, eax mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-90H], eax cmp byte ptr [eax+59H], 0 je G_M000_IG09 mov dword ptr [ebp-80H], esi mov dword ptr [ebp-84H], edi lea ecx, [ebp-44H] lea edx, [ebp-80H] mov esi, ecx mov dword ptr [esi], edx xor edx, edx mov dword ptr [esi+04H], edx mov dword ptr [ecx+08H], 4 G_M000_IG03: mov dword ptr [ecx+0CH], edx lea edx, [ebp-84H] lea esi, [ecx+10H] mov dword ptr [esi], edx xor edx, edx mov dword ptr [esi+04H], edx mov dword ptr [ecx+18H], 4 G_M000_IG04: mov dword ptr [ecx+1CH], edx push 0 push 2 push ecx mov ecx, eax mov edx, 5 call [System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,uint,int,uint):this] mov eax, gword ptr [ebp-90H] G_M000_IG05: mov edx, gword ptr [ebx+08H] mov gword ptr [ebp-94H], edx xor ecx, ecx mov esi, dword ptr [edx+04H] test esi, esi jle SHORT G_M000_IG08 G_M000_IG06: mov eax, gword ptr [edx+4*ecx+08H] mov gword ptr [ebp-ACH], eax test eax, eax jne G_M000_IG56 G_M000_IG07: inc ecx cmp esi, ecx jg SHORT G_M000_IG06 G_M000_IG08: cmp edi, 2 je G_M000_IG57 mov ecx, 0x7530 mov eax, 0x3A98 cmp edi, 1 cmove ecx, eax mov dword ptr [ebp-64H], ecx mov ecx, gword ptr [ebx+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-A4H], eax jmp SHORT G_M000_IG16 G_M000_IG09: jmp SHORT G_M000_IG05 G_M000_IG10: cmp gword ptr [ebp-98H], 0 je SHORT G_M000_IG11 mov ecx, gword ptr [ebp-98H] call [System.IDisposable:Dispose():this] G_M000_IG11: pop eax jmp eax G_M000_IG12: mov ecx, gword ptr [ebx+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-9CH], eax jmp G_M000_IG50 G_M000_IG13: mov dword ptr [ebp-18H], 0 jmp G_M000_IG45 G_M000_IG14: cmp gword ptr [ebp-9CH], 0 je SHORT G_M000_IG15 mov ecx, gword ptr [ebp-9CH] call [System.IDisposable:Dispose():this] G_M000_IG15: pop eax jmp eax G_M000_IG16: mov ecx, eax call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je G_M000_IG42 G_M000_IG17: mov ecx, gword ptr [ebp-A4H] cmp dword ptr [ecx], 0xD1FFAB1E jne G_M000_IG30 G_M000_IG18: mov eax, ecx cmp dword ptr [eax+0CH], 0 jl G_M000_IG33 lea esi, bword ptr [eax+10H] lea edi, bword ptr [ebp-6CH] movsd movsd mov esi, gword ptr [ebp-6CH] xor edi, edi mov edx, dword ptr [esi+04H] mov dword ptr [ebp-8CH], edx test edx, edx jle SHORT G_M000_IG21 G_M000_IG19: cmp gword ptr [esi+8*edi+08H], 0 jne G_M000_IG24 G_M000_IG20: inc edi cmp edx, edi jg SHORT G_M000_IG19 G_M000_IG21: mov ecx, gword ptr [ebp-A4H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax mov ecx, gword ptr [ebp-A4H] jne SHORT G_M000_IG18 G_M000_IG22: jmp G_M000_IG42 G_M000_IG23: lea eax, bword ptr [esi+8*edi+08H] mov bword ptr [ebp-B0H], eax xor eax, eax mov ecx, bword ptr [ebp-B0H] xchg gword ptr [ecx], eax mov ecx, eax test ecx, ecx je SHORT G_M000_IG20 mov eax, gword ptr [ebp-90H] cmp byte ptr [eax+59H], 0 je SHORT G_M000_IG20 mov gword ptr [ebp-A8H], ecx call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int mov dword ptr [ebp-70H], eax mov edx, gword ptr [ebp-A8H] mov ecx, dword ptr [edx+04H] mov dword ptr [ebp-74H], ecx mov ecx, ebx call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int push dword ptr [ebp-70H] push dword ptr [ebp-74H] push eax mov ecx, gword ptr [ebp-90H] mov edx, 4 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int,int):this] mov edx, dword ptr [ebp-8CH] jmp G_M000_IG20 G_M000_IG24: mov ecx, dword ptr [esi+8*edi+0CH] test ecx, ecx je SHORT G_M000_IG26 G_M000_IG25: mov eax, dword ptr [ebp-48H] sub eax, ecx mov ecx, eax sar ecx, 31 mov dword ptr [ebp-B4H], ecx mov ecx, dword ptr [ebp-64H] cmp eax, ecx mov eax, dword ptr [ebp-B4H] sbb eax, 0 jge G_M000_IG23 jmp G_M000_IG20 G_M000_IG26: mov eax, dword ptr [ebp-48H] mov dword ptr [esi+8*edi+0CH], eax jmp G_M000_IG20 G_M000_IG27: mov esi, gword ptr [ebp-6CH] xor edi, edi cmp dword ptr [esi+04H], 0 jle G_M000_IG41 G_M000_IG28: cmp gword ptr [esi+8*edi+08H], 0 je G_M000_IG36 G_M000_IG29: jmp G_M000_IG38 G_M000_IG30: mov ecx, gword ptr [ebp-A4H] cmp dword ptr [ecx], 0xD1FFAB1E je SHORT G_M000_IG32 G_M000_IG31: lea edx, [ebp-6CH] 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] jmp SHORT G_M000_IG27 G_M000_IG32: mov eax, ecx cmp dword ptr [eax+0CH], 0 jge SHORT G_M000_IG35 G_M000_IG33: call [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumOpCantHappen()] int3 G_M000_IG34: lea ecx, bword ptr [esi+8*edi+08H] xor edx, edx xchg gword ptr [ecx], edx test edx, edx je SHORT G_M000_IG36 mov ecx, gword ptr [ebp-90H] cmp byte ptr [ecx+59H], 0 je SHORT G_M000_IG36 mov gword ptr [ebp-A8H], edx mov ecx, edx call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int mov dword ptr [ebp-70H], eax mov ecx, gword ptr [ebp-A8H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-74H], ecx mov ecx, ebx call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int push dword ptr [ebp-70H] push dword ptr [ebp-74H] push eax mov ecx, gword ptr [ebp-90H] mov edx, 4 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int,int):this] jmp SHORT G_M000_IG36 G_M000_IG35: lea esi, bword ptr [eax+10H] lea edi, bword ptr [ebp-6CH] movsd movsd jmp G_M000_IG27 G_M000_IG36: inc edi cmp dword ptr [esi+04H], edi jg G_M000_IG28 G_M000_IG37: jmp SHORT G_M000_IG41 G_M000_IG38: mov eax, dword ptr [esi+8*edi+0CH] test eax, eax je SHORT G_M000_IG40 G_M000_IG39: mov edx, dword ptr [ebp-48H] mov ecx, edx sub ecx, eax mov eax, ecx sar eax, 31 mov dword ptr [ebp-B4H], eax mov eax, dword ptr [ebp-64H] cmp ecx, eax mov ecx, dword ptr [ebp-B4H] sbb ecx, 0 jge G_M000_IG34 jmp SHORT G_M000_IG36 G_M000_IG40: mov edx, dword ptr [ebp-48H] mov dword ptr [esi+8*edi+0CH], edx jmp SHORT G_M000_IG36 G_M000_IG41: mov ecx, gword ptr [ebp-A4H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne G_M000_IG30 G_M000_IG42: mov ecx, gword ptr [ebp-A4H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG45 G_M000_IG43: cmp gword ptr [ebp-A4H], 0 je SHORT G_M000_IG44 mov ecx, gword ptr [ebp-A4H] call [System.IDisposable:Dispose():this] G_M000_IG44: pop eax jmp eax G_M000_IG45: mov eax, 1 cmp dword ptr [ebp-24H], 0xD1FFAB1E je SHORT G_M000_IG46 call CORINFO_HELP_FAIL_FAST G_M000_IG46: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG47: jmp SHORT G_M000_IG49 G_M000_IG48: lea edx, [ebp-54H] mov ecx, gword ptr [ebp-98H] 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-54H] call [System.Array:Clear(System.Array)] G_M000_IG49: mov ecx, gword ptr [ebp-98H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG48 mov dword ptr [ebp-1CH], 0 mov dword ptr [ebp-18H], 252 push G_M000_IG58 jmp G_M000_IG10 G_M000_IG50: jmp SHORT G_M000_IG55 G_M000_IG51: lea edx, [ebp-5CH] mov ecx, gword ptr [ebp-9CH] 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 edi, gword ptr [ebp-5CH] xor eax, eax jmp SHORT G_M000_IG54 G_M000_IG52: mov dword ptr [ebp-60H], eax lea ecx, bword ptr [edi+8*eax+08H] xor edx, edx xchg gword ptr [ecx], edx mov gword ptr [ebp-A0H], edx test edx, edx je SHORT G_M000_IG53 mov ecx, edx call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int mov dword ptr [ebp-78H], eax mov ecx, gword ptr [ebp-A0H] mov edx, dword ptr [ecx+04H] mov dword ptr [ebp-7CH], edx mov ecx, ebx call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int push dword ptr [ebp-78H] push dword ptr [ebp-7CH] push eax mov ecx, esi mov edx, 4 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int,int):this] G_M000_IG53: mov eax, dword ptr [ebp-60H] inc eax G_M000_IG54: cmp dword ptr [edi+04H], eax jg SHORT G_M000_IG52 G_M000_IG55: mov ecx, gword ptr [ebp-9CH] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG51 mov dword ptr [ebp-1CH], 0 mov dword ptr [ebp-18H], 252 push G_M000_IG13 jmp G_M000_IG14 G_M000_IG56: mov dword ptr [ebp-4CH], ecx mov ecx, ebx call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int push eax push edi mov edx, 16 mov ecx, dword ptr [ebp-4CH] shl edx, cl push edx mov edx, dword ptr [ebp-48H] mov ecx, gword ptr [ebp-ACH] call [System.Buffers.SharedArrayPool`1+Partitions[ushort]:Trim(int,int,int,int):this] mov ecx, dword ptr [ebp-4CH] mov edx, gword ptr [ebp-94H] jmp G_M000_IG07 G_M000_IG57: mov esi, gword ptr [ebp-90H] cmp byte ptr [esi+59H], 0 jne G_M000_IG12 mov ecx, gword ptr [ebx+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-98H], eax jmp G_M000_IG47 G_M000_IG58: mov dword ptr [ebp-18H], 0 jmp G_M000_IG45 ; Total bytes of code 1270 1070: JIT compiled System.Buffers.SharedArrayPool`1[ushort]:Trim() [Tier1 with Dynamic PGO, IL size=523, code size=1270] ; Assembly listing for method System.Buffers.Utilities:GetMemoryPressure():int (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 36 ; 9 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, 16 vzeroupper G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi xor edx, edx call System.GC:GetMemoryInfo(System.GCMemoryInfoData,int) 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 jae SHORT G_M000_IG04 vmulsd xmm0, xmm0, qword ptr [@RWD08] xor eax, eax vucomisd xmm2, xmm0 setae al G_M000_IG03: lea esp, [ebp-04H] pop esi pop ebp ret G_M000_IG04: mov eax, 2 G_M000_IG05: lea esp, [ebp-04H] pop esi pop ebp ret RWD00 dq 3FECCCCCCCCCCCCDh ; 0.9 RWD08 dq 3FE6666666666666h ; 0.7 ; Total bytes of code 133 1071: JIT compiled System.Buffers.Utilities:GetMemoryPressure() [Tier1 with Dynamic PGO, IL size=68, code size=133] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceInterval:get_Margin():double:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 1072: JIT compiled Perfolizer.Mathematics.Common.ConfidenceInterval:get_Margin() [Instrumented Tier0, IL size=7, code size=32] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_OverheadAction():System.Action`1[long]:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 code ; ebp 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 1073: JIT compiled BenchmarkDotNet.Engines.Engine:get_OverheadAction() [Instrumented Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.DeadCodeEliminationHelper:KeepAliveWithoutBoxing[int](int) (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 esp, ebp pop ebp ret ; Total bytes of code 11 1074: JIT compiled BenchmarkDotNet.Engines.DeadCodeEliminationHelper:KeepAliveWithoutBoxing[int](int) [Instrumented Tier0, IL size=1, code size=11] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:WorkloadWarmupStop(long):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 14 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 1075: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:WorkloadWarmupStop(long) [Tier0, IL size=10, code size=33] ; Assembly listing for method BenchmarkDotNet.Engines.StoppingResult:CreateFinished(System.String):BenchmarkDotNet.Engines.StoppingResult (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1076: 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) (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 1077: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1078: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1079: JIT compiled BenchmarkDotNet.Engines.EngineActualStage:Run(long,int,bool,int,bool) [Tier0, IL size=69, code size=260] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:WorkloadActualStart(long):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 15 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 1080: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:WorkloadActualStart(long) [Tier0, IL size=10, code size=33] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:WorkloadActualStop(long):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 16 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 1081: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:WorkloadActualStop(long) [Tier0, IL size=10, code size=33] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Item(int):BenchmarkDotNet.Reports.Measurement:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 ecx, dword ptr [ebp+08H] mov eax, gword ptr [ebp-04H] cmp ecx, dword ptr [eax+08H] jb SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 call [System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException()] G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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 99 1082: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Item(int) [Instrumented Tier0, IL size=27, code size=99] ; Assembly listing for method System.Number+BigInteger:Multiply(byref,uint,byref) (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 4 ; 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 mov ebx, bword ptr [ebp+08H] G_M000_IG02: mov eax, dword ptr [esi] cmp eax, 1 jle SHORT G_M000_IG08 cmp edi, 1 jbe G_M000_IG09 mov dword ptr [ebp-10H], eax xor edx, edx mov dword ptr [ebp-14H], edx xor ecx, ecx mov dword ptr [ebp-18H], ecx test eax, eax jle SHORT G_M000_IG07 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov bword ptr [ebp-2CH], esi mov ecx, dword ptr [ebp-14H] mov eax, dword ptr [esi+4*ecx+04H] mul edx:eax, edi mov esi, dword ptr [ebp-18H] add eax, esi adc edx, 0 mov esi, edx cmp byte ptr [ebx], bl mov dword ptr [ebx+4*ecx+04H], eax inc ecx mov dword ptr [ebp-14H], ecx cmp ecx, dword ptr [ebp-10H] jl SHORT G_M000_IG06 G_M000_IG04: test esi, esi jne SHORT G_M000_IG11 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov esi, dword ptr [ebp-10H] mov dword ptr [ebx], esi G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG06: mov dword ptr [ebp-18H], esi mov esi, bword ptr [ebp-2CH] jmp SHORT G_M000_IG03 G_M000_IG07: mov esi, dword ptr [ebp-18H] jmp SHORT G_M000_IG04 G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, esi call [System.Number+BigInteger:ToUInt32():uint:this] mul edx:eax, edi push edx push eax mov ecx, ebx call [System.Number+BigInteger:SetUInt64(byref,ulong)] jmp SHORT G_M000_IG05 G_M000_IG09: test edi, edi jne SHORT G_M000_IG10 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor ecx, ecx mov dword ptr [ebx], ecx jmp SHORT G_M000_IG05 G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov ecx, ebx mov edx, esi call [System.Number+BigInteger:SetValue(byref,byref)] jmp SHORT G_M000_IG05 G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 cmp byte ptr [ebx], bl mov edi, dword ptr [ebp-14H] mov dword ptr [ebx+4*edi+04H], esi mov esi, dword ptr [ebp-10H] inc esi mov dword ptr [ebx], esi jmp SHORT G_M000_IG05 ; Total bytes of code 239 1083: JIT compiled System.Number+BigInteger:Multiply(byref,uint,byref) [Instrumented Tier1 with Static PGO, IL size=158, code size=239] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:IsOutlier(int,double,double,double):bool (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 41 G_M000_IG01: push ebp mov ebp, esp push esi push ebx vzeroupper mov esi, ecx G_M000_IG02: cmp esi, 1 jne SHORT G_M000_IG06 G_M000_IG03: vmovsd xmm0, qword ptr [ebp+18H] xor ebx, ebx vucomisd xmm0, qword ptr [ebp+08H] seta bl G_M000_IG04: movzx eax, bl G_M000_IG05: pop ebx pop esi pop ebp ret 24 G_M000_IG06: cmp esi, 3 ja SHORT G_M000_IG12 lea eax, [@RWD00] mov eax, dword ptr [eax+4*esi] lea edx, G_M000_IG02 add eax, edx jmp eax G_M000_IG07: xor eax, eax G_M000_IG08: pop ebx pop esi pop ebp ret 24 G_M000_IG09: vmovsd xmm1, qword ptr [ebp+10H] xor ebx, ebx vucomisd xmm1, qword ptr [ebp+18H] seta bl jmp SHORT G_M000_IG04 G_M000_IG10: vmovsd xmm1, qword ptr [ebp+10H] vmovsd xmm0, qword ptr [ebp+18H] vucomisd xmm1, xmm0 vmovsd qword ptr [ebp+18H], xmm0 jbe SHORT G_M000_IG03 mov eax, 1 G_M000_IG11: pop ebx pop esi pop ebp ret 24 G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ebx, eax mov dword ptr [ebx+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 ebx 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_IG07 - G_M000_IG02 dd G_M000_IG03 - G_M000_IG02 dd G_M000_IG09 - G_M000_IG02 dd G_M000_IG10 - G_M000_IG02 ; Total bytes of code 183 1084: JIT compiled BenchmarkDotNet.Mathematics.MeasurementsStatistics:IsOutlier(int,double,double,double) [Tier1 with Dynamic PGO, IL size=65, code size=183] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceInterval:.ctor(double,double,int,int):this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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 244 1085: JIT compiled Perfolizer.Mathematics.Common.ConfidenceInterval:.ctor(double,double,int,int) [Instrumented Tier0, IL size=89, code size=244] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_Nanoseconds():double:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 1086: JIT compiled BenchmarkDotNet.Reports.Measurement:get_Nanoseconds() [Tier1, IL size=7, code size=23] ; 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 (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 32 ; 5 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, 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_IG05 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_IG06 cmp dword ptr [ecx+14H], 0 je SHORT G_M000_IG06 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_IG09 G_M000_IG04: jmp SHORT G_M000_IG10 G_M000_IG05: call [System.Threading.Monitor:ThrowLockTakenException()] int3 G_M000_IG06: 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_IG07 jmp SHORT G_M000_IG08 G_M000_IG07: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax G_M000_IG08: mov ecx, edx call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov esi, gword ptr [eax] jmp SHORT G_M000_IG11 G_M000_IG09: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax G_M000_IG10: 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_IG11: cmp byte ptr [ebp-1CH], 0 je SHORT G_M000_IG14 mov ecx, gword ptr [ebp-24H] call System.Threading.Monitor:Exit(System.Object) jmp SHORT G_M000_IG14 G_M000_IG12: cmp byte ptr [ebp-1CH], 0 je SHORT G_M000_IG13 mov ecx, gword ptr [ebp-24H] call System.Threading.Monitor:Exit(System.Object) G_M000_IG13: pop eax jmp eax G_M000_IG14: mov eax, esi G_M000_IG15: lea esp, [ebp-04H] pop esi pop ebp ret ; Total bytes of code 226 1087: JIT compiled System.Runtime.CompilerServices.ConditionalWeakTable`2[System.__Canon,System.__Canon]:System.Collections.Generic.IEnumerable>.GetEnumerator() [Tier1 with Dynamic PGO, IL size=69, code size=226] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:GetQuartile(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int):double (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 ecx, dword ptr [ebp-08H] mov eax, dword ptr [ebp-08H] shr eax, 31 add eax, dword ptr [ebp-08H] and eax, -2 sub ecx, eax test ecx, ecx jne G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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 ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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 246 1088: JIT compiled BenchmarkDotNet.Mathematics.MeasurementsStatistics:GetQuartile(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int) [Instrumented Tier0, IL size=71, code size=246] ; Assembly listing for method System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:Dispose():this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 32 ; 4 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, 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_IG10 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_IG03: cmp byte ptr [ebp-1CH], 0 jne SHORT G_M000_IG04 lea edx, [ebp-1CH] call System.Threading.Monitor:ReliableEnter(System.Object,byref) jmp SHORT G_M000_IG05 G_M000_IG04: call [System.Threading.Monitor:ThrowLockTakenException()] int3 G_M000_IG05: dec dword ptr [esi+0CH] G_M000_IG06: cmp byte ptr [ebp-1CH], 0 je SHORT G_M000_IG09 mov ecx, gword ptr [ebp-24H] call System.Threading.Monitor:Exit(System.Object) jmp SHORT G_M000_IG09 G_M000_IG07: cmp byte ptr [ebp-1CH], 0 je SHORT G_M000_IG08 mov ecx, gword ptr [ebp-24H] call System.Threading.Monitor:Exit(System.Object) G_M000_IG08: pop eax jmp eax G_M000_IG09: mov ecx, gword ptr [ebp-20H] call System.GC:_SuppressFinalize(System.Object) G_M000_IG10: lea esp, [ebp-04H] pop esi pop ebp ret ; Total bytes of code 131 1089: JIT compiled System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:Dispose() [Tier1 with Dynamic PGO, IL size=78, code size=131] ; Assembly listing for method System.GC:SuppressFinalize(System.Object) (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 175333 ; 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 1090: JIT compiled System.GC:SuppressFinalize(System.Object) [Tier1 with Static PGO, IL size=18, code size=38] ; Assembly listing for method System.Runtime.ConstrainedExecution.CriticalFinalizerObject:Finalize():this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 32 ; 1 inlinees with PGO data; 0 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 1091: JIT compiled System.Runtime.ConstrainedExecution.CriticalFinalizerObject:Finalize() [Tier1 with Dynamic PGO, IL size=10, code size=15] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceInterval:get_Margin():double:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 1092: JIT compiled Perfolizer.Mathematics.Common.ConfidenceInterval:get_Margin() [Tier1, IL size=7, code size=23] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Count():int:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 1093: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Count() [Tier1, IL size=7, code size=4] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:GetZValue(int,int):double (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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 1094: JIT compiled Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:GetZValue(int,int) [Instrumented Tier0, IL size=46, code size=179] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:ToPercent(int):double (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp-04H] mov ecx, gword ptr [D1FFAB1EH] 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-1CH] vxorps xmm1, xmm1, xmm1 vcvtsi2sd xmm1, xmm1, dword ptr [ebp-08H] vmovsd xmm0, qword ptr [ebp-1CH] vdivsd xmm0, xmm1, xmm0 vmovsd qword ptr [ebp-1CH], xmm0 fld qword ptr [ebp-1CH] G_M000_IG03: mov esp, ebp pop ebp ret RWD00 dq 4024000000000000h ; 10 ; Total bytes of code 123 1095: JIT compiled Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:ToPercent(int) [Instrumented Tier0, IL size=44, code size=123] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:get_Item(int):System.ValueTuple`2[int,int]:this (Instrumented Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier0 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, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 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 117 1096: JIT compiled System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:get_Item(int) [Instrumented Tier0, IL size=39, code size=117] ; Assembly listing for method System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 30 G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx G_M000_IG02: mov eax, dword ptr [esi+0CH] mov ecx, eax mov edi, gword ptr [esi+04H] mov ebx, dword ptr [edi+04H] cmp ebx, ecx jbe SHORT G_M000_IG05 mov word ptr [edi+2*ecx+08H], dx inc eax mov dword ptr [esi+0CH], eax G_M000_IG03: mov eax, esi G_M000_IG04: pop ebx pop esi pop edi pop ebp ret G_M000_IG05: push 1 movzx edx, dx mov ecx, esi call [System.Text.StringBuilder:Append(ushort,int):System.Text.StringBuilder:this] jmp SHORT G_M000_IG03 ; Total bytes of code 54 1097: JIT compiled System.Text.StringBuilder:Append(ushort) [Tier1 with Dynamic PGO, IL size=51, code size=54] ; Assembly listing for method Perfolizer.Horology.TimeInterval:get_Nanoseconds():double:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 1098: 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 (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 1099: 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 (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 1100: 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 (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 31 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 1101: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Item(int) [Tier1 with Dynamic PGO, IL size=27, code size=55] ; Assembly listing for method Perfolizer.Horology.Frequency:.ctor(double):this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 1102: 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 (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 1103: JIT compiled Perfolizer.Horology.Frequency:get_Hertz() [Tier1, IL size=7, code size=22] ; Assembly listing for method System.Enum:ToString():System.String:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 30 ; 36 inlinees with PGO data; 1 single block inlinees; 6 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, 4 jne G_M000_IG33 G_M000_IG03: mov ebx, dword ptr [ebx] mov ecx, dword ptr [edi+08H] test ecx, ecx je SHORT G_M000_IG15 G_M000_IG04: mov ecx, gword ptr [ecx] G_M000_IG05: test ecx, ecx je SHORT G_M000_IG11 G_M000_IG06: mov ecx, gword ptr [ecx+3CH] G_M000_IG07: test ecx, ecx je SHORT G_M000_IG18 G_M000_IG08: cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG18 G_M000_IG09: cmp gword ptr [ecx+08H], 0 je SHORT G_M000_IG18 G_M000_IG10: jmp SHORT G_M000_IG12 G_M000_IG11: xor ecx, ecx jmp SHORT G_M000_IG07 G_M000_IG12: cmp byte ptr [ecx+0CH], 0 jne G_M000_IG28 G_M000_IG13: mov edi, gword ptr [ecx+08H] cmp byte ptr [ecx+0DH], 0 je SHORT G_M000_IG21 G_M000_IG14: jmp SHORT G_M000_IG19 G_M000_IG15: xor ecx, ecx jmp SHORT G_M000_IG05 G_M000_IG16: pop ebx pop esi pop edi pop ebp ret G_M000_IG17: test eax, eax je G_M000_IG51 jmp SHORT G_M000_IG16 G_M000_IG18: 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 jmp SHORT G_M000_IG12 G_M000_IG19: mov eax, ebx mov esi, dword ptr [edi+04H] cmp esi, eax jbe G_M000_IG52 G_M000_IG20: mov eax, gword ptr [edi+4*ebx+08H] jmp SHORT G_M000_IG17 G_M000_IG21: mov ecx, gword ptr [ecx+04H] test ecx, ecx jne SHORT G_M000_IG26 G_M000_IG22: xor edx, edx xor eax, eax G_M000_IG23: cmp dword ptr [ecx+04H], 32 jle SHORT G_M000_IG27 G_M000_IG24: push ebx mov ecx, edx mov edx, eax call [System.SpanHelpers:BinarySearch[uint,uint](byref,int,uint):int] G_M000_IG25: mov esi, dword ptr [edi+04H] cmp esi, eax jbe G_M000_IG52 mov eax, gword ptr [edi+4*eax+08H] jmp SHORT G_M000_IG17 G_M000_IG26: lea edx, bword ptr [ecx+08H] mov eax, dword ptr [ecx+04H] jmp SHORT G_M000_IG23 G_M000_IG27: push eax mov ecx, edx mov edx, ebx call [System.SpanHelpers:NonPackedIndexOfValueType[int,System.SpanHelpers+DontNegate`1[int]](byref,int,int):int] jmp SHORT G_M000_IG25 G_M000_IG28: mov edx, ebx call [System.Enum:FormatFlagNames[uint](System.Enum+EnumInfo`1[uint],uint):System.String] jmp SHORT G_M000_IG17 G_M000_IG29: mov ecx, edi mov edx, ebx call [System.Enum:ToString[uint,uint](System.RuntimeType,byref):System.String] jmp G_M000_IG16 G_M000_IG30: mov ecx, edi mov edx, ebx call [System.Enum:ToString[long,ulong](System.RuntimeType,byref):System.String] jmp G_M000_IG16 G_M000_IG31: mov ecx, edi mov edx, ebx call [System.Enum:ToString[ulong,ulong](System.RuntimeType,byref):System.String] jmp G_M000_IG16 G_M000_IG32: mov ecx, edi mov edx, ebx call [System.Enum:g__HandleRareTypes|55_0(System.RuntimeType,byref):System.String] jmp G_M000_IG16 G_M000_IG33: cmp eax, 7 ja SHORT G_M000_IG32 lea ecx, [@RWD00] mov ecx, dword ptr [ecx+4*eax] lea edx, G_M000_IG02 add ecx, edx jmp ecx G_M000_IG34: mov ecx, edi mov edx, ebx call [System.Enum:ToString[byte,ubyte](System.RuntimeType,byref):System.String] jmp G_M000_IG16 G_M000_IG35: movzx ebx, byte ptr [ebx] mov ecx, edi call [System.RuntimeType:get_GenericCache():System.Object:this] mov edx, eax mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax je SHORT G_M000_IG36 cmp gword ptr [eax+08H], 0 jne SHORT G_M000_IG37 G_M000_IG36: 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 jmp SHORT G_M000_IG38 G_M000_IG37: mov ecx, eax G_M000_IG38: cmp byte ptr [ecx+0CH], 0 jne SHORT G_M000_IG46 mov edi, gword ptr [ecx+08H] cmp byte ptr [ecx+0DH], 0 je SHORT G_M000_IG39 cmp dword ptr [edi+04H], ebx jbe SHORT G_M000_IG44 mov eax, gword ptr [edi+4*ebx+08H] jmp SHORT G_M000_IG45 G_M000_IG39: mov ecx, gword ptr [ecx+04H] test ecx, ecx jne SHORT G_M000_IG40 xor edx, edx xor eax, eax jmp SHORT G_M000_IG41 G_M000_IG40: lea edx, bword ptr [ecx+08H] mov eax, dword ptr [ecx+04H] G_M000_IG41: cmp dword ptr [ecx+04H], 32 jle SHORT G_M000_IG42 push ebx mov ecx, edx mov edx, eax call [System.SpanHelpers:BinarySearch[ubyte,ubyte](byref,int,ubyte):int] jmp SHORT G_M000_IG43 G_M000_IG42: push eax mov ecx, edx mov edx, ebx call [System.SpanHelpers:NonPackedIndexOfValueType[ubyte,System.SpanHelpers+DontNegate`1[ubyte]](byref,ubyte,int):int] G_M000_IG43: cmp dword ptr [edi+04H], eax jbe SHORT G_M000_IG44 mov eax, gword ptr [edi+4*eax+08H] jmp SHORT G_M000_IG45 G_M000_IG44: xor eax, eax G_M000_IG45: jmp SHORT G_M000_IG47 G_M000_IG46: mov edx, ebx call [System.Enum:FormatFlagNames[ubyte](System.Enum+EnumInfo`1[ubyte],ubyte):System.String] G_M000_IG47: test eax, eax jne SHORT G_M000_IG48 mov ecx, ebx call [System.Number:UInt32ToDecStr(uint):System.String] G_M000_IG48: jmp G_M000_IG16 G_M000_IG49: mov ecx, edi mov edx, ebx call [System.Enum:ToString[short,ushort](System.RuntimeType,byref):System.String] jmp G_M000_IG16 G_M000_IG50: mov ecx, edi mov edx, ebx call [System.Enum:ToString[ushort,ushort](System.RuntimeType,byref):System.String] jmp G_M000_IG16 G_M000_IG51: mov ecx, ebx call [System.Number:Int32ToDecStr(int):System.String] jmp G_M000_IG16 G_M000_IG52: xor eax, eax jmp G_M000_IG17 RWD00 dd G_M000_IG34 - G_M000_IG02 dd G_M000_IG35 - G_M000_IG02 dd G_M000_IG49 - G_M000_IG02 dd G_M000_IG50 - G_M000_IG02 dd G_M000_IG03 - G_M000_IG02 dd G_M000_IG29 - G_M000_IG02 dd G_M000_IG30 - G_M000_IG02 dd G_M000_IG31 - G_M000_IG02 ; Total bytes of code 550 1104: JIT compiled System.Enum:ToString() [Tier1 with Dynamic PGO, IL size=158, code size=550] ; Assembly listing for method System.Enum:g__InitializeEnumInfo|7_0[uint](System.RuntimeType,bool):System.Enum+EnumInfo`1[uint] (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 30 ; 33 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 88 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-60H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov dword ptr [ebp-24H], esi mov eax, ebp mov dword ptr [ebp-4CH], 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 je G_M000_IG20 G_M000_IG03: mov edi, dword ptr [eax+0CH] G_M000_IG04: 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 je G_M000_IG31 mov edx, 1 G_M000_IG05: push edx push ebx push edi push ecx push eax mov dword ptr [ebp-58H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-54H], eax lea eax, G_M000_IG08 mov dword ptr [ebp-50H], eax mov byte ptr [esi+08H], 0 G_M000_IG06: mov eax, 0xD1FFAB1E G_M000_IG07: call eax ; System.Enum:GetEnumValuesAndNames(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.CompilerServices.ObjectHandleOnStack,int) G_M000_IG08: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG09 call CORINFO_HELP_STOP_FOR_GC G_M000_IG09: xor ecx, ecx mov dword ptr [ebp-50H], ecx mov ebx, gword ptr [ebp-10H] cmp byte ptr [ebx], bl mov edi, 0xD1FFAB1E mov ecx, ebx call System.RuntimeTypeHandle:GetElementType(System.RuntimeType):System.RuntimeType test eax, eax jne SHORT G_M000_IG10 mov ecx, ebx mov edx, edi call [System.Reflection.PseudoCustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType):bool] test eax, eax jne G_M000_IG32 mov ecx, ebx call System.RuntimeTypeHandle:GetModule(System.RuntimeType):System.Reflection.RuntimeModule mov gword ptr [ebp-30H], eax mov ecx, ebx call System.RuntimeTypeHandle:GetToken(System.RuntimeType):int mov edx, eax push edi push 0 push 0 mov ecx, gword ptr [ebp-30H] call [System.Reflection.CustomAttribute:IsCustomAttributeDefined(System.Reflection.RuntimeModule,int,System.RuntimeType,int,bool):bool] test eax, eax jne G_M000_IG32 G_M000_IG10: xor ebx, ebx G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax mov eax, gword ptr [ebp-14H] mov gword ptr [ebp-34H], eax mov ecx, gword ptr [ebp-18H] mov gword ptr [ebp-38H], 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 edx, 1 mov ebx, dword ptr [eax+04H] cmp ebx, 1 jle SHORT G_M000_IG14 G_M000_IG12: lea esi, [edx-01H] cmp esi, ebx jae G_M000_IG35 lea esi, bword ptr [eax+4*edx+04H] mov ecx, dword ptr [eax+4*edx+08H] cmp dword ptr [esi], ecx jae G_M000_IG25 G_M000_IG13: inc edx cmp ebx, edx jg SHORT G_M000_IG12 G_M000_IG14: xor esi, esi test ebx, ebx jle SHORT G_M000_IG16 align [0 bytes for IG15] G_M000_IG15: mov ecx, dword ptr [eax+4*esi+08H] xor edx, edx mov dword ptr [ebp-28H], ecx mov dword ptr [ebp-2CH], edx mov edx, esi mov ecx, edx sar ecx, 31 xor edx, dword ptr [ebp-28H] xor ecx, dword ptr [ebp-2CH] or ecx, edx jne G_M000_IG34 inc esi cmp ebx, esi jg SHORT G_M000_IG15 G_M000_IG16: mov edx, 1 G_M000_IG17: mov byte ptr [edi+0DH], dl mov ecx, gword ptr [ebp-10H] mov eax, dword ptr [ecx+08H] test eax, eax je G_M000_IG28 G_M000_IG18: mov eax, gword ptr [eax] test eax, eax je G_M000_IG28 G_M000_IG19: lea edx, bword ptr [eax+3CH] call CORINFO_HELP_ASSIGN_REF_EDI mov eax, edi jmp G_M000_IG29 G_M000_IG20: xor edi, edi jmp G_M000_IG04 G_M000_IG21: mov esi, ebx mov ecx, gword ptr [ebp-38H] test ecx, ecx jne SHORT G_M000_IG24 G_M000_IG22: test ecx, ecx jne SHORT G_M000_IG27 G_M000_IG23: lea edx, bword ptr [eax+08H] mov bword ptr [ebp-44H], edx mov ecx, 0xD1FFAB1E mov edx, 58 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov ecx, gword ptr [D1FFAB1EH] push esi push bword ptr [ebp-44H] xor edx, edx call [System.Collections.Generic.IArraySortHelper`1[uint]:Sort(System.Span`1[uint],System.Collections.Generic.IComparer`1[uint]):this] mov eax, gword ptr [ebp-34H] jmp G_M000_IG14 G_M000_IG24: mov edx, dword ptr [ecx+04H] sub edx, esi js SHORT G_M000_IG33 jmp SHORT G_M000_IG22 G_M000_IG25: cmp dword ptr [esi], ecx jbe G_M000_IG13 G_M000_IG26: jmp SHORT G_M000_IG21 G_M000_IG27: lea edx, bword ptr [eax+08H] mov bword ptr [ebp-3CH], edx add ecx, 8 mov bword ptr [ebp-40H], ecx mov ecx, 0xD1FFAB1E mov edx, 55 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov ecx, gword ptr [D1FFAB1EH] push esi push bword ptr [ebp-3CH] push esi push bword ptr [ebp-40H] xor edx, edx call [System.Collections.Generic.IArraySortHelper`2[uint,System.__Canon]:Sort(System.Span`1[uint],System.Span`1[System.__Canon],System.Collections.Generic.IComparer`1[uint]):this] mov eax, gword ptr [ebp-34H] jmp G_M000_IG14 G_M000_IG28: call [System.RuntimeType:InitializeCache():System.RuntimeType+RuntimeTypeCache:this] jmp G_M000_IG19 G_M000_IG29: mov ecx, bword ptr [ebp-5CH] mov esi, dword ptr [ebp-24H] mov dword ptr [esi+0CH], ecx G_M000_IG30: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG31: xor edx, edx jmp G_M000_IG05 G_M000_IG32: mov ebx, 1 jmp G_M000_IG11 G_M000_IG33: mov ecx, 16 call [System.ThrowHelper:ThrowArgumentException(int)] int3 G_M000_IG34: xor edx, edx jmp G_M000_IG17 G_M000_IG35: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 629 1105: JIT compiled System.Enum:g__InitializeEnumInfo|7_0[uint](System.RuntimeType,bool) [Tier1 with Dynamic PGO, IL size=73, code size=629] ; Assembly listing for method System.RuntimeType:IsDefined(System.Type,bool):bool:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, profile data was all zero ; 2 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_IG07 cmp dword ptr [edx], 0xD1FFAB1E jne SHORT G_M000_IG08 G_M000_IG03: test edx, edx je SHORT G_M000_IG09 G_M000_IG04: cmp dword ptr [edx], 0xD1FFAB1E jne SHORT G_M000_IG09 G_M000_IG05: movzx ecx, byte ptr [ebp+08H] push ecx mov ecx, esi call [System.Reflection.CustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType,bool):bool] G_M000_IG06: pop esi pop edi pop ebp ret 4 G_M000_IG07: mov ecx, 233 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 G_M000_IG08: 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 jmp SHORT G_M000_IG03 G_M000_IG09: 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 141 1106: JIT compiled System.RuntimeType:IsDefined(System.Type,bool) [Tier1 with Dynamic PGO, IL size=51, code size=141] ; Assembly listing for method System.Reflection.CustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType,bool):bool (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 30 ; 8 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 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 SHORT G_M000_IG03 mov ecx, ebx mov edx, esi call [System.Reflection.PseudoCustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType):bool] test eax, eax jne SHORT G_M000_IG06 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_IG06 cmp byte ptr [ebp+08H], 0 jne SHORT G_M000_IG08 G_M000_IG03: xor eax, eax G_M000_IG04: pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG05: 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 movzx ecx, byte ptr [ebp+08H] push ecx mov ecx, edi call [System.Reflection.CustomAttribute:IsCustomAttributeDefined(System.Reflection.RuntimeModule,int,System.RuntimeType,int,bool):bool] test eax, eax je SHORT G_M000_IG08 G_M000_IG06: mov eax, 1 G_M000_IG07: pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG08: cmp byte ptr [ebx], bl mov ecx, ebx call [System.RuntimeType:GetBaseType():System.RuntimeType:this] mov edx, eax mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] mov ebx, eax test ebx, ebx jne SHORT G_M000_IG05 jmp SHORT G_M000_IG03 ; Total bytes of code 168 1107: JIT compiled System.Reflection.CustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType,bool) [Tier1 with Dynamic PGO, IL size=105, code size=168] ; Assembly listing for method System.Reflection.PseudoCustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType):bool (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 30 ; 5 inlinees with PGO data; 0 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 G_M000_IG14 xor eax, eax cmp esi, 0xD1FFAB1E sete al G_M000_IG03: movzx edx, al mov dword ptr [ebp-0CH], edx test edx, edx jne SHORT 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_IG05 xor eax, eax G_M000_IG04: pop ecx pop ebx pop esi pop ebp ret G_M000_IG05: cmp esi, 0xD1FFAB1E jne SHORT G_M000_IG09 G_M000_IG06: cmp byte ptr [ebx], bl mov ecx, ebx call System.RuntimeTypeHandle:GetAttributes(System.RuntimeType):int test eax, 0x2000 je SHORT G_M000_IG08 mov eax, 1 G_M000_IG07: pop ecx pop ebx pop esi pop ebp ret G_M000_IG08: cmp dword ptr [ebp-0CH], 0 jne SHORT G_M000_IG10 G_M000_IG09: cmp esi, 0xD1FFAB1E jne SHORT G_M000_IG12 G_M000_IG10: cmp byte ptr [ebx], bl mov ecx, ebx call System.RuntimeTypeHandle:GetAttributes(System.RuntimeType):int test eax, 0x1000 je SHORT G_M000_IG12 mov eax, 1 G_M000_IG11: pop ecx pop ebx pop esi pop ebp ret G_M000_IG12: xor eax, eax G_M000_IG13: pop ecx pop ebx pop esi pop ebp ret G_M000_IG14: mov eax, 1 jmp SHORT G_M000_IG03 ; Total bytes of code 158 1108: JIT compiled System.Reflection.PseudoCustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType) [Tier1 with Dynamic PGO, IL size=132, code size=158] ; Assembly listing for method System.Collections.Generic.HashSet`1[System.__Canon]:FindItemIndex(System.__Canon):int:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 30 ; 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, 52 mov esi, ecx mov edi, edx G_M000_IG02: cmp gword ptr [esi+04H], 0 je G_M000_IG09 mov ebx, gword ptr [esi+08H] mov gword ptr [ebp-30H], ebx xor eax, eax mov dword ptr [ebp-10H], eax mov edx, gword ptr [esi+0CH] mov gword ptr [ebp-34H], edx test edi, edi je G_M000_IG12 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_IG04 G_M000_IG03: mov dword ptr [ebp-1CH], edx jmp SHORT G_M000_IG05 G_M000_IG04: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-1CH], eax G_M000_IG05: mov ecx, gword ptr [ebp-34H] mov gword ptr [ebp-2CH], edi mov edx, edi mov eax, dword ptr [ebp-1CH] nop call [eax] mov ecx, eax G_M000_IG06: mov eax, ecx mov dword ptr [ebp-14H], eax mov ecx, gword ptr [esi+04H] mov gword ptr [ebp-3CH], ecx mov edx, dword ptr [ecx+04H] mov ecx, edx xor edx, edx div edx:eax, ecx mov ecx, gword ptr [ebp-3CH] mov edx, dword ptr [ecx+4*edx+08H] dec edx js SHORT G_M000_IG09 G_M000_IG07: mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-24H], ecx cmp edx, ecx jae G_M000_IG18 lea eax, [edx+2*edx] lea eax, bword ptr [ebx+4*eax+08H] mov bword ptr [ebp-38H], eax mov edi, dword ptr [ebp-14H] cmp dword ptr [eax+04H], edi je SHORT G_M000_IG13 G_M000_IG08: mov edx, dword ptr [eax+08H] mov eax, dword ptr [ebp-10H] inc eax cmp ecx, eax jb SHORT G_M000_IG11 test edx, edx mov dword ptr [ebp-10H], eax jge SHORT G_M000_IG07 G_M000_IG09: mov eax, -1 G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG11: call [System.ThrowHelper:ThrowInvalidOperationException_ConcurrentOperationsNotSupported()] int3 G_M000_IG12: xor ecx, ecx mov gword ptr [ebp-2CH], edi jmp SHORT G_M000_IG06 G_M000_IG13: mov ebx, dword ptr [esi] mov dword ptr [ebp-28H], ebx mov ebx, dword ptr [ebx+20H] mov ebx, dword ptr [ebx] mov ebx, dword ptr [ebx+30H] test ebx, ebx je SHORT G_M000_IG14 mov dword ptr [ebp-18H], edx mov dword ptr [ebp-20H], ebx jmp SHORT G_M000_IG15 G_M000_IG14: mov dword ptr [ebp-18H], edx mov ecx, dword ptr [ebp-28H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-20H], eax mov eax, bword ptr [ebp-38H] G_M000_IG15: mov ebx, gword ptr [eax] mov gword ptr [ebp-40H], ebx mov ebx, gword ptr [ebp-2CH] push ebx mov edx, gword ptr [ebp-40H] mov ecx, gword ptr [ebp-34H] mov eax, dword ptr [ebp-20H] nop call [eax] test eax, eax mov gword ptr [ebp-2CH], ebx mov eax, bword ptr [ebp-38H] mov ecx, dword ptr [ebp-24H] je SHORT G_M000_IG17 mov edx, dword ptr [ebp-18H] mov eax, edx G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG17: mov ebx, gword ptr [ebp-30H] jmp G_M000_IG08 G_M000_IG18: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 315 1109: JIT compiled System.Collections.Generic.HashSet`1[System.__Canon]:FindItemIndex(System.__Canon) [Tier1 with Dynamic PGO, IL size=260, code size=315] ; Assembly listing for method System.Collections.Generic.ObjectEqualityComparer`1[System.__Canon]:GetHashCode(System.__Canon):int:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 30 ; 1 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], edx G_M000_IG02: lea ecx, bword ptr [ebp-04H] cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, gword ptr [ecx] mov gword ptr [ebp-08H], ecx lea ecx, bword ptr [ebp-08H] cmp gword ptr [ebp-08H], 0 je SHORT G_M000_IG05 G_M000_IG03: mov ecx, gword ptr [ecx] cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG07 call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int G_M000_IG04: mov esp, ebp pop ebp ret G_M000_IG05: xor eax, eax G_M000_IG06: mov esp, ebp pop ebp ret G_M000_IG07: mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+0CH]System.Object:GetHashCode():int:this jmp SHORT G_M000_IG04 ; Total bytes of code 72 1110: JIT compiled System.Collections.Generic.ObjectEqualityComparer`1[System.__Canon]:GetHashCode(System.__Canon) [Tier1 with Dynamic PGO, IL size=49, code size=72] ; Assembly listing for method System.RuntimeType:GetHashCode():int:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 368093 G_M000_IG01: G_M000_IG02: call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int G_M000_IG03: ret ; Total bytes of code 6 1111: JIT compiled System.RuntimeType:GetHashCode() [Instrumented Tier1 with Static PGO, IL size=7, code size=6] ; Assembly listing for method System.Reflection.CustomAttribute:IsCustomAttributeDefined(System.Reflection.RuntimeModule,int,System.RuntimeType,int,bool):bool (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 30 ; 15 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, 140 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-88H], xmm4 mov eax, -96 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 dword ptr [ebp-10H], 0xD1FFAB1E mov esi, ecx mov edi, edx G_M000_IG02: mov ebx, gword ptr [ebp+10H] mov eax, esi cmp byte ptr [eax], al mov ecx, esi call System.ModuleHandle:_GetMetadataImport(System.Reflection.RuntimeModule):int mov gword ptr [ebp-60H], esi mov dword ptr [ebp-5CH], eax push edi 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_IG04 xor eax, eax cmp dword ptr [ebp-10H], 0xD1FFAB1E je SHORT G_M000_IG03 call CORINFO_HELP_FAIL_FAST G_M000_IG03: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG04: xor ecx, ecx mov dword ptr [ebp-6CH], ecx mov dword ptr [ebp-68H], ecx mov dword ptr [ebp-64H], ecx test ebx, ebx je G_M000_IG11 vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [ebp-7CH], xmm0 xor eax, eax jmp G_M000_IG10 G_M000_IG05: cmp gword ptr [ebp-58H], 0 je SHORT G_M000_IG06 mov ecx, gword ptr [ebp-58H] cmp eax, dword ptr [ecx+04H] jae G_M000_IG20 mov edx, dword ptr [ecx+4*eax+08H] mov dword ptr [ebp-80H], eax jmp SHORT G_M000_IG07 G_M000_IG06: lea edx, bword ptr [ebp-50H] mov bword ptr [ebp-94H], edx mov ecx, bword ptr [ebp-94H] mov dword ptr [ebp-80H], eax mov edx, dword ptr [ecx+4*eax] G_M000_IG07: 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 esi push edi push ebx movzx edx, byte ptr [ebp+08H] push edx lea edx, [ebp-7CH] push edx lea edx, [ebp-84H] push edx lea edx, [ebp-88H] push edx lea edx, [ebp-8CH] 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 je SHORT G_M000_IG09 mov eax, 1 cmp dword ptr [ebp-10H], 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 12 G_M000_IG09: mov eax, dword ptr [ebp-80H] inc eax G_M000_IG10: cmp eax, dword ptr [ebp-54H] jl G_M000_IG05 jmp SHORT G_M000_IG18 G_M000_IG11: xor esi, esi jmp SHORT G_M000_IG17 G_M000_IG12: cmp gword ptr [ebp-58H], 0 je SHORT G_M000_IG13 mov ecx, gword ptr [ebp-58H] cmp esi, dword ptr [ecx+04H] jae SHORT G_M000_IG20 mov edx, dword ptr [ecx+4*esi+08H] jmp SHORT G_M000_IG14 G_M000_IG13: lea edx, bword ptr [ebp-50H] mov bword ptr [ebp-98H], edx mov ecx, bword ptr [ebp-98H] mov edx, dword ptr [ecx+4*esi] G_M000_IG14: 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] mov edi, dword ptr [ebp+0CH] cmp eax, edi jne SHORT G_M000_IG16 mov eax, 1 cmp dword ptr [ebp-10H], 0xD1FFAB1E je SHORT G_M000_IG15 call CORINFO_HELP_FAIL_FAST G_M000_IG15: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG16: inc esi mov dword ptr [ebp+0CH], edi G_M000_IG17: cmp esi, dword ptr [ebp-54H] jl SHORT G_M000_IG12 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: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 472 1112: JIT compiled System.Reflection.CustomAttribute:IsCustomAttributeDefined(System.Reflection.RuntimeModule,int,System.RuntimeType,int,bool) [Tier1 with Dynamic PGO, IL size=216, code size=472] ; Assembly listing for method System.Enum:AreSorted[uint](uint[]):bool (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 30 ; 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 G_M000_IG02: mov edx, 1 mov esi, dword ptr [ecx+04H] cmp esi, 1 jle SHORT G_M000_IG06 G_M000_IG03: lea eax, [edx-01H] cmp eax, esi jae SHORT G_M000_IG10 lea eax, bword ptr [ecx+4*edx+04H] mov edi, dword ptr [ecx+4*edx+08H] cmp dword ptr [eax], edi jb SHORT G_M000_IG05 G_M000_IG04: cmp dword ptr [eax], edi ja SHORT G_M000_IG08 G_M000_IG05: inc edx cmp esi, edx 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 67 1113: JIT compiled System.Enum:AreSorted[uint](uint[]) [Tier1 with Dynamic PGO, IL size=50, code size=67] ; Assembly listing for method System.Enum:AreSequentialFromZero[uint](uint[]):bool (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 30 ; 2 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx 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 1114: JIT compiled System.Enum:AreSequentialFromZero[uint](uint[]) [Tier1 with Dynamic PGO, IL size=34, code size=80] ; Assembly listing for method System.RuntimeType:InitializeCache():System.RuntimeType+RuntimeTypeCache:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 30 ; 11 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, 60 xor edx, edx mov dword ptr [ebp-10H], edx mov dword ptr [ebp-14H], edx mov dword ptr [ebp-18H], edx mov ebx, ecx G_M000_IG02: lea edi, [ebp-44H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov ecx, ebp mov dword ptr [ebp-30H], ecx cmp dword ptr [ebx+08H], 0 je G_M000_IG16 G_M000_IG03: mov ecx, dword ptr [ebx+08H] mov edx, gword ptr [ecx] mov edi, edx test edi, edi je SHORT G_M000_IG05 G_M000_IG04: mov ecx, 0xD1FFAB1E cmp dword ptr [edi], ecx jne G_M000_IG17 G_M000_IG05: test edi, edi jne G_M000_IG14 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax mov gword ptr [ebp-24H], edi xor edx, edx mov dword ptr [edi+48H], edx lea edx, bword ptr [edi+04H] call CORINFO_HELP_ASSIGN_REF_EBX mov gword ptr [ebp-20H], ebx mov ecx, ebx call System.RuntimeTypeHandle:GetModule(System.RuntimeType):System.Reflection.RuntimeModule mov gword ptr [ebp-28H], eax mov edx, gword ptr [eax+04H] test edx, edx jne SHORT G_M000_IG11 mov gword ptr [ebp-18H], eax xor edx, edx mov gword ptr [ebp-14H], edx lea edx, [ebp-18H] mov ecx, gword ptr [ebp-18H] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-1CH], ecx lea ecx, [ebp-14H] push ecx push dword ptr [ebp-1CH] push edx mov dword ptr [ebp-3CH], 0xD1FFAB1E mov edx, esp mov dword ptr [ebp-38H], edx lea edx, G_M000_IG08 mov dword ptr [ebp-34H], edx mov byte ptr [esi+08H], 0 G_M000_IG06: mov eax, 0xD1FFAB1E G_M000_IG07: call eax ; System.ModuleHandle:GetModuleType(System.Runtime.CompilerServices.QCallModule,System.Runtime.CompilerServices.ObjectHandleOnStack) G_M000_IG08: 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 edx, edx mov dword ptr [ebp-34H], edx mov ecx, gword ptr [ebp-14H] G_M000_IG10: mov gword ptr [ebp-14H], edx mov edi, gword ptr [ebp-28H] lea edx, bword ptr [edi+04H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, ecx G_M000_IG11: mov ebx, gword ptr [ebp-20H] cmp edx, ebx sete cl mov edi, gword ptr [ebp-24H] 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_IG13 G_M000_IG12: mov ecx, 0xD1FFAB1E cmp dword ptr [eax], ecx jne SHORT G_M000_IG18 G_M000_IG13: test eax, eax cmovne edi, eax G_M000_IG14: mov eax, edi mov ecx, bword ptr [ebp-40H] mov dword ptr [esi+0CH], ecx G_M000_IG15: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG16: mov gword ptr [ebp-10H], ebx lea ecx, [ebp-10H] mov edx, 1 call [System.RuntimeTypeHandle:GetGCHandle(int):int:this] mov edx, eax lea ecx, bword ptr [ebx+08H] xor eax, eax lock cmpxchg dword ptr [ecx], edx test eax, eax je G_M000_IG03 lea ecx, [ebp-10H] call [System.RuntimeTypeHandle:FreeGCHandle(int):int:this] jmp G_M000_IG03 G_M000_IG17: call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 G_M000_IG18: call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 ; Total bytes of code 355 1115: JIT compiled System.RuntimeType:InitializeCache() [Tier1 with Dynamic PGO, IL size=121, code size=355] ; Assembly listing for method System.String:Ctor(System.ReadOnlySpan`1[ushort]):System.String (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 31 ; 3 inlinees with PGO data; 0 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 1116: JIT compiled System.String:Ctor(System.ReadOnlySpan`1[ushort]) [Tier1 with Dynamic PGO, IL size=55, code size=57] ; Assembly listing for method System.Text.StringBuilder:AppendWithExpansion(byref,int):this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 30 ; 13 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, 8 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 SHORT G_M000_IG06 cmp ecx, ebx jl SHORT G_M000_IG06 mov ecx, gword ptr [esi+04H] mov edx, dword ptr [ecx+04H] sub edx, eax mov dword ptr [ebp-10H], edx test edx, edx jg SHORT G_M000_IG07 G_M000_IG03: 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 G_M000_IG12 lea eax, bword ptr [ecx+08H] mov ecx, dword ptr [ecx+04H] cmp ebx, ecx ja G_M000_IG13 G_M000_IG04: lea ecx, [ebx+ebx] push ecx mov ecx, eax call [System.Buffer:Memmove(byref,byref,uint)] mov dword ptr [esi+0CH], ebx G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0x183C5 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_IG07: mov ecx, gword ptr [esi+04H] test ecx, ecx jne SHORT G_M000_IG08 test eax, eax jne SHORT G_M000_IG09 xor ecx, ecx xor eax, eax jmp SHORT G_M000_IG11 G_M000_IG08: cmp dword ptr [ecx+04H], eax jae SHORT G_M000_IG10 G_M000_IG09: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG10: mov dword ptr [ebp-14H], eax lea eax, bword ptr [ecx+2*eax+08H] mov ecx, dword ptr [ecx+04H] sub ecx, dword ptr [ebp-14H] xchg eax, ecx G_M000_IG11: cmp edx, eax ja SHORT G_M000_IG13 lea eax, [edx+edx] push eax mov edx, edi call [System.Buffer:Memmove(byref,byref,uint)] mov eax, gword ptr [esi+04H] mov eax, dword ptr [eax+04H] mov dword ptr [esi+0CH], eax mov edx, dword ptr [ebp-10H] jmp G_M000_IG03 G_M000_IG12: xor eax, eax xor ecx, ecx cmp ebx, ecx jbe G_M000_IG04 G_M000_IG13: call [System.ThrowHelper:ThrowArgumentException_DestinationTooShort()] int3 ; Total bytes of code 267 1117: JIT compiled System.Text.StringBuilder:AppendWithExpansion(byref,int) [Tier1 with Dynamic PGO, IL size=155, code size=267] ; Assembly listing for method System.Text.StringBuilder:ExpandByABlock(int):this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 30 ; 9 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: 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 edi, eax mov ecx, 0x183DB mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov esi, eax call [System.SR:get_ArgumentOutOfRange_SmallCapacity():System.String] push eax mov edx, esi mov ecx, edi call [System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this] mov ecx, edi 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 1118: JIT compiled System.Text.StringBuilder:ExpandByABlock(int) [Tier1 with Dynamic PGO, IL size=144, code size=265] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_Operations():long:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 1119: JIT compiled BenchmarkDotNet.Reports.Measurement:get_Operations() [Tier1, IL size=7, code size=9] ; Assembly listing for method System.Double:ToString(System.String,System.IFormatProvider):System.String:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 22 ; 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 jne SHORT G_M000_IG06 G_M000_IG03: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] G_M000_IG04: 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_IG05: lea esp, [ebp-04H] pop esi pop ebp ret 4 G_M000_IG06: mov ecx, eax call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp SHORT G_M000_IG04 ; Total bytes of code 75 1120: JIT compiled System.Double:ToString(System.String,System.IFormatProvider) [Tier1 with Static PGO, IL size=15, code size=75] ; Assembly listing for method System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 30 G_M000_IG01: push ebp mov ebp, esp push esi mov esi, ecx G_M000_IG02: mov edx, esi mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] mov ecx, eax test ecx, ecx je SHORT G_M000_IG04 cmp byte ptr [ecx+31H], 0 jne SHORT G_M000_IG04 mov eax, gword ptr [ecx+0CH] test eax, eax je SHORT G_M000_IG06 G_M000_IG03: pop esi pop ebp ret G_M000_IG04: mov edx, esi mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax jne SHORT G_M000_IG05 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_IG05 call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] G_M000_IG05: pop esi pop ebp ret G_M000_IG06: 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_IG03 ; Total bytes of code 107 1121: JIT compiled System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider) [Tier1 with Dynamic PGO, IL size=76, code size=107] ; Assembly listing for method System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 30 ; 13 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, 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 je SHORT G_M000_IG12 G_M000_IG05: lea eax, bword ptr [ecx+08H] mov esi, dword ptr [ecx+04H] G_M000_IG06: 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_IG07: mov ecx, dword ptr [ebp-14H] cmp ecx, dword ptr [ebp-0CH] ja SHORT G_M000_IG14 G_M000_IG08: 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 jne SHORT G_M000_IG13 G_M000_IG10: mov eax, esi cmp dword ptr [ebp-24H], 0xD1FFAB1E je SHORT G_M000_IG11 call CORINFO_HELP_FAIL_FAST G_M000_IG11: lea esp, [ebp-04H] pop esi pop ebp ret 8 G_M000_IG12: xor eax, eax xor esi, esi jmp SHORT G_M000_IG06 G_M000_IG13: 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] jmp SHORT G_M000_IG10 G_M000_IG14: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 ; Total bytes of code 220 1122: JIT compiled System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo) [Tier1 with Dynamic PGO, IL size=71, code size=220] ; Assembly listing for method System.Number:FormatDouble[ushort](byref,double,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo):System.String (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 30 ; 28 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, 116 vzeroupper vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-10H], esp mov dword ptr [ebp-78H], 0xD1FFAB1E mov bword ptr [ebp-74H], ecx mov esi, edx vmovsd xmm0, qword ptr [ebp+10H] G_M000_IG02: vmovsd qword ptr [ebp+10H], xmm0 vmovsd qword ptr [ebp-38H], xmm0 mov ecx, dword ptr [ebp-34H] and ecx, 0xD1FFAB1E cmp ecx, 0xD1FFAB1E jge G_M000_IG20 mov edi, bword ptr [ebp-74H] push dword ptr [ebp+0CH] push bword ptr [ebp+08H] lea ecx, [ebp-14H] call [System.Number:ParseFormatSpecifier(System.ReadOnlySpan`1[ushort],byref):ushort] mov ebx, eax mov edx, -772 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-10H], esp mov ecx, 15 test ebx, ebx cmovne ecx, dword ptr [ebp-14H] mov dword ptr [ebp-14H], ecx xor ecx, ecx mov dword ptr [ebp-28H], ecx G_M000_IG04: mov dword ptr [ebp-24H], ecx mov byte ptr [ebp-20H], 0 mov byte ptr [ebp-1FH], 0 mov byte ptr [ebp-1EH], 3 mov bword ptr [ebp-1CH], edx mov dword ptr [ebp-18H], 769 cmp dword ptr [ebp-18H], 0 jbe G_M000_IG31 mov edx, bword ptr [ebp-1CH] mov byte ptr [edx], 0 vmovsd xmm0, qword ptr [ebp+10H] vmovsd qword ptr [ebp-48H], xmm0 cmp dword ptr [ebp-44H], 0 setl dl movzx edx, dl mov byte ptr [ebp-20H], dl push esi lea edx, [ebp-30H] push edx lea edx, [ebp-14H] mov ecx, ebx call [System.Number:GetFloatingPointMaxDigitsAndPrecision(ushort,byref,System.Globalization.NumberFormatInfo,byref):int] mov dword ptr [ebp-2CH], eax vmovsd xmm0, qword ptr [ebp-48H] vxorps xmm1, xmm1, xmm1 vucomisd xmm0, xmm1 jp SHORT G_M000_IG05 je G_M000_IG14 G_M000_IG05: cmp byte ptr [ebp-30H], 0 je SHORT G_M000_IG10 G_M000_IG06: vmovsd xmm0, qword ptr [ebp+10H] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea edx, [ebp-28H] mov ecx, dword ptr [ebp-14H] call [System.Number+Grisu3:TryRunDouble(double,int,byref):bool] test eax, eax jne G_M000_IG14 G_M000_IG07: mov bword ptr [ebp-74H], edi G_M000_IG08: mov edx, dword ptr [ebp-14H] mov dword ptr [ebp-50H], edx movzx ecx, byte ptr [ebp-30H] mov dword ptr [ebp-54H], ecx vmovsd xmm0, qword ptr [ebp+10H] vmovsd qword ptr [ebp-60H], xmm0 mov eax, dword ptr [ebp-60H] mov edi, dword ptr [ebp-5CH] mov dword ptr [ebp-68H], eax mov dword ptr [ebp-6CH], edi mov eax, edi and eax, 0xD1FFAB1E mov edi, dword ptr [ebp-68H] mov ecx, dword ptr [ebp-6CH] shr ecx, 20 and ecx, 0x7FF je SHORT G_M000_IG11 G_M000_IG09: or edi, 0 or eax, 0xD1FFAB1E add ecx, -0x433 jmp SHORT G_M000_IG12 G_M000_IG10: mov bword ptr [ebp-74H], edi jmp SHORT G_M000_IG08 G_M000_IG11: mov ecx, -0x432 G_M000_IG12: mov dword ptr [ebp-64H], edi xor edi, edi xor edx, edx mov edi, eax shr edi, 20 or edi, 0 je G_M000_IG27 mov dword ptr [ebp-4CH], 52 mov edi, eax xor edi, 0xD1FFAB1E or edi, dword ptr [ebp-64H] sete dl movzx edx, dl G_M000_IG13: push eax push dword ptr [ebp-64H] push edx push dword ptr [ebp-50H] push dword ptr [ebp-54H] push dword ptr [ebp-18H] push bword ptr [ebp-1CH] lea edx, [ebp-58H] push edx mov edx, dword ptr [ebp-4CH] call [System.Number:Dragon4(ulong,int,uint,bool,int,bool,System.Span`1[ubyte],byref):uint] mov edx, dword ptr [ebp-58H] inc edx mov dword ptr [ebp-24H], edx cmp eax, dword ptr [ebp-18H] jae G_M000_IG31 mov edx, bword ptr [ebp-1CH] mov byte ptr [edx+eax], 0 mov dword ptr [ebp-28H], eax mov edi, bword ptr [ebp-74H] G_M000_IG14: test ebx, ebx je SHORT G_M000_IG17 G_M000_IG15: cmp dword ptr [ebp-14H], -1 je G_M000_IG30 G_M000_IG16: push ebx push dword ptr [ebp-2CH] push esi lea edx, [ebp-28H] 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-28H] 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-78H], 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: vmovsd xmm0, qword ptr [ebp+10H] vucomisd xmm0, xmm0 jp SHORT G_M000_IG21 je SHORT G_M000_IG23 G_M000_IG21: mov eax, gword ptr [esi+2CH] cmp dword ptr [ebp-78H], 0xD1FFAB1E je SHORT G_M000_IG22 call CORINFO_HELP_FAIL_FAST G_M000_IG22: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG23: vmovsd qword ptr [ebp-40H], xmm0 cmp dword ptr [ebp-3CH], 0 jl SHORT G_M000_IG25 mov eax, gword ptr [esi+30H] cmp dword ptr [ebp-78H], 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 16 G_M000_IG25: mov eax, gword ptr [esi+34H] cmp dword ptr [ebp-78H], 0xD1FFAB1E je SHORT G_M000_IG26 call CORINFO_HELP_FAIL_FAST G_M000_IG26: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG27: mov edi, dword ptr [ebp-64H] or edi, 1 mov dword ptr [ebp-7CH], edi mov edi, eax or edi, 0 mov dword ptr [ebp-80H], edi mov edi, dword ptr [ebp-7CH] mov dword ptr [ebp-70H], edi mov edi, dword ptr [ebp-80H] test edi, edi jne SHORT G_M000_IG28 mov edi, dword ptr [ebp-70H] or edi, 1 lzcnt edi, edi xor edi, 31 jmp SHORT G_M000_IG29 G_M000_IG28: or edi, 1 lzcnt edi, edi xor edi, 31 add edi, 32 G_M000_IG29: mov dword ptr [ebp-4CH], edi jmp G_M000_IG13 G_M000_IG30: mov eax, dword ptr [ebp-28H] mov edx, 17 cmp eax, 17 cmovl eax, edx mov dword ptr [ebp-2CH], eax jmp G_M000_IG16 G_M000_IG31: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 758 1123: JIT compiled System.Number:FormatDouble[ushort](byref,double,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) [Tier1 with Dynamic PGO, IL size=296, code size=758] ; Assembly listing for method System.Number:ParseFormatSpecifier(System.ReadOnlySpan`1[ushort],byref):ushort (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 30 ; 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 sub esp, 8 G_M000_IG02: mov esi, bword ptr [ebp+08H] mov edi, dword ptr [ebp+0CH] xor ebx, ebx test edi, edi jle SHORT G_M000_IG04 movzx ebx, word ptr [esi] mov eax, ebx or eax, 32 add eax, -97 cmp eax, 25 ja SHORT G_M000_IG04 G_M000_IG03: cmp edi, 1 je SHORT G_M000_IG08 cmp edi, 2 jne SHORT G_M000_IG09 movzx eax, word ptr [esi+02H] add eax, -48 cmp eax, 10 jae SHORT G_M000_IG10 mov dword ptr [ecx], eax jmp SHORT G_M000_IG06 G_M000_IG04: mov dword ptr [ecx], -1 test edi, edi je G_M000_IG16 test ebx, ebx je G_M000_IG16 xor eax, eax G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG06: movzx eax, bx G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG08: mov dword ptr [ecx], -1 jmp SHORT G_M000_IG06 G_M000_IG09: cmp edi, 3 jne SHORT G_M000_IG10 movzx eax, word ptr [esi+02H] add eax, -48 movzx edx, word ptr [esi+04H] add edx, -48 cmp eax, 10 jae SHORT G_M000_IG10 cmp edx, 10 jae SHORT G_M000_IG10 lea eax, [eax+4*eax] add eax, eax add eax, edx mov dword ptr [ecx], eax jmp SHORT G_M000_IG06 G_M000_IG10: xor eax, eax mov edx, 1 jmp SHORT G_M000_IG13 G_M000_IG11: mov dword ptr [ebp-10H], eax cmp eax, 0xD1FFAB1E jl SHORT G_M000_IG12 call [System.ThrowHelper:ThrowFormatException_BadFormatSpecifier()] int3 G_M000_IG12: mov edx, dword ptr [ebp-14H] lea eax, [edx+01H] mov dword ptr [ebp-14H], eax movzx edx, word ptr [esi+2*edx] mov eax, dword ptr [ebp-10H] lea eax, [eax+4*eax] lea eax, [edx+2*eax-30H] mov edx, dword ptr [ebp-14H] G_M000_IG13: cmp edx, edi jae SHORT G_M000_IG14 mov dword ptr [ebp-14H], edx movzx edx, word ptr [esi+2*edx] add edx, -48 cmp edx, 9 jbe SHORT G_M000_IG11 mov edx, dword ptr [ebp-14H] G_M000_IG14: cmp edx, edi jae SHORT G_M000_IG15 cmp word ptr [esi+2*edx], 0 jne G_M000_IG04 G_M000_IG15: mov dword ptr [ecx], eax jmp G_M000_IG06 G_M000_IG16: mov eax, 71 G_M000_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 269 1124: JIT compiled System.Number:ParseFormatSpecifier(System.ReadOnlySpan`1[ushort],byref) [Tier1 with Dynamic PGO, IL size=259, code size=269] ; Assembly listing for method System.Number:GetFloatingPointMaxDigitsAndPrecision(ushort,byref,System.Globalization.NumberFormatInfo,byref):int (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 30 ; 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 G_M000_IG02: movzx ecx, cx test ecx, ecx jne SHORT G_M000_IG05 G_M000_IG03: mov eax, bword ptr [ebp+08H] mov byte ptr [eax], 1 mov eax, dword ptr [edx] G_M000_IG04: pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG05: mov esi, dword ptr [edx] mov eax, esi cmp ecx, 82 ja G_M000_IG15 lea edi, [ecx-43H] cmp edi, 4 ja SHORT G_M000_IG06 lea ecx, [@RWD00] mov ecx, dword ptr [ecx+4*edi] lea ebx, G_M000_IG02 add ecx, ebx jmp ecx G_M000_IG06: add ecx, -78 cmp ecx, 4 ja SHORT G_M000_IG13 lea edi, [@RWD20] mov edi, dword ptr [edi+4*ecx] lea ebx, G_M000_IG02 add edi, ebx jmp edi G_M000_IG07: cmp esi, -1 jne G_M000_IG18 mov ecx, gword ptr [ebp+0CH] mov ecx, dword ptr [ecx+84H] mov dword ptr [edx], ecx jmp SHORT G_M000_IG18 G_M000_IG08: test esi, esi jne SHORT G_M000_IG10 G_M000_IG09: mov dword ptr [edx], -1 G_M000_IG10: mov ecx, bword ptr [ebp+08H] mov byte ptr [ecx], 1 jmp SHORT G_M000_IG14 G_M000_IG11: cmp esi, -1 jne SHORT G_M000_IG12 mov esi, gword ptr [ebp+0CH] mov edi, dword ptr [esi+A0H] mov dword ptr [edx], edi G_M000_IG12: add dword ptr [edx], 2 jmp SHORT G_M000_IG18 G_M000_IG13: call [System.ThrowHelper:ThrowFormatException_BadFormatSpecifier()] int3 G_M000_IG14: pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG15: lea edi, [ecx-63H] cmp edi, 4 ja SHORT G_M000_IG16 lea ecx, [@RWD40] mov ecx, dword ptr [ecx+4*edi] lea ebx, G_M000_IG02 add ecx, ebx jmp ecx G_M000_IG16: lea ebx, [ecx-6EH] cmp ebx, 4 ja SHORT G_M000_IG13 lea ecx, [@RWD60] mov ecx, dword ptr [ecx+4*ebx] lea edi, G_M000_IG02 add ecx, edi jmp ecx G_M000_IG17: cmp esi, -1 jne SHORT G_M000_IG18 mov ecx, gword ptr [ebp+0CH] mov ecx, dword ptr [ecx+88H] mov dword ptr [edx], ecx G_M000_IG18: mov ecx, bword ptr [ebp+08H] mov byte ptr [ecx], 0 jmp SHORT G_M000_IG14 G_M000_IG19: cmp esi, -1 jne SHORT G_M000_IG20 mov dword ptr [edx], 6 G_M000_IG20: inc dword ptr [edx] jmp G_M000_IG10 RWD00 dd G_M000_IG17 - G_M000_IG02 dd G_M000_IG13 - G_M000_IG02 dd G_M000_IG19 - G_M000_IG02 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG08 - G_M000_IG02 RWD20 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG13 - G_M000_IG02 dd G_M000_IG11 - G_M000_IG02 dd G_M000_IG13 - G_M000_IG02 dd G_M000_IG09 - G_M000_IG02 RWD40 dd G_M000_IG17 - G_M000_IG02 dd G_M000_IG13 - G_M000_IG02 dd G_M000_IG19 - G_M000_IG02 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG08 - G_M000_IG02 RWD60 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG13 - G_M000_IG02 dd G_M000_IG11 - G_M000_IG02 dd G_M000_IG13 - G_M000_IG02 dd G_M000_IG09 - G_M000_IG02 ; Total bytes of code 266 1125: JIT compiled System.Number:GetFloatingPointMaxDigitsAndPrecision(ushort,byref,System.Globalization.NumberFormatInfo,byref) [Tier1 with Dynamic PGO, IL size=248, code size=266] ; Assembly listing for method System.SpanHelpers:ClearWithoutReferences(byref,uint) (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 30 G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx G_M000_IG02: test edx, edx je SHORT G_M000_IG05 G_M000_IG03: xor eax, eax mov esi, edx sub esi, 1 sbb eax, 0 cmp esi, 22 sbb eax, 0 jae G_M000_IG63 cmp esi, 21 ja G_M000_IG63 lea edx, [@RWD00] mov edx, dword ptr [edx+4*esi] lea eax, G_M000_IG02 add edx, eax jmp edx G_M000_IG04: xor edx, edx mov dword ptr [ecx], edx G_M000_IG05: pop ebx pop esi pop edi pop ebp ret G_M000_IG06: mov byte ptr [ecx], 0 jmp SHORT G_M000_IG05 G_M000_IG07: mov word ptr [ecx], 0 jmp SHORT G_M000_IG05 G_M000_IG08: mov word ptr [ecx], 0 mov byte ptr [ecx+02H], 0 jmp SHORT G_M000_IG05 G_M000_IG09: xor edx, edx mov dword ptr [ecx], edx mov byte ptr [ecx+04H], 0 jmp SHORT G_M000_IG05 G_M000_IG10: xor edx, edx mov dword ptr [ecx], edx mov word ptr [ecx+04H], 0 jmp SHORT G_M000_IG05 G_M000_IG11: xor edx, edx mov dword ptr [ecx], edx mov word ptr [ecx+04H], 0 mov byte ptr [ecx+06H], 0 jmp SHORT G_M000_IG05 G_M000_IG12: xor edx, edx mov dword ptr [ecx], edx G_M000_IG13: mov dword ptr [ecx+04H], edx jmp SHORT G_M000_IG05 G_M000_IG14: xor edx, edx mov dword ptr [ecx], edx G_M000_IG15: mov dword ptr [ecx+04H], edx mov byte ptr [ecx+08H], 0 jmp SHORT G_M000_IG05 G_M000_IG16: xor edx, edx mov dword ptr [ecx], edx G_M000_IG17: mov dword ptr [ecx+04H], edx mov word ptr [ecx+08H], 0 jmp SHORT G_M000_IG05 G_M000_IG18: xor edx, edx mov dword ptr [ecx], edx G_M000_IG19: mov dword ptr [ecx+04H], edx mov word ptr [ecx+08H], 0 mov byte ptr [ecx+0AH], 0 jmp SHORT G_M000_IG05 G_M000_IG20: xor edx, edx mov dword ptr [ecx], edx G_M000_IG21: mov dword ptr [ecx+04H], edx G_M000_IG22: mov dword ptr [ecx+08H], edx jmp G_M000_IG05 G_M000_IG23: xor edx, edx mov dword ptr [ecx], edx G_M000_IG24: mov dword ptr [ecx+04H], edx G_M000_IG25: mov dword ptr [ecx+08H], edx mov byte ptr [ecx+0CH], 0 jmp G_M000_IG05 G_M000_IG26: xor edx, edx mov dword ptr [ecx], edx G_M000_IG27: mov dword ptr [ecx+04H], edx G_M000_IG28: mov dword ptr [ecx+08H], edx mov word ptr [ecx+0CH], 0 jmp G_M000_IG05 G_M000_IG29: xor edx, edx mov dword ptr [ecx], edx G_M000_IG30: mov dword ptr [ecx+04H], edx G_M000_IG31: mov dword ptr [ecx+08H], edx mov word ptr [ecx+0CH], 0 mov byte ptr [ecx+0EH], 0 jmp G_M000_IG05 G_M000_IG32: xor edx, edx mov dword ptr [ecx], edx G_M000_IG33: mov dword ptr [ecx+04H], edx G_M000_IG34: mov dword ptr [ecx+08H], edx G_M000_IG35: mov dword ptr [ecx+0CH], edx jmp G_M000_IG05 G_M000_IG36: xor edx, edx mov dword ptr [ecx], edx G_M000_IG37: mov dword ptr [ecx+04H], edx G_M000_IG38: mov dword ptr [ecx+08H], edx G_M000_IG39: mov dword ptr [ecx+0CH], edx mov byte ptr [ecx+10H], 0 jmp G_M000_IG05 G_M000_IG40: xor edx, edx mov dword ptr [ecx], edx G_M000_IG41: mov dword ptr [ecx+04H], edx G_M000_IG42: mov dword ptr [ecx+08H], edx G_M000_IG43: mov dword ptr [ecx+0CH], edx mov word ptr [ecx+10H], 0 jmp G_M000_IG05 G_M000_IG44: xor edx, edx mov dword ptr [ecx], edx G_M000_IG45: mov dword ptr [ecx+04H], edx G_M000_IG46: mov dword ptr [ecx+08H], edx G_M000_IG47: mov dword ptr [ecx+0CH], edx mov word ptr [ecx+10H], 0 mov byte ptr [ecx+12H], 0 jmp G_M000_IG05 G_M000_IG48: xor edx, edx mov dword ptr [ecx], edx G_M000_IG49: mov dword ptr [ecx+04H], edx G_M000_IG50: mov dword ptr [ecx+08H], edx G_M000_IG51: mov dword ptr [ecx+0CH], edx G_M000_IG52: mov dword ptr [ecx+10H], edx jmp G_M000_IG05 G_M000_IG53: xor edx, edx mov dword ptr [ecx], edx G_M000_IG54: mov dword ptr [ecx+04H], edx G_M000_IG55: mov dword ptr [ecx+08H], edx G_M000_IG56: mov dword ptr [ecx+0CH], edx G_M000_IG57: mov dword ptr [ecx+10H], edx mov byte ptr [ecx+14H], 0 jmp G_M000_IG05 G_M000_IG58: xor edx, edx mov dword ptr [ecx], edx G_M000_IG59: mov dword ptr [ecx+04H], edx G_M000_IG60: mov dword ptr [ecx+08H], edx G_M000_IG61: mov dword ptr [ecx+0CH], edx G_M000_IG62: mov dword ptr [ecx+10H], edx mov word ptr [ecx+14H], 0 jmp G_M000_IG05 G_M000_IG63: cmp edx, 512 jae G_M000_IG75 xor eax, eax mov esi, ecx test esi, 3 je SHORT G_M000_IG65 mov esi, ecx test esi, 1 je SHORT G_M000_IG64 mov byte ptr [ecx], 0 mov eax, 1 mov esi, ecx test esi, 2 jne SHORT G_M000_IG65 G_M000_IG64: mov word ptr [ecx+eax], 0 add eax, 2 G_M000_IG65: mov esi, ecx dec esi test esi, 4 jne SHORT G_M000_IG66 xor esi, esi mov dword ptr [ecx+eax], esi add eax, 4 G_M000_IG66: lea esi, [edx-10H] sub edx, eax G_M000_IG67: lea edi, [eax+10H] xor ebx, ebx mov dword ptr [ecx+eax], ebx G_M000_IG68: mov dword ptr [ecx+eax+04H], ebx G_M000_IG69: mov dword ptr [ecx+eax+08H], ebx G_M000_IG70: mov dword ptr [ecx+eax+0CH], ebx mov eax, edi cmp eax, esi jbe SHORT G_M000_IG67 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 G_M000_IG05 mov byte ptr [ecx+eax], 0 jmp G_M000_IG05 G_M000_IG75: call [System.Buffer:_ZeroMemory(byref,uint)] jmp G_M000_IG05 RWD00 dd G_M000_IG06 - G_M000_IG02 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG08 - G_M000_IG02 dd G_M000_IG04 - 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_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_IG23 - G_M000_IG02 dd G_M000_IG26 - G_M000_IG02 dd G_M000_IG29 - G_M000_IG02 dd G_M000_IG32 - G_M000_IG02 dd G_M000_IG36 - G_M000_IG02 dd G_M000_IG40 - G_M000_IG02 dd G_M000_IG44 - G_M000_IG02 dd G_M000_IG48 - G_M000_IG02 dd G_M000_IG53 - G_M000_IG02 dd G_M000_IG58 - G_M000_IG02 ; Total bytes of code 615 1126: JIT compiled System.SpanHelpers:ClearWithoutReferences(byref,uint) [Tier1 with Dynamic PGO, IL size=1369, code size=615] ; Assembly listing for method System.Number:RoundNumber(byref,int,bool) (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 30 ; 3 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi push ebx push eax G_M000_IG02: mov eax, bword ptr [ecx+0CH] xor esi, esi jmp SHORT G_M000_IG04 align [0 bytes for IG03] G_M000_IG03: inc esi G_M000_IG04: cmp esi, edx jge SHORT G_M000_IG06 G_M000_IG05: cmp byte ptr [eax+esi], 0 jne SHORT G_M000_IG03 G_M000_IG06: cmp esi, edx jne SHORT G_M000_IG10 G_M000_IG07: movzx edx, byte ptr [eax+esi] mov dword ptr [ebp-0CH], edx xor ebx, ebx test edx, edx sete bl movzx edx, byte ptr [ebp+08H] or edx, ebx jne SHORT G_M000_IG10 cmp dword ptr [ebp-0CH], 53 jl SHORT G_M000_IG10 G_M000_IG08: jmp SHORT G_M000_IG15 G_M000_IG09: dec esi G_M000_IG10: test esi, esi jle SHORT G_M000_IG11 cmp byte ptr [eax+esi-01H], 48 je SHORT G_M000_IG09 G_M000_IG11: test esi, esi je SHORT G_M000_IG18 G_M000_IG12: mov byte ptr [eax+esi], 0 mov dword ptr [ecx], esi G_M000_IG13: pop ecx pop ebx pop esi pop ebp ret 4 G_M000_IG14: dec esi G_M000_IG15: test esi, esi jle SHORT G_M000_IG16 cmp byte ptr [eax+esi-01H], 57 je SHORT G_M000_IG14 G_M000_IG16: test esi, esi jle SHORT G_M000_IG17 lea edx, [eax+esi-01H] inc byte ptr [edx] jmp SHORT G_M000_IG11 G_M000_IG17: lea edx, bword ptr [ecx+04H] inc dword ptr [edx] mov byte ptr [eax], 49 mov esi, 1 test esi, esi jne SHORT G_M000_IG12 G_M000_IG18: cmp byte ptr [ecx+0AH], 3 je SHORT G_M000_IG19 mov byte ptr [ecx+08H], 0 G_M000_IG19: xor edx, edx mov dword ptr [ecx+04H], edx jmp SHORT G_M000_IG12 ; Total bytes of code 145 1127: JIT compiled System.Number:RoundNumber(byref,int,bool) [Tier1 with Dynamic PGO, IL size=158, code size=145] ; Assembly listing for method System.ReadOnlySpan`1[ushort]:ToString():System.String:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 72632 ; 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: 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 1128: JIT compiled System.ReadOnlySpan`1[ushort]:ToString() [Tier1 with Static PGO, IL size=144, code size=17] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_IterationStage():int:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 1129: JIT compiled BenchmarkDotNet.Reports.Measurement:get_IterationStage() [Tier1, IL size=7, code size=4] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:GcCollect():this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 30 ; 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_IG15 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 G_M000_IG15: mov eax, bword ptr [ebp-24H] mov dword ptr [esi+0CH], eax G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 219 1130: JIT compiled BenchmarkDotNet.Engines.Engine:GcCollect() [Tier1 with Dynamic PGO, IL size=15, code size=219] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_ForceGcCleanups():bool:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 1131: JIT compiled BenchmarkDotNet.Engines.Engine:get_ForceGcCleanups() [Tier1, IL size=7, code size=5] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:ForceGcCollect() (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 1132: JIT compiled BenchmarkDotNet.Engines.Engine:ForceGcCollect() [Tier1, IL size=16, code size=209] ; Assembly listing for method System.GC:WaitForPendingFinalizers() (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 1133: JIT compiled System.GC:WaitForPendingFinalizers() [Tier1, IL size=6, code size=91] ; Assembly listing for method System.Diagnostics.Tracing.EventSource:IsEnabled():bool:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 319749 G_M000_IG01: G_M000_IG02: movzx eax, byte ptr [ecx+59H] G_M000_IG03: ret ; Total bytes of code 5 1134: JIT compiled System.Diagnostics.Tracing.EventSource:IsEnabled() [Tier1 with Static PGO, IL size=7, code size=5] ; Assembly listing for method System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; esp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 30 ; 2 inlinees with PGO data; 3 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_IG04 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_IG03: 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_IG04: cmp dword ptr [esp+10H], 0xD1FFAB1E je SHORT G_M000_IG05 call CORINFO_HELP_FAIL_FAST G_M000_IG05: add esp, 20 pop esi pop edi ret 8 ; Total bytes of code 79 1135: JIT compiled System.Diagnostics.Tracing.EventSource:WriteEvent(int,long) [Tier1 with Dynamic PGO, IL size=53, code size=79] ; Assembly listing for method Perfolizer.Horology.WindowsClock:GetTimestamp():long:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 1136: JIT compiled Perfolizer.Horology.WindowsClock:GetTimestamp() [Tier1, IL size=10, code size=32] ; Assembly listing for method BenchmarkDotNet.Engines.HostExtensions:AfterMainRun(BenchmarkDotNet.Engines.IHost) (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 1137: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1138: JIT compiled BenchmarkDotNet.Engines.Engine:GetExtraStats(BenchmarkDotNet.Engines.IterationData) [Tier0, IL size=179, code size=894] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:EnableMonitoring() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1139: JIT compiled BenchmarkDotNet.Engines.Engine:EnableMonitoring() [Tier0, IL size=22, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:ReadInitial():BenchmarkDotNet.Engines.ThreadingStats (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1140: JIT compiled BenchmarkDotNet.Engines.ThreadingStats:ReadInitial() [Tier0, IL size=30, code size=175] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1141: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1142: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1143: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 1144: JIT compiled BenchmarkDotNet.Engines.ExceptionsStats:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Engines.ExceptionsStats:StartListening():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1145: JIT compiled BenchmarkDotNet.Engines.ExceptionsStats:StartListening() [Tier0, IL size=23, code size=74] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:ReadInitial():BenchmarkDotNet.Engines.GcStats (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1146: JIT compiled BenchmarkDotNet.Engines.GcStats:ReadInitial() [Tier0, IL size=33, code size=122] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:GetAllocatedBytes():long (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1147: JIT compiled BenchmarkDotNet.Engines.GcStats:GetAllocatedBytes() [Tier0, IL size=50, code size=116] ; Assembly listing for method BenchmarkDotNet.Engines.ExceptionsStats:Stop():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1148: JIT compiled BenchmarkDotNet.Engines.ExceptionsStats:Stop() [Tier0, IL size=23, code size=74] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:ReadFinal():BenchmarkDotNet.Engines.GcStats (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1149: JIT compiled BenchmarkDotNet.Engines.GcStats:ReadFinal() [Tier0, IL size=31, code size=119] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:ReadFinal():BenchmarkDotNet.Engines.ThreadingStats (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1150: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1151: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1152: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1153: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1154: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1155: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1156: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1157: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1158: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1159: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1160: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1161: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1162: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1163: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1164: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1165: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1166: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1167: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 1168: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 cmp dword ptr [ebp-5CH], 0 jne SHORT G_M000_IG10 G_M000_IG09: cmp dword ptr [ebp-58H], 0 jne SHORT G_M000_IG10 cmp dword ptr [ebp-54H], 0 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 389 1169: JIT compiled BenchmarkDotNet.Engines.RunResults:Print(System.IO.TextWriter) [Tier-0 switched to FullOpts, IL size=183, code size=389] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults:GetWorkloadResultMeasurements():System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1170: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1171: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1172: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 7 inlinees with PGO data; 10 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 76 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-4CH], 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_IG14 xor eax, eax jmp G_M000_IG33 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, 60 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov esi, gword ptr [D1FFAB1EH] G_M000_IG05: mov ecx, gword ptr [ebp-4CH] 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_IG33 G_M000_IG06: mov ecx, gword ptr [ebp-4CH] 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_IG23 test byte ptr [D1FFAB1EH], 1 je G_M000_IG21 G_M000_IG07: mov eax, gword ptr [D1FFAB1EH] test eax, eax mov gword ptr [ebp-54H], eax jne SHORT G_M000_IG09 G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ecx, gword ptr [D1FFAB1EH] test ecx, ecx je G_M000_IG20 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-54H], eax G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST_ALIGN8 mov gword ptr [ebp-58H], eax mov ecx, esi mov edx, gword ptr [ebp-54H] 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-58H] call [BenchmarkDotNet.Mathematics.Statistics:.ctor(System.Collections.Generic.IEnumerable`1[double]):this] mov esi, gword ptr [ebp-58H] vmovsd xmm0, qword ptr [esi+1CH] G_M000_IG10: vmovsd qword ptr [ebx+04H], xmm0 test byte ptr [D1FFAB1EH], 1 je G_M000_IG19 G_M000_IG11: mov esi, gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-4CH] mov ebx, ecx test esi, esi jne SHORT G_M000_IG13 G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, gword ptr [D1FFAB1EH] test ecx, ecx je G_M000_IG20 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_IG13: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST_ALIGN8 mov gword ptr [ebp-50H], 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-50H] call [BenchmarkDotNet.Mathematics.Statistics:.ctor(System.Collections.Generic.IEnumerable`1[double]):this] lea edx, bword ptr [ebx+0CH] mov esi, gword ptr [ebp-50H] call CORINFO_HELP_ASSIGN_REF_ESI xor ecx, ecx mov esi, gword ptr [ebp-4CH] 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_IG14: mov dword ptr [ecx+14H], -3 G_M000_IG15: mov ecx, gword ptr [ecx+10H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG24 G_M000_IG16: mov ecx, gword ptr [ebp-4CH] mov dword ptr [ecx+14H], -1 cmp gword ptr [ecx+10H], 0 je SHORT G_M000_IG17 mov ecx, gword ptr [ecx+10H] call [System.IDisposable:Dispose():this] mov ecx, gword ptr [ebp-4CH] G_M000_IG17: xor eax, eax mov gword ptr [ecx+10H], eax G_M000_IG18: jmp G_M000_IG33 G_M000_IG19: mov ecx, 0xD1FFAB1E mov edx, 0x407 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M000_IG11 G_M000_IG20: call [System.MulticastDelegate:ThrowNullThisInDelegateToInstance()] int3 G_M000_IG21: mov ecx, 0xD1FFAB1E mov edx, 0x407 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M000_IG07 G_M000_IG22: vxorps xmm0, xmm0, xmm0 jmp SHORT G_M000_IG30 G_M000_IG23: vxorps xmm0, xmm0, xmm0 jmp G_M000_IG10 G_M000_IG24: mov esi, gword ptr [ebp-4CH] 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_IG15 G_M000_IG25: vmovsd xmm0, qword ptr [ebp-28H] vsubsd xmm0, xmm0, qword ptr [ecx+04H] vxorps xmm1, xmm1, xmm1 vucomisd xmm0, xmm1 jp SHORT G_M000_IG26 je SHORT G_M000_IG29 G_M000_IG26: vxorps xmm1, xmm1, xmm1 vucomisd xmm1, xmm0 ja SHORT G_M000_IG28 G_M000_IG27: jmp SHORT G_M000_IG30 G_M000_IG28: vxorps xmm0, xmm0, xmm0 jmp SHORT G_M000_IG30 G_M000_IG29: vmovsd qword ptr [ebp-48H], xmm0 cmp dword ptr [ebp-44H], 0 jl SHORT G_M000_IG22 jmp SHORT G_M000_IG27 G_M000_IG30: vmovsd xmm1, qword ptr [@RWD00] vucomisd xmm1, xmm0 jbe SHORT G_M000_IG31 vxorps xmm0, xmm0, xmm0 G_M000_IG31: mov eax, dword ptr [ebp-38H] mov edx, dword ptr [ecx+1CH] inc edx mov dword ptr [ecx+1CH], edx mov edi, dword ptr [ebp-30H] mov esi, dword ptr [ebp-2CH] lea ebx, bword ptr [ecx+24H] mov dword ptr [ebx], 1 mov dword ptr [ebx+04H], 4 mov dword ptr [ebx+08H], eax mov dword ptr [ebx+0CH], edx lea eax, bword ptr [ebx+10H] mov dword ptr [eax], edi mov dword ptr [eax+04H], esi vmovsd qword ptr [ebx+18H], xmm0 mov dword ptr [ecx+14H], 1 mov eax, 1 jmp SHORT G_M000_IG33 G_M000_IG32: mov ecx, gword ptr [ebp-4CH] call [BenchmarkDotNet.Engines.RunResults+d__18:System.IDisposable.Dispose():this] pop eax jmp eax G_M000_IG33: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret RWD00 dq 3FB999999999999Ah ; 0.1 ; Total bytes of code 757 1173: JIT compiled BenchmarkDotNet.Engines.RunResults+d__18:MoveNext() [Tier-0 switched to FullOpts, IL size=435, code size=757] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults:get_Overhead():System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1174: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1175: JIT compiled BenchmarkDotNet.Engines.RunResults:get_EngineMeasurements() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults+<>c:.cctor() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1176: JIT compiled BenchmarkDotNet.Engines.RunResults+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults+<>c:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 1177: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1178: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1179: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 1180: 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[] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1181: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 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, 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, 60 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 1182: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1183: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1184: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1185: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1186: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1187: JIT compiled System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:AllocateBuffer() [Tier0, IL size=163, code size=281] ; Assembly listing for method System.Collections.Generic.ArrayBuilder`1[System.__Canon]:Add(System.__Canon):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov bword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, bword ptr [ebp-08H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-10H], ecx mov ecx, bword ptr [ebp-08H] mov edx, dword ptr [ebp+08H] call [System.Collections.Generic.ArrayBuilder`1[System.__Canon]:get_Capacity():int:this] cmp eax, dword ptr [ebp-10H] jne SHORT G_M000_IG03 mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] inc edx mov dword ptr [ebp-14H], edx push dword ptr [ebp+08H] mov edx, dword ptr [ebp-14H] mov ecx, bword ptr [ebp-08H] call [System.Collections.Generic.ArrayBuilder`1[System.__Canon]:EnsureCapacity(int):this] G_M000_IG03: push dword ptr [ebp+08H] mov ecx, bword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [System.Collections.Generic.ArrayBuilder`1[System.__Canon]:UncheckedAdd(System.__Canon):this] G_M000_IG04: mov esp, ebp pop ebp ret 4 ; Total bytes of code 90 1188: JIT compiled System.Collections.Generic.ArrayBuilder`1[System.__Canon]:Add(System.__Canon) [Tier0, IL size=36, code size=90] ; Assembly listing for method System.Collections.Generic.ArrayBuilder`1[System.__Canon]:get_Capacity():int:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, gword ptr [eax] mov gword ptr [ebp-0CH], eax mov eax, gword ptr [ebp-0CH] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-0CH], 0 jne SHORT G_M000_IG04 xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov eax, gword ptr [ebp-10H] mov eax, dword ptr [eax+04H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 56 1189: JIT compiled System.Collections.Generic.ArrayBuilder`1[System.__Canon]:get_Capacity() [Tier0, IL size=15, code size=56] ; Assembly listing for method System.Collections.Generic.ArrayBuilder`1[System.__Canon]:EnsureCapacity(int):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 40 xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-28H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov bword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, bword ptr [ebp-08H] mov edx, dword ptr [ebp+08H] call [System.Collections.Generic.ArrayBuilder`1[System.__Canon]:get_Capacity():int:this] mov dword ptr [ebp-10H], eax cmp dword ptr [ebp-10H], 0 je SHORT G_M000_IG03 mov eax, dword ptr [ebp-10H] add eax, eax mov dword ptr [ebp-1CH], eax jmp SHORT G_M000_IG04 G_M000_IG03: mov dword ptr [ebp-1CH], 4 G_M000_IG04: mov eax, dword ptr [ebp-1CH] mov dword ptr [ebp-14H], eax call [System.Array:get_MaxLength():int] cmp eax, dword ptr [ebp-14H] jae SHORT G_M000_IG05 call [System.Array:get_MaxLength():int] mov dword ptr [ebp-24H], eax mov edx, dword ptr [ebp-24H] mov ecx, dword ptr [ebp-10H] inc ecx call [System.Math:Max(int,int):int] mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, dword ptr [ebp-14H] mov edx, dword ptr [ebp-0CH] call [System.Math:Max(int,int):int] mov dword ptr [ebp-14H], eax mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-20H], ecx jmp SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-20H], eax G_M000_IG08: mov ecx, dword ptr [ebp-20H] mov edx, dword ptr [ebp-14H] call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [ebp-18H], eax mov ecx, bword ptr [ebp-08H] cmp dword ptr [ecx+04H], 0 jle SHORT G_M000_IG09 mov ecx, bword ptr [ebp-08H] mov ecx, gword ptr [ecx] mov gword ptr [ebp-28H], ecx mov ecx, bword ptr [ebp-08H] push dword ptr [ecx+04H] mov ecx, gword ptr [ebp-28H] mov edx, gword ptr [ebp-18H] call [System.Array:Copy(System.Array,System.Array,int)] G_M000_IG09: mov edx, bword ptr [ebp-08H] mov eax, gword ptr [ebp-18H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX G_M000_IG10: mov esp, ebp pop ebp ret 4 ; Total bytes of code 233 1190: JIT compiled System.Collections.Generic.ArrayBuilder`1[System.__Canon]:EnsureCapacity(int) [Tier0, IL size=89, code size=233] ; Assembly listing for method System.Collections.Generic.ArrayBuilder`1[System.__Canon]:UncheckedAdd(System.__Canon):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-10H], eax mov bword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, bword ptr [ebp-04H] mov ecx, gword ptr [ecx] mov gword ptr [ebp-10H], ecx mov ecx, bword ptr [ebp-04H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-0CH], ecx mov ecx, dword ptr [ebp-0CH] inc ecx mov edx, bword ptr [ebp-04H] mov dword ptr [edx+04H], ecx push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-10H] mov edx, dword ptr [ebp-0CH] call CORINFO_HELP_ARRADDR_ST G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 64 1191: JIT compiled System.Collections.Generic.ArrayBuilder`1[System.__Canon]:UncheckedAdd(System.__Canon) [Tier0, IL size=30, code size=64] ; Assembly listing for method System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:ToArray():BenchmarkDotNet.Reports.Measurement[]:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1192: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1193: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 1194: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1195: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1196: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1197: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1198: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1199: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 1200: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1201: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1202: JIT compiled BenchmarkDotNet.Mathematics.Statistics+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics+<>c:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 1203: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1204: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1205: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1206: 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[] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1207: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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, 61 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 1208: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1209: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1210: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1211: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1212: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1213: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1214: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1215: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1216: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1217: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1218: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 1219: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 1220: 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] (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1221: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1222: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1223: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1224: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1225: 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[] (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 3 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 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 1226: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1227: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1228: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 vzeroupper G_M000_IG02: mov esi, gword ptr [ebp+10H] mov edi, dword ptr [ebp+0CH] 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 edx, esi cmp dword ptr [ecx], ecx call [System.Linq.EnumerableSorter`1[double]:Sort(double[],int):int[]:this] xor edx, edx test edi, edi jle SHORT G_M000_IG06 test eax, eax je SHORT G_M000_IG05 cmp dword ptr [eax+04H], edi jl SHORT G_M000_IG05 align [9 bytes for IG03] G_M000_IG03: mov ecx, bword ptr [ebp+08H] mov ebx, dword ptr [eax+4*edx+08H] cmp ebx, dword ptr [esi+04H] jae SHORT G_M000_IG07 vmovsd xmm0, qword ptr [esi+8*ebx+08H] vmovsd qword ptr [ecx+8*edx], xmm0 inc edx cmp edx, edi jl SHORT G_M000_IG03 G_M000_IG04: jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, bword ptr [ebp+08H] cmp edx, dword ptr [eax+04H] jae SHORT G_M000_IG07 mov ebx, dword ptr [eax+4*edx+08H] cmp ebx, dword ptr [esi+04H] jae SHORT G_M000_IG07 vmovsd xmm0, qword ptr [esi+8*ebx+08H] vmovsd qword ptr [ecx+8*edx], xmm0 inc edx cmp edx, edi jl SHORT G_M000_IG05 G_M000_IG06: pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG07: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 140 1229: 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=140] ; Assembly listing for method System.Linq.OrderedEnumerable`2[double,double]:GetEnumerableSorter(System.Linq.EnumerableSorter`1[double]):System.Linq.EnumerableSorter`1[double]:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1230: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1231: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 1232: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1233: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 1234: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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, 3 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 1235: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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, 4 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 1236: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1237: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 1238: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1239: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1240: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1241: 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 BenchmarkDotNet.Mathematics.Statistics:get_SortedValues():System.Collections.Generic.IReadOnlyList`1[double]:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 1242: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 1243: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1244: 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) (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1245: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1246: 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() (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1247: JIT compiled Perfolizer.Mathematics.QuantileEstimators.SimpleQuantileEstimator:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.SimpleQuantileEstimator:.ctor():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 1248: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1249: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1250: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1251: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1252: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1253: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1254: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1255: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1256: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1257: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1258: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1259: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1260: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1261: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 1262: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1263: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 1264: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; optimized code ; ebp based frame ; fully 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 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 1265: JIT compiled System.Linq.Enumerable:Sum[double,double](System.ReadOnlySpan`1[double]) [Tier-0 switched to FullOpts, IL size=242, code size=56] ; Assembly listing for method System.Double:TryConvertFrom[int](int,byref):bool (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1266: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1267: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 1268: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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, 63 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 1269: JIT compiled System.SZArrayHelper:GetEnumerator[double]() [Tier0, IL size=24, code size=88] ; Assembly listing for method System.SZGenericArrayEnumerator`1[double]:.ctor(double[]):this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1270: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1271: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1272: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1273: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 1274: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1275: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 1276: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1277: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1278: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1279: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1280: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1281: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1282: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1283: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1284: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1285: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1286: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1287: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 1288: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1289: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1290: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1291: 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 (Tier0-FullOpts) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier-0 switched to FullOpts code ; 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 1292: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1293: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1294: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1295: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1296: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1297: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1298: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1299: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1300: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 1301: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1302: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1303: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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, 64 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 1304: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1305: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1306: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1307: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1308: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1309: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1310: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1311: JIT compiled BenchmarkDotNet.Engines.GcStats:ToOutputLine() [Tier0, IL size=154, code size=271] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:ToOutputLine():System.String:this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1312: JIT compiled BenchmarkDotNet.Engines.ThreadingStats:ToOutputLine() [Tier0, IL size=104, code size=201] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:__TrickTheJIT__():this (MinOpts) ; 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, 24 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 edx, gword ptr [ebp-04H] mov dword ptr [edx+50H], eax lea edx, [ebp-18H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Autogenerated.Runnable_0:__ForDisassemblyDiagnoser__():System.Guid:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 81 1313: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:__TrickTheJIT__() [MinOpts, IL size=29, code size=81] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:__ForDisassemblyDiagnoser__():System.Guid:this (MinOpts) ; 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, 24 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] cmp dword ptr [ecx+50H], 11 jne SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] mov edx, bword ptr [ebp-08H] call [System.Tests.Perf_Guid:ParseExactD():System.Guid:this] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: vxorps xmm0, xmm0, xmm0 vmovups xmmword ptr [ebp-18H], xmm0 mov eax, bword ptr [ebp-08H] vmovdqu xmm0, xmmword ptr [ebp-18H] vmovdqu xmmword ptr [eax], xmm0 G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 79 1314: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:__ForDisassemblyDiagnoser__() [MinOpts, IL size=27, code size=79] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:Dispose():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 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 1315: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 1316: 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 (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 1317: 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) (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 1318: JIT compiled BenchmarkDotNet.Engines.HostExtensions:AfterAll(BenchmarkDotNet.Engines.IHost) [Tier0, IL size=8, code size=25] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_IterationMode():int:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 1319: JIT compiled BenchmarkDotNet.Reports.Measurement:get_IterationMode() [Tier1, IL size=7, code size=3] ; Assembly listing for method System.Object:.ctor():this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 1.251196e+07 G_M000_IG01: G_M000_IG02: ret ; Total bytes of code 1 1320: JIT compiled System.Object:.ctor() [Instrumented Tier1 with Static PGO, IL size=1, code size=1] ; Assembly listing for method System.SZGenericArrayEnumeratorBase:MoveNext():bool:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 952736 ; 1 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push edi push esi push ebx mov esi, ecx G_M000_IG02: mov edi, dword ptr [esi+08H] inc edi mov ecx, gword ptr [esi+04H] mov ebx, dword ptr [ecx+04H] cmp edi, ebx jae SHORT G_M000_IG05 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov dword ptr [esi+08H], edi mov eax, 1 G_M000_IG04: pop ebx pop esi pop edi ret G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov dword ptr [esi+08H], ebx xor eax, eax G_M000_IG06: pop ebx pop esi pop edi ret ; Total bytes of code 60 1321: JIT compiled System.SZGenericArrayEnumeratorBase:MoveNext() [Instrumented Tier1 with Static PGO, IL size=44, code size=60] ; Assembly listing for method System.MulticastDelegate:CtorClosed(System.Object,int):this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 393600 G_M000_IG01: push edi push esi mov esi, ecx mov edi, edx G_M000_IG02: test edi, edi je SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EDI mov edi, dword ptr [esp+0CH] mov dword ptr [esi+0CH], edi G_M000_IG03: pop esi pop edi ret 4 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 call [System.MulticastDelegate:ThrowNullThisInDelegateToInstance()] int3 ; Total bytes of code 57 1322: JIT compiled System.MulticastDelegate:CtorClosed(System.Object,int) [Instrumented Tier1 with Static PGO, IL size=23, code size=57] ; Assembly listing for method System.Number:Dragon4(ulong,int,uint,bool,int,bool,System.Span`1[ubyte],byref):uint (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 49 ; 19 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, 0xF04 test eax, dword ptr [esp] vzeroupper xor eax, eax mov dword ptr [ebp-EE0H], eax mov dword ptr [ebp-10H], 0xD1FFAB1E mov dword ptr [ebp-E94H], edx mov ebx, ecx G_M000_IG02: mov eax, bword ptr [ebp+08H] mov bword ptr [ebp-F0CH], eax lea edi, bword ptr [ebp-EE0H] lea esi, bword ptr [ebp+0CH] movsd movsd mov eax, dword ptr [ebp+18H] mov dword ptr [ebp-ED8H], eax mov edi, bword ptr [ebp-EE0H] mov bword ptr [ebp-F08H], edi mov eax, dword ptr [ebp-EDCH] mov dword ptr [ebp-ED4H], eax xor edx, edx mov dword ptr [ebp-E98H], edx cmp byte ptr [ebp+1CH], 0 jne G_M000_IG51 test ebx, ebx jg G_M000_IG54 push dword ptr [ebp+24H] push dword ptr [ebp+20H] push 0 push 2 call CORINFO_HELP_LMUL cmp edx, 1 jb G_M000_IG55 mov dword ptr [ebp-E8CH], eax mov dword ptr [ebp-E88H], edx mov dword ptr [ebp-E90H], 2 G_M000_IG03: mov eax, ebx neg eax inc eax mov edx, eax and edx, 31 mov dword ptr [ebp-EC8H], edx shr eax, 5 mov dword ptr [ebp-ECCH], eax lea ecx, [eax+01H] mov dword ptr [ebp-CC0H], ecx test eax, eax je SHORT G_M000_IG05 G_M000_IG04: lea ecx, bword ptr [ebp-CBCH] lea edx, [4*eax] call [System.SpanHelpers:ClearWithoutReferences(byref,uint)] mov eax, dword ptr [ebp-ECCH] G_M000_IG05: mov edx, 1 mov ecx, dword ptr [ebp-EC8H] shl edx, cl lea ecx, bword ptr [ebp-CBCH] mov dword ptr [ecx+4*eax], edx mov dword ptr [ebp-1DCH], 1 mov dword ptr [ebp-1E0H], 1 G_M000_IG06: lea eax, [ebp-1E0H] mov dword ptr [ebp-E9CH], eax G_M000_IG07: add ebx, dword ptr [ebp-E94H] 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_IG57 cmp ebx, 9 ja G_M000_IG56 cmp ebx, 10 jae G_M000_IG75 mov edx, dword ptr [4*ebx+D1FFAB1EH] lea ecx, [ebp-CC0H] push ecx lea ecx, [ebp-CC0H] call [System.Number+BigInteger:Multiply(byref,uint,byref)] G_M000_IG08: mov eax, dword ptr [ebp+20H] mov edx, dword ptr [ebp+24H] mov ecx, 2 cmp edx, ecx jb SHORT G_M000_IG09 mov esi, eax mov eax, edx xor edx, edx div edx:eax, ecx mov eax, esi G_M000_IG09: div edx:eax, ecx or edx, 0 sete al movzx eax, al mov dword ptr [ebp-EA4H], eax cmp dword ptr [ebp-ED8H], -1 je G_M000_IG58 mov ecx, dword ptr [ebp-E90H] mov edx, ecx sub edx, dword ptr [ebp-CC0H] jne SHORT G_M000_IG17 G_M000_IG10: test ecx, ecx je SHORT G_M000_IG18 G_M000_IG11: dec ecx js SHORT G_M000_IG18 G_M000_IG12: lea edx, bword ptr [ebp-E8CH] mov edx, dword ptr [edx+4*ecx] xor eax, eax lea esi, bword ptr [ebp-CBCH] sub edx, dword ptr [esi+4*ecx] sbb eax, 0 mov esi, edx or esi, eax jne SHORT G_M000_IG15 G_M000_IG13: dec ecx jns SHORT G_M000_IG12 G_M000_IG14: jmp SHORT G_M000_IG18 align [0 bytes for IG26] G_M000_IG15: cmp edx, 1 mov ecx, eax sbb ecx, 0 jge SHORT G_M000_IG18 G_M000_IG16: jmp G_M000_IG61 G_M000_IG17: test edx, edx jl G_M000_IG61 G_M000_IG18: inc ebx G_M000_IG19: mov ecx, ebx sub ecx, dword ptr [ebp-ED4H] mov esi, dword ptr [ebp-ED8H] cmp esi, -1 je G_M000_IG32 mov eax, esi neg eax mov dword ptr [ebp-F10H], eax mov eax, ebx sub eax, esi cmp byte ptr [ebp+14H], 0 cmove eax, dword ptr [ebp-F10H] cmp eax, ecx cmovg ecx, eax G_M000_IG20: dec ebx mov eax, bword ptr [ebp-F0CH] mov dword ptr [eax], ebx lea eax, bword ptr [ebp-CBCH] mov esi, dword ptr [ebp-CC0H] dec esi mov esi, dword ptr [eax+4*esi] cmp esi, 8 jb G_M000_IG31 cmp esi, 0xD1FFAB1E ja G_M000_IG30 G_M000_IG21: cmp dword ptr [ebp-ED8H], -1 mov esi, dword ptr [ebp-E9CH] je G_M000_IG29 G_M000_IG22: mov dword ptr [ebp-EA8H], ecx cmp ebx, ecx jl G_M000_IG70 xor eax, eax mov dword ptr [ebp-EACH], eax xor esi, esi mov dword ptr [ebp-EB0H], esi G_M000_IG23: lea ecx, [ebp-E90H] lea edx, [ebp-CC0H] call [System.Number+BigInteger:HeuristicDivide(byref,byref):uint] mov ecx, eax cmp dword ptr [ebp-E90H], 0 je G_M000_IG38 G_M000_IG24: mov dword ptr [ebp-EA0H], ebx cmp ebx, dword ptr [ebp-EA8H] jle G_M000_IG38 G_M000_IG25: mov edx, dword ptr [ebp-E98H] cmp edx, dword ptr [ebp-ED4H] jae G_M000_IG75 add ecx, 48 mov byte ptr [edi+edx], cl inc edx mov dword ptr [ebp-E98H], edx mov ecx, dword ptr [ebp-E90H] test ecx, ecx je G_M000_IG28 xor eax, eax mov dword ptr [ebp-ED0H], ecx xor edi, edi xor esi, esi mov dword ptr [ebp-EE4H], edi mov dword ptr [ebp-EE8H], esi G_M000_IG26: lea ecx, bword ptr [ebp-E8CH] mov ecx, dword ptr [ecx+4*eax] xor edx, edx mov dword ptr [ebp-EECH], edx lea ebx, [8*ecx] shld edx, ecx, 3 lea esi, [ecx+ecx] mov edi, dword ptr [ebp-EECH] shld edi, ecx, 1 add esi, ebx adc edx, edi add esi, dword ptr [ebp-EE4H] adc edx, dword ptr [ebp-EE8H] mov edi, edx xor ecx, ecx xor edx, edx lea ecx, bword ptr [ebp-E8CH] mov dword ptr [ecx+4*eax], esi inc eax mov ecx, dword ptr [ebp-ED0H] cmp eax, ecx mov dword ptr [ebp-EE4H], edi mov dword ptr [ebp-EE8H], edx jl SHORT G_M000_IG26 G_M000_IG27: mov edi, dword ptr [ebp-EE4H] mov esi, dword ptr [ebp-EE8H] mov ecx, edi or ecx, esi mov dword ptr [ebp-EE4H], edi jne G_M000_IG69 G_M000_IG28: mov ebx, dword ptr [ebp-EA0H] dec ebx mov edi, bword ptr [ebp-F08H] jmp G_M000_IG23 G_M000_IG29: mov dword ptr [ebp-EA8H], ecx jmp G_M000_IG63 G_M000_IG30: mov dword ptr [ebp-EA8H], ecx jmp G_M000_IG62 G_M000_IG31: mov dword ptr [ebp-EA8H], ecx jmp G_M000_IG62 G_M000_IG32: jmp G_M000_IG20 G_M000_IG33: test eax, eax je SHORT G_M000_IG37 G_M000_IG34: dec eax js SHORT G_M000_IG37 G_M000_IG35: lea edx, bword ptr [ebp-E8CH] mov edx, dword ptr [edx+4*eax] xor ecx, ecx lea ebx, bword ptr [ebp-CBCH] sub edx, dword ptr [ebx+4*eax] sbb ecx, 0 mov esi, edx or esi, ecx jne SHORT G_M000_IG40 G_M000_IG36: dec eax jns SHORT G_M000_IG35 G_M000_IG37: xor edx, edx jmp SHORT G_M000_IG41 G_M000_IG38: mov ebx, dword ptr [ebp-EACH] cmp ebx, dword ptr [ebp-EB0H] jne SHORT G_M000_IG42 mov dword ptr [ebp-EB4H], ecx lea ecx, [ebp-E90H] mov edx, 1 call [System.Number+BigInteger:ShiftLeft(uint):this] mov eax, dword ptr [ebp-E90H] mov edx, eax sub edx, dword ptr [ebp-CC0H] je SHORT G_M000_IG33 G_M000_IG39: jmp SHORT G_M000_IG41 G_M000_IG40: cmp edx, 1 mov eax, ecx sbb eax, 0 setge al movzx eax, al mov edx, 1 mov ecx, -1 test eax, eax cmove edx, ecx G_M000_IG41: mov ebx, edx shr ebx, 31 test edx, edx mov ecx, dword ptr [ebp-EB4H] je G_M000_IG74 G_M000_IG42: test ebx, ebx je SHORT G_M000_IG44 G_M000_IG43: mov edx, dword ptr [ebp-E98H] cmp edx, dword ptr [ebp-ED4H] jae G_M000_IG75 add ecx, 48 mov byte ptr [edi+edx], cl jmp SHORT G_M000_IG46 G_M000_IG44: cmp ecx, 9 je SHORT G_M000_IG49 G_M000_IG45: mov edx, dword ptr [ebp-E98H] cmp edx, dword ptr [ebp-ED4H] jae G_M000_IG75 lea eax, [ecx+31H] mov byte ptr [edi+edx], al G_M000_IG46: inc edx G_M000_IG47: mov eax, edx cmp dword ptr [ebp-10H], 0xD1FFAB1E je SHORT G_M000_IG48 call CORINFO_HELP_FAIL_FAST G_M000_IG48: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 32 G_M000_IG49: mov edx, dword ptr [ebp-E98H] test edx, edx je SHORT G_M000_IG50 dec edx mov eax, dword ptr [ebp-ED4H] cmp edx, eax jae G_M000_IG75 movzx ecx, byte ptr [edi+edx] cmp ecx, 57 mov dword ptr [ebp-E98H], edx je SHORT G_M000_IG49 mov edx, dword ptr [ebp-E98H] add edi, edx inc ecx mov byte ptr [edi], cl jmp SHORT G_M000_IG46 G_M000_IG50: cmp dword ptr [ebp-ED4H], 0 jbe G_M000_IG75 mov byte ptr [edi], 49 mov edx, 1 mov ebx, bword ptr [ebp-F0CH] inc dword ptr [ebx] jmp SHORT G_M000_IG47 G_M000_IG51: test ebx, ebx jle SHORT G_M000_IG52 push dword ptr [ebp+24H] push dword ptr [ebp+20H] push 0 push 4 call CORINFO_HELP_LMUL push edx push eax lea ecx, [ebp-E90H] call [System.Number+BigInteger:SetUInt64(byref,ulong)] lea ecx, [ebp-E90H] mov edx, ebx call [System.Number+BigInteger:ShiftLeft(uint):this] lea ecx, [ebp-CC0H] mov edx, 4 call [System.Number+BigInteger:SetUInt32(byref,uint)] lea edx, [ebp-1E0H] mov ecx, ebx call [System.Number+BigInteger:Pow2(uint,byref)] lea ecx, [ebx+01H] lea edx, [ebp-3B0H] call [System.Number+BigInteger:Pow2(uint,byref)] jmp SHORT G_M000_IG53 G_M000_IG52: push dword ptr [ebp+24H] push dword ptr [ebp+20H] push 0 push 4 call CORINFO_HELP_LMUL push edx push eax lea ecx, [ebp-E90H] call [System.Number+BigInteger:SetUInt64(byref,ulong)] mov ecx, ebx neg ecx add ecx, 2 lea edx, [ebp-CC0H] call [System.Number+BigInteger:Pow2(uint,byref)] lea ecx, [ebp-1E0H] mov edx, 1 call [System.Number+BigInteger:SetUInt32(byref,uint)] lea ecx, [ebp-3B0H] mov edx, 2 call [System.Number+BigInteger:SetUInt32(byref,uint)] G_M000_IG53: lea eax, [ebp-3B0H] mov dword ptr [ebp-E9CH], eax jmp G_M000_IG07 G_M000_IG54: push dword ptr [ebp+24H] push dword ptr [ebp+20H] push 0 push 2 call CORINFO_HELP_LMUL push edx push eax lea ecx, [ebp-E90H] call [System.Number+BigInteger:SetUInt64(byref,ulong)] lea ecx, [ebp-E90H] mov edx, ebx call [System.Number+BigInteger:ShiftLeft(uint):this] lea ecx, [ebp-CC0H] mov edx, 2 call [System.Number+BigInteger:SetUInt32(byref,uint)] lea edx, [ebp-1E0H] mov ecx, ebx call [System.Number+BigInteger:Pow2(uint,byref)] jmp G_M000_IG06 G_M000_IG55: lea ecx, [ebp-E90H] mov edx, eax call [System.Number+BigInteger:SetUInt32(byref,uint)] jmp G_M000_IG03 G_M000_IG56: cmp dword ptr [ebp-CC0H], 0 je G_M000_IG08 lea edx, [ebp-AF0H] mov ecx, ebx call [System.Number+BigInteger:Pow10(uint,byref)] lea ecx, [ebp-CC0H] lea edx, [ebp-AF0H] call [System.Number+BigInteger:Multiply(byref):this] jmp G_M000_IG08 G_M000_IG57: test ebx, ebx jge G_M000_IG08 mov ecx, ebx neg ecx lea edx, [ebp-580H] call [System.Number+BigInteger:Pow10(uint,byref)] lea ecx, [ebp-E90H] lea edx, [ebp-580H] call [System.Number+BigInteger:Multiply(byref):this] lea ecx, [ebp-1E0H] lea edx, [ebp-580H] call [System.Number+BigInteger:Multiply(byref):this] lea ecx, [ebp-1E0H] mov eax, dword ptr [ebp-E9CH] cmp eax, ecx mov dword ptr [ebp-E9CH], eax je G_M000_IG08 push dword ptr [ebp-E9CH] lea ecx, [ebp-1E0H] mov edx, 2 call [System.Number+BigInteger:Multiply(byref,uint,byref)] jmp G_M000_IG08 G_M000_IG58: lea ecx, [ebp-750H] push ecx lea ecx, [ebp-E90H] mov edx, dword ptr [ebp-E9CH] call [System.Number+BigInteger:Add(byref,byref,byref)] lea ecx, [ebp-750H] lea edx, [ebp-CC0H] call [System.Number+BigInteger:Compare(byref,byref):int] cmp dword ptr [ebp-EA4H], 0 jne SHORT G_M000_IG59 xor ecx, ecx test eax, eax setg cl jmp SHORT G_M000_IG60 G_M000_IG59: mov ecx, eax not ecx shr ecx, 31 G_M000_IG60: movzx ecx, cl test ecx, ecx jne G_M000_IG18 G_M000_IG61: lea ecx, [ebp-E90H] call [System.Number+BigInteger:Multiply10():this] lea ecx, [ebp-1E0H] call [System.Number+BigInteger:Multiply10():this] lea ecx, [ebp-1E0H] mov eax, dword ptr [ebp-E9CH] cmp eax, ecx mov dword ptr [ebp-E9CH], eax je G_M000_IG19 push dword ptr [ebp-E9CH] lea ecx, [ebp-1E0H] mov edx, 2 call [System.Number+BigInteger:Multiply(byref,uint,byref)] jmp G_M000_IG19 G_M000_IG62: or esi, 1 xor eax, eax lzcnt eax, esi xor eax, 31 mov esi, eax neg esi add esi, 59 and esi, 31 lea ecx, [ebp-CC0H] mov edx, esi call [System.Number+BigInteger:ShiftLeft(uint):this] lea ecx, [ebp-E90H] 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-1E0H] mov esi, dword ptr [ebp-E9CH] cmp esi, ecx mov dword ptr [ebp-E9CH], esi je G_M000_IG65 mov esi, dword ptr [ebp-E9CH] push esi lea ecx, [ebp-1E0H] mov edx, 2 call [System.Number+BigInteger:Multiply(byref,uint,byref)] cmp dword ptr [ebp-ED8H], -1 jne SHORT G_M000_IG64 G_M000_IG63: lea ecx, [ebp-E90H] lea edx, [ebp-CC0H] call [System.Number+BigInteger:HeuristicDivide(byref,byref):uint] mov dword ptr [ebp-EB4H], eax lea ecx, [ebp-920H] push ecx lea ecx, [ebp-E90H] mov edx, esi call [System.Number+BigInteger:Add(byref,byref,byref)] lea ecx, [ebp-E90H] lea edx, [ebp-1E0H] call [System.Number+BigInteger:Compare(byref,byref):int] mov dword ptr [ebp-EB8H], eax lea ecx, [ebp-920H] lea edx, [ebp-CC0H] call [System.Number+BigInteger:Compare(byref,byref):int] cmp dword ptr [ebp-EA4H], 0 je SHORT G_M000_IG66 xor ecx, ecx cmp dword ptr [ebp-EB8H], 0 setle cl not eax shr eax, 31 jmp SHORT G_M000_IG67 G_M000_IG64: mov ecx, dword ptr [ebp-EA8H] jmp G_M000_IG22 G_M000_IG65: mov ecx, dword ptr [ebp-EA8H] jmp G_M000_IG21 G_M000_IG66: xor ecx, ecx cmp dword ptr [ebp-EB8H], 0 setl cl test eax, eax setg al movzx eax, al G_M000_IG67: mov edx, ecx or edx, eax mov dword ptr [ebp-EACH], ecx mov dword ptr [ebp-EB0H], eax mov ecx, dword ptr [ebp-EB4H] jne G_M000_IG38 cmp ebx, dword ptr [ebp-EA8H] mov dword ptr [ebp-E9CH], esi je G_M000_IG38 mov esi, dword ptr [ebp-E98H] cmp esi, dword ptr [ebp-ED4H] jae G_M000_IG75 add ecx, 48 mov byte ptr [edi+esi], cl inc esi lea ecx, [ebp-E90H] call [System.Number+BigInteger:Multiply10():this] lea ecx, [ebp-1E0H] call [System.Number+BigInteger:Multiply10():this] lea ecx, [ebp-1E0H] mov eax, dword ptr [ebp-E9CH] cmp eax, ecx je SHORT G_M000_IG68 mov dword ptr [ebp-E9CH], eax push eax lea ecx, [ebp-1E0H] mov edx, 2 call [System.Number+BigInteger:Multiply(byref,uint,byref)] mov eax, dword ptr [ebp-E9CH] G_M000_IG68: dec ebx mov dword ptr [ebp-E98H], esi mov esi, eax mov edi, bword ptr [ebp-F08H] jmp G_M000_IG63 G_M000_IG69: mov ecx, eax lea edi, bword ptr [ebp-E8CH] mov eax, dword ptr [ebp-EE4H] mov dword ptr [edi+4*ecx], eax mov ecx, dword ptr [ebp-E90H] inc ecx mov dword ptr [ebp-E90H], ecx jmp G_M000_IG28 G_M000_IG70: lea ecx, [ebp-E90H] lea edx, [ebp-CC0H] call [System.Number+BigInteger:HeuristicDivide(byref,byref):uint] mov ebx, eax cmp ebx, 5 ja SHORT G_M000_IG71 cmp ebx, 5 jne SHORT G_M000_IG72 cmp dword ptr [ebp-E90H], 0 je SHORT G_M000_IG72 G_M000_IG71: mov ebx, bword ptr [ebp-F0CH] inc dword ptr [ebx] mov ebx, 1 G_M000_IG72: cmp dword ptr [ebp-ED4H], 0 jbe SHORT G_M000_IG75 lea eax, [ebx+30H] mov byte ptr [edi], al mov eax, 1 cmp dword ptr [ebp-10H], 0xD1FFAB1E je SHORT G_M000_IG73 call CORINFO_HELP_FAIL_FAST G_M000_IG73: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 32 G_M000_IG74: mov ebx, ecx not ebx and ebx, 1 jmp G_M000_IG42 G_M000_IG75: call CORINFO_HELP_RNGCHKFAIL int3 RWD00 dq 3FD34413509F79FFh ; 0.301029996 RWD08 dq 3FE6147AE147AE14h ; 0.69 ; Total bytes of code 2476 1323: JIT compiled System.Number:Dragon4(ulong,int,uint,bool,int,bool,System.Span`1[ubyte],byref) [Tier1 with Dynamic PGO, IL size=1029, code size=2476] ; Assembly listing for method System.Number+BigInteger:Pow2(uint,byref) (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; esp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 49 ; 3 inlinees with PGO data; 0 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 1324: JIT compiled System.Number+BigInteger:Pow2(uint,byref) [Tier1 with Dynamic PGO, IL size=55, code size=57] ; Assembly listing for method System.Number+BigInteger:ShiftLeft(uint):this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 49 ; 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 sub esp, 20 mov esi, ecx G_M000_IG02: mov eax, dword ptr [esi] test eax, eax je G_M000_IG07 G_M000_IG03: test edx, edx je G_M000_IG07 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 G_M000_IG09 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 ecx, ecx mov dword ptr [ebp-1CH], ecx mov edx, dword ptr [esi+4*eax+04H] mov ecx, dword ptr [ebp-18H] and ecx, 31 mov dword ptr [ebp-20H], ecx mov edi, edx shr edi, cl test eax, eax jle SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-1CH] or ecx, edi mov dword ptr [esi+4*ebx+04H], ecx mov ecx, dword ptr [ebp-14H] shl edx, cl mov dword ptr [ebp-1CH], edx dec eax dec ebx mov ecx, dword ptr [esi+4*eax+04H] mov edi, ecx mov ecx, dword ptr [ebp-20H] mov edx, edi shr edx, cl mov ecx, edx test eax, eax mov edx, edi mov edi, ecx jg SHORT G_M000_IG04 G_M000_IG05: mov ecx, dword ptr [ebp-1CH] or ecx, edi mov dword ptr [esi+4*ebx+04H], ecx mov ecx, dword ptr [ebp-14H] 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 ecx, dword ptr [esi] cmp dword ptr [esi+4*ecx], 0 jne SHORT G_M000_IG06 dec ecx mov dword ptr [esi], ecx G_M000_IG06: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG08: mov ecx, dword ptr [esi+4*eax+04H] mov dword ptr [esi+4*ebx+04H], ecx dec eax dec ebx G_M000_IG09: test eax, eax jge SHORT G_M000_IG08 mov edx, dword ptr [ebp-10H] add dword ptr [esi], edx mov ecx, esi call [System.Number+BigInteger:Clear(uint):this] G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 233 1325: JIT compiled System.Number+BigInteger:ShiftLeft(uint) [Tier1 with Dynamic PGO, IL size=337, code size=233] ; Assembly listing for method System.Number+Grisu3:TryRoundWeedCounted(System.Span`1[ubyte],int,ulong,ulong,ulong,byref):bool (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 1 G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 40 mov dword ptr [ebp-10H], ecx mov bword ptr [ebp-2CH], edx G_M000_IG02: mov ebx, bword ptr [ebp+20H] mov eax, dword ptr [ebp+24H] mov dword ptr [ebp-14H], eax mov ecx, dword ptr [ebp+08H] cmp ecx, dword ptr [ebp+10H] mov ecx, dword ptr [ebp+0CH] sbb ecx, dword ptr [ebp+14H] jae G_M000_IG19 mov ecx, dword ptr [ebp+10H] mov edx, dword ptr [ebp+14H] sub ecx, dword ptr [ebp+08H] sbb edx, dword ptr [ebp+0CH] cmp dword ptr [ebp+08H], ecx mov ecx, dword ptr [ebp+0CH] sbb ecx, edx jae G_M000_IG07 mov ecx, dword ptr [ebp+10H] mov edx, dword ptr [ebp+14H] sub ecx, dword ptr [ebp+18H] sbb edx, dword ptr [ebp+1CH] cmp dword ptr [ebp+18H], ecx mov ecx, dword ptr [ebp+1CH] sbb ecx, edx jb G_M000_IG17 G_M000_IG03: mov ecx, dword ptr [ebp+08H] cmp ecx, dword ptr [ebp+18H] mov ecx, dword ptr [ebp+0CH] sbb ecx, dword ptr [ebp+1CH] jae G_M000_IG15 mov ecx, dword ptr [ebp+18H] mov edx, dword ptr [ebp+1CH] sub ecx, dword ptr [ebp+08H] sbb edx, dword ptr [ebp+0CH] cmp ecx, dword ptr [ebp+10H] mov esi, edx sbb esi, dword ptr [ebp+14H] jae SHORT G_M000_IG06 mov esi, dword ptr [ebp+10H] mov edi, dword ptr [ebp+14H] sub esi, ecx sbb edi, edx cmp ecx, esi sbb edx, edi jae SHORT G_M000_IG05 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG15 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG06: mov esi, dword ptr [ebp-10H] dec esi mov eax, dword ptr [ebp-14H] cmp esi, eax jae G_M000_IG23 lea ecx, bword ptr [ebx+esi] inc byte ptr [ecx] jmp SHORT G_M000_IG10 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG19 G_M000_IG08: cmp esi, eax jae G_M000_IG23 cmp byte ptr [ebx+esi], 58 jne SHORT G_M000_IG14 G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov byte ptr [ebx+esi], 48 dec esi mov eax, dword ptr [ebp-14H] cmp esi, eax jae G_M000_IG23 lea ecx, bword ptr [ebx+esi] inc byte ptr [ecx] G_M000_IG10: test esi, esi jg SHORT G_M000_IG08 G_M000_IG11: cmp byte ptr [ebx], 58 je G_M000_IG22 G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, 1 G_M000_IG13: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 32 G_M000_IG14: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp SHORT G_M000_IG11 G_M000_IG15: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor eax, eax G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 32 G_M000_IG17: push dword ptr [ebp+1CH] push dword ptr [ebp+18H] push 0 push 2 call CORINFO_HELP_LMUL mov dword ptr [ebp-20H], edx mov ecx, dword ptr [ebp+10H] mov edx, dword ptr [ebp+14H] sub ecx, eax mov dword ptr [ebp-30H], ecx sbb edx, dword ptr [ebp-20H] mov dword ptr [ebp-34H], edx push dword ptr [ebp+0CH] push dword ptr [ebp+08H] push 0 push 2 call CORINFO_HELP_LMUL mov ecx, dword ptr [ebp-30H] cmp ecx, eax mov ecx, dword ptr [ebp-34H] sbb ecx, edx jb SHORT G_M000_IG21 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, 1 G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 32 G_M000_IG19: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor eax, eax G_M000_IG20: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 32 G_M000_IG21: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 jmp G_M000_IG03 G_M000_IG22: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov byte ptr [ebx], 49 mov edi, bword ptr [ebp-2CH] inc dword ptr [edi] jmp G_M000_IG12 G_M000_IG23: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 482 1326: JIT compiled System.Number+Grisu3:TryRoundWeedCounted(System.Span`1[ubyte],int,ulong,ulong,ulong,byref) [Instrumented Tier1 with Static PGO, IL size=166, code size=482] ; Assembly listing for method System.Text.Unicode.Utf8Utility:TranscodeToUtf8(uint,int,uint,int,byref,byref):int (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 41 ; 42 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, 40 mov esi, ecx mov edi, edx mov ebx, dword ptr [ebp+14H] mov eax, dword ptr [ebp+10H] G_M000_IG02: cmp edi, eax mov dword ptr [ebp+10H], eax mov ecx, eax cmovle ecx, edi push ecx mov ecx, esi mov edx, ebx call [System.Text.Ascii:NarrowUtf16ToAscii(uint,uint,uint):uint] mov edx, eax lea esi, [esi+2*edx] add ebx, edx cmp eax, edi jne SHORT G_M000_IG04 mov edi, bword ptr [ebp+0CH] mov dword ptr [edi], esi mov edi, bword ptr [ebp+08H] mov dword ptr [edi], ebx xor eax, eax G_M000_IG03: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG04: sub edi, eax mov edx, dword ptr [ebp+10H] sub edx, eax cmp edi, 2 jl G_M000_IG27 lea eax, [esi+2*edi-04H] mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, dword ptr [esi] G_M000_IG06: test ecx, 0xD1FFAB1E jne G_M000_IG12 cmp edx, 2 jl G_M000_IG28 mov eax, ecx shr eax, 8 or eax, ecx mov word ptr [ebx], ax add esi, 4 add ebx, 2 add edx, -2 mov eax, dword ptr [ebp-10H] mov ecx, eax sub ecx, esi mov eax, ecx shr eax, 31 add eax, ecx sar eax, 1 add eax, 2 xor ecx, ecx mov dword ptr [ebp-28H], eax mov dword ptr [ebp-2CH], ecx mov ecx, edx mov eax, ecx sar eax, 31 mov dword ptr [ebp-30H], eax mov eax, dword ptr [ebp-28H] cmp ecx, eax mov eax, dword ptr [ebp-30H] sbb eax, dword ptr [ebp-2CH] jge SHORT G_M000_IG07 jmp SHORT G_M000_IG08 G_M000_IG07: mov eax, dword ptr [ebp-28H] mov ecx, eax G_M000_IG08: shr ecx, 2 mov dword ptr [ebp-18H], ecx xor eax, eax jmp SHORT G_M000_IG10 G_M000_IG09: mov ecx, dword ptr [esi] mov eax, dword ptr [esi+04H] mov dword ptr [ebp-1CH], eax or eax, ecx test eax, 0xD1FFAB1E jne SHORT G_M000_IG11 mov eax, ecx shr eax, 8 or eax, ecx mov word ptr [ebx], ax mov eax, dword ptr [ebp-1CH] mov ecx, eax shr ecx, 8 or ecx, eax mov word ptr [ebx+02H], cx add esi, 8 add ebx, 4 mov eax, dword ptr [ebp-20H] inc eax mov ecx, dword ptr [ebp-18H] G_M000_IG10: mov dword ptr [ebp-20H], eax cmp eax, ecx jb SHORT G_M000_IG09 mov eax, dword ptr [ebp-20H] shl eax, 2 sub edx, eax jmp G_M000_IG25 G_M000_IG11: mov eax, dword ptr [ebp-20H] shl eax, 2 sub edx, eax test ecx, 0xD1FFAB1E jne SHORT G_M000_IG12 mov eax, ecx shr eax, 8 or eax, ecx mov word ptr [ebx], ax add esi, 4 add ebx, 2 add edx, -2 mov eax, dword ptr [ebp-1CH] mov ecx, eax G_M000_IG12: test ecx, 0xFF80 jne SHORT G_M000_IG13 test edx, edx je G_M000_IG36 mov byte ptr [ebx], cl add esi, 2 inc ebx dec edx cmp esi, dword ptr [ebp-10H] ja G_M000_IG26 mov ecx, dword ptr [esi] G_M000_IG13: test ecx, 0xF800 jne G_M000_IG18 G_M000_IG14: lea eax, [ecx+D1FFAB1EH] cmp eax, 0xD1FFAB1E ja SHORT G_M000_IG15 cmp edx, 4 jl G_M000_IG28 mov eax, ecx shr eax, 6 and eax, 0xD1FFAB1E shl ecx, 8 and ecx, 0xD1FFAB1E add eax, ecx add eax, 0xD1FFAB1E mov dword ptr [ebx], eax add esi, 4 add ebx, 4 add edx, -4 cmp esi, dword ptr [ebp-10H] ja G_M000_IG26 mov ecx, dword ptr [esi] lea eax, [ecx-80H] movzx eax, ax cmp eax, 0x780 jb SHORT G_M000_IG14 jmp G_M000_IG06 G_M000_IG15: cmp edx, 2 jl G_M000_IG36 lea eax, [4*ecx] and eax, 0x1F00 mov dword ptr [ebp-14H], ecx and ecx, 63 lea eax, [eax+ecx+C080H] movzx eax, ax ror ax, 8 movzx eax, ax mov word ptr [ebx], ax mov ecx, dword ptr [ebp-14H] cmp ecx, 0xD1FFAB1E jae SHORT G_M000_IG17 cmp edx, 3 jl SHORT G_M000_IG16 shr ecx, 16 mov byte ptr [ebx+02H], cl add esi, 4 add ebx, 3 add edx, -3 jmp G_M000_IG25 G_M000_IG16: add esi, 2 add ebx, 2 jmp G_M000_IG36 G_M000_IG17: add esi, 2 add ebx, 2 add edx, -2 cmp esi, dword ptr [ebp-10H] ja G_M000_IG26 mov ecx, dword ptr [esi] G_M000_IG18: mov dword ptr [ebp-14H], ecx add ecx, -0xD800 test ecx, 0xF800 je G_M000_IG24 mov ecx, dword ptr [ebp-14H] test ecx, 0xD1FFAB1E je G_M000_IG21 mov dword ptr [ebp-14H], ecx add ecx, 0xD1FFAB1E cmp ecx, 0xD1FFAB1E jb G_M000_IG20 cmp edx, 6 jl G_M000_IG19 mov ecx, dword ptr [ebp-14H] shl ecx, 2 and ecx, 0x3F00 mov eax, dword ptr [ebp-14H] and eax, 63 shl eax, 16 or eax, ecx mov dword ptr [ebp-34H], eax mov ecx, dword ptr [ebp-14H] shr ecx, 4 and ecx, 0xD1FFAB1E mov eax, dword ptr [ebp-14H] shr eax, 12 and eax, 15 or eax, ecx add eax, dword ptr [ebp-34H] add eax, 0xD1FFAB1E mov dword ptr [ebx], eax mov eax, dword ptr [ebp-14H] mov ecx, eax shr ecx, 22 and ecx, 63 shr eax, 8 and eax, 0x3F00 add eax, ecx add eax, 0x8080 mov word ptr [ebx+04H], ax add esi, 4 add ebx, 6 add edx, -6 cmp esi, dword ptr [ebp-10H] ja G_M000_IG26 mov ecx, dword ptr [esi] test ecx, 0xF800 jne G_M000_IG18 jmp G_M000_IG06 G_M000_IG19: mov ecx, dword ptr [ebp-14H] jmp SHORT G_M000_IG21 G_M000_IG20: mov ecx, dword ptr [ebp-14H] G_M000_IG21: cmp edx, 3 jl G_M000_IG36 mov dword ptr [ebp-14H], ecx shl ecx, 2 and ecx, 0x3F00 movzx eax, word ptr [ebp-14H] shr eax, 12 add eax, ecx add eax, 0x80E0 mov word ptr [ebx], ax mov eax, dword ptr [ebp-14H] mov ecx, eax and ecx, 63 or ecx, -128 mov byte ptr [ebx+02H], cl add esi, 2 add ebx, 3 add edx, -3 cmp eax, 0xD1FFAB1E jae SHORT G_M000_IG23 test edx, edx je G_M000_IG36 shr eax, 16 mov byte ptr [ebx], al add esi, 2 inc ebx dec edx mov eax, dword ptr [ebp-10H] cmp esi, eax ja SHORT G_M000_IG22 mov ecx, dword ptr [esi] test ecx, 0xF800 jne G_M000_IG18 jmp G_M000_IG06 G_M000_IG22: jmp G_M000_IG26 G_M000_IG23: cmp esi, dword ptr [ebp-10H] ja SHORT G_M000_IG26 mov ecx, dword ptr [esi] jmp G_M000_IG12 G_M000_IG24: mov ecx, dword ptr [ebp-14H] add ecx, 0xD1FFAB1E test ecx, 0xD1FFAB1E jne G_M000_IG37 cmp edx, 4 jl G_M000_IG36 mov ecx, dword ptr [ebp-14H] add ecx, 64 mov dword ptr [ebp-24H], ecx mov eax, ecx and eax, 3 shl eax, 20 or eax, 0xD1FFAB1E and ecx, 0xD1FFAB1E bswap ecx rol ecx, 16 or eax, ecx mov ecx, dword ptr [ebp-24H] shr ecx, 6 and ecx, 0xD1FFAB1E or eax, ecx mov ecx, dword ptr [ebp-24H] and ecx, 252 shl ecx, 6 or eax, ecx mov dword ptr [ebx], eax add esi, 4 add ebx, 4 add edx, -4 G_M000_IG25: mov eax, dword ptr [ebp-10H] cmp esi, eax jbe G_M000_IG05 G_M000_IG26: mov eax, dword ptr [ebp-10H] sub eax, esi mov edi, eax shr edi, 31 add edi, eax sar edi, 1 add edi, 2 G_M000_IG27: test edi, edi je G_M000_IG34 movzx eax, word ptr [esi] jmp SHORT G_M000_IG29 G_M000_IG28: movzx eax, cx G_M000_IG29: cmp eax, 127 ja SHORT G_M000_IG30 test edx, edx je G_M000_IG36 mov byte ptr [ebx], al add esi, 2 inc ebx jmp SHORT G_M000_IG33 G_M000_IG30: cmp eax, 0x800 jae SHORT G_M000_IG31 cmp edx, 2 jl SHORT G_M000_IG36 mov edx, eax and edx, 63 or edx, -128 mov byte ptr [ebx+01H], dl shr eax, 6 or eax, -64 mov byte ptr [ebx], al add esi, 2 add ebx, 2 jmp SHORT G_M000_IG33 G_M000_IG31: lea ecx, [eax-D800H] cmp ecx, 0x7FF jbe SHORT G_M000_IG32 cmp edx, 3 jl SHORT G_M000_IG36 mov edx, eax and edx, 63 or edx, -128 mov byte ptr [ebx+02H], dl mov edx, eax shr edx, 6 and edx, 63 or edx, -128 mov byte ptr [ebx+01H], dl shr eax, 12 or eax, -32 mov byte ptr [ebx], al add esi, 2 add ebx, 3 jmp SHORT G_M000_IG33 G_M000_IG32: cmp eax, 0xDBFF ja SHORT G_M000_IG37 jmp SHORT G_M000_IG35 G_M000_IG33: cmp edi, 1 jg SHORT G_M000_IG36 G_M000_IG34: xor eax, eax jmp SHORT G_M000_IG38 G_M000_IG35: mov eax, 2 jmp SHORT G_M000_IG38 G_M000_IG36: mov eax, 1 jmp SHORT G_M000_IG38 G_M000_IG37: mov eax, 3 G_M000_IG38: mov edi, bword ptr [ebp+0CH] mov dword ptr [edi], esi mov edi, bword ptr [ebp+08H] mov dword ptr [edi], ebx G_M000_IG39: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 ; Total bytes of code 1221 1327: JIT compiled System.Text.Unicode.Utf8Utility:TranscodeToUtf8(uint,int,uint,int,byref,byref) [Tier1 with Dynamic PGO, IL size=1446, code size=1221] ; Assembly listing for method Microsoft.Win32.SafeHandles.SafeFileHandle:GetFileOptions():int:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 42 G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 12 mov esi, ecx G_M000_IG02: mov eax, dword ptr [esi+28H] 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] test eax, eax je SHORT G_M000_IG05 mov ecx, eax 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 G_M000_IG05: xor eax, eax mov edx, 0xD1FFAB1E test byte ptr [ebp-08H], 48 cmove eax, edx mov edx, eax or edx, 0xD1FFAB1E test byte ptr [ebp-08H], 2 cmovne eax, edx mov edx, eax or edx, 0xD1FFAB1E test dword ptr [ebp-08H], 0x800 cmovne eax, edx mov edx, eax or edx, 0xD1FFAB1E test byte ptr [ebp-08H], 4 cmovne eax, edx mov edx, eax or edx, 0xD1FFAB1E test dword ptr [ebp-08H], 0x1000 cmovne eax, edx mov edx, eax or edx, 0xD1FFAB1E test byte ptr [ebp-08H], 8 cmovne eax, edx mov dword ptr [esi+28H], eax G_M000_IG06: lea esp, [ebp-04H] pop esi pop ebp ret ; Total bytes of code 191 1328: JIT compiled Microsoft.Win32.SafeHandles.SafeFileHandle:GetFileOptions() [Tier1 with Dynamic PGO, IL size=159, code size=191] ; Assembly listing for method System.Runtime.InteropServices.SafeHandle:DangerousAddRef(byref):this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 42 ; 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 1329: JIT compiled System.Runtime.InteropServices.SafeHandle:DangerousAddRef(byref) [Tier1 with Dynamic PGO, IL size=45, code size=46] ; Assembly listing for method System.Runtime.InteropServices.SafeHandle:InternalRelease(bool):this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 41 ; 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, 12 mov esi, ecx mov edi, edx G_M000_IG02: mov ebx, dword ptr [esi+08H] mov edx, edi movzx edx, dl mov dword ptr [ebp-18H], edx test edx, edx jne SHORT G_M000_IG08 G_M000_IG03: mov ecx, ebx and ecx, -4 mov dword ptr [ebp-14H], ecx test ecx, ecx je SHORT G_M000_IG10 mov eax, ebx and eax, -3 cmp eax, 4 je SHORT G_M000_IG11 G_M000_IG04: xor eax, eax G_M000_IG05: movzx eax, al mov dword ptr [ebp-10H], eax lea eax, [ebx-04H] cmp ecx, 4 je SHORT G_M000_IG12 test edx, edx jne SHORT G_M000_IG13 G_M000_IG06: lea edx, bword ptr [esi+08H] mov ecx, eax mov eax, ebx lock cmpxchg dword ptr [edx], ecx cmp eax, ebx jne SHORT G_M000_IG02 cmp dword ptr [ebp-10H], 0 jne SHORT G_M000_IG14 G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG08: test bl, 2 je SHORT G_M000_IG03 G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG10: mov ecx, esi call [System.ThrowHelper:ThrowObjectDisposedException(System.Object)] int3 G_M000_IG11: cmp byte ptr [esi+0CH], 0 je SHORT G_M000_IG04 mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+28H] call [eax+10H]System.Runtime.InteropServices.SafeHandle:get_IsInvalid():bool:this test eax, eax sete al movzx eax, al mov ecx, dword ptr [ebp-14H] mov edx, dword ptr [ebp-18H] jmp SHORT G_M000_IG05 G_M000_IG12: or eax, 1 test edx, edx je SHORT G_M000_IG06 G_M000_IG13: or eax, 2 jmp SHORT G_M000_IG06 G_M000_IG14: 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_IG07 ; Total bytes of code 191 1330: JIT compiled System.Runtime.InteropServices.SafeHandle:InternalRelease(bool) [Tier1 with Dynamic PGO, IL size=120, code size=191] ; Assembly listing for method System.IO.Strategies.OSFileStreamStrategy:get_IsClosed():bool:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 246009 ; 1 inlinees with PGO data; 0 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 1331: JIT compiled System.IO.Strategies.OSFileStreamStrategy:get_IsClosed() [Tier1 with Static PGO, IL size=12, code size=10] ; Assembly listing for method System.Number+BigInteger:Multiply(byref,uint,byref) (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 41 ; 1 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, 28 mov esi, edx G_M000_IG02: mov edi, dword ptr [ecx] cmp edi, 1 jg SHORT G_M000_IG06 G_M000_IG03: test edi, edi jle SHORT G_M000_IG04 mov edx, dword ptr [ecx+04H] jmp SHORT G_M000_IG05 G_M000_IG04: xor edx, edx G_M000_IG05: mov eax, edx mul edx:eax, esi cmp edx, 1 jb SHORT G_M000_IG12 mov ecx, bword ptr [ebp+08H] mov dword ptr [ecx+04H], eax mov dword ptr [ecx+08H], edx mov dword ptr [ecx], 2 jmp SHORT G_M000_IG09 G_M000_IG06: cmp esi, 1 jbe SHORT G_M000_IG13 mov dword ptr [ebp-10H], edi xor ebx, ebx xor edx, edx mov dword ptr [ebp-14H], edx test edi, edi jle SHORT G_M000_IG11 G_M000_IG07: mov eax, dword ptr [ecx+4*ebx+04H] mul edx:eax, esi mov edi, dword ptr [ebp-14H] add eax, edi adc edx, 0 mov edi, edx mov edx, bword ptr [ebp+08H] cmp byte ptr [edx], dl mov dword ptr [edx+4*ebx+04H], eax inc ebx mov eax, dword ptr [ebp-10H] cmp ebx, eax jl SHORT G_M000_IG10 G_M000_IG08: test edi, edi jne SHORT G_M000_IG15 mov dword ptr [edx], eax G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG10: mov bword ptr [ebp+08H], edx mov dword ptr [ebp-14H], edi jmp SHORT G_M000_IG07 G_M000_IG11: mov eax, dword ptr [ebp-10H] mov edx, bword ptr [ebp+08H] mov edi, dword ptr [ebp-14H] jmp SHORT G_M000_IG08 G_M000_IG12: mov edx, bword ptr [ebp+08H] mov ecx, edx mov edx, eax call [System.Number+BigInteger:SetUInt32(byref,uint)] jmp SHORT G_M000_IG09 G_M000_IG13: test esi, esi jne SHORT G_M000_IG14 xor ecx, ecx mov eax, bword ptr [ebp+08H] mov dword ptr [eax], ecx jmp SHORT G_M000_IG09 G_M000_IG14: mov bword ptr [ebp-28H], ecx mov eax, bword ptr [ebp+08H] mov ecx, eax mov edx, bword ptr [ebp-28H] call [System.Number+BigInteger:SetValue(byref,byref)] jmp SHORT G_M000_IG09 G_M000_IG15: cmp byte ptr [edx], dl mov dword ptr [edx+4*ebx+04H], edi inc eax mov dword ptr [edx], eax jmp SHORT G_M000_IG09 ; Total bytes of code 200 1332: JIT compiled System.Number+BigInteger:Multiply(byref,uint,byref) [Tier1 with Dynamic PGO, IL size=158, code size=200] ; Assembly listing for method System.Number+BigInteger:ToUInt32():uint:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: push esi mov esi, ecx G_M000_IG02: cmp dword ptr [esi], 0 jle SHORT G_M000_IG05 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov eax, dword ptr [esi+04H] G_M000_IG04: pop esi ret G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 xor eax, eax G_M000_IG06: pop esi ret ; Total bytes of code 37 1333: JIT compiled System.Number+BigInteger:ToUInt32() [Instrumented Tier1, IL size=24, code size=37] ; Assembly listing for method System.IO.StreamWriter:Flush(bool,bool):this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 39 ; 44 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, 128 xor eax, eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-2CH], eax mov dword ptr [ebp-34H], eax mov dword ptr [ebp-10H], esp mov dword ptr [ebp-88H], 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_IG47 mov dword ptr [ebp-14H], ebx movzx ecx, bl or ecx, dword ptr [esi+28H] mov dword ptr [ebp+08H], edi mov eax, edi movzx eax, al or ecx, eax je G_M000_IG48 cmp byte ptr [esi+31H], 0 je G_M000_IG50 G_M000_IG03: cmp gword ptr [esi+1CH], 0 jne G_M000_IG51 G_M000_IG04: mov eax, gword ptr [esi+14H] mov edx, dword ptr [esi+28H] mov dword ptr [ebp-20H], edx cmp dword ptr [eax], 0xD1FFAB1E jne G_M000_IG55 mov gword ptr [ebp-68H], eax test edx, edx jl G_M000_IG52 mov ecx, edx sar ecx, 31 add edx, 1 adc ecx, 0 mov dword ptr [ebp-58H], edx mov dword ptr [ebp-5CH], ecx mov edi, gword ptr [eax+08H] cmp dword ptr [edi], 0xD1FFAB1E je SHORT G_M000_IG05 mov ecx, edi mov edi, dword ptr [edi] mov edi, dword ptr [edi+28H] call [edi+14H]System.Text.EncoderFallback:get_MaxCharCount():int:this cmp eax, 1 jg G_M000_IG53 G_M000_IG05: push dword ptr [ebp-5CH] push dword ptr [ebp-58H] push 0 push 3 call CORINFO_HELP_LMUL mov edi, eax mov eax, edx cmp edi, 0xD1FFAB1E mov ecx, eax sbb ecx, 0 jge G_M000_IG54 mov edx, edi cmp edx, 0x400 jg G_M000_IG56 G_M000_IG06: mov ecx, -0x400 add ecx, esp jb SHORT G_M000_IG07 xor ecx, ecx G_M000_IG07: test dword ptr [esp], esp sub esp, 0x1000 cmp esp, ecx jae SHORT G_M000_IG07 mov esp, ecx lea edi, [esp] mov dword ptr [ebp-10H], esp mov ecx, 0x400 G_M000_IG08: mov bword ptr [ebp-78H], edi mov dword ptr [ebp-4CH], ecx G_M000_IG09: mov edx, gword ptr [esi+18H] mov gword ptr [ebp-64H], edx mov ecx, gword ptr [esi+20H] mov edi, dword ptr [esi+28H] test ecx, ecx je G_M000_IG57 mov eax, dword ptr [ecx+04H] cmp dword ptr [ecx+04H], edi jb G_M000_IG66 add ecx, 8 mov bword ptr [ebp-7CH], ecx G_M000_IG10: cmp dword ptr [edx], 0xD1FFAB1E jne G_M000_IG65 G_M000_IG11: mov eax, edx mov gword ptr [ebp-6CH], eax mov dword ptr [ebp-50H], edi mov edx, bword ptr [ebp-78H] mov bword ptr [ebp-80H], edx mov ecx, dword ptr [ebp-4CH] mov edx, ecx mov dword ptr [ebp-54H], edx mov ecx, bword ptr [ebp-7CH] mov bword ptr [ebp-84H], ecx mov ecx, 1 test edi, edi cmovne ecx, bword ptr [ebp-84H] mov bword ptr [ebp-2CH], ecx mov dword ptr [ebp-30H], ecx mov edi, bword ptr [ebp-80H] test edx, edx je G_M000_IG58 G_M000_IG12: mov bword ptr [ebp-34H], edi mov edx, dword ptr [ebp-50H] mov dword ptr [ebp-38H], edx mov ebx, dword ptr [ebp-54H] test ecx, ecx je G_M000_IG59 test edi, edi je G_M000_IG60 test ebx, ebx jl G_M000_IG61 test edx, edx jl G_M000_IG62 mov ecx, dword ptr [ebp+08H] mov byte ptr [eax+16H], cl mov byte ptr [eax+17H], 1 mov ecx, gword ptr [eax+0CH] cmp dword ptr [ecx], 0xD1FFAB1E jne G_M000_IG64 mov gword ptr [ebp-70H], ecx xor ecx, ecx mov dword ptr [ebp-3CH], ecx xor ecx, ecx cmp word ptr [eax+14H], 0 jne SHORT G_M000_IG15 cmp gword ptr [eax+08H], 0 mov dword ptr [ebp-40H], ecx jne G_M000_IG63 G_M000_IG13: push edi push ebx lea ecx, [ebp-44H] push ecx lea ecx, [ebp-48H] push ecx mov ecx, dword ptr [ebp-30H] call [System.Text.Unicode.Utf8Utility:TranscodeToUtf8(uint,int,uint,int,byref,byref):int] mov ecx, dword ptr [ebp-44H] sub ecx, dword ptr [ebp-30H] mov edx, ecx shr edx, 31 add ecx, edx sar ecx, 1 mov edx, ecx mov ecx, dword ptr [ebp-48H] sub ecx, edi mov eax, dword ptr [ebp-38H] cmp edx, eax jne SHORT G_M000_IG14 mov ebx, gword ptr [ebp-6CH] mov dword ptr [ebx+10H], eax jmp SHORT G_M000_IG16 G_M000_IG14: mov dword ptr [ebp-3CH], ecx mov ecx, edx mov edx, eax mov eax, gword ptr [ebp-6CH] G_M000_IG15: push edx push edi push ebx push ecx push dword ptr [ebp-3CH] push eax mov ecx, gword ptr [ebp-70H] mov edx, dword ptr [ebp-30H] call [System.Text.Encoding:GetBytesWithFallback(uint,int,uint,int,int,int,System.Text.EncoderNLS):int:this] mov ecx, eax G_M000_IG16: xor eax, eax mov bword ptr [ebp-2CH], eax G_M000_IG17: mov bword ptr [ebp-34H], eax G_M000_IG18: xor eax, eax mov dword ptr [esi+28H], eax test ecx, ecx jle SHORT G_M000_IG26 G_M000_IG19: mov eax, gword ptr [esi+10H] cmp ecx, dword ptr [ebp-4CH] ja G_M000_IG66 G_M000_IG20: mov edi, bword ptr [ebp-78H] mov ebx, ecx cmp dword ptr [eax], 0xD1FFAB1E jne G_M000_IG68 mov ecx, gword ptr [eax+08H] mov eax, ecx cmp dword ptr [eax], 0xD1FFAB1E jne SHORT G_M000_IG25 G_M000_IG21: mov gword ptr [ebp-74H], eax mov ecx, gword ptr [eax+0CH] cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG23 G_M000_IG22: mov ecx, gword ptr [ecx+1CH] test byte ptr [ecx+08H], 1 je SHORT G_M000_IG24 jmp G_M000_IG67 G_M000_IG23: mov edx, dword ptr [ecx] mov edx, dword ptr [edx+3CH] call [edx+14H]System.IO.Strategies.FileStreamStrategy:get_IsClosed():bool:this test eax, eax jne G_M000_IG67 G_M000_IG24: push ebx push edi push 0 push 0 push 0 mov ecx, gword ptr [ebp-74H] call [System.IO.Strategies.BufferedFileStreamStrategy:WriteSpan(System.ReadOnlySpan`1[ubyte],System.ArraySegment`1[ubyte]):this] jmp SHORT G_M000_IG26 G_M000_IG25: push ebx push edi mov ecx, eax mov eax, dword ptr [eax] mov eax, dword ptr [eax+38H] call [eax+1CH]System.IO.Stream:Write(System.ReadOnlySpan`1[ubyte]):this G_M000_IG26: cmp byte ptr [ebp-14H], 0 je SHORT G_M000_IG35 mov ecx, gword ptr [esi+10H] mov esi, ecx cmp dword ptr [esi], 0xD1FFAB1E jne G_M000_IG46 mov ecx, gword ptr [esi+08H] cmp dword ptr [ecx], 0xD1FFAB1E jne G_M000_IG41 G_M000_IG27: mov ecx, gword ptr [ecx+0CH] cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG34 G_M000_IG28: mov ecx, gword ptr [ecx+1CH] mov eax, dword ptr [ecx+08H] and eax, 1 G_M000_IG29: test eax, eax jne G_M000_IG69 mov edi, gword ptr [esi+08H] cmp dword ptr [edi], 0xD1FFAB1E jne SHORT G_M000_IG42 G_M000_IG30: cmp dword ptr [edi+18H], 0 jg SHORT G_M000_IG33 G_M000_IG31: cmp dword ptr [edi+20H], 0 jle SHORT G_M000_IG39 G_M000_IG32: jmp SHORT G_M000_IG43 G_M000_IG33: mov ecx, edi call [System.IO.Strategies.BufferedFileStreamStrategy:FlushWrite():this] jmp SHORT G_M000_IG39 G_M000_IG34: mov eax, dword ptr [ecx] mov eax, dword ptr [eax+3CH] call [eax+14H]System.IO.Strategies.FileStreamStrategy:get_IsClosed():bool:this jmp SHORT G_M000_IG29 G_M000_IG35: cmp dword ptr [ebp-88H], 0xD1FFAB1E je SHORT G_M000_IG36 call CORINFO_HELP_FAIL_FAST G_M000_IG36: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG37: mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+1CH]System.IO.Stream:get_CanSeek():bool:this G_M000_IG38: test eax, eax je SHORT G_M000_IG39 mov ecx, edi call [System.IO.Strategies.BufferedFileStreamStrategy:FlushRead():this] G_M000_IG39: mov ecx, gword ptr [edi+0CH] cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG45 G_M000_IG40: cmp byte ptr [ecx], cl jmp SHORT G_M000_IG35 G_M000_IG41: mov eax, dword ptr [ecx] mov eax, dword ptr [eax+3CH] call [eax+14H]System.IO.Strategies.FileStreamStrategy:get_IsClosed():bool:this jmp SHORT G_M000_IG29 G_M000_IG42: mov ecx, edi xor edx, edx mov eax, dword ptr [edi] mov eax, dword ptr [eax+40H] call [eax]System.IO.Strategies.FileStreamStrategy:Flush(bool):this jmp SHORT G_M000_IG35 G_M000_IG43: mov ecx, gword ptr [edi+0CH] cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG37 G_M000_IG44: mov ecx, gword ptr [ecx+1CH] cmp dword ptr [ecx], ecx call [Microsoft.Win32.SafeHandles.SafeFileHandle:get_CanSeek():bool:this] jmp SHORT G_M000_IG38 G_M000_IG45: xor edx, edx mov eax, dword ptr [ecx] mov eax, dword ptr [eax+40H] call [eax]System.IO.Strategies.FileStreamStrategy:Flush(bool):this jmp SHORT G_M000_IG35 G_M000_IG46: mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+30H] call [eax+18H]System.IO.Stream:Flush():this jmp G_M000_IG35 G_M000_IG47: mov ecx, esi call [System.IO.StreamWriter:g__ThrowObjectDisposedException|77_0():this] int3 G_M000_IG48: cmp dword ptr [ebp-88H], 0xD1FFAB1E je SHORT G_M000_IG49 call CORINFO_HELP_FAIL_FAST G_M000_IG49: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG50: mov byte ptr [esi+31H], 1 mov ecx, gword ptr [esi+14H] lea edx, [ebp-1CH] 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-18H], 0 jle G_M000_IG03 mov ecx, gword ptr [esi+10H] push dword ptr [ebp-18H] push bword ptr [ebp-1CH] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+38H] call [eax+1CH]System.IO.Stream:Write(System.ReadOnlySpan`1[ubyte]):this cmp gword ptr [esi+1CH], 0 je G_M000_IG04 G_M000_IG51: mov ecx, gword ptr [esi+1CH] lea edx, bword ptr [ecx+08H] mov ecx, dword ptr [ecx+04H] mov eax, edx mov edx, ecx mov dword ptr [ebp-4CH], edx mov bword ptr [ebp-78H], eax jmp G_M000_IG09 G_M000_IG52: mov ecx, 0x13AEA mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax mov edx, dword ptr [ebp-20H] call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] int3 G_M000_IG53: push dword ptr [ebp-5CH] push dword ptr [ebp-58H] mov eax, gword ptr [ebp-68H] mov ecx, gword ptr [eax+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 ecx, eax mov eax, edx mov dword ptr [ebp-58H], ecx mov dword ptr [ebp-5CH], eax jmp G_M000_IG05 G_M000_IG54: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0x13AEA 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 G_M000_IG55: mov ecx, eax mov eax, dword ptr [eax] mov eax, dword ptr [eax+3CH] call [eax+14H]System.Text.Encoding:GetMaxByteCount(int):int:this mov edx, eax cmp edx, 0x400 jle G_M000_IG06 G_M000_IG56: 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 ecx, bword ptr [eax+08H] mov edx, dword ptr [eax+04H] mov eax, ecx mov ecx, edx mov edi, eax jmp G_M000_IG08 G_M000_IG57: test edi, edi jne G_M000_IG66 xor ecx, ecx xor edi, edi mov bword ptr [ebp-7CH], ecx jmp G_M000_IG10 G_M000_IG58: mov edi, 1 jmp G_M000_IG12 G_M000_IG59: mov ecx, 0x13ACA mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 G_M000_IG60: mov ecx, 0x1DDB mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 G_M000_IG61: mov ecx, 0x13AB0 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax mov edx, ebx call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] int3 G_M000_IG62: mov ecx, 0x13AEA mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax mov edx, dword ptr [ebp-38H] call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] int3 G_M000_IG63: mov gword ptr [ebp-60H], esi mov eax, gword ptr [ebp-6CH] mov esi, gword ptr [eax+08H] mov ecx, esi mov esi, dword ptr [esi] mov esi, dword ptr [esi+2CH] call [esi]System.Text.EncoderFallbackBuffer:get_Remaining():int:this xor ecx, ecx test eax, eax setg cl test ecx, ecx mov eax, gword ptr [ebp-6CH] mov ecx, dword ptr [ebp-40H] mov edx, dword ptr [ebp-38H] mov esi, gword ptr [ebp-60H] jne G_M000_IG15 jmp G_M000_IG13 G_M000_IG64: push edx push edi push ebx push eax mov edx, dword ptr [ebp-30H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+40H] call [eax+1CH]System.Text.Encoding:GetBytes(uint,int,uint,int,System.Text.EncoderNLS):int:this mov ecx, eax jmp G_M000_IG16 G_M000_IG65: push edi push bword ptr [ebp-7CH] mov edi, dword ptr [ebp-4CH] push edi push bword ptr [ebp-78H] movzx edx, byte ptr [ebp+08H] mov ecx, gword ptr [ebp-64H] mov ebx, dword ptr [ecx] mov ebx, dword ptr [ebx+2CH] call [ebx+08H]System.Text.Encoder:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte],bool):int:this mov ecx, eax mov dword ptr [ebp-4CH], edi jmp G_M000_IG18 G_M000_IG66: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG67: xor ecx, ecx call [System.ThrowHelper:ThrowObjectDisposedException_StreamClosed(System.String)] int3 G_M000_IG68: push ebx push edi mov ecx, eax mov eax, dword ptr [eax] mov eax, dword ptr [eax+38H] call [eax+1CH]System.IO.Stream:Write(System.ReadOnlySpan`1[ubyte]):this jmp G_M000_IG26 G_M000_IG69: call [System.ThrowHelper:ThrowObjectDisposedException_FileClosed()] int3 ; Total bytes of code 1548 1334: JIT compiled System.IO.StreamWriter:Flush(bool,bool) [Tier1 with Dynamic PGO, IL size=272, code size=1548] ; Assembly listing for method System.Text.UTF8Encoding:GetMaxByteCount(int):int:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 39 ; 5 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, 8 mov edi, ecx mov esi, edx G_M000_IG02: test esi, esi jl SHORT G_M000_IG05 mov ebx, esi sar ebx, 31 add esi, 1 adc ebx, 0 mov ecx, gword ptr [edi+08H] mov eax, dword ptr [ecx] cmp eax, 0xD1FFAB1E je SHORT G_M000_IG03 mov eax, dword ptr [eax+28H] call [eax+14H]System.Text.EncoderFallback:get_MaxCharCount():int:this cmp eax, 1 jg SHORT G_M000_IG06 G_M000_IG03: push ebx push esi push 0 push 3 call CORINFO_HELP_LMUL mov esi, eax mov ebx, edx cmp esi, 0xD1FFAB1E mov eax, ebx sbb eax, 0 jge SHORT G_M000_IG07 mov eax, esi G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG05: mov ecx, 0x13AEA mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax mov edx, esi call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] int3 G_M000_IG06: 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 jmp SHORT G_M000_IG03 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0x13AEA 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 200 1335: JIT compiled System.Text.UTF8Encoding:GetMaxByteCount(int) [Tier1 with Dynamic PGO, IL size=79, code size=200] ; Assembly listing for method System.Text.EncoderExceptionFallback:get_MaxCharCount():int:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 133 G_M000_IG01: G_M000_IG02: xor eax, eax G_M000_IG03: ret ; Total bytes of code 3 1336: JIT compiled System.Text.EncoderExceptionFallback:get_MaxCharCount() [Tier1 with Static PGO, IL size=2, code size=3] ; Assembly listing for method System.Text.EncoderNLS:GetBytes(uint,int,uint,int,bool):int:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; ebp based frame ; partially interruptible ; 9 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 mov esi, ecx mov edi, edx mov ebx, dword ptr [ebp+14H] mov eax, dword ptr [ebp+10H] mov edx, dword ptr [ebp+0CH] G_M000_IG02: test edi, edi je G_M000_IG10 test eax, eax je G_M000_IG11 test edx, edx jl G_M000_IG12 test ebx, ebx jl G_M000_IG13 mov ecx, dword ptr [ebp+08H] mov byte ptr [esi+16H], cl mov byte ptr [esi+17H], 1 mov ecx, gword ptr [esi+0CH] cmp dword ptr [ecx], 0xD1FFAB1E jne G_M000_IG15 G_M000_IG03: mov gword ptr [ebp-20H], ecx xor ecx, ecx mov dword ptr [ebp-10H], ecx xor ecx, ecx cmp word ptr [esi+14H], 0 jne SHORT G_M000_IG07 cmp gword ptr [esi+08H], 0 mov dword ptr [ebp-14H], ecx jne G_M000_IG14 G_M000_IG04: mov dword ptr [ebp+10H], eax push eax mov dword ptr [ebp+0CH], edx push edx lea ecx, [ebp-18H] push ecx lea ecx, [ebp-1CH] push ecx mov ecx, edi mov edx, ebx call [System.Text.Unicode.Utf8Utility:TranscodeToUtf8(uint,int,uint,int,byref,byref):int] mov ecx, dword ptr [ebp-18H] sub ecx, edi mov edx, ecx shr edx, 31 add ecx, edx sar ecx, 1 mov eax, ecx mov ecx, dword ptr [ebp-1CH] mov edx, dword ptr [ebp+10H] sub ecx, edx cmp eax, ebx jne SHORT G_M000_IG06 G_M000_IG05: mov dword ptr [esi+10H], ebx jmp SHORT G_M000_IG08 G_M000_IG06: mov dword ptr [ebp-10H], ecx mov ecx, eax mov eax, edx mov edx, dword ptr [ebp+0CH] G_M000_IG07: push ebx push eax push edx push ecx push dword ptr [ebp-10H] push esi mov ecx, gword ptr [ebp-20H] mov edx, edi call [System.Text.Encoding:GetBytesWithFallback(uint,int,uint,int,int,int,System.Text.EncoderNLS):int:this] mov ecx, eax G_M000_IG08: mov eax, ecx G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG10: mov ecx, 0x13ACA mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 G_M000_IG11: mov ecx, 0x1DDB mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 G_M000_IG12: mov dword ptr [ebp+0CH], edx mov ecx, 0x13AB0 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax mov edx, dword ptr [ebp+0CH] call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] int3 G_M000_IG13: mov ecx, 0x13AEA mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax mov edx, ebx call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] int3 G_M000_IG14: mov dword ptr [ebp+10H], eax mov dword ptr [ebp+0CH], edx mov edx, gword ptr [esi+08H] mov ecx, edx mov edx, dword ptr [edx] mov edx, dword ptr [edx+2CH] call [edx]System.Text.EncoderFallbackBuffer:get_Remaining():int:this xor ecx, ecx test eax, eax setg cl test ecx, ecx mov eax, dword ptr [ebp+10H] mov ecx, dword ptr [ebp-14H] mov edx, dword ptr [ebp+0CH] jne G_M000_IG07 jmp G_M000_IG04 G_M000_IG15: push ebx push eax push edx push esi mov edx, edi mov eax, dword ptr [ecx] mov eax, dword ptr [eax+40H] call [eax+1CH]System.Text.Encoding:GetBytes(uint,int,uint,int,System.Text.EncoderNLS):int:this mov ecx, eax jmp G_M000_IG08 ; Total bytes of code 383 1337: JIT compiled System.Text.EncoderNLS:GetBytes(uint,int,uint,int,bool) [Tier1 with Dynamic PGO, IL size=78, code size=383] ; Assembly listing for method System.Text.EncoderNLS:get_HasLeftoverData():bool:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 39 G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: cmp word ptr [ecx+14H], 0 jne SHORT G_M000_IG04 cmp gword ptr [ecx+08H], 0 jne SHORT G_M000_IG06 xor eax, eax G_M000_IG03: pop ebp ret G_M000_IG04: mov eax, 1 G_M000_IG05: pop ebp ret G_M000_IG06: mov ecx, gword ptr [ecx+08H] 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_IG07: pop ebp ret ; Total bytes of code 47 1338: JIT compiled System.Text.EncoderNLS:get_HasLeftoverData() [Tier1 with Dynamic PGO, IL size=35, code size=47] ; Assembly listing for method System.IO.Strategies.OSFileStreamStrategy:Write(System.ReadOnlySpan`1[ubyte]):this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 39 ; 10 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, 64 vzeroupper xor eax, eax mov dword ptr [ebp-24H], eax mov esi, ecx G_M000_IG02: mov edi, dword ptr [ebp+0CH] mov ecx, gword ptr [esi+1CH] test byte ptr [ecx+08H], 1 jne G_M000_IG08 test byte ptr [esi+20H], 2 je G_M000_IG09 mov ebx, gword ptr [esi+1CH] mov dword ptr [ebp-40H], edi mov eax, bword ptr [ebp+08H] mov bword ptr [ebp-4CH], eax lea eax, bword ptr [esi+0CH] mov ecx, dword ptr [eax] mov eax, dword ptr [eax+04H] mov dword ptr [ebp-44H], ecx mov dword ptr [ebp-48H], eax cmp dword ptr [ebp-40H], 0 je SHORT G_M000_IG06 cmp byte ptr [ebx], bl mov ecx, ebx call [Microsoft.Win32.SafeHandles.SafeFileHandle:GetFileOptions():int:this] test eax, 0xD1FFAB1E jne G_M000_IG10 vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [ebp-3CH], xmm0 vmovdqu xmmword ptr [ebp-38H], xmm0 test byte ptr [ebx+08H], 1 jne SHORT G_M000_IG05 mov eax, dword ptr [ebx+2CH] cmp eax, -1 je SHORT G_M000_IG04 G_M000_IG03: cmp eax, 1 jne SHORT G_M000_IG05 jmp G_M000_IG11 G_M000_IG04: mov ecx, ebx call [Interop+Kernel32:GetFileType(System.Runtime.InteropServices.SafeHandle):int] mov dword ptr [ebx+2CH], eax jmp SHORT G_M000_IG03 G_M000_IG05: 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-4CH] mov bword ptr [ebp-24H], edx push edi lea ecx, [ebp-28H] push ecx lea ecx, [ebp-20H] push ecx mov ecx, ebx call [Interop+Kernel32:WriteFile(System.Runtime.InteropServices.SafeHandle,uint,int,byref,uint):int] test eax, eax je SHORT G_M000_IG12 G_M000_IG06: xor eax, eax mov bword ptr [ebp-24H], eax lea eax, bword ptr [esi+0CH] mov edx, dword ptr [eax] mov eax, dword ptr [eax+04H] mov ecx, edi sar ecx, 31 add edx, edi adc eax, ecx add esi, 12 mov dword ptr [esi], edx mov dword ptr [esi+04H], eax G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG08: call [System.ThrowHelper:ThrowObjectDisposedException_FileClosed()] int3 G_M000_IG09: call [System.ThrowHelper:ThrowNotSupportedException_UnwritableStream()] int3 G_M000_IG10: push edi push bword ptr [ebp-4CH] push dword ptr [ebp-48H] push dword ptr [ebp-44H] mov ecx, ebx call [System.IO.RandomAccess:WriteSyncUsingAsyncHandle(Microsoft.Win32.SafeHandles.SafeFileHandle,System.ReadOnlySpan`1[ubyte],long)] jmp SHORT G_M000_IG06 G_M000_IG11: mov ecx, dword ptr [ebp-44H] mov dword ptr [ebp-34H], ecx mov ecx, dword ptr [ebp-48H] mov dword ptr [ebp-30H], ecx jmp G_M000_IG05 G_M000_IG12: mov ecx, ebx call [System.IO.Strategies.FileStreamHelpers:GetLastWin32ErrorAndDisposeHandleIfInvalid(Microsoft.Win32.SafeHandles.SafeFileHandle):int] mov ecx, eax mov edx, gword ptr [ebx+1CH] call [System.IO.Win32Marshal:GetExceptionForWin32Error(int,System.String):System.Exception] mov ecx, eax call CORINFO_HELP_THROW int3 ; Total bytes of code 310 1339: JIT compiled System.IO.Strategies.OSFileStreamStrategy:Write(System.ReadOnlySpan`1[ubyte]) [Tier1 with Dynamic PGO, IL size=75, code size=310] ; Assembly listing for method System.IO.RandomAccess:WriteAtOffset(Microsoft.Win32.SafeHandles.SafeFileHandle,System.ReadOnlySpan`1[ubyte],long) (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 39 ; 8 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, 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 je G_M000_IG08 mov ebx, esi cmp byte ptr [ebx], bl mov ecx, esi call [Microsoft.Win32.SafeHandles.SafeFileHandle:GetFileOptions():int:this] test eax, 0xD1FFAB1E jne G_M000_IG09 vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [ebp-3CH], xmm0 vmovdqu xmmword ptr [ebp-38H], xmm0 test byte ptr [esi+08H], 1 jne SHORT G_M000_IG05 mov ebx, dword ptr [esi+2CH] cmp ebx, -1 je SHORT G_M000_IG04 G_M000_IG03: cmp ebx, 1 jne SHORT G_M000_IG05 jmp G_M000_IG11 G_M000_IG04: mov ecx, esi call [Interop+Kernel32:GetFileType(System.Runtime.InteropServices.SafeHandle):int] mov ebx, eax mov dword ptr [esi+2CH], ebx jmp SHORT G_M000_IG03 G_M000_IG05: 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_IG07 G_M000_IG06: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG07: 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 G_M000_IG08: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG09: 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_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG11: mov ecx, dword ptr [ebp+08H] mov dword ptr [ebp-34H], ecx mov ecx, dword ptr [ebp+0CH] mov dword ptr [ebp-30H], ecx jmp G_M000_IG05 ; Total bytes of code 242 1340: JIT compiled System.IO.RandomAccess:WriteAtOffset(Microsoft.Win32.SafeHandles.SafeFileHandle,System.ReadOnlySpan`1[ubyte],long) [Tier1 with Dynamic PGO, IL size=89, code size=242] ; Assembly listing for method Interop+Kernel32:WriteFile(System.Runtime.InteropServices.SafeHandle,uint,int,byref,uint):int (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 39 ; 11 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, 80 xor ebx, ebx mov dword ptr [ebp-2CH], ebx mov dword ptr [ebp-3CH], ebx mov dword ptr [ebp-18H], ebx mov ebx, edx mov edx, bword ptr [ebp+0CH] G_M000_IG02: lea edi, [ebp-58H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov dword ptr [ebp-34H], esi mov eax, ebp mov dword ptr [ebp-44H], eax xor eax, eax mov dword ptr [ebp-28H], eax G_M000_IG03: mov gword ptr [ebp-3CH], eax mov byte ptr [ebp-38H], 0 G_M000_IG04: mov gword ptr [ebp-3CH], ecx G_M000_IG05: mov eax, dword ptr [ecx+08H] mov dword ptr [ebp-30H], eax test al, 1 jne G_M000_IG15 lea esi, bword ptr [ecx+08H] lea edi, [eax+04H] lock cmpxchg dword ptr [esi], edi cmp eax, dword ptr [ebp-30H] jne SHORT G_M000_IG05 mov byte ptr [ebp-38H], 1 G_M000_IG06: mov bword ptr [ebp-2CH], edx mov esi, edx mov eax, gword ptr [ebp-3CH] mov edi, dword ptr [eax+04H] push 0 mov eax, 0xD1FFAB1E G_M000_IG07: call eax ; Interop+Kernel32:SetLastError(int) push dword ptr [ebp+08H] push esi push dword ptr [ebp+10H] push ebx push edi mov dword ptr [ebp-50H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-4CH], eax lea eax, G_M000_IG10 mov dword ptr [ebp-48H], eax mov eax, dword ptr [ebp-34H] mov byte ptr [eax+08H], 0 G_M000_IG08: mov eax, 0xD1FFAB1E G_M000_IG09: call eax ; Interop+Kernel32:g____PInvoke|268_0(int,uint,int,uint,uint):int G_M000_IG10: mov esi, eax mov eax, dword ptr [ebp-34H] mov byte ptr [eax+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-48H], eax mov dword ptr [ebp-28H], esi mov eax, 0xD1FFAB1E G_M000_IG12: call eax ; Interop+Kernel32:GetLastError():int mov dword ptr [ebp-24H], eax G_M000_IG13: xor eax, eax mov bword ptr [ebp-2CH], 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: xor eax, eax mov bword ptr [ebp-2CH], eax pop eax jmp eax G_M000_IG15: call [System.ThrowHelper:ThrowObjectDisposedException(System.Object)] int3 G_M000_IG16: mov dword ptr [ebp-18H], 0 jmp G_M000_IG27 G_M000_IG17: cmp byte ptr [ebp-38H], 0 je SHORT G_M000_IG25 G_M000_IG18: mov esi, gword ptr [ebp-3CH] mov eax, gword ptr [ebp-3CH] cmp byte ptr [eax], al G_M000_IG19: mov edi, dword ptr [esi+08H] test edi, -4 je SHORT G_M000_IG26 mov eax, edi and eax, -3 cmp eax, 4 jne SHORT G_M000_IG21 G_M000_IG20: cmp byte ptr [esi+0CH], 0 je SHORT G_M000_IG21 mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+28H] call [eax+10H]System.Runtime.InteropServices.SafeHandle:get_IsInvalid():bool:this xor ebx, ebx test eax, eax sete bl jmp SHORT G_M000_IG22 G_M000_IG21: xor ebx, ebx G_M000_IG22: movzx ecx, bl lea edx, [edi-04H] mov eax, edi and eax, -4 cmp eax, 4 jne SHORT G_M000_IG23 or edx, 1 G_M000_IG23: lea ebx, bword ptr [esi+08H] mov eax, edi lock cmpxchg dword ptr [ebx], edx cmp eax, edi jne SHORT G_M000_IG19 test ecx, ecx je SHORT G_M000_IG25 G_M000_IG24: 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) G_M000_IG25: pop eax jmp eax G_M000_IG26: mov ecx, esi call [System.ThrowHelper:ThrowObjectDisposedException(System.Object)] int3 G_M000_IG27: mov ecx, dword ptr [ebp-24H] call System.Runtime.InteropServices.Marshal:SetLastPInvokeError(int) mov eax, dword ptr [ebp-28H] mov ecx, dword ptr [ebp-34H] mov edx, bword ptr [ebp-54H] mov dword ptr [ecx+0CH], edx G_M000_IG28: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 ; Total bytes of code 411 1341: JIT compiled Interop+Kernel32:WriteFile(System.Runtime.InteropServices.SafeHandle,uint,int,byref,uint) [Tier1 with Dynamic PGO, IL size=91, code size=411] ; Assembly listing for method System.IO.FileStream:Flush():this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; ebp based frame ; partially interruptible ; 10 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 mov esi, ecx G_M000_IG02: cmp dword ptr [esi], 0xD1FFAB1E jne G_M000_IG26 G_M000_IG03: mov ecx, esi mov ecx, gword ptr [ecx+08H] cmp dword ptr [ecx], 0xD1FFAB1E jne G_M000_IG19 G_M000_IG04: mov ecx, gword ptr [ecx+0CH] cmp dword ptr [ecx], 0xD1FFAB1E jne G_M000_IG18 G_M000_IG05: mov ecx, gword ptr [ecx+1CH] mov eax, dword ptr [ecx+08H] and eax, 1 G_M000_IG06: test eax, eax jne G_M000_IG27 mov esi, gword ptr [esi+08H] cmp dword ptr [esi], 0xD1FFAB1E jne SHORT G_M000_IG20 G_M000_IG07: cmp dword ptr [esi+18H], 0 jg SHORT G_M000_IG10 G_M000_IG08: cmp dword ptr [esi+20H], 0 jle SHORT G_M000_IG15 G_M000_IG09: jmp G_M000_IG22 G_M000_IG10: mov ecx, gword ptr [esi+0CH] mov edx, gword ptr [esi+10H] mov edi, dword ptr [esi+18H] mov ebx, dword ptr [ecx] cmp ebx, 0xD1FFAB1E jne SHORT G_M000_IG21 G_M000_IG11: test edx, edx je G_M000_IG28 G_M000_IG12: mov eax, dword ptr [edx+04H] cmp eax, edi jb G_M000_IG28 G_M000_IG13: add edx, 8 push edi push edx call [System.IO.Strategies.OSFileStreamStrategy:Write(System.ReadOnlySpan`1[ubyte]):this] G_M000_IG14: xor ecx, ecx mov dword ptr [esi+18H], ecx G_M000_IG15: mov ecx, gword ptr [esi+0CH] cmp dword ptr [ecx], 0xD1FFAB1E je SHORT G_M000_IG17 G_M000_IG16: xor edx, edx mov eax, dword ptr [ecx] mov eax, dword ptr [eax+40H] call [eax]System.IO.Strategies.FileStreamStrategy:Flush(bool):this G_M000_IG17: pop ebx pop esi pop edi pop ebp ret G_M000_IG18: mov eax, dword ptr [ecx] mov eax, dword ptr [eax+3CH] call [eax+14H]System.IO.Strategies.FileStreamStrategy:get_IsClosed():bool:this jmp SHORT G_M000_IG06 G_M000_IG19: mov eax, dword ptr [ecx] mov eax, dword ptr [eax+3CH] call [eax+14H]System.IO.Strategies.FileStreamStrategy:get_IsClosed():bool:this jmp G_M000_IG06 G_M000_IG20: mov ecx, esi xor edx, edx mov eax, dword ptr [esi] mov eax, dword ptr [eax+40H] call [eax]System.IO.Strategies.FileStreamStrategy:Flush(bool):this jmp SHORT G_M000_IG17 G_M000_IG21: push 0 push edi mov eax, dword ptr [ebx+38H] call [eax+18H]System.IO.Stream:Write(ubyte[],int,int):this jmp SHORT G_M000_IG14 G_M000_IG22: mov ecx, gword ptr [esi+0CH] mov ebx, dword ptr [ecx] cmp ebx, 0xD1FFAB1E jne SHORT G_M000_IG25 G_M000_IG23: mov ecx, gword ptr [ecx+1CH] cmp dword ptr [ecx], ecx call [Microsoft.Win32.SafeHandles.SafeFileHandle:get_CanSeek():bool:this] G_M000_IG24: test eax, eax je SHORT G_M000_IG15 mov ecx, esi call [System.IO.Strategies.BufferedFileStreamStrategy:FlushRead():this] jmp SHORT G_M000_IG15 G_M000_IG25: mov eax, dword ptr [ebx+28H] call [eax+1CH]System.IO.Stream:get_CanSeek():bool:this jmp SHORT G_M000_IG24 G_M000_IG26: mov ecx, esi xor edx, edx mov eax, dword ptr [esi] mov eax, dword ptr [eax+3CH] call [eax+14H]System.IO.FileStream:Flush(bool):this jmp SHORT G_M000_IG17 G_M000_IG27: call [System.ThrowHelper:ThrowObjectDisposedException_FileClosed()] int3 G_M000_IG28: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 ; Total bytes of code 297 1342: JIT compiled System.IO.FileStream:Flush() [Tier1 with Dynamic PGO, IL size=8, code size=297] ; Assembly listing for method System.IO.Strategies.OSFileStreamStrategy:Flush(bool):this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 39 G_M000_IG01: push ebp mov ebp, esp push esi mov esi, ecx G_M000_IG02: test dl, dl jne SHORT G_M000_IG04 G_M000_IG03: pop esi pop ebp ret G_M000_IG04: mov ecx, esi cmp dword ptr [ecx], ecx call [System.IO.Strategies.OSFileStreamStrategy:get_CanWrite():bool:this] test eax, eax je SHORT G_M000_IG03 mov ecx, gword ptr [esi+1CH] call [System.IO.Strategies.FileStreamHelpers:FlushToDisk(Microsoft.Win32.SafeHandles.SafeFileHandle)] jmp SHORT G_M000_IG03 ; Total bytes of code 38 1343: JIT compiled System.IO.Strategies.OSFileStreamStrategy:Flush(bool) [Tier1 with Dynamic PGO, IL size=23, code size=38] ; Assembly listing for method System.IO.StreamWriter:WriteLine(System.String):this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 34 ; 14 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, 44 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_IG31 test edx, edx je SHORT G_M000_IG10 G_M000_IG03: lea edi, bword ptr [edx+08H] mov ebx, dword ptr [edx+04H] G_M000_IG04: mov bword ptr [ebp-34H], edi mov ecx, gword ptr [esi+24H] test dword ptr [ecx+1CH], 0xD1FFAB1E je G_M000_IG31 cmp ebx, 4 jg G_M000_IG17 G_M000_IG05: mov ecx, dword ptr [esi+2CH] sub ecx, dword ptr [esi+28H] cmp ecx, ebx jl G_M000_IG17 G_M000_IG06: xor ecx, ecx test ebx, ebx jle G_M000_IG14 G_M000_IG07: mov eax, gword ptr [esi+20H] G_M000_IG08: mov gword ptr [ebp-38H], 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-34H] movzx edi, word ptr [edi+2*ecx] cmp eax, dword ptr [edx+04H] jae G_M000_IG34 mov word ptr [edx+2*eax+08H], di inc ecx cmp ecx, ebx mov eax, gword ptr [ebp-38H] jl SHORT G_M000_IG08 G_M000_IG09: jmp SHORT G_M000_IG14 G_M000_IG10: xor edi, edi xor ebx, ebx jmp SHORT G_M000_IG04 G_M000_IG11: mov dword ptr [ebp-24H], edx lea eax, [edx+edx] mov dword ptr [ebp-28H], eax mov edi, eax sar edi, 31 test edi, edi jne G_M000_IG30 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-28H] add eax, dword ptr [ebp-1CH] sub ebx, ecx test ebx, ebx mov dword ptr [ebp-1CH], eax mov ecx, edx jg SHORT G_M000_IG16 G_M000_IG12: xor ecx, ecx mov bword ptr [ebp-14H], ecx G_M000_IG13: mov bword ptr [ebp-10H], ecx G_M000_IG14: mov edi, gword ptr [esi+04H] xor ebx, ebx cmp dword ptr [edi+04H], 0 jle G_M000_IG22 G_M000_IG15: jmp G_M000_IG29 G_M000_IG16: mov eax, gword ptr [ebp-30H] jmp SHORT G_M000_IG18 G_M000_IG17: cmp byte ptr [esi+33H], 0 jne G_M000_IG32 mov eax, gword ptr [esi+20H] mov gword ptr [ebp-30H], eax mov edi, bword ptr [ebp-34H] mov bword ptr [ebp-10H], edi cmp dword ptr [eax+04H], 0 jbe G_M000_IG34 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_IG12 G_M000_IG18: cmp dword ptr [eax+04H], ecx je SHORT G_M000_IG24 G_M000_IG19: mov eax, gword ptr [ebp-30H] mov edx, dword ptr [eax+04H] sub edx, ecx cmp edx, ebx jle G_M000_IG11 G_M000_IG20: mov edx, ebx jmp G_M000_IG11 G_M000_IG21: mov eax, gword ptr [esi+20H] mov edx, dword ptr [esi+28H] mov dword ptr [ebp-2CH], edx mov ecx, edx movzx edx, word ptr [edi+2*ebx+08H] cmp ecx, dword ptr [eax+04H] jae G_M000_IG34 mov word ptr [eax+2*ecx+08H], dx mov edx, dword ptr [ebp-2CH] inc edx mov dword ptr [esi+28H], edx inc ebx cmp dword ptr [edi+04H], ebx jg SHORT G_M000_IG29 G_M000_IG22: cmp byte ptr [esi+30H], 0 je SHORT G_M000_IG26 G_M000_IG23: jmp SHORT G_M000_IG25 G_M000_IG24: 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 jmp SHORT G_M000_IG19 G_M000_IG25: push 0 mov ecx, esi mov edx, 1 call [System.IO.StreamWriter:Flush(bool,bool):this] G_M000_IG26: xor ecx, ecx mov bword ptr [ebp-10H], ecx G_M000_IG27: mov bword ptr [ebp-14H], ecx G_M000_IG28: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG29: mov ecx, dword ptr [esi+28H] cmp ecx, dword ptr [esi+2CH] je SHORT G_M000_IG33 jmp SHORT G_M000_IG21 G_M000_IG30: call CORINFO_HELP_OVERFLOW G_M000_IG31: call [System.IO.StreamWriter:ThrowAsyncIOInProgress()] int3 G_M000_IG32: mov ecx, esi call [System.IO.StreamWriter:g__ThrowObjectDisposedException|77_0():this] int3 G_M000_IG33: push 0 mov ecx, esi xor edx, edx call [System.IO.StreamWriter:Flush(bool,bool):this] jmp G_M000_IG21 G_M000_IG34: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 491 1344: JIT compiled System.IO.StreamWriter:WriteLine(System.String) [Tier1 with Static PGO, IL size=20, code size=491] ; Assembly listing for method System.Text.Encoder:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte],bool):int:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 1474 ; 2 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-14H], eax mov dword ptr [ebp-18H], eax mov esi, ecx mov ebx, edx G_M000_IG02: mov edi, dword ptr [ebp+14H] mov eax, dword ptr [ebp+0CH] mov dword ptr [ebp-1CH], eax mov edx, bword ptr [ebp+10H] mov ecx, 1 test edi, edi cmove edx, ecx mov bword ptr [ebp-14H], edx mov dword ptr [ebp-10H], edx mov ecx, bword ptr [ebp+08H] mov edx, 1 test eax, eax cmovne edx, ecx mov bword ptr [ebp-20H], edx mov bword ptr [ebp-18H], edx mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov edx, dword ptr [ebp-10H] push edi mov edi, bword ptr [ebp-20H] push edi push dword ptr [ebp-1CH] movzx ecx, bl push ecx mov ecx, esi mov eax, dword ptr [esi] 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 115 1345: JIT compiled System.Text.Encoder:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte],bool) [Instrumented Tier1 with Static PGO, IL size=44, code size=115] ; Assembly listing for method System.Text.Encoding:GetBytes(uint,int,uint,int,System.Text.EncoderNLS):int:this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 6468 ; 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, 8 mov esi, ecx mov edi, edx mov ebx, gword ptr [ebp+08H] G_M000_IG02: xor edx, edx xor ecx, ecx mov dword ptr [ebp-14H], ecx cmp word ptr [ebx+14H], 0 jne SHORT G_M000_IG05 cmp gword ptr [ebx+08H], 0 mov dword ptr [ebp-10H], edx jne G_M000_IG09 G_M000_IG03: mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 push dword ptr [ebp+14H] push dword ptr [ebp+10H] push dword ptr [ebp+0CH] lea edx, [ebp-14H] push edx 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 dword ptr [ebp-10H], eax mov edx, dword ptr [ebp+14H] cmp dword ptr [ebp-14H], edx jne SHORT G_M000_IG06 mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov edi, dword ptr [ebp+14H] mov dword ptr [ebx+10H], edi mov eax, dword ptr [ebp-10H] 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], edx jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 push dword ptr [ebp+14H] push dword ptr [ebp+10H] push dword ptr [ebp+0CH] push dword ptr [ebp-14H] push dword ptr [ebp-10H] push ebx mov ecx, esi mov edx, edi call [System.Text.Encoding:GetBytesWithFallback(uint,int,uint,int,int,int,System.Text.EncoderNLS):int:this] G_M000_IG08: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG09: mov ecx, gword ptr [ebx+08H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+2CH] call [eax]System.Text.EncoderFallbackBuffer:get_Remaining():int:this xor ecx, ecx test eax, eax setg cl test ecx, ecx jne SHORT G_M000_IG07 jmp G_M000_IG03 ; Total bytes of code 206 1346: JIT compiled System.Text.Encoding:GetBytes(uint,int,uint,int,System.Text.EncoderNLS) [Instrumented Tier1 with Static PGO, IL size=57, code size=206] ; Assembly listing for method System.IO.FileStream:Write(System.ReadOnlySpan`1[ubyte]):this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 2188 G_M000_IG01: push ebp mov ebp, esp push esi G_M000_IG02: mov esi, gword ptr [ecx+08H] mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, esi 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 esi pop ebp ret 8 ; Total bytes of code 40 1347: JIT compiled System.IO.FileStream:Write(System.ReadOnlySpan`1[ubyte]) [Instrumented Tier1 with Static PGO, IL size=13, code size=40] ; Assembly listing for method System.IO.FileStream:Flush(bool):this (Instrumented Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Instrumented Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 469 G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx mov ebx, edx G_M000_IG02: mov edi, gword ptr [esi+08H] mov ecx, edi mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, edi 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, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 mov esi, gword ptr [esi+08H] mov ecx, esi mov edx, 0xD1FFAB1E call CORINFO_HELP_CLASSPROFILE32 mov ecx, esi 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 edi pop ebp ret G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_COUNTPROFILE32 call [System.ThrowHelper:ThrowObjectDisposedException_FileClosed()] int3 ; Total bytes of code 98 1348: JIT compiled System.IO.FileStream:Flush(bool) [Instrumented Tier1 with Static PGO, IL size=31, code size=98] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:ToString():System.String:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; ebp based frame ; partially interruptible ; 62 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, 72 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 ebx, eax mov eax, dword ptr [ebx+04H] mov dword ptr [ebp-1CH], eax mov edx, eax neg edx add edx, 15 mov dword ptr [ebp-20H], edx test edx, edx jle G_M000_IG57 G_M000_IG03: mov ecx, 15 call System.String:FastAllocateString(int):System.String mov edx, eax mov gword ptr [ebp-38H], edx cmp byte ptr [edx], dl lea eax, bword ptr [edx+08H] mov bword ptr [ebp-40H], eax mov ecx, eax add ebx, 8 mov eax, dword ptr [ebp-1CH] add eax, eax push eax mov edx, ebx call [System.Buffer:Memmove(byref,byref,uint)] mov ebx, bword ptr [ebp-40H] mov ecx, dword ptr [ebp-1CH] lea ecx, bword ptr [ebx+2*ecx] push 32 mov edx, dword ptr [ebp-20H] call [System.SpanHelpers:Fill[ushort](byref,uint,ushort)] mov ebx, gword ptr [ebp-38H] mov edx, ebx G_M000_IG04: test edx, edx je SHORT G_M000_IG06 G_M000_IG05: push dword ptr [edx+04H] add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] G_M000_IG06: mov ecx, dword ptr [edi+0CH] mov eax, gword ptr [edi+04H] cmp dword ptr [eax+04H], ecx jbe G_M000_IG58 G_M000_IG07: mov word ptr [eax+2*ecx+08H], 32 inc dword ptr [edi+0CH] G_M000_IG08: mov ebx, dword ptr [esi+0CH] mov ecx, gword ptr [D1FFAB1EH] test ebx, ebx jl SHORT G_M000_IG12 G_M000_IG09: mov ecx, ebx call [System.Number:UInt32ToDecStr(uint):System.String] mov ebx, eax G_M000_IG10: mov eax, dword ptr [ebx+04H] mov dword ptr [ebp-24H], eax mov edx, eax neg edx add edx, 2 mov dword ptr [ebp-28H], edx test edx, edx jg SHORT G_M000_IG15 G_M000_IG11: mov edx, ebx jmp SHORT G_M000_IG16 G_M000_IG12: test ecx, ecx jne SHORT G_M000_IG18 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] mov ebx, eax jmp SHORT G_M000_IG10 G_M000_IG15: mov ecx, 2 call System.String:FastAllocateString(int):System.String mov edx, eax mov gword ptr [ebp-3CH], edx cmp byte ptr [edx], dl lea eax, bword ptr [edx+08H] mov bword ptr [ebp-44H], eax mov ecx, eax push 32 mov edx, dword ptr [ebp-28H] call [System.SpanHelpers:Fill[ushort](byref,uint,ushort)] mov ecx, bword ptr [ebp-44H] mov edx, dword ptr [ebp-28H] lea ecx, bword ptr [ecx+2*edx] lea edx, bword ptr [ebx+08H] mov ebx, dword ptr [ebp-24H] add ebx, ebx push ebx call [System.Buffer:Memmove(byref,byref,uint)] mov ebx, gword ptr [ebp-3CH] mov edx, ebx G_M000_IG16: test edx, edx je SHORT G_M000_IG20 G_M000_IG17: jmp SHORT G_M000_IG19 G_M000_IG18: call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp SHORT G_M000_IG14 G_M000_IG19: push dword ptr [edx+04H] add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] G_M000_IG20: 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_IG22 G_M000_IG21: 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 jmp SHORT G_M000_IG23 G_M000_IG22: push 2 mov ecx, edi call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] G_M000_IG23: lea eax, bword ptr [esi+10H] mov ebx, dword ptr [eax] mov eax, dword ptr [eax+04H] mov ecx, gword ptr [D1FFAB1EH] mov dword ptr [ebp-34H], eax test eax, eax jl G_M000_IG59 G_M000_IG24: push eax push ebx call [System.Number:UInt64ToDecStr(ulong):System.String] mov edx, eax G_M000_IG25: test edx, edx je SHORT G_M000_IG27 G_M000_IG26: push dword ptr [edx+04H] add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] G_M000_IG27: mov ecx, dword ptr [edi+0CH] mov edx, gword ptr [edi+04H] cmp dword ptr [edx+04H], ecx jbe G_M000_IG62 G_M000_IG28: mov word ptr [edx+2*ecx+08H], 32 inc dword ptr [edi+0CH] G_M000_IG29: 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_IG31 G_M000_IG30: lea ecx, bword ptr [ecx+2*eax+08H] mov word ptr [ecx], 111 mov word ptr [ecx+02H], 112 add eax, 2 mov dword ptr [edi+0CH], eax jmp SHORT G_M000_IG32 G_M000_IG31: push 2 mov ecx, edi call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] G_M000_IG32: 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_IG34 G_M000_IG33: 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 jmp SHORT G_M000_IG35 G_M000_IG34: push 2 mov ecx, edi call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] G_M000_IG35: vmovsd xmm0, qword ptr [esi+18H] mov ecx, gword ptr [D1FFAB1EH] vmovsd qword ptr [ebp-30H], xmm0 test ecx, ecx jne SHORT G_M000_IG43 G_M000_IG36: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] G_M000_IG37: vmovsd xmm0, qword ptr [ebp-30H] 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_IG39 G_M000_IG38: push dword ptr [edx+04H] add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] G_M000_IG39: mov ecx, dword ptr [edi+0CH] mov edx, gword ptr [edi+04H] cmp dword ptr [edx+04H], ecx jbe G_M000_IG63 G_M000_IG40: mov word ptr [edx+2*ecx+08H], 32 inc dword ptr [edi+0CH] G_M000_IG41: 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_IG42: lea ecx, bword ptr [ecx+2*eax+08H] mov word ptr [ecx], 110 mov word ptr [ecx+02H], 115 add eax, 2 mov dword ptr [edi+0CH], eax jmp SHORT G_M000_IG45 G_M000_IG43: call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp SHORT G_M000_IG37 G_M000_IG44: push 2 mov ecx, edi call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] G_M000_IG45: 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_IG47 G_M000_IG46: 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 jmp SHORT G_M000_IG48 G_M000_IG47: push 2 mov ecx, edi call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] G_M000_IG48: vmovsd xmm0, qword ptr [esi+18H] vmovsd qword ptr [ebp-4CH], xmm0 add esi, 16 mov eax, dword ptr [esi] push dword ptr [esi+04H] push eax call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-54H] vmovsd xmm1, qword ptr [ebp-4CH] vmovsd xmm0, qword ptr [ebp-54H] 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] test eax, eax je G_M000_IG64 G_M000_IG49: push 0xD1FFAB1E mov ecx, eax mov edx, 0xD1FFAB1E call [System.String:Replace(System.String,System.String):System.String:this] mov edx, eax G_M000_IG50: test edx, edx je SHORT G_M000_IG52 G_M000_IG51: push dword ptr [edx+04H] add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] G_M000_IG52: mov edx, 0xD1FFAB1E mov ecx, gword ptr [edi+04H] mov esi, dword ptr [edi+0CH] lea eax, [esi+03H] cmp dword ptr [ecx+04H], eax jb SHORT G_M000_IG54 G_M000_IG53: lea ecx, bword ptr [ecx+2*esi+08H] push 6 call [System.Buffer:Memmove(byref,byref,uint)] add esi, 3 mov dword ptr [edi+0CH], esi jmp SHORT G_M000_IG55 G_M000_IG54: push 3 mov ecx, edi call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] G_M000_IG55: mov ecx, edi call [System.Text.StringBuilder:ToString():System.String:this] G_M000_IG56: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG57: mov edx, ebx jmp G_M000_IG04 G_M000_IG58: push 1 mov ecx, edi mov edx, 32 call [System.Text.StringBuilder:Append(ushort,int):System.Text.StringBuilder:this] jmp G_M000_IG08 G_M000_IG59: test ecx, ecx je SHORT G_M000_IG60 call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp SHORT G_M000_IG61 G_M000_IG60: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] G_M000_IG61: push dword ptr [ebp-34H] 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 G_M000_IG25 G_M000_IG62: push 1 mov ecx, edi mov edx, 32 call [System.Text.StringBuilder:Append(ushort,int):System.Text.StringBuilder:this] jmp G_M000_IG29 G_M000_IG63: push 1 mov ecx, edi mov edx, 32 call [System.Text.StringBuilder:Append(ushort,int):System.Text.StringBuilder:this] jmp G_M000_IG41 G_M000_IG64: xor edx, edx jmp G_M000_IG50 ; Total bytes of code 1188 1349: JIT compiled BenchmarkDotNet.Reports.Measurement:ToString() [Tier1 with Dynamic PGO, IL size=304, code size=1188] ; Assembly listing for method System.Text.StringBuilder:.ctor():this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 25043 ; 1 inlinees with PGO data; 0 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 1350: JIT compiled System.Text.StringBuilder:.ctor() [Tier1 with Static PGO, IL size=31, code size=35] ; Assembly listing for method System.String:Concat(System.String,System.String):System.String (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 31 ; 9 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, 8 mov edi, ecx mov esi, edx G_M000_IG02: test edi, edi je SHORT G_M000_IG11 G_M000_IG03: mov ebx, dword ptr [edi+04H] test ebx, ebx je SHORT G_M000_IG11 G_M000_IG04: test esi, esi je SHORT G_M000_IG08 G_M000_IG05: mov edx, dword ptr [esi+04H] test edx, edx je SHORT G_M000_IG08 G_M000_IG06: mov dword ptr [ebp-10H], edx lea ecx, [edx+ebx] test ecx, ecx jl SHORT G_M000_IG10 call System.String:FastAllocateString(int):System.String mov gword ptr [ebp-14H], eax cmp byte ptr [eax], al lea ecx, bword ptr [eax+08H] lea edx, bword ptr [edi+08H] lea edi, [ebx+ebx] push edi call [System.Buffer:Memmove(byref,byref,uint)] mov edi, gword ptr [ebp-14H] lea ecx, bword ptr [edi+2*ebx+08H] lea edx, bword ptr [esi+08H] mov esi, dword ptr [ebp-10H] add esi, esi push esi call [System.Buffer:Memmove(byref,byref,uint)] mov eax, edi G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG08: mov eax, edi G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG10: call [System.ThrowHelper:ThrowOutOfMemoryException_StringTooLong()] int3 G_M000_IG11: test esi, esi je SHORT G_M000_IG12 mov eax, dword ptr [esi+04H] mov edi, eax xor eax, eax test edi, edi sete al test eax, eax je SHORT G_M000_IG14 G_M000_IG12: mov eax, 0xD1FFAB1E G_M000_IG13: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG14: mov eax, esi G_M000_IG15: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 163 1351: JIT compiled System.String:Concat(System.String,System.String) [Tier1 with Dynamic PGO, IL size=84, code size=163] ; Assembly listing for method System.String:PadRight(int,ushort):System.String:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 31 ; 6 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 esi, esi jl SHORT G_M000_IG04 mov ebx, dword ptr [edi+04H] mov eax, esi sub eax, ebx mov dword ptr [ebp-10H], eax test eax, eax jle SHORT 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 ecx, bword ptr [esi+08H] lea edx, bword ptr [edi+08H] lea eax, [ebx+ebx] push eax call [System.Buffer:Memmove(byref,byref,uint)] lea ecx, bword ptr [esi+2*ebx+08H] 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_IG03: pop ecx pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG04: mov ecx, 0x177F mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax mov edx, esi call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] int3 G_M000_IG05: mov eax, edi G_M000_IG06: pop ecx pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 122 1352: JIT compiled System.String:PadRight(int,ushort) [Tier1 with Dynamic PGO, IL size=83, code size=122] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_IterationIndex():int:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 1353: 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 (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 66599 ; 20 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 xor eax, eax mov dword ptr [ebp-0CH], eax G_M000_IG02: mov esi, dword ptr [ecx] test esi, esi jl G_M000_IG16 G_M000_IG03: cmp esi, 300 jae SHORT G_M000_IG05 mov ecx, gword ptr [D1FFAB1EH] cmp esi, dword ptr [ecx+04H] jae G_M000_IG20 mov eax, gword ptr [ecx+4*esi+08H] test eax, eax jne SHORT G_M000_IG04 mov ecx, esi call [System.Number:g__CreateAndCacheString|70_0(uint):System.String] G_M000_IG04: jmp G_M000_IG15 G_M000_IG05: mov ecx, esi or ecx, 1 lzcnt ecx, ecx xor ecx, 31 lea ecx, [8*ecx+D1FFAB1EH] mov eax, dword ptr [ecx] mov edi, dword ptr [ecx+04H] add eax, esi adc edi, 0 mov ecx, edi call System.String:FastAllocateString(int):System.String mov ecx, eax test ecx, ecx je SHORT G_M000_IG12 G_M000_IG06: lea eax, bword ptr [ecx+08H] mov bword ptr [ebp-0CH], eax mov eax, bword ptr [ebp-0CH] G_M000_IG07: lea edi, [eax+2*edi] cmp esi, 10 jb SHORT G_M000_IG13 G_M000_IG08: cmp esi, 100 jb SHORT G_M000_IG10 G_M000_IG09: add edi, -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 [edi], eax cmp edx, 100 mov esi, edx jae SHORT G_M000_IG09 G_M000_IG10: cmp esi, 10 jb SHORT G_M000_IG13 G_M000_IG11: lea eax, [edi-04H] mov edx, gword ptr [D1FFAB1EH] cmp byte ptr [edx], dl mov edx, dword ptr [edx+4*esi+08H] mov dword ptr [eax], edx jmp SHORT G_M000_IG14 G_M000_IG12: xor eax, eax jmp SHORT G_M000_IG07 G_M000_IG13: lea eax, [esi+30H] mov word ptr [edi-02H], ax G_M000_IG14: xor eax, eax mov bword ptr [ebp-0CH], eax mov eax, ecx G_M000_IG15: pop ecx pop esi pop edi pop ebp ret G_M000_IG16: test edx, edx jne SHORT G_M000_IG19 G_M000_IG17: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] G_M000_IG18: 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_IG15 G_M000_IG19: mov ecx, edx call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp SHORT G_M000_IG18 G_M000_IG20: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 260 1354: JIT compiled System.Int32:ToString(System.IFormatProvider) [Tier1 with Static PGO, IL size=11, code size=260] ; Assembly listing for method System.String:PadLeft(int,ushort):System.String:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 31 ; 6 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 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 jle SHORT G_M000_IG05 G_M000_IG03: mov ecx, esi call System.String:FastAllocateString(int):System.String mov esi, eax mov eax, esi cmp byte ptr [eax], al lea ecx, bword ptr [esi+08H] movzx edx, word ptr [ebp+08H] push edx mov edx, dword ptr [ebp-10H] call [System.SpanHelpers:Fill[ushort](byref,uint,ushort)] mov ecx, dword ptr [ebp-10H] lea ecx, bword ptr [esi+2*ecx+08H] lea edx, bword ptr [edi+08H] add ebx, ebx push ebx call [System.Buffer:Memmove(byref,byref,uint)] mov eax, esi G_M000_IG04: pop ecx pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG05: mov eax, edi G_M000_IG06: pop ecx pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG07: mov ecx, 0x177F 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 124 1355: JIT compiled System.String:PadLeft(int,ushort) [Tier1 with Dynamic PGO, IL size=83, code size=124] ; Assembly listing for method System.Int64:ToString(System.IFormatProvider):System.String:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 85 ; 4 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 eax, edx G_M000_IG02: mov esi, dword ptr [ecx] mov edi, dword ptr [ecx+04H] test edi, edi jl SHORT G_M000_IG04 push edi push esi call [System.Number:UInt64ToDecStr(ulong):System.String] G_M000_IG03: pop esi pop edi pop ebp ret G_M000_IG04: test eax, eax je SHORT G_M000_IG05 mov ecx, eax 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_IG03 ; Total bytes of code 66 1356: JIT compiled System.Int64:ToString(System.IFormatProvider) [Tier1 with Static PGO, IL size=10, code size=66] ; Assembly listing for method System.Number:UInt64ToDecStr(ulong):System.String (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 31 ; 27 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-10H], eax G_M000_IG02: cmp dword ptr [ebp+08H], 300 mov ecx, dword ptr [ebp+0CH] sbb ecx, 0 jb G_M000_IG21 mov ecx, 0xD1FFAB1E mov eax, dword ptr [ebp+08H] mov edx, dword ptr [ebp+0CH] or eax, 1 or edx, 0 jne G_M000_IG14 G_M000_IG03: or eax, 1 lzcnt eax, eax xor eax, 31 G_M000_IG04: 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 mov gword ptr [ebp-20H], esi test esi, esi je G_M000_IG23 lea eax, bword ptr [esi+08H] mov bword ptr [ebp-10H], eax mov ecx, bword ptr [ebp-10H] G_M000_IG05: lea edi, [ecx+2*ebx] mov ecx, dword ptr [ebp+08H] mov ebx, dword ptr [ebp+0CH] G_M000_IG06: test ebx, ebx jne SHORT G_M000_IG15 cmp ecx, 10 jae SHORT G_M000_IG10 G_M000_IG07: lea eax, [ecx+30H] mov word ptr [edi-02H], ax G_M000_IG08: xor eax, eax mov bword ptr [ebp-10H], eax mov eax, esi G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG10: cmp ecx, 100 jb SHORT G_M000_IG12 G_M000_IG11: add edi, -4 mov edx, 0xD1FFAB1E mov eax, ecx mul edx:eax, edx shr edx, 5 imul eax, edx, 100 sub ecx, eax mov eax, gword ptr [D1FFAB1EH] cmp byte ptr [eax], al mov eax, dword ptr [eax+4*ecx+08H] mov dword ptr [edi], eax cmp edx, 100 mov ecx, edx jae SHORT G_M000_IG11 G_M000_IG12: cmp ecx, 10 jb SHORT G_M000_IG07 G_M000_IG13: lea eax, [edi-04H] mov edx, gword ptr [D1FFAB1EH] cmp byte ptr [edx], dl mov ecx, dword ptr [edx+4*ecx+08H] mov dword ptr [eax], ecx jmp SHORT G_M000_IG08 G_M000_IG14: or edx, 1 xor eax, eax lzcnt eax, edx xor eax, 31 add eax, 32 jmp G_M000_IG04 G_M000_IG15: mov dword ptr [ebp-1CH], ecx mov ecx, 0xD1FFAB1E mov eax, dword ptr [ebp-1CH] mov edx, ebx cmp edx, ecx jb SHORT G_M000_IG16 mov esi, eax mov eax, edx xor edx, edx div edx:eax, ecx mov eax, esi G_M000_IG16: div edx:eax, ecx mov esi, edx push ebx push dword ptr [ebp-1CH] push 0 push 0xD1FFAB1E call CORINFO_HELP_ULDIV mov dword ptr [ebp-1CH], eax mov ebx, edx mov ecx, edi mov edi, 9 cmp esi, 100 jb SHORT G_M000_IG18 G_M000_IG17: 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 mov esi, edx jae SHORT G_M000_IG17 G_M000_IG18: test esi, esi je SHORT G_M000_IG20 G_M000_IG19: dec edi mov edx, 0xD1FFAB1E mov eax, esi mul edx:eax, edx shr edx, 3 lea eax, [edx+4*edx] add eax, eax sub esi, eax add ecx, -2 add esi, 48 mov word ptr [ecx], si test edx, edx mov esi, edx jne SHORT G_M000_IG19 G_M000_IG20: test edi, edi jg SHORT G_M000_IG19 mov edi, ecx mov ecx, dword ptr [ebp-1CH] mov esi, gword ptr [ebp-20H] jmp G_M000_IG06 G_M000_IG21: mov ecx, dword ptr [ebp+08H] call [System.Number:UInt32ToDecStrForKnownSmallNumber(uint):System.String] G_M000_IG22: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG23: xor ecx, ecx jmp G_M000_IG05 ; Total bytes of code 447 1357: JIT compiled System.Number:UInt64ToDecStr(ulong) [Tier1 with Dynamic PGO, IL size=71, code size=447] ; Assembly listing for method System.Number:UInt64ToDecChars[ushort](uint,ulong):uint (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 36 ; 17 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 mov esi, ecx G_M000_IG02: cmp dword ptr [ebp+0CH], 0 jne SHORT G_M000_IG10 mov ecx, dword ptr [ebp+08H] cmp ecx, 10 jae SHORT G_M000_IG06 G_M000_IG03: add esi, -2 lea eax, [ecx+30H] mov word ptr [esi], ax G_M000_IG04: mov eax, esi G_M000_IG05: pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG06: cmp ecx, 100 jb SHORT G_M000_IG08 G_M000_IG07: add esi, -4 mov edx, 0xD1FFAB1E mov eax, ecx mul edx:eax, edx shr edx, 5 imul eax, edx, 100 sub ecx, eax mov eax, gword ptr [D1FFAB1EH] cmp byte ptr [eax], al mov eax, dword ptr [eax+4*ecx+08H] mov dword ptr [esi], eax cmp edx, 100 mov ecx, edx jae SHORT G_M000_IG07 G_M000_IG08: cmp ecx, 10 jb SHORT G_M000_IG03 G_M000_IG09: add esi, -4 mov eax, gword ptr [D1FFAB1EH] cmp byte ptr [eax], al mov ecx, dword ptr [eax+4*ecx+08H] mov dword ptr [esi], ecx jmp SHORT G_M000_IG04 G_M000_IG10: mov eax, dword ptr [ebp+08H] mov edx, dword ptr [ebp+0CH] mov ecx, 0xD1FFAB1E cmp edx, ecx jb SHORT G_M000_IG11 mov edi, eax mov eax, edx xor edx, edx div edx:eax, ecx mov eax, edi G_M000_IG11: 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, esi mov esi, 9 cmp edi, 100 jb SHORT G_M000_IG13 G_M000_IG12: add ecx, -4 add esi, -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 [ecx], eax cmp edx, 100 mov edi, edx jae SHORT G_M000_IG12 G_M000_IG13: test edi, edi je SHORT G_M000_IG15 G_M000_IG14: dec esi mov edx, 0xD1FFAB1E mov eax, edi mul edx:eax, edx shr edx, 3 lea eax, [edx+4*edx] add eax, eax mov ebx, edi sub ebx, eax mov edi, edx add ecx, -2 add ebx, 48 mov word ptr [ecx], bx test edi, edi jne SHORT G_M000_IG14 G_M000_IG15: test esi, esi jg SHORT G_M000_IG14 mov esi, ecx jmp G_M000_IG02 ; Total bytes of code 268 1358: JIT compiled System.Number:UInt64ToDecChars[ushort](uint,ulong) [Tier1 with Dynamic PGO, IL size=35, code size=268] ; Assembly listing for method System.Number+Grisu3:TryRunDouble(double,int,byref):bool (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 31 ; 16 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, 184 vzeroupper mov edi, ecx mov esi, edx vmovsd xmm0, qword ptr [ebp+08H] G_M000_IG02: vmovsd qword ptr [ebp-6CH], xmm0 cmp dword ptr [ebp-68H], 0 jl G_M000_IG11 G_M000_IG03: cmp edi, -1 je G_M000_IG12 G_M000_IG04: vmovsd qword ptr [ebp-74H], xmm0 mov eax, dword ptr [ebp-74H] mov edx, dword ptr [ebp-70H] mov ecx, edx and ecx, 0xD1FFAB1E shr edx, 20 and edx, 0x7FF je SHORT G_M000_IG05 or eax, 0 or ecx, 0xD1FFAB1E add edx, -0x433 jmp SHORT G_M000_IG06 G_M000_IG05: mov edx, -0x432 G_M000_IG06: mov dword ptr [ebp-ACH], eax mov dword ptr [ebp-A8H], ecx mov eax, dword ptr [ebp-ACH] mov ecx, dword ptr [ebp-A8H] mov dword ptr [ebp-54H], eax mov dword ptr [ebp-50H], ecx mov dword ptr [ebp-4CH], edx mov eax, dword ptr [ebp-54H] mov edx, dword ptr [ebp-50H] xor ebx, ebx lzcnt ebx, edx lzcnt eax, eax add eax, 32 test edx, edx cmove ebx, eax mov eax, dword ptr [ebp-54H] mov edx, dword ptr [ebp-50H] mov ecx, ebx and ecx, 63 call CORINFO_HELP_LLSH mov ecx, dword ptr [ebp-4CH] sub ecx, ebx mov dword ptr [ebp-B4H], eax mov dword ptr [ebp-B0H], edx mov edx, dword ptr [ebp-B4H] mov eax, dword ptr [ebp-B0H] mov dword ptr [ebp-64H], edx mov dword ptr [ebp-60H], eax mov dword ptr [ebp-5CH], ecx mov ebx, bword ptr [esi+0CH] mov bword ptr [ebp-C4H], ebx mov eax, dword ptr [esi+10H] mov dword ptr [ebp-B8H], eax mov ecx, dword ptr [ebp-5CH] add ecx, 64 neg ecx add ecx, 3 vxorps xmm0, xmm0, xmm0 vcvtsi2sd xmm0, xmm0, ecx vmulsd xmm0, xmm0, qword ptr [@RWD00] vroundsd xmm0, xmm0, xmm0, 10 vcvttsd2si ecx, xmm0 add ecx, 347 mov edx, ecx sar edx, 31 and edx, 7 add ecx, edx sar ecx, 3 inc ecx cmp ecx, 87 jae G_M000_IG13 movsx edx, word ptr [2*ecx+D1FFAB1EH] mov dword ptr [ebp-80H], edx lea ebx, [8*ecx+D1FFAB1EH] mov eax, dword ptr [ebx] mov ebx, dword ptr [ebx+04H] movsx ecx, word ptr [2*ecx+D1FFAB1EH] mov dword ptr [ebp-C0H], eax mov dword ptr [ebp-BCH], ebx mov eax, dword ptr [ebp-C0H] mov ebx, dword ptr [ebp-BCH] mov dword ptr [ebp-90H], eax G_M000_IG07: mov dword ptr [ebp-8CH], ebx mov dword ptr [ebp-88H], ecx lea ecx, [ebp-90H] push ecx lea ecx, [ebp-64H] lea edx, [ebp-A0H] call [System.Number+DiyFp:Multiply(byref):System.Number+DiyFp:this] push dword ptr [ebp-B8H] push bword ptr [ebp-C4H] lea ecx, [ebp-10H] push ecx lea ecx, [ebp-A4H] push ecx lea ecx, [ebp-A0H] mov edx, edi call [System.Number+Grisu3:TryDigitGenCounted(byref,int,System.Span`1[ubyte],byref,byref):bool] mov ecx, dword ptr [ebp-A4H] sub ecx, dword ptr [ebp-80H] mov dword ptr [ebp-14H], ecx G_M000_IG08: test eax, eax je SHORT G_M000_IG10 G_M000_IG09: mov ecx, dword ptr [ebp-10H] add ecx, dword ptr [ebp-14H] mov dword ptr [esi+04H], ecx lea ecx, bword ptr [esi+0CH] mov edx, dword ptr [ecx+04H] cmp dword ptr [ebp-10H], edx jae SHORT G_M000_IG13 mov ecx, bword ptr [ecx] mov edx, dword ptr [ebp-10H] mov byte ptr [ecx+edx], 0 mov ecx, dword ptr [ebp-10H] mov dword ptr [esi], ecx G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG11: vxorps xmm0, xmm0, xmmword ptr [@RWD16] cmp edi, -1 jne G_M000_IG04 G_M000_IG12: sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-44H] push ecx lea ecx, [ebp-54H] lea edx, [ebp-34H] call [System.Number+DiyFp:CreateAndGetBoundaries(double,byref,byref):System.Number+DiyFp] lea ecx, [ebp-54H] lea edx, [ebp-24H] call [System.Number+DiyFp:Normalize():System.Number+DiyFp:this] lea edx, [ebp-44H] push edx lea edx, bword ptr [esi+0CH] push dword ptr [edx+04H] push bword ptr [edx] lea edx, [ebp-10H] push edx lea edx, [ebp-14H] push edx lea edx, [ebp-24H] lea ecx, [ebp-34H] call [System.Number+Grisu3:TryRunShortest(byref,byref,byref,System.Span`1[ubyte],byref,byref):bool] jmp G_M000_IG08 G_M000_IG13: call CORINFO_HELP_RNGCHKFAIL int3 RWD00 dq 3FD34413509F79FFh ; 0.301029996 RWD08 dd 00000000h, 00000000h RWD16 dq 8000000000000000h, 8000000000000000h ; Total bytes of code 583 1359: JIT compiled System.Number+Grisu3:TryRunDouble(double,int,byref) [Tier1 with Dynamic PGO, IL size=134, code size=583] ; Assembly listing for method System.Number+Grisu3:GetCachedPowerForBinaryExponentRange(int,int,byref):System.Number+DiyFp (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 573 ; 4 inlinees with PGO data; 0 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 1360: JIT compiled System.Number+Grisu3:GetCachedPowerForBinaryExponentRange(int,int,byref) [Tier1 with Static PGO, IL size=91, code size=131] ; Assembly listing for method System.Number+DiyFp:Multiply(byref):System.Number+DiyFp:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 1709 ; 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, 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 1361: JIT compiled System.Number+DiyFp:Multiply(byref) [Tier1 with Static PGO, IL size=136, code size=191] ; Assembly listing for method System.Number+Grisu3:TryDigitGenCounted(byref,int,System.Span`1[ubyte],byref,byref):bool (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 31 ; 7 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, 152 mov bword ptr [ebp-98H], ecx mov esi, edx mov edi, bword ptr [ebp+0CH] mov ebx, bword ptr [ebp+08H] G_M000_IG02: mov edx, bword ptr [ebp+10H] mov bword ptr [ebp-9CH], edx mov eax, dword ptr [ebp+14H] mov dword ptr [ebp-48H], eax xor ecx, ecx mov dword ptr [ebp-A0H], ecx mov dword ptr [ebp-54H], 1 mov edx, dword ptr [ebp-A0H] mov dword ptr [ebp-58H], edx mov eax, bword ptr [ebp-98H] mov eax, dword ptr [eax+08H] neg eax mov dword ptr [ebp-50H], eax and eax, 63 mov dword ptr [ebp-4CH], eax mov dword ptr [ebp-6CH], 1 xor eax, eax mov dword ptr [ebp-70H], eax mov eax, dword ptr [ebp-6CH] mov edx, dword ptr [ebp-70H] mov ecx, dword ptr [ebp-4CH] call CORINFO_HELP_LLSH mov dword ptr [ebp-44H], eax mov dword ptr [ebp-40H], edx mov ecx, bword ptr [ebp-98H] mov eax, ecx mov edx, dword ptr [eax] mov eax, dword ptr [eax+04H] mov dword ptr [ebp-74H], eax mov eax, edx mov edx, dword ptr [ebp-74H] mov ecx, dword ptr [ebp-4CH] call CORINFO_HELP_LRSZ mov ecx, eax mov dword ptr [ebp-1CH], ecx mov eax, bword ptr [ebp-98H] mov edx, dword ptr [eax] mov dword ptr [ebp-A0H], edx mov eax, dword ptr [eax+04H] mov dword ptr [ebp-A4H], eax mov eax, dword ptr [ebp-44H] mov edx, dword ptr [ebp-40H] sub eax, 1 sbb edx, 0 mov dword ptr [ebp-64H], eax mov dword ptr [ebp-68H], edx mov edx, dword ptr [ebp-A0H] and edx, eax mov dword ptr [ebp-A0H], edx mov edx, dword ptr [ebp-A4H] and edx, dword ptr [ebp-68H] mov dword ptr [ebp-A4H], edx mov edx, dword ptr [ebp-A0H] mov eax, dword ptr [ebp-A4H] mov dword ptr [ebp-5CH], edx mov dword ptr [ebp-60H], eax mov ecx, edx or ecx, eax je G_M000_IG17 G_M000_IG03: mov ecx, dword ptr [ebp-50H] neg ecx add ecx, 65 imul ecx, ecx, 0x4D1 sar ecx, 12 cmp ecx, 10 jae G_M000_IG24 mov dword ptr [ebp-34H], ecx mov ecx, dword ptr [4*ecx+D1FFAB1EH] mov dword ptr [ebp-38H], ecx mov ecx, dword ptr [ebp-1CH] cmp ecx, dword ptr [ebp-38H] jb G_M000_IG21 G_M000_IG04: mov ecx, dword ptr [ebp-34H] inc ecx mov dword ptr [ebx], ecx mov ecx, dword ptr [ebp-38H] mov dword ptr [ebp-28H], ecx xor ecx, ecx mov dword ptr [edi], ecx cmp dword ptr [ebx], 0 jle SHORT G_M000_IG06 align [0 bytes for IG05] G_M000_IG05: mov eax, dword ptr [ebp-1CH] mov ecx, dword ptr [ebp-28H] xor edx, edx div edx:eax, ecx mov dword ptr [ebp-3CH], eax mov dword ptr [ebp-28H], ecx mov edx, eax imul edx, ecx mov eax, dword ptr [ebp-1CH] sub eax, edx mov dword ptr [ebp-1CH], eax mov edx, dword ptr [edi] cmp edx, dword ptr [ebp-48H] jae G_M000_IG24 mov eax, dword ptr [ebp-3CH] add eax, 48 mov ecx, bword ptr [ebp-9CH] mov byte ptr [ecx+edx], al inc dword ptr [edi] dec esi dec dword ptr [ebx] test esi, esi je SHORT G_M000_IG06 mov edx, 0xD1FFAB1E mov eax, dword ptr [ebp-28H] mul edx:eax, edx mov eax, edx shr eax, 3 mov dword ptr [ebp-28H], eax cmp dword ptr [ebx], 0 jg SHORT G_M000_IG05 G_M000_IG06: test esi, esi je G_M000_IG22 G_M000_IG07: test esi, esi jle G_M000_IG11 G_M000_IG08: mov edx, dword ptr [ebp-5CH] cmp dword ptr [ebp-54H], edx mov ecx, dword ptr [ebp-58H] mov eax, dword ptr [ebp-60H] sbb ecx, eax jae SHORT G_M000_IG10 G_M000_IG09: push eax push edx push 0 push 10 call CORINFO_HELP_LMUL mov dword ptr [ebp-5CH], eax mov dword ptr [ebp-60H], edx push dword ptr [ebp-58H] push dword ptr [ebp-54H] push 0 push 10 call CORINFO_HELP_LMUL mov dword ptr [ebp-54H], eax mov dword ptr [ebp-58H], edx mov eax, dword ptr [ebp-5CH] mov edx, dword ptr [ebp-60H] mov ecx, dword ptr [ebp-4CH] call CORINFO_HELP_LRSZ mov ecx, dword ptr [edi] cmp ecx, dword ptr [ebp-48H] jae G_M000_IG24 add eax, 48 mov edx, bword ptr [ebp-9CH] mov byte ptr [edx+ecx], al inc dword ptr [edi] dec esi dec dword ptr [ebx] mov ecx, dword ptr [ebp-64H] mov eax, ecx and eax, dword ptr [ebp-5CH] mov ecx, dword ptr [ebp-68H] and ecx, dword ptr [ebp-60H] mov dword ptr [ebp-5CH], eax mov dword ptr [ebp-60H], ecx jmp SHORT G_M000_IG07 G_M000_IG10: mov dword ptr [ebp-5CH], edx mov dword ptr [ebp-60H], eax G_M000_IG11: test esi, esi je SHORT G_M000_IG15 G_M000_IG12: cmp dword ptr [ebp-48H], 0 jbe G_M000_IG24 mov ecx, bword ptr [ebp-9CH] mov byte ptr [ecx], 0 xor eax, eax mov dword ptr [edi], eax G_M000_IG13: mov dword ptr [ebx], eax G_M000_IG14: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG15: push dword ptr [ebp+14H] push bword ptr [ebp+10H] mov ecx, dword ptr [edi] push dword ptr [ebp-60H] push dword ptr [ebp-5CH] push dword ptr [ebp-40H] push dword ptr [ebp-44H] push dword ptr [ebp-58H] push dword ptr [ebp-54H] mov edx, ebx call [System.Number+Grisu3:TryRoundWeedCounted(System.Span`1[ubyte],int,ulong,ulong,ulong,byref):bool] G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG17: cmp esi, 11 jge SHORT G_M000_IG18 lea ecx, [esi-01H] cmp ecx, 10 jae G_M000_IG24 mov ecx, dword ptr [ebp-1CH] cmp ecx, dword ptr [4*esi+D1FFAB1EH] mov dword ptr [ebp-1CH], ecx jae G_M000_IG03 G_M000_IG18: xor eax, eax mov dword ptr [edi], eax G_M000_IG19: mov dword ptr [ebx], eax G_M000_IG20: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG21: mov dword ptr [ebp-10H], esi mov ecx, dword ptr [ebp-1CH] mov esi, dword ptr [ebp-34H] dec esi cmp esi, 10 jae SHORT G_M000_IG24 mov dword ptr [ebp-34H], esi mov esi, dword ptr [4*esi+D1FFAB1EH] mov dword ptr [ebp-1CH], ecx mov dword ptr [ebp-38H], esi mov esi, dword ptr [ebp-10H] jmp G_M000_IG04 G_M000_IG22: mov ecx, dword ptr [ebp-1CH] push dword ptr [ebp+14H] push bword ptr [ebp+10H] mov esi, dword ptr [edi] xor edi, edi mov eax, ecx mov edx, edi mov ecx, dword ptr [ebp-4CH] call CORINFO_HELP_LLSH mov edi, dword ptr [ebp-5CH] add eax, edi mov edi, dword ptr [ebp-60H] adc edx, edi push edx push eax xor edx, edx mov eax, dword ptr [ebp-28H] mov ecx, dword ptr [ebp-4CH] 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_IG23: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG24: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 804 1362: JIT compiled System.Number+Grisu3:TryDigitGenCounted(byref,int,System.Span`1[ubyte],byref,byref) [Tier1 with Dynamic PGO, IL size=372, code size=804] ; Assembly listing for method System.Number+Grisu3:BiggestPowerTen(uint,int,byref):uint (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 31 ; 2 inlinees with PGO data; 0 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 jb SHORT G_M000_IG05 G_M000_IG03: inc eax mov ecx, bword ptr [ebp+08H] mov dword ptr [ecx], eax mov eax, edx G_M000_IG04: pop ebp ret 4 G_M000_IG05: dec eax cmp eax, 10 jae SHORT G_M000_IG06 mov edx, dword ptr [4*eax+D1FFAB1EH] jmp SHORT G_M000_IG03 G_M000_IG06: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 62 1363: JIT compiled System.Number+Grisu3:BiggestPowerTen(uint,int,byref) [Tier1 with Dynamic PGO, IL size=60, code size=62] ; Assembly listing for method System.Number:FindSection(System.ReadOnlySpan`1[ushort],int):int (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 31 ; 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 push eax xor eax, eax mov dword ptr [ebp-10H], eax G_M000_IG02: test ecx, ecx jne SHORT G_M000_IG04 xor eax, eax G_M000_IG03: pop ecx pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG04: mov edx, bword ptr [ebp+08H] mov bword ptr [ebp-10H], edx xor eax, eax G_M000_IG05: cmp eax, dword ptr [ebp+0CH] jl SHORT G_M000_IG07 xor eax, eax G_M000_IG06: pop ecx pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG07: lea esi, [eax+01H] movzx eax, word ptr [edx+2*eax] mov edi, eax cmp eax, 34 ja SHORT G_M000_IG08 test eax, eax je SHORT G_M000_IG14 cmp eax, 34 je SHORT G_M000_IG09 mov eax, esi jmp SHORT G_M000_IG05 G_M000_IG08: cmp eax, 39 je SHORT G_M000_IG09 cmp edi, 59 je SHORT G_M000_IG12 cmp edi, 92 mov eax, esi jne SHORT G_M000_IG05 cmp eax, dword ptr [ebp+0CH] jge SHORT G_M000_IG05 jmp SHORT G_M000_IG11 G_M000_IG09: cmp esi, dword ptr [ebp+0CH] jge SHORT G_M000_IG10 mov ebx, eax mov eax, esi mov esi, ebx cmp word ptr [edx+2*eax], 0 je SHORT G_M000_IG05 lea edi, [eax+01H] movzx eax, word ptr [edx+2*eax] cmp eax, esi mov eax, esi mov esi, edi jne SHORT G_M000_IG09 mov eax, esi jmp SHORT G_M000_IG05 G_M000_IG10: mov eax, esi jmp SHORT G_M000_IG05 G_M000_IG11: cmp word ptr [edx+2*eax], 0 je SHORT G_M000_IG05 inc eax jmp SHORT G_M000_IG05 G_M000_IG12: dec ecx mov eax, esi jne SHORT G_M000_IG05 cmp eax, dword ptr [ebp+0CH] jge SHORT G_M000_IG14 cmp word ptr [edx+2*eax], 0 je SHORT G_M000_IG14 cmp word ptr [edx+2*eax], 59 je SHORT G_M000_IG14 G_M000_IG13: pop ecx pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG14: xor eax, eax G_M000_IG15: pop ecx pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 193 1364: JIT compiled System.Number:FindSection(System.ReadOnlySpan`1[ushort],int) [Tier1 with Dynamic PGO, IL size=190, code size=193] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:GetAverageTime():Perfolizer.Horology.TimeInterval:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 1365: 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 (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 1366: 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 (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 1367: 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 (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 1368: 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 (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 1369: 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 (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 31 ; 28 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, 56 vzeroupper mov edi, ecx mov esi, edx mov ebx, gword ptr [ebp+08H] G_M000_IG02: test esi, esi jne SHORT 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_IG03: mov eax, gword ptr [ebp+10H] test eax, eax cmove eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp+10H], eax mov edx, gword ptr [ebp+0CH] mov ecx, 0xD1FFAB1E test edx, edx cmove edx, ecx mov gword ptr [ebp+0CH], edx test ebx, ebx cmove ebx, gword ptr [D1FFAB1EH] vmovsd xmm0, qword ptr [edi] vmovsd qword ptr [ebp-1CH], xmm0 mov ecx, gword ptr [D1FFAB1EH] add ecx, 4 mov edi, dword ptr [ecx] push dword ptr [ecx+04H] push edi call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-44H] vmovsd xmm0, qword ptr [ebp-44H] vmulsd xmm0, xmm0, qword ptr [ebp-1CH] vmovsd qword ptr [ebp-24H], xmm0 mov eax, esi test eax, eax je G_M000_IG30 G_M000_IG04: add eax, 4 mov edx, dword ptr [eax] push dword ptr [eax+04H] push edx call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-44H] vmovsd xmm1, qword ptr [ebp-24H] vmovsd xmm0, qword ptr [ebp-44H] vdivsd xmm0, xmm1, xmm0 vmovsd qword ptr [ebp-14H], xmm0 cmp byte ptr [ebx+08H], 0 je G_M000_IG26 mov eax, gword ptr [esi+0CH] mov edi, eax mov esi, dword ptr [ebx+04H] mov ebx, edi cmp byte ptr [ebx], bl test esi, esi jl G_M000_IG31 mov ebx, dword ptr [edi+04H] mov eax, esi sub eax, ebx mov dword ptr [ebp-28H], eax test eax, eax jg SHORT G_M000_IG06 G_M000_IG05: jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, esi call System.String:FastAllocateString(int):System.String mov esi, eax mov eax, esi cmp byte ptr [eax], al lea ecx, bword ptr [esi+08H] push 32 mov edx, dword ptr [ebp-28H] call [System.SpanHelpers:Fill[ushort](byref,uint,ushort)] mov ecx, dword ptr [ebp-28H] lea ecx, bword ptr [esi+2*ecx+08H] lea edx, bword ptr [edi+08H] add ebx, ebx push ebx call [System.Buffer:Memmove(byref,byref,uint)] mov edi, esi G_M000_IG07: vmovsd xmm0, qword ptr [ebp-14H] vmovsd qword ptr [ebp-30H], xmm0 mov esi, gword ptr [ebp+10H] test esi, esi jne G_M000_IG22 G_M000_IG08: mov eax, dword ptr FS:[0x002C] mov eax, dword ptr [eax+0CH] cmp dword ptr [eax+F8H], 3 jl G_M000_IG32 mov eax, dword ptr [eax+F0H] mov eax, dword ptr [eax+0CH] test eax, eax je G_M000_IG32 mov eax, bword ptr [eax] add eax, 8 G_M000_IG09: mov ecx, gword ptr [eax+04H] test ecx, ecx jne SHORT G_M000_IG11 G_M000_IG10: mov ecx, gword ptr [D1FFAB1EH] test ecx, ecx jne SHORT G_M000_IG11 mov ecx, gword ptr [D1FFAB1EH] test ecx, ecx je G_M000_IG18 G_M000_IG11: cmp byte ptr [ecx+31H], 0 jne G_M000_IG19 mov eax, gword ptr [ecx+0CH] test eax, eax je G_M000_IG19 G_M000_IG12: vmovsd xmm0, qword ptr [ebp-30H] 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 esi, eax test esi, esi je G_M000_IG23 G_M000_IG13: mov ebx, dword ptr [esi+04H] test ebx, ebx je G_M000_IG23 G_M000_IG14: test edi, edi je G_M000_IG24 G_M000_IG15: cmp dword ptr [edi+04H], 0 je G_M000_IG24 G_M000_IG16: xor ecx, ecx mov eax, ebx add eax, dword ptr [edi+04H] adc ecx, 0 add eax, 1 adc ecx, 0 cmp eax, 0xD1FFAB1E sbb ecx, 0 jge G_M000_IG25 mov ecx, eax call System.String:FastAllocateString(int):System.String mov gword ptr [ebp-3CH], eax cmp byte ptr [eax], al lea ecx, bword ptr [eax+08H] lea edx, bword ptr [esi+08H] mov esi, ebx add esi, esi push esi call [System.Buffer:Memmove(byref,byref,uint)] mov eax, gword ptr [ebp-3CH] lea ecx, bword ptr [eax+2*ebx+08H] mov edx, 0xD1FFAB1E push 2 call [System.Buffer:Memmove(byref,byref,uint)] mov eax, gword ptr [ebp-3CH] lea ecx, bword ptr [eax+2*ebx+0AH] lea edx, bword ptr [edi+08H] mov edi, dword ptr [edi+04H] add edi, edi push edi call [System.Buffer:Memmove(byref,byref,uint)] mov ebx, gword ptr [ebp-3CH] mov eax, ebx G_M000_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG18: call [System.Globalization.CultureInfo:InitializeUserDefaultCulture():System.Globalization.CultureInfo] mov ecx, eax jmp G_M000_IG11 G_M000_IG19: 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 test edx, edx jne SHORT G_M000_IG21 G_M000_IG20: mov eax, edx jmp G_M000_IG12 G_M000_IG21: mov ecx, 0xD1FFAB1E cmp dword ptr [edx], ecx jne G_M000_IG33 jmp SHORT G_M000_IG20 G_M000_IG22: mov ecx, esi call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp G_M000_IG12 G_M000_IG23: mov edx, edi mov ecx, 0xD1FFAB1E call [System.String:Concat(System.String,System.String):System.String] jmp SHORT G_M000_IG17 G_M000_IG24: mov ecx, esi mov edx, 0xD1FFAB1E call [System.String:Concat(System.String,System.String):System.String] jmp SHORT G_M000_IG17 G_M000_IG25: call [System.ThrowHelper:ThrowOutOfMemoryException_StringTooLong()] int3 G_M000_IG26: vmovsd xmm0, qword ptr [ebp-14H] vmovsd qword ptr [ebp-38H], xmm0 mov esi, gword ptr [ebp+10H] test esi, esi je SHORT G_M000_IG27 mov ecx, esi call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp SHORT G_M000_IG28 G_M000_IG27: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] G_M000_IG28: vmovsd xmm0, qword ptr [ebp-38H] 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_IG29: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG30: mov ecx, 0xD1FFAB1E mov edx, 1 call CORINFO_HELP_NEWARR_1_ALIGN8 vmovsd xmm1, qword ptr [ebp-1CH] vmovsd qword ptr [eax+08H], xmm1 mov ecx, eax call [Perfolizer.Horology.TimeUnit:GetBestTimeUnit(double[]):Perfolizer.Horology.TimeUnit] jmp G_M000_IG04 G_M000_IG31: mov ecx, 0x177F mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax mov edx, esi call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] int3 G_M000_IG32: mov ecx, 3 call CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED jmp G_M000_IG09 G_M000_IG33: mov edx, eax call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 ; Total bytes of code 838 1370: JIT compiled Perfolizer.Horology.TimeInterval:ToString(Perfolizer.Horology.TimeUnit,System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation) [Tier1 with Dynamic PGO, IL size=141, code size=838] ; Assembly listing for method Perfolizer.Horology.TimeUnit:Convert(double,Perfolizer.Horology.TimeUnit,Perfolizer.Horology.TimeUnit):double (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; esp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 31 ; 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 je SHORT G_M000_IG05 G_M000_IG03: 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_IG04: add esp, 16 pop esi ret 8 G_M000_IG05: 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 jmp SHORT G_M000_IG03 ; Total bytes of code 136 1371: JIT compiled Perfolizer.Horology.TimeUnit:Convert(double,Perfolizer.Horology.TimeUnit,Perfolizer.Horology.TimeUnit) [Tier1 with Dynamic PGO, IL size=37, code size=136] ; Assembly listing for method Perfolizer.Common.UnitPresentation:get_IsVisible():bool:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 1372: 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 (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 1373: 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 (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; 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 1374: 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 (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 3 ; 7 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, 8 mov edi, ecx mov esi, edx G_M000_IG02: test esi, esi jl SHORT G_M000_IG06 mov ebx, dword ptr [edi+04H] mov eax, esi sub eax, ebx mov dword ptr [ebp-10H], eax test eax, eax jle SHORT G_M000_IG05 G_M000_IG03: mov ecx, esi call System.String:FastAllocateString(int):System.String mov gword ptr [ebp-14H], eax cmp byte ptr [eax], al lea ecx, bword ptr [eax+08H] push 32 mov edx, dword ptr [ebp-10H] call [System.SpanHelpers:Fill[ushort](byref,uint,ushort)] mov eax, gword ptr [ebp-14H] mov esi, dword ptr [ebp-10H] lea ecx, bword ptr [eax+2*esi+08H] lea edx, bword ptr [edi+08H] add ebx, ebx push ebx call [System.Buffer:Memmove(byref,byref,uint)] mov ebx, gword ptr [ebp-14H] mov eax, ebx G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG05: mov eax, edi jmp SHORT G_M000_IG04 G_M000_IG06: mov ecx, 0x177F 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 122 1375: JIT compiled System.String:PadLeft(int) [Tier1 with Static PGO, IL size=10, code size=122] ; Assembly listing for method System.Number+BigInteger:Clear(uint):this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 4 ; 1 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data G_M000_IG01: G_M000_IG02: cmp byte ptr [ecx], cl add ecx, 4 shl edx, 2 call [System.SpanHelpers:ClearWithoutReferences(byref,uint)] G_M000_IG03: ret ; Total bytes of code 15 1376: JIT compiled System.Number+BigInteger:Clear(uint) [Tier1 with Static PGO, IL size=26, code size=15] ; Assembly listing for method System.Number:NumberToString[ushort](byref,byref,ushort,int,System.Globalization.NumberFormatInfo) (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 31 ; 70 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 push ebx sub esp, 136 mov esi, ecx mov edi, edx mov ecx, dword ptr [ebp+10H] mov eax, dword ptr [ebp+0CH] mov ebx, gword ptr [ebp+08H] G_M000_IG02: xor edx, edx cmp byte ptr [edi+0AH], 3 sete dl mov dword ptr [ebp-10H], edx movzx edx, cx cmp edx, 82 ja G_M000_IG33 movzx edx, cx add edx, -67 cmp edx, 4 ja SHORT G_M000_IG08 mov gword ptr [ebp+08H], ebx mov dword ptr [ebp+0CH], eax lea eax, [@RWD00] mov eax, dword ptr [eax+4*edx] lea ebx, G_M000_IG02 add eax, ebx jmp eax G_M000_IG03: mov dword ptr [ebp+10H], ecx jmp G_M000_IG49 G_M000_IG04: mov eax, gword ptr [D1FFAB1EH] mov ecx, dword ptr [ebx+94H] cmp ecx, dword ptr [eax+04H] jae G_M000_IG68 mov eax, gword ptr [eax+4*ecx+08H] G_M000_IG05: mov gword ptr [ebp-4CH], eax xor edx, edx mov ecx, dword ptr [eax+04H] mov dword ptr [ebp-44H], ecx test ecx, ecx jle G_M000_IG29 G_M000_IG06: mov dword ptr [ebp-18H], edx movzx ecx, word ptr [eax+2*edx+08H] cmp ecx, 35 je SHORT G_M000_IG11 G_M000_IG07: cmp ecx, 45 je G_M000_IG17 jmp G_M000_IG24 G_M000_IG08: movzx edx, cx add edx, -78 jne G_M000_IG31 G_M000_IG09: test eax, eax jl G_M000_IG47 G_M000_IG10: mov dword ptr [ebp+0CH], eax mov edx, eax add edx, dword ptr [edi+04H] push dword ptr [ebp-10H] mov ecx, edi call [System.Number:RoundNumber(byref,int,bool)] cmp byte ptr [edi+08H], 0 jne SHORT G_M000_IG04 mov eax, 0xD1FFAB1E jmp SHORT G_M000_IG05 G_M000_IG11: mov ecx, gword ptr [ebx+04H] mov gword ptr [ebp-50H], ecx mov gword ptr [ebp+08H], ebx mov ecx, gword ptr [ebx+18H] test ecx, ecx je SHORT G_M000_IG19 G_M000_IG12: lea ebx, bword ptr [ecx+08H] mov ecx, dword ptr [ecx+04H] G_M000_IG13: mov bword ptr [ebp-64H], ebx mov dword ptr [ebp-30H], ecx mov ecx, gword ptr [ebp+08H] mov ebx, gword ptr [ecx+1CH] test ebx, ebx je SHORT G_M000_IG16 G_M000_IG14: lea ecx, bword ptr [ebx+08H] mov ebx, dword ptr [ebx+04H] G_M000_IG15: push dword ptr [ebp+0CH] push gword ptr [ebp-50H] push dword ptr [ebp-30H] push bword ptr [ebp-64H] push ebx push ecx mov ecx, esi mov edx, edi call [System.Number:FormatFixed[ushort](byref,byref,int,int[],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort])] jmp G_M000_IG26 G_M000_IG16: xor ebx, ebx mov bword ptr [ebp-6CH], ebx xor ebx, ebx mov ecx, bword ptr [ebp-6CH] jmp SHORT G_M000_IG15 G_M000_IG17: mov gword ptr [ebp+08H], ebx mov ecx, gword ptr [ebx+14H] test ecx, ecx jne SHORT G_M000_IG20 G_M000_IG18: jmp SHORT G_M000_IG23 G_M000_IG19: xor ecx, ecx mov bword ptr [ebp-68H], ecx xor ecx, ecx mov ebx, bword ptr [ebp-68H] jmp SHORT G_M000_IG13 G_M000_IG20: lea ebx, bword ptr [ecx+08H] mov ecx, dword ptr [ecx+04H] G_M000_IG21: mov bword ptr [ebp-74H], ebx mov ebx, dword ptr [esi+04H] mov dword ptr [ebp-1CH], ebx mov ebx, bword ptr [esi+08H] mov bword ptr [ebp-70H], ebx mov ebx, dword ptr [esi+0CH] cmp ecx, 1 jne SHORT G_M000_IG25 G_M000_IG22: jmp SHORT G_M000_IG28 G_M000_IG23: xor ecx, ecx xor eax, eax mov ebx, ecx mov ecx, eax jmp SHORT G_M000_IG21 G_M000_IG24: mov gword ptr [ebp+08H], ebx mov dword ptr [ebp-20H], ecx mov ebx, dword ptr [esi+04H] mov ecx, bword ptr [esi+08H] mov bword ptr [ebp-78H], ecx mov ecx, dword ptr [esi+0CH] cmp ebx, ecx jae G_M000_IG48 mov ecx, bword ptr [ebp-78H] mov eax, dword ptr [ebp-20H] mov word ptr [ecx+2*ebx], ax inc ebx mov dword ptr [esi+04H], ebx jmp SHORT G_M000_IG26 G_M000_IG25: push ecx push bword ptr [ebp-74H] mov ecx, esi call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] G_M000_IG26: mov edx, dword ptr [ebp-18H] inc edx mov ebx, dword ptr [ebp-44H] cmp ebx, edx mov eax, gword ptr [ebp-4CH] jg SHORT G_M000_IG27 jmp SHORT G_M000_IG29 G_M000_IG27: mov ebx, gword ptr [ebp+08H] jmp G_M000_IG06 G_M000_IG28: mov eax, dword ptr [ebp-1CH] cmp eax, ebx jae SHORT G_M000_IG25 mov ebx, bword ptr [ebp-74H] movzx ecx, word ptr [ebx] mov ebx, bword ptr [ebp-70H] mov eax, dword ptr [ebp-1CH] mov word ptr [ebx+2*eax], cx inc eax mov dword ptr [esi+04H], eax jmp SHORT G_M000_IG26 G_M000_IG29: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG30: call CORINFO_HELP_OVERFLOW G_M000_IG31: cmp edx, 4 mov gword ptr [ebp+08H], ebx mov dword ptr [ebp+0CH], eax mov dword ptr [ebp+10H], ecx ja G_M000_IG67 lea eax, [@RWD20] mov eax, dword ptr [eax+4*edx] lea ecx, G_M000_IG02 add eax, ecx jmp eax G_M000_IG32: mov eax, dword ptr [ebp+0CH] mov ebx, gword ptr [ebp+08H] jmp G_M000_IG09 G_M000_IG33: movzx edx, cx add edx, -99 mov dword ptr [ebp-48H], edx cmp edx, 4 ja SHORT G_M000_IG35 mov dword ptr [ebp+0CH], eax mov dword ptr [ebp+10H], ecx lea edx, [@RWD40] mov gword ptr [ebp+08H], ebx mov ecx, dword ptr [ebp-48H] mov edx, dword ptr [edx+4*ecx] lea eax, G_M000_IG02 add edx, eax jmp edx G_M000_IG34: movzx ecx, word ptr [ebp+10H] jmp G_M000_IG54 G_M000_IG35: mov dword ptr [ebp+10H], ecx movzx edx, cx add edx, -110 cmp edx, 4 mov gword ptr [ebp+08H], ebx mov dword ptr [ebp+0CH], eax ja G_M000_IG67 lea eax, [@RWD60] mov eax, dword ptr [eax+4*edx] lea ecx, G_M000_IG02 add eax, ecx jmp eax G_M000_IG36: mov eax, dword ptr [ebp+0CH] mov ebx, gword ptr [ebp+08H] jmp G_M000_IG09 G_M000_IG37: mov eax, dword ptr [ebp+0CH] test eax, eax jge SHORT G_M000_IG38 mov ebx, gword ptr [ebp+08H] mov eax, dword ptr [ebx+88H] mov gword ptr [ebp+08H], ebx G_M000_IG38: mov dword ptr [ebp+0CH], eax mov edx, eax add edx, dword ptr [edi+04H] push dword ptr [ebp-10H] mov ecx, edi call [System.Number:RoundNumber(byref,int,bool)] push dword ptr [ebp+0CH] push gword ptr [ebp+08H] mov ecx, esi mov edx, edi call [System.Number:FormatCurrency[ushort](byref,byref,int,System.Globalization.NumberFormatInfo)] jmp G_M000_IG29 G_M000_IG39: mov eax, dword ptr [ebp+0CH] test eax, eax jge SHORT G_M000_IG40 mov ebx, gword ptr [ebp+08H] mov eax, dword ptr [ebx+84H] mov gword ptr [ebp+08H], ebx G_M000_IG40: mov dword ptr [ebp+0CH], eax mov edx, eax add edx, dword ptr [edi+04H] push dword ptr [ebp-10H] mov ecx, edi call [System.Number:RoundNumber(byref,int,bool)] cmp byte ptr [edi+08H], 0 je SHORT G_M000_IG44 mov ebx, gword ptr [ebp+08H] mov ecx, gword ptr [ebx+14H] test ecx, ecx jne SHORT G_M000_IG41 xor eax, eax xor edx, edx jmp SHORT G_M000_IG42 G_M000_IG41: lea eax, bword ptr [ecx+08H] mov edx, dword ptr [ecx+04H] G_M000_IG42: mov bword ptr [ebp-60H], eax mov ecx, dword ptr [esi+04H] mov eax, bword ptr [esi+08H] mov bword ptr [ebp-5CH], eax mov eax, dword ptr [esi+0CH] cmp edx, 1 jne SHORT G_M000_IG43 cmp ecx, eax jae SHORT G_M000_IG43 mov eax, bword ptr [ebp-60H] movzx eax, word ptr [eax] mov edx, bword ptr [ebp-5CH] mov word ptr [edx+2*ecx], ax inc ecx mov dword ptr [esi+04H], ecx mov gword ptr [ebp+08H], ebx jmp SHORT G_M000_IG44 G_M000_IG43: push edx push bword ptr [ebp-60H] mov ecx, esi call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] mov gword ptr [ebp+08H], ebx G_M000_IG44: mov ebx, gword ptr [ebp+08H] mov ecx, gword ptr [ebx+18H] test ecx, ecx jne SHORT G_M000_IG45 xor edx, edx xor eax, eax jmp SHORT G_M000_IG46 G_M000_IG45: lea edx, bword ptr [ecx+08H] mov eax, dword ptr [ecx+04H] G_M000_IG46: xor ecx, ecx push dword ptr [ebp+0CH] push 0 push eax push edx push 0 push ecx mov ecx, esi mov edx, edi call [System.Number:FormatFixed[ushort](byref,byref,int,int[],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort])] jmp G_M000_IG29 G_M000_IG47: mov eax, dword ptr [ebx+84H] jmp G_M000_IG10 G_M000_IG48: mov ecx, esi mov edx, dword ptr [ebp-20H] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] jmp G_M000_IG26 G_M000_IG49: mov edx, 6 mov eax, dword ptr [ebp+0CH] test eax, eax cmovl eax, edx inc eax push dword ptr [ebp-10H] mov ecx, edi mov dword ptr [ebp+0CH], eax mov edx, eax call [System.Number:RoundNumber(byref,int,bool)] cmp byte ptr [edi+08H], 0 je SHORT G_M000_IG53 mov ebx, gword ptr [ebp+08H] mov ecx, gword ptr [ebx+14H] test ecx, ecx jne SHORT G_M000_IG50 xor eax, eax xor edx, edx jmp SHORT G_M000_IG51 G_M000_IG50: lea eax, bword ptr [ecx+08H] mov edx, dword ptr [ecx+04H] G_M000_IG51: mov bword ptr [ebp-80H], eax mov ecx, dword ptr [esi+04H] mov eax, bword ptr [esi+08H] mov bword ptr [ebp-7CH], eax mov eax, dword ptr [esi+0CH] cmp edx, 1 jne SHORT G_M000_IG52 cmp ecx, eax jae SHORT G_M000_IG52 mov eax, bword ptr [ebp-80H] movzx eax, word ptr [eax] mov edx, bword ptr [ebp-7CH] mov word ptr [edx+2*ecx], ax inc ecx mov dword ptr [esi+04H], ecx mov gword ptr [ebp+08H], ebx jmp SHORT G_M000_IG53 G_M000_IG52: push edx push bword ptr [ebp-80H] mov ecx, esi call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] mov gword ptr [ebp+08H], ebx G_M000_IG53: push dword ptr [ebp+0CH] push gword ptr [ebp+08H] movzx ecx, word ptr [ebp+10H] push ecx mov ecx, esi mov edx, edi call [System.Number:FormatScientific[ushort](byref,byref,int,System.Globalization.NumberFormatInfo,ushort)] jmp G_M000_IG29 G_M000_IG54: xor eax, eax mov edx, dword ptr [ebp+0CH] test edx, edx jg SHORT G_M000_IG55 cmp byte ptr [edi+0AH], 2 jne SHORT G_M000_IG56 cmp edx, -1 jne SHORT G_M000_IG56 mov dword ptr [ebp-14H], 1 lea eax, bword ptr [edi+0CH] cmp dword ptr [eax+04H], 0 jbe G_M000_IG68 mov eax, bword ptr [eax] cmp byte ptr [eax], 0 jne SHORT G_M000_IG58 jmp G_M000_IG63 G_M000_IG55: mov dword ptr [ebp+10H], ecx mov dword ptr [ebp-14H], eax jmp SHORT G_M000_IG57 G_M000_IG56: mov edx, dword ptr [edi] mov dword ptr [ebp+10H], ecx mov dword ptr [ebp-14H], eax G_M000_IG57: push dword ptr [ebp-10H] mov ecx, edi mov dword ptr [ebp+0CH], edx call [System.Number:RoundNumber(byref,int,bool)] movzx ecx, word ptr [ebp+10H] mov edx, dword ptr [ebp+0CH] G_M000_IG58: cmp byte ptr [edi+08H], 0 je G_M000_IG63 mov ebx, gword ptr [ebp+08H] mov eax, gword ptr [ebx+14H] mov gword ptr [ebp-54H], eax test eax, eax jne SHORT G_M000_IG59 xor eax, eax mov bword ptr [ebp-84H], eax xor eax, eax mov dword ptr [ebp-34H], eax jmp SHORT G_M000_IG60 G_M000_IG59: add eax, 8 mov bword ptr [ebp-58H], eax mov eax, gword ptr [ebp-54H] mov eax, dword ptr [eax+04H] mov dword ptr [ebp-24H], eax mov eax, bword ptr [ebp-58H] mov bword ptr [ebp-88H], eax mov eax, dword ptr [ebp-24H] mov dword ptr [ebp-38H], eax mov eax, bword ptr [ebp-88H] mov bword ptr [ebp-84H], eax mov eax, dword ptr [ebp-38H] mov dword ptr [ebp-34H], eax G_M000_IG60: mov eax, bword ptr [ebp-84H] mov bword ptr [ebp-8CH], eax mov eax, dword ptr [ebp-34H] mov dword ptr [ebp-28H], eax mov eax, bword ptr [ebp-8CH] mov bword ptr [ebp-94H], eax mov eax, dword ptr [ebp-28H] mov dword ptr [ebp-40H], eax mov eax, dword ptr [esi+04H] mov dword ptr [ebp-2CH], eax mov eax, bword ptr [esi+08H] mov bword ptr [ebp-90H], eax mov eax, dword ptr [esi+0CH] mov dword ptr [ebp-3CH], eax cmp dword ptr [ebp-40H], 1 jne SHORT G_M000_IG61 mov eax, dword ptr [ebp-2CH] cmp eax, dword ptr [ebp-3CH] mov dword ptr [ebp+0CH], edx mov dword ptr [ebp+10H], ecx jae SHORT G_M000_IG62 mov eax, bword ptr [ebp-94H] movzx eax, word ptr [eax] mov edx, bword ptr [ebp-90H] mov ecx, dword ptr [ebp-2CH] mov word ptr [edx+2*ecx], ax inc ecx mov dword ptr [esi+04H], ecx mov gword ptr [ebp+08H], ebx movzx ecx, word ptr [ebp+10H] mov edx, dword ptr [ebp+0CH] jmp SHORT G_M000_IG63 G_M000_IG61: mov dword ptr [ebp+0CH], edx mov dword ptr [ebp+10H], ecx G_M000_IG62: push dword ptr [ebp-40H] push bword ptr [ebp-94H] mov ecx, esi call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] mov gword ptr [ebp+08H], ebx movzx ecx, word ptr [ebp+10H] mov edx, dword ptr [ebp+0CH] G_M000_IG63: push edx push gword ptr [ebp+08H] add ecx, -2 movzx ecx, cx push ecx push dword ptr [ebp-14H] mov ecx, esi mov edx, edi call [System.Number:FormatGeneral[ushort](byref,byref,int,System.Globalization.NumberFormatInfo,ushort,bool)] jmp G_M000_IG29 G_M000_IG64: mov eax, dword ptr [ebp+0CH] test eax, eax jge SHORT G_M000_IG65 mov ebx, gword ptr [ebp+08H] mov eax, dword ptr [ebx+A0H] mov gword ptr [ebp+08H], ebx G_M000_IG65: lea edx, bword ptr [edi+04H] add dword ptr [edx], 2 mov dword ptr [ebp+0CH], eax mov edx, eax add edx, dword ptr [edi+04H] push dword ptr [ebp-10H] mov ecx, edi call [System.Number:RoundNumber(byref,int,bool)] push dword ptr [ebp+0CH] push gword ptr [ebp+08H] mov ecx, esi mov edx, edi call [System.Number:FormatPercent[ushort](byref,byref,int,System.Globalization.NumberFormatInfo)] jmp G_M000_IG29 G_M000_IG66: movzx ecx, word ptr [ebp+10H] add ecx, -11 mov word ptr [ebp+10H], cx movzx ecx, word ptr [ebp+10H] jmp G_M000_IG54 G_M000_IG67: call [System.ThrowHelper:ThrowFormatException_BadFormatSpecifier()] int3 G_M000_IG68: call CORINFO_HELP_RNGCHKFAIL int3 RWD00 dd G_M000_IG37 - G_M000_IG02 dd G_M000_IG67 - G_M000_IG02 dd G_M000_IG03 - G_M000_IG02 dd G_M000_IG39 - G_M000_IG02 dd G_M000_IG54 - G_M000_IG02 RWD20 dd G_M000_IG32 - G_M000_IG02 dd G_M000_IG67 - G_M000_IG02 dd G_M000_IG64 - G_M000_IG02 dd G_M000_IG67 - G_M000_IG02 dd G_M000_IG66 - G_M000_IG02 RWD40 dd G_M000_IG37 - G_M000_IG02 dd G_M000_IG67 - G_M000_IG02 dd G_M000_IG49 - G_M000_IG02 dd G_M000_IG39 - G_M000_IG02 dd G_M000_IG34 - G_M000_IG02 RWD60 dd G_M000_IG36 - G_M000_IG02 dd G_M000_IG67 - G_M000_IG02 dd G_M000_IG64 - G_M000_IG02 dd G_M000_IG67 - G_M000_IG02 dd G_M000_IG66 - G_M000_IG02 ; Total bytes of code 1500 1377: JIT compiled System.Number:NumberToString[ushort](byref,byref,ushort,int,System.Globalization.NumberFormatInfo) [Tier1 with Dynamic PGO, IL size=503, code size=1500] ; Assembly listing for method System.String:Concat(System.String,System.String,System.String):System.String (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 31 ; 12 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, 24 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: mov eax, dword ptr [esi+04H] mov dword ptr [ebp-10H], eax test eax, eax je G_M000_IG13 G_M000_IG04: test edi, edi je G_M000_IG15 G_M000_IG05: mov edx, dword ptr [edi+04H] mov dword ptr [ebp-14H], edx test edx, edx je G_M000_IG15 G_M000_IG06: test ebx, ebx je G_M000_IG10 G_M000_IG07: cmp dword ptr [ebx+04H], 0 je G_M000_IG10 G_M000_IG08: xor ecx, ecx mov dword ptr [ebp-20H], ecx mov ecx, edx add ecx, eax mov dword ptr [ebp-24H], ecx mov ecx, dword ptr [ebp-20H] adc ecx, 0 mov dword ptr [ebp-20H], ecx mov ecx, dword ptr [ebp-24H] add ecx, dword ptr [ebx+04H] mov dword ptr [ebp-24H], ecx mov ecx, dword ptr [ebp-20H] adc ecx, 0 mov dword ptr [ebp-20H], ecx mov ecx, dword ptr [ebp-24H] mov dword ptr [ebp-18H], ecx mov ecx, dword ptr [ebp-20H] cmp dword ptr [ebp-18H], 0xD1FFAB1E sbb ecx, 0 jge SHORT G_M000_IG12 mov ecx, dword ptr [ebp-18H] call System.String:FastAllocateString(int):System.String mov gword ptr [ebp-1CH], eax cmp byte ptr [eax], al lea ecx, bword ptr [eax+08H] lea edx, bword ptr [esi+08H] mov esi, dword ptr [ebp-10H] add esi, esi push esi call [System.Buffer:Memmove(byref,byref,uint)] mov esi, gword ptr [ebp-1CH] mov eax, dword ptr [ebp-10H] lea ecx, bword ptr [esi+2*eax+08H] lea edx, bword ptr [edi+08H] mov edi, dword ptr [ebp-14H] add edi, edi push edi call [System.Buffer:Memmove(byref,byref,uint)] mov edi, dword ptr [ebp-10H] add edi, dword ptr [ebp-14H] lea ecx, bword ptr [esi+2*edi+08H] lea edx, bword ptr [ebx+08H] mov eax, dword ptr [ebx+04H] add eax, eax push eax call [System.Buffer:Memmove(byref,byref,uint)] mov eax, esi G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG10: mov ecx, esi mov edx, edi call [System.String:Concat(System.String,System.String):System.String] G_M000_IG11: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG12: call [System.ThrowHelper:ThrowOutOfMemoryException_StringTooLong()] int3 G_M000_IG13: mov ecx, edi mov edx, ebx call [System.String:Concat(System.String,System.String):System.String] G_M000_IG14: lea esp, [ebp-0CH] 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: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 298 1378: JIT compiled System.String:Concat(System.String,System.String,System.String) [Tier1 with Dynamic PGO, IL size=137, code size=298] ; Assembly listing for method BenchmarkDotNet.Helpers.AsciiHelper:ToAscii(System.String):System.String (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; esp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 31 G_M000_IG01: G_M000_IG02: test ecx, ecx je SHORT G_M000_IG04 push 0xD1FFAB1E mov edx, 0xD1FFAB1E call [System.String:Replace(System.String,System.String):System.String:this] G_M000_IG03: ret G_M000_IG04: xor eax, eax G_M000_IG05: ret ; Total bytes of code 24 1379: JIT compiled BenchmarkDotNet.Helpers.AsciiHelper:ToAscii(System.String) [Tier1 with Dynamic PGO, IL size=22, code size=24] ; Assembly listing for method System.String:Replace(System.String,System.String):System.String:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 31 ; 15 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, 88 vxorps xmm4, xmm4, xmm4 vmovdqu xmmword ptr [ebp-40H], xmm4 vmovdqu xmmword ptr [ebp-30H], xmm4 vmovdqu xmmword ptr [ebp-20H], xmm4 mov dword ptr [ebp-10H], esp mov dword ptr [ebp-60H], 0xD1FFAB1E mov edi, ecx mov esi, edx mov ebx, gword ptr [ebp+08H] G_M000_IG02: test esi, esi je G_M000_IG08 G_M000_IG03: mov eax, dword ptr [esi+04H] mov dword ptr [ebp-54H], eax test eax, eax je SHORT G_M000_IG08 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 eax, 1 jne G_M000_IG16 mov edx, dword ptr [ebx+04H] cmp edx, 1 jne SHORT G_M000_IG09 movzx edx, word ptr [esi+08H] movzx ecx, word ptr [ebx+08H] push ecx mov ecx, edi call [System.String:Replace(ushort,ushort):System.String:this] cmp dword ptr [ebp-60H], 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 4 G_M000_IG08: mov ecx, 0x1795 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov edx, eax mov ecx, esi call [System.ArgumentException:ThrowNullOrEmptyException(System.String,System.String)] int3 G_M000_IG09: movzx esi, word ptr [esi+08H] mov dword ptr [ebp-24H], esi xor edx, edx lea ecx, [esi-01H] cmp ecx, 254 jae SHORT G_M000_IG13 G_M000_IG10: lea ecx, bword ptr [edi+2*edx+08H] mov esi, dword ptr [edi+04H] mov dword ptr [ebp-28H], edx sub esi, edx push esi movsx edx, word ptr [ebp-24H] call [System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short]](byref,short,int):int] mov dword ptr [ebp-2CH], eax test eax, eax jl G_M000_IG20 mov edx, dword ptr [ebp-28H] lea ecx, [edx+eax] mov dword ptr [ebp-44H], ecx mov edx, dword ptr [ebp-1CH] mov esi, bword ptr [ebp-18H] mov eax, dword ptr [ebp-14H] cmp edx, eax jae SHORT G_M000_IG11 mov dword ptr [esi+4*edx], ecx inc edx mov dword ptr [ebp-1CH], edx jmp SHORT G_M000_IG12 G_M000_IG11: lea ecx, [ebp-20H] mov edx, dword ptr [ebp-44H] call [System.Collections.Generic.ValueListBuilder`1[int]:AddWithResize(int):this] G_M000_IG12: mov esi, dword ptr [ebp-28H] mov ecx, dword ptr [ebp-2CH] lea esi, [esi+ecx+01H] mov edx, esi jmp SHORT G_M000_IG10 G_M000_IG13: mov dword ptr [ebp-28H], edx lea ecx, bword ptr [edi+2*edx+08H] mov edx, dword ptr [edi+04H] sub edx, dword ptr [ebp-28H] push edx movsx edx, word ptr [ebp-24H] call [System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int] mov dword ptr [ebp-30H], eax test eax, eax jl G_M000_IG20 mov edx, dword ptr [ebp-28H] lea ecx, [edx+eax] mov dword ptr [ebp-48H], ecx mov edx, dword ptr [ebp-1CH] mov esi, bword ptr [ebp-18H] mov eax, dword ptr [ebp-14H] cmp edx, eax jae SHORT G_M000_IG14 mov dword ptr [esi+4*edx], ecx inc edx mov dword ptr [ebp-1CH], edx jmp SHORT G_M000_IG15 G_M000_IG14: lea ecx, [ebp-20H] mov edx, dword ptr [ebp-48H] call [System.Collections.Generic.ValueListBuilder`1[int]:AddWithResize(int):this] G_M000_IG15: mov esi, dword ptr [ebp-28H] mov ecx, dword ptr [ebp-30H] lea esi, [esi+ecx+01H] mov edx, esi jmp SHORT G_M000_IG13 G_M000_IG16: xor edx, edx G_M000_IG17: lea ecx, bword ptr [edi+2*edx+08H] mov bword ptr [ebp-5CH], ecx mov ecx, dword ptr [edi+04H] mov dword ptr [ebp-34H], edx sub ecx, edx mov dword ptr [ebp-50H], ecx lea edx, bword ptr [esi+08H] push edx push dword ptr [ebp-54H] mov ecx, bword ptr [ebp-5CH] mov edx, dword ptr [ebp-50H] call [System.SpanHelpers:IndexOf(byref,int,byref,int):int] mov dword ptr [ebp-38H], eax test eax, eax jl SHORT G_M000_IG20 mov edx, dword ptr [ebp-34H] lea ecx, [edx+eax] mov dword ptr [ebp-4CH], ecx mov edx, dword ptr [ebp-1CH] mov eax, bword ptr [ebp-18H] mov bword ptr [ebp-58H], eax mov eax, dword ptr [ebp-14H] cmp edx, eax jae SHORT G_M000_IG18 mov eax, bword ptr [ebp-58H] mov dword ptr [eax+4*edx], ecx inc edx mov dword ptr [ebp-1CH], edx jmp SHORT G_M000_IG19 G_M000_IG18: lea ecx, [ebp-20H] mov edx, dword ptr [ebp-4CH] call [System.Collections.Generic.ValueListBuilder`1[int]:AddWithResize(int):this] G_M000_IG19: mov edx, dword ptr [ebp-34H] add edx, dword ptr [ebp-38H] mov ecx, dword ptr [ebp-54H] add edx, ecx mov eax, edx jmp SHORT G_M000_IG17 G_M000_IG20: cmp dword ptr [ebp-1CH], 0 jne SHORT G_M000_IG22 mov eax, edi cmp dword ptr [ebp-60H], 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 4 G_M000_IG22: mov ecx, dword ptr [ebp-54H] mov esi, ecx lea ecx, [ebp-20H] lea edx, [ebp-40H] call [System.Collections.Generic.ValueListBuilder`1[int]:AsSpan():System.ReadOnlySpan`1[int]:this] push ebx push dword ptr [ebp-3CH] push bword ptr [ebp-40H] mov ecx, edi mov edx, esi call [System.String:ReplaceHelper(int,System.String,System.ReadOnlySpan`1[int]):System.String:this] mov esi, eax mov edi, gword ptr [ebp-20H] test edi, edi je SHORT G_M000_IG23 xor ecx, ecx mov gword ptr [ebp-20H], ecx mov ecx, 0xD1FFAB1E mov edx, 56 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov ecx, gword ptr [D1FFAB1EH] push 0 mov edx, edi cmp dword ptr [ecx], ecx call [System.Buffers.SharedArrayPool`1[int]:Return(int[],bool):this] G_M000_IG23: 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 ; Total bytes of code 659 1380: JIT compiled System.String:Replace(System.String,System.String) [Tier1 with Dynamic PGO, IL size=353, code size=659] ; Assembly listing for method System.String:Replace(ushort,ushort):System.String:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; partially interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 31 ; 11 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, 12 mov esi, ecx mov edi, edx G_M000_IG02: movzx edx, di movzx ecx, word ptr [ebp+08H] cmp edx, ecx je G_M000_IG11 lea ecx, bword ptr [esi+08H] mov eax, dword ptr [esi+04H] movsx edx, di movzx ebx, dx dec ebx cmp ebx, 254 jae SHORT G_M000_IG06 G_M000_IG03: movzx edx, dx push eax movsx edx, dx call [System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short]](byref,short,int):int] mov ebx, eax test ebx, ebx jge SHORT G_M000_IG07 G_M000_IG04: mov eax, esi G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG06: push eax call [System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int] mov ebx, eax test ebx, ebx jl SHORT G_M000_IG04 G_M000_IG07: mov eax, dword ptr [esi+04H] sub eax, ebx mov dword ptr [ebp-10H], eax mov ecx, dword ptr [esi+04H] call System.String:FastAllocateString(int):System.String mov gword ptr [ebp-18H], eax mov dword ptr [ebp-14H], ebx test ebx, ebx jle SHORT G_M000_IG08 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-18H] mov ebx, dword ptr [ebp-14H] G_M000_IG08: lea ecx, bword ptr [esi+2*ebx+08H] cmp byte ptr [eax], al lea edx, bword ptr [eax+2*ebx+08H] mov esi, dword ptr [esi+04H] cmp esi, 8 jb SHORT G_M000_IG09 sub esi, dword ptr [ebp-10H] and esi, 7 lea ebx, [esi+esi] sub ecx, ebx lea ebx, [esi+esi] sub edx, ebx mov ebx, dword ptr [ebp-10H] add ebx, esi mov dword ptr [ebp-10H], ebx G_M000_IG09: movzx esi, di push esi 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-18H] G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG11: mov eax, esi G_M000_IG12: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 227 1381: JIT compiled System.String:Replace(ushort,ushort) [Tier1 with Dynamic PGO, IL size=179, code size=227] ; Assembly listing for method System.Text.StringBuilder:ToString():System.String:this (Tier1) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier1 code ; optimized code ; optimized using Dynamic PGO ; ebp based frame ; fully interruptible ; with Dynamic PGO: edge weights are valid, and fgCalledCount is 31 ; 5 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 mov esi, ecx G_M000_IG02: mov ecx, dword ptr [esi+10H] add ecx, dword ptr [esi+0CH] je SHORT G_M000_IG08 call System.String:FastAllocateString(int):System.String mov edi, eax G_M000_IG03: mov ecx, dword ptr [esi+0CH] test ecx, ecx jle SHORT G_M000_IG04 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_IG07 cmp dword ptr [edx+04H], ecx jb SHORT G_M000_IG07 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_IG04: mov esi, gword ptr [esi+08H] test esi, esi jne SHORT G_M000_IG03 G_M000_IG05: mov eax, edi G_M000_IG06: pop ebx pop esi pop edi pop ebp ret G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0x18395 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 G_M000_IG08: mov eax, 0xD1FFAB1E G_M000_IG09: pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 144 1382: JIT compiled System.Text.StringBuilder:ToString() [Tier1 with Dynamic PGO, IL size=132, code size=144] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:Dispose():this (Tier0) ; Emitting BLENDED_CODE for X86 with AVX - Windows ; Tier0 code ; ebp 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 1383: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:Dispose() [Tier0, IL size=23, code size=39]